@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/shy-fraunces-latin.woff2") format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/shy-dm-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/fonts/shy-cormorant-garamond-latin.woff2") format("woff2");
}

:root {
  color-scheme: dark;
  --ink: #f7f4ee;
  --muted: #9da0a8;
  --gold: #c9a66b;
  --sage: #a5bca9;
  --line: rgba(247, 244, 238, .14);
  --surface: rgba(18, 20, 26, .42);
  --navy: #0a0b0f;
  --navy-lift: #141210;
  --espresso: #1a1612;
  --shy-ease: cubic-bezier(.22, .61, .36, 1);
  --t-fast: 180ms;
  --t-base: 260ms;
  --t-slow: 1700ms;
  --soft: 0;
  --shy-display: "Fraunces", serif;
  --shy-body: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --shy-identity: "Cormorant Garamond", serif;
}

* { box-sizing: border-box; }
html {
  background: var(--navy);
  overflow-x: clip;
  scroll-padding-top: 88px;
}
body {
  margin: 0;
  max-width: 100%;
  overflow-x: clip;
  background:
    radial-gradient(950px 550px at 14% -10%, rgba(168, 194, 181, .16), transparent 65%),
    radial-gradient(780px 490px at 100% 17%, rgba(223, 195, 135, .14), transparent 66%),
    var(--navy);
  color: var(--ink);
  font: 400 17px/1.65 var(--shy-body);
}
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; border-radius: 4px; }
.wrap {
  width: min(1120px, calc(100% - 40px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  margin: 0 auto;
  min-width: 0;
  max-width: 100%;
}
header {
  position: sticky;
  top: 0;
  z-index: 40;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  border-bottom: 1px solid rgba(247, 241, 232, 0.08);
  /* Frost only — structure/copy untouched. Content scrolls through. */
  background: rgba(12, 14, 20, 0.58);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
body.nav-open header {
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  pointer-events: none;
}
html.nav-open header .nav-home {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
html.nav-open .nav-menu-toggle {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.nav { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand {
  color: var(--ink);
  font-family: var(--shy-display);
  font-size: 28px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -.02em;
  text-decoration: none;
  text-transform: lowercase;
}
.nav-home {
  margin-right: auto;
  color: var(--ink);
  font-family: var(--shy-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  opacity: .88;
}
.nav-home:hover { opacity: 1; color: var(--gold); }
.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--navy-lift);
  color: var(--ink);
  font: 700 13px/1 var(--shy-body);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.nav-toggle:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px; }
[id] { scroll-margin-top: 88px; }
.nav-links a { color: var(--muted); font-size: 14px; font-weight: 700; letter-spacing: .03em; text-decoration: none; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--gold); }
.nav-menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); cursor: pointer; }
.nav-menu-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.nav-menu-bars {
  position: relative;
  display: block;
  width: 18px;
  height: 1.5px;
  border-radius: 1px;
  background: var(--ink);
  transition: background-color 180ms cubic-bezier(.22, 1, .36, 1);
}
.nav-menu-bars::before,
.nav-menu-bars::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 1.5px;
  border-radius: 1px;
  background: var(--ink);
  transition: transform 220ms cubic-bezier(.22, 1, .36, 1);
}
.nav-menu-bars::before { transform: translateY(-5.5px); }
.nav-menu-bars::after { transform: translateY(5.5px); }
html.nav-open .nav-menu-bars { background: transparent; }
html.nav-open .nav-menu-bars::before { transform: rotate(45deg); }
html.nav-open .nav-menu-bars::after { transform: rotate(-45deg); }
.nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 1px solid rgba(201,166,107,.55); border-radius: 999px; color: var(--gold); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.nav-sheet-chrome { display: none; }
.nav-cta:hover { color: var(--ink); border-color: var(--gold); background: rgba(201,166,107,.12); }
.nav-cta .shy-inline-icon { width: 14px; height: 14px; margin-left: 8px; }
main { padding: clamp(56px, 9vw, 112px) 0; }
.eyebrow { color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
h1, h2, h3 {
  color: var(--ink);
  font-family: var(--shy-display);
  line-height: 1.08;
  overflow-wrap: anywhere;
  scroll-margin-top: 88px;
}
h1 { max-width: 820px; margin: 14px 0 20px; font-size: clamp(46px, 7vw, 86px); font-weight: 500; letter-spacing: -.045em; }
h2 { margin: 0 0 12px; font-size: clamp(29px, 4vw, 47px); font-weight: 500; letter-spacing: -.035em; }
h3 { margin: 0 0 8px; font-size: 24px; font-weight: 500; }
p { max-width: 730px; margin: 0 0 20px; color: var(--muted); }
.lede { max-width: 700px; color: #e4dfd6; font-size: clamp(19px, 2.35vw, 25px); line-height: 1.55; }
.actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 31px 0 0; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 1px solid var(--gold); border-radius: 999px; color: var(--espresso); background: var(--gold); font-size: 15px; font-weight: 700; text-decoration: none; }
.button.quiet { color: var(--ink); background: transparent; border-color: var(--line); }
.cookie-prefs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 18px 0 8px;
}
.cookie-prefs [data-cookie] { cursor: pointer; font: inherit; }
.cookie-prefs-status {
  flex: 1 1 100%;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}
.section { padding: clamp(50px, 8vw, 96px) 0; border-top: 1px solid var(--line); }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.grid.two { grid-template-columns: repeat(2, 1fr); }
.card { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(140deg, rgba(255,255,255,.065), rgba(255,255,255,.018)); }
.card p:last-child { margin-bottom: 0; }
.number { display: block; margin-bottom: 18px; color: var(--gold); font-size: 13px; font-weight: 800; letter-spacing: .16em; }
.feature { overflow: hidden; padding: 0; }
.feature img { display: block; width: 100%; height: 250px; object-fit: cover; background: var(--navy-lift); }
.feature > div { padding: 25px 26px 28px; }
.section-heading { max-width: 640px; }
.section-heading h2 { margin: 9px 0 0; }
.company-section { padding-bottom: clamp(50px, 7vw, 76px); }
.company-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 31px; }
.company-facts > div { min-width: 0; padding: 23px 24px 25px; border-top: 1px solid rgba(223, 195, 135, .48); background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); }
.company-facts span { display: block; margin-bottom: 10px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.company-facts strong { display: block; color: var(--ink); font-size: 17px; font-weight: 700; line-height: 1.35; }
.company-facts strong a { text-decoration-color: rgba(223, 195, 135, .6); text-underline-offset: 4px; }
.company-facts p { margin: 10px 0 0; font-size: 15px; line-height: 1.55; }
.company-facts address { font-style: normal; }
.founder-section { padding-bottom: clamp(50px, 7vw, 76px); }
.founder-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  margin-top: 29px;
  padding: clamp(22px, 3.5vw, 38px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(223, 195, 135, .075), rgba(255, 255, 255, .018) 58%);
}
.founder-photo { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; object-position: center; background: var(--navy-lift); box-shadow: 0 0 0 1px rgba(223, 195, 135, .25), 0 15px 35px rgba(0, 0, 0, .2); }
.founder-details { max-width: 660px; }
.founder-role { margin-bottom: 12px; color: var(--ink); font-family: var(--shy-identity); font-size: clamp(26px, 3vw, 34px); line-height: 1.16; }
.founder-role span { display: inline-block; margin-left: 9px; color: var(--gold); font-family: var(--shy-body); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; vertical-align: middle; }
.founder-details > p:not(.founder-role) { margin-bottom: 20px; color: #e4dfd6; font-size: 17px; }
.founder-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.founder-links a { color: var(--ink); font-size: 15px; font-weight: 700; text-decoration-color: rgba(223, 195, 135, .65); text-underline-offset: 4px; }
.legal { max-width: 800px; }
.legal h2 { margin-top: 52px; font-size: clamp(28px, 3vw, 38px); }
.legal h3 { margin-top: 28px; font-size: 25px; }
.legal address { max-width: 740px; margin: 0 0 22px; color: var(--muted); font-style: normal; }
.policy-nav { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 30px 0 0; }
.policy-nav a { color: var(--ink); font-size: 15px; font-weight: 700; text-decoration-color: rgba(223, 195, 135, .64); text-underline-offset: 4px; }
.policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 34px 0 8px; }
.policy-grid .card { padding: 25px; }
.policy-grid .number { margin-bottom: 13px; }
.rule-list { list-style: none; max-width: 760px; margin: 0 0 28px; padding: 0; }
.legal .small { font-size: 15px; line-height: 1.6; }
.note { margin-top: 32px; padding: 20px 22px; border-left: 2px solid var(--sage); border-radius: 0 16px 16px 0; background: rgba(165, 188, 169, .09); color: #dce7de; }
.contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; max-width: 960px; padding: 26px 30px; border: 1px solid rgba(223, 195, 135, .38); border-radius: 22px; background: rgba(223,195,135,.08); }
.contact p { margin: 4px 0 0; }
.contact-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
footer { padding: 32px 0 40px; border-top: 1px solid var(--line); color: #9c9d9d; font-size: 14px; }
.footer-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 16px; }

/* Public navigation stays comfortably tappable on phones and touch-first
   laptops without inflating the editorial desktop layout. */
@media (pointer: coarse), (max-width: 760px) {
  .nav-links a,
  .footer-cols a,
  .footer-links a,
  .policy-nav a,
  .founder-links a,
  .text-link,
  .home-fact a,
  .product-trust-grid a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

/* Root public home: a static, editorial proof of the live product. It makes
   the product journey visible without copying a swipe-first landing pattern. */
.home-main { padding-top: 0; overflow: hidden; }
.home-hero { position: relative; min-height: min(890px, calc(100vh - 72px)); padding: clamp(70px, 10vw, 150px) 0 clamp(58px, 8vw, 100px); display: grid; grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr); align-items: center; gap: clamp(34px, 7vw, 102px); }
.home-hero::before { content: ""; position: absolute; z-index: 0; width: min(75vw, 1040px); height: min(75vw, 1040px); right: -31vw; top: -30vw; border-radius: 50%; background: radial-gradient(circle, rgba(203,150,122,.24), rgba(165,188,169,.12) 35%, transparent 68%); filter: blur(13px); pointer-events: none; }
.home-copy, .home-visual { position: relative; z-index: 1; }
.home-copy { max-width: 690px; }
.home-copy h1 { max-width: 660px; margin-bottom: 25px; }
.home-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.home-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 5px rgba(165,188,169,.12); }
.home-visual { min-height: 560px; }
.home-stage, .hero-profile-stage.home-stage { position: absolute; inset: 0; overflow: hidden; border: 1px solid rgba(242,229,204,.27); border-radius: 34px; background: var(--navy-lift); box-shadow: 0 36px 90px rgba(0,0,0,.43); isolation: isolate; }
.home-stage::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(7,11,18,.04) 15%, rgba(7,11,18,.12) 49%, rgba(7,11,18,.9) 100%); pointer-events: none; }
.home-stage img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; transform: scale(1.016); }
.home-stage-copy { position: absolute; z-index: 3; right: 28px; bottom: 25px; left: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.home-stage-copy p { max-width: 360px; margin: 8px 0 0; color: #ebe7df; font-size: 15px; line-height: 1.5; }
.home-stage-label, .stage-profile-detail span { color: #f7f1e8; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.stage-marker { color: rgba(247,241,232,.76); font-size: 11px; font-weight: 800; letter-spacing: .13em; white-space: nowrap; }
.stage-orbit { position: absolute; z-index: 2; width: 176px; height: 176px; top: 27px; right: 27px; border: 1px solid rgba(247,241,232,.46); border-radius: 50%; box-shadow: inset 0 0 45px rgba(223,195,135,.17), 0 0 0 16px rgba(223,195,135,.055), 0 0 0 36px rgba(160,179,222,.055); }
.stage-orbit i, .stage-orbit b { position: absolute; display: block; border: 1px solid rgba(247,241,232,.52); border-radius: 50%; }
.stage-orbit i { width: 78px; height: 78px; top: 31px; left: 24px; }
.stage-orbit b { width: 78px; height: 78px; right: 24px; bottom: 31px; }
.stage-profile-detail { position: absolute; z-index: 3; top: 27px; left: 27px; display: grid; gap: 5px; padding: 13px 15px; border: 1px solid rgba(247,241,232,.21); border-radius: 13px; background: rgba(10,15,24,.5); backdrop-filter: blur(12px); }
.stage-profile-detail strong { color: var(--ink); font-size: 14px; }
.hero-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 40px 0 0; padding: 0; list-style: none; }
.hero-proof li { min-width: 0; padding: 13px 12px 0 0; border-top: 1px solid rgba(223,195,135,.45); }
.hero-proof strong, .hero-proof span { display: block; }
.hero-proof strong { color: var(--ink); font-size: 14px; }
.hero-proof span { margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.35; }
.home-beta-note { display: flex; align-items: baseline; gap: 8px; margin: 22px 0 -16px; color: #c8c9c6; font-size: 13px; line-height: 1.45; }
.home-beta-note span { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 4px rgba(165,188,169,.12); }
.home-beta-note strong { color: var(--ink); }
.home-section { padding: clamp(78px, 12vw, 162px) 0; }
.home-proof-intro { padding-top: clamp(80px, 12vw, 160px); }
.home-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(34px, 7vw, 92px); align-items: end; max-width: 1100px; }
.home-intro h2, .trust-heading h2 { margin: 8px 0 0; }
.home-intro .lede { margin-bottom: 0; }
.journey { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 52px; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: var(--line); }
.journey-step { position: relative; min-height: 408px; padding: 30px; overflow: hidden; background: linear-gradient(145deg, rgba(25,33,46,.98), rgba(14,20,30,.98)); }
.journey-step::after { content: ""; position: absolute; width: 230px; height: 230px; right: -92px; bottom: -115px; border-radius: 50%; background: radial-gradient(circle, rgba(165,188,169,.13), transparent 66%); pointer-events: none; }
.gravity-step { background: radial-gradient(230px 230px at 73% 15%, rgba(183,125,184,.23), transparent 72%), linear-gradient(145deg, rgba(25,33,46,.98), rgba(14,20,30,.98)); }
.plan-step { background: radial-gradient(250px 250px at 85% 15%, rgba(223,195,135,.18), transparent 70%), linear-gradient(145deg, rgba(25,33,46,.98), rgba(14,20,30,.98)); }
.journey-icon { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 49px; border: 1px solid rgba(223,195,135,.5); border-radius: 50%; color: var(--gold); font-family: var(--shy-display); font-size: 23px; box-shadow: 0 0 0 8px rgba(223,195,135,.05); }
.journey-step h3 { max-width: 270px; font-size: 29px; }
.journey-step p { max-width: 290px; margin-bottom: 0; font-size: 16px; }
.mini-harmony, .mini-gravity, .mini-plan { position: absolute; z-index: 1; right: 30px; bottom: 26px; left: 30px; height: 70px; }
.mini-harmony i { position: absolute; top: 0; width: 62px; height: 62px; border: 1px solid rgba(247,241,232,.65); border-radius: 50%; }
.mini-harmony i:first-child { left: 5px; }.mini-harmony i:nth-child(2) { left: 45px; background: rgba(165,188,169,.06); }.mini-harmony span { position: absolute; left: 111px; top: 20px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mini-gravity { display: flex; align-items: flex-end; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid rgba(247,241,232,.26); }
.mini-gravity span { position: absolute; left: 0; right: 0; bottom: 7px; height: 2px; background: linear-gradient(90deg, rgba(247,241,232,.1), #dea9dd 45%, var(--gold)); box-shadow: 0 0 17px rgba(222,169,221,.45); }
.mini-gravity i { position: relative; z-index: 1; width: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 13px rgba(223,195,135,.56); }.mini-gravity i:nth-of-type(1) { height: 8px; }.mini-gravity i:nth-of-type(2) { height: 13px; }.mini-gravity i:nth-of-type(3) { height: 20px; }.mini-gravity i:nth-of-type(4) { height: 29px; }.mini-gravity i:nth-of-type(5) { height: 40px; }
.mini-plan { display: grid; align-content: center; gap: 5px; padding: 13px 15px; border: 1px solid rgba(223,195,135,.42); border-radius: 15px; background: rgba(11,17,28,.45); }.mini-plan span { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.mini-plan strong { color: var(--ink); font-size: 15px; }.mini-plan i { position: absolute; right: 16px; bottom: 16px; width: 8px; height: 8px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 4px rgba(165,188,169,.13); }
.product-chapter { display: grid; grid-template-columns: 90px minmax(0, .82fr) minmax(360px, 1.18fr); gap: clamp(28px, 5vw, 72px); align-items: center; border-top: 1px solid var(--line); }
.reverse-chapter { grid-template-columns: 90px minmax(360px, 1.18fr) minmax(0, .82fr); }.reverse-chapter .chapter-copy { order: 3; }.reverse-chapter .chapter-visual { order: 2; }
.chapter-index { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; min-height: 440px; padding: 5px 0; }.chapter-index span { color: var(--gold); font-family: var(--shy-display); font-size: 38px; line-height: 1; }.chapter-index p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.chapter-copy h2 { margin: 10px 0 18px; }.chapter-copy > p:not(.eyebrow):not(.lede) { max-width: 560px; }
.text-link { display: inline-flex; gap: 8px; align-items: center; margin-top: 13px; color: var(--gold); font-size: 15px; font-weight: 800; text-decoration-color: rgba(223,195,135,.55); text-underline-offset: 5px; }.text-link span { font-size: 18px; }
.chapter-visual { position: relative; min-height: 520px; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: var(--navy-lift); box-shadow: 0 28px 70px rgba(0,0,0,.2); }.chapter-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,14,23,.03) 24%, rgba(9,14,23,.2) 52%, rgba(9,14,23,.86) 100%); pointer-events: none; }.chapter-visual img:not(.shy-inline-icon) { display: block; width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.phone-shot .phone { max-width: 100%; }
.phone-shot img { max-width: 100%; height: auto; }
.public-site table, .policy table, main table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.public-site table td, .public-site table th, .policy table td, .policy table th, main table td, main table th { overflow-wrap: anywhere; }
.harmony-visual img { object-position: 50% center; }.harmony-readout, .gravity-readout, .plan-readout { position: absolute; z-index: 2; right: 26px; bottom: 23px; left: 26px; }.harmony-readout span, .gravity-readout > span, .plan-readout span { display: block; margin-bottom: 7px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }.harmony-readout strong, .plan-readout strong { display: block; color: var(--ink); font-family: var(--shy-display); font-size: 29px; font-weight: 500; line-height: 1.1; }.harmony-readout p, .plan-readout p { margin: 8px 0 0; color: #ece7de; font-size: 15px; }
.harmony-rings { position: absolute; z-index: 2; top: 27px; right: 27px; width: 150px; height: 150px; }.harmony-rings i { position: absolute; width: 94px; height: 94px; border: 1px solid rgba(247,241,232,.66); border-radius: 50%; }.harmony-rings i:first-child { top: 5px; left: 5px; }.harmony-rings i:last-child { right: 5px; bottom: 5px; background: radial-gradient(circle at 60% 50%, rgba(165,188,169,.14), transparent 67%); }
.gravity-visual img { object-position: 50% center; }.gravity-readout { top: 26px; right: 26px; bottom: auto; left: 26px; padding: 14px 15px; border: 1px solid rgba(247,241,232,.17); border-radius: 15px; background: rgba(10,15,24,.5); backdrop-filter: blur(12px); }.gravity-ladder { display: flex; flex-wrap: wrap; gap: 7px; }.gravity-ladder i { color: #f1e9e0; font-size: 11px; font-style: normal; font-weight: 700; }.gravity-ladder i:not(:last-child)::after { content: "·"; margin-left: 7px; color: rgba(223,195,135,.65); }.gravity-control { position: absolute; z-index: 3; right: 28px; bottom: 48px; display: grid; width: 76px; height: 76px; place-items: center; border: 1px solid rgba(247,241,232,.82); border-radius: 50%; background: radial-gradient(circle, rgba(186,142,204,.44), rgba(13,19,31,.95) 57%); box-shadow: 0 0 0 9px rgba(247,241,232,.18), 0 0 0 22px rgba(184,149,215,.12), 0 0 38px rgba(222,169,221,.5); }
.plan-visual img { object-position: center 65%; }.plan-readout { max-width: 310px; }.plan-readout strong { font-size: 31px; }
.home-trust { padding-bottom: clamp(74px, 11vw, 144px); border-top: 1px solid var(--line); }.trust-heading { max-width: 770px; }.home-trust-grid { display: grid; grid-template-columns: 1.14fr .82fr 1.04fr; gap: 14px; margin-top: 42px; }.home-trust-card, .home-fact { min-height: 310px; padding: clamp(27px, 3.5vw, 42px); border: 1px solid var(--line); border-radius: 25px; }.home-trust-card { display: flex; flex-direction: column; align-items: flex-start; background: linear-gradient(130deg, rgba(223,195,135,.11), rgba(255,255,255,.022) 58%); }.home-trust-card.quiet-card { background: rgba(255,255,255,.025); }.home-trust-card h3 { margin: 12px 0 13px; font-size: 28px; }.home-trust-card p { margin-bottom: 0; font-size: 16px; }.home-trust-card .text-link { margin-top: auto; padding-top: 23px; }.home-fact { display: flex; flex-direction: column; justify-content: space-between; background: radial-gradient(250px 180px at 100% 0, rgba(165,188,169,.14), transparent 76%), rgba(255,255,255,.025); }.home-fact strong { display: block; max-width: 250px; color: var(--ink); font-family: var(--shy-display); font-size: 29px; font-weight: 500; line-height: 1.14; }.home-fact p { margin: 11px 0 auto; font-size: 15px; line-height: 1.5; }.home-fact a { margin-top: 24px; color: var(--gold); font-size: 14px; font-weight: 800; text-decoration-color: rgba(223,195,135,.5); text-underline-offset: 5px; }

/* The public home needs an immediate operational explanation as well as an
   editorial point of view. This light chapter gives the journey a clear,
   readable structure without inventing activity or success metrics. */
.home-first-minute { padding: clamp(74px, 10vw, 132px) 0; background:
  radial-gradient(640px 360px at 100% 0, rgba(181,138,168,.16), transparent 72%),
  linear-gradient(118deg, #eee6d8, #e7dfd1 60%, #dfe6dc); color: var(--espresso); }
.first-minute-heading { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(34px, 7vw, 100px); align-items: end; }
.first-minute-heading .eyebrow { margin-bottom: 9px; color: #79613c; }
.product-trust-section .eyebrow { color: #79613c; }
.first-minute-heading h2 { margin: 0; color: var(--espresso); font-size: clamp(40px, 5.3vw, 67px); }
.first-minute-heading .lede { margin: 0; color: #49535d; font-size: clamp(18px, 2vw, 23px); }
.first-minute-path { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 54px 0 0; padding: 0; overflow: hidden; list-style: none; border: 1px solid rgba(26,22,18,.16); border-radius: 23px; background: rgba(26,22,18,.16); }
.first-minute-path li { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 17px; min-height: 214px; padding: 29px; background: rgba(255,255,255,.44); }
.first-minute-path li:nth-child(2) { background: rgba(250,244,237,.67); }
.first-minute-path li:nth-child(3) { background: rgba(239,246,239,.63); }
.first-minute-path span { color: #8a6f42; font-family: var(--shy-display); font-size: 21px; }
.first-minute-path p { margin: 0 0 11px; color: #5b6570; font-size: 13px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.first-minute-path strong { display: block; max-width: 260px; color: var(--espresso); font-family: var(--shy-display); font-size: 25px; font-weight: 500; line-height: 1.13; }
.first-minute-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 23px 0 0; color: #59636d; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.first-minute-foot i { width: 29px; height: 1px; background: rgba(26,22,18,.34); }
.home-belonging { padding: clamp(76px, 10vw, 132px) 0; border-top: 1px solid var(--line); background: radial-gradient(640px 360px at 2% 0, rgba(165,188,169,.13), transparent 73%); }
.home-belonging-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .83fr); gap: clamp(42px, 10vw, 142px); align-items: end; }
.home-belonging h2 { max-width: 650px; margin: 9px 0 0; font-size: clamp(39px, 5vw, 62px); }
.home-belonging .lede { margin-bottom: 16px; }
.home-belonging .text-link { margin-top: 4px; }
.home-cta { margin-bottom: 0; padding: clamp(48px, 8vw, 84px); border: 1px solid rgba(223,195,135,.48); border-radius: 30px; background: radial-gradient(540px 290px at 86% 18%, rgba(165,188,169,.18), transparent 66%), radial-gradient(500px 320px at 10% 100%, rgba(223,195,135,.17), transparent 65%), rgba(255,255,255,.025); }.home-cta h2 { max-width: 780px; margin: 10px 0 18px; }.home-cta p { max-width: 650px; }
@media (prefers-reduced-motion: no-preference) { .home-copy { animation: home-arrive .8s cubic-bezier(.2,.8,.2,1) both; }.home-visual { animation: home-arrive .95s .1s cubic-bezier(.2,.8,.2,1) both; }.stage-orbit { animation: orbit-settle 1.45s .35s cubic-bezier(.2,.8,.2,1) both; }.journey-step, .product-chapter, .home-trust-grid { animation: home-arrive .75s cubic-bezier(.2,.8,.2,1) both; } }
@keyframes home-arrive { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } } @keyframes orbit-settle { from { opacity: 0; transform: scale(.82) rotate(-8deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
@media (max-width: 860px) { .home-hero { grid-template-columns: 1fr; min-height: auto; }.home-visual { min-height: min(122vw, 610px); }.product-chapter, .reverse-chapter { grid-template-columns: 62px minmax(0, 1fr); }.chapter-copy, .reverse-chapter .chapter-copy { order: 2; grid-column: 2; }.chapter-visual, .reverse-chapter .chapter-visual { order: 3; grid-column: 1 / -1; }.chapter-index { min-height: 285px; }.home-trust-grid { grid-template-columns: repeat(2, 1fr); }.home-trust-card:last-child { grid-column: 1 / -1; } }
@media (max-width: 760px) { .wrap { width: min(calc(100% - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)), 1120px); }.nav { min-height: 68px; align-items: center; padding: 12px 0; flex-wrap: nowrap; }.nav-menu-toggle { display: inline-flex; }.grid, .grid.two, .company-facts, .policy-grid, .contact { grid-template-columns: 1fr; }.contact-actions { justify-content: flex-start; }.feature img { height: 220px; }.founder-card { grid-template-columns: 1fr; gap: 22px; }.founder-photo { width: 132px; height: 132px; }.founder-role span { display: block; margin: 9px 0 0; }.home-hero, .home-intro, .home-trust-grid { grid-template-columns: 1fr; }.home-hero { padding-top: 70px; gap: 43px; }.home-visual { min-height: min(130vw, 540px); }.home-stage-copy { right: 21px; bottom: 19px; left: 21px; }.home-stage-copy p { font-size: 14px; }.stage-orbit { width: 116px; height: 116px; top: 18px; right: 18px; }.stage-orbit i, .stage-orbit b { width: 51px; height: 51px; }.stage-orbit i { top: 21px; left: 15px; }.stage-orbit b { right: 15px; bottom: 21px; }.stage-profile-detail { top: 18px; left: 18px; padding: 10px 11px; }.stage-profile-detail strong { font-size: 12px; }.hero-proof { gap: 9px; margin-top: 31px; }.hero-proof li { padding-right: 6px; }.hero-proof strong { font-size: 12px; }.hero-proof span { font-size: 11px; }.journey { grid-template-columns: 1fr; }.journey-step { min-height: 330px; padding: 27px; }.journey-icon { margin-bottom: 35px; }.product-chapter, .reverse-chapter { grid-template-columns: 42px minmax(0, 1fr); gap: 20px; }.chapter-index { min-height: 285px; }.chapter-index span { font-size: 29px; }.chapter-visual, .chapter-visual img:not(.shy-inline-icon) { min-height: 420px; }.harmony-rings { width: 112px; height: 112px; top: 19px; right: 19px; }.harmony-rings i { width: 70px; height: 70px; }.harmony-readout, .gravity-readout, .plan-readout { right: 20px; bottom: 18px; left: 20px; }.gravity-readout { top: 18px; bottom: auto; }.harmony-readout strong, .plan-readout strong { font-size: 25px; }.gravity-control { right: 21px; bottom: 46px; width: 66px; height: 66px; }.home-trust-card:last-child { grid-column: auto; }.home-fact, .home-trust-card { min-height: 250px; }.home-trust-grid { gap: 13px; }.home-trust-card h3 { font-size: 26px; } }

/* Second pass: lead with people and an unmistakable visual rhythm. The product
   remains the proof, but the page now has a world beyond a dark feature grid. */
.home-hero { min-height: min(900px, calc(100vh - 72px)); grid-template-columns: minmax(0, .77fr) minmax(500px, 1.23fr); gap: clamp(30px, 6vw, 94px); }
.home-copy h1 { max-width: 560px; font-size: clamp(52px, 5.55vw, 74px); letter-spacing: -.06em; }
.home-hero { padding: clamp(52px, 6vw, 82px) 0 clamp(46px, 5vw, 72px); }
.home-hero::before { right: -24vw; top: -22vw; width: min(72vw, 950px); height: min(72vw, 950px); background: radial-gradient(circle, rgba(231,192,132,.28), rgba(165,188,169,.14) 34%, transparent 68%); }
.home-visual-scene { min-height: 600px; }.home-visual-scene .home-stage { border-radius: 38px; }.home-visual-scene .home-stage::after { background: linear-gradient(105deg, rgba(7,11,18,.45), rgba(7,11,18,.03) 58%), linear-gradient(0deg, rgba(7,11,18,.72), transparent 43%); }.home-visual-scene .home-stage img { object-position: 53% center; }
.hero-system-card { position: absolute; z-index: 3; top: 29px; left: 29px; width: min(325px, calc(100% - 58px)); padding: 20px; border: 1px solid rgba(247,241,232,.3); border-radius: 19px; background: rgba(16,14,12,.69); box-shadow: 0 18px 40px rgba(0,0,0,.18); backdrop-filter: blur(16px); }.hero-system-card > span, .hero-reply span { display: block; margin-bottom: 8px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }.hero-system-card strong { display: block; color: var(--ink); font-family: var(--shy-display); font-size: 27px; font-weight: 500; line-height: 1.06; }.hero-system-card p { margin: 10px 0 15px; color: #e8e1d6; font-size: 14px; line-height: 1.45; }.hero-system-tags { display: flex; flex-wrap: wrap; gap: 7px; }.hero-system-tags i { padding: 6px 9px; border: 1px solid rgba(247,241,232,.2); border-radius: 999px; color: #f7f1e8; font-size: 11px; font-style: normal; font-weight: 700; }
.hero-reply { position: absolute; z-index: 3; right: 27px; bottom: 26px; width: min(286px, calc(100% - 54px)); padding: 17px 18px; border: 1px solid rgba(247,241,232,.27); border-radius: 18px; background: rgba(20,16,12,.72); box-shadow: 0 14px 35px rgba(0,0,0,.24); backdrop-filter: blur(15px); }.hero-reply strong { display: block; color: var(--ink); font-size: 17px; line-height: 1.25; }
.hero-arc { position: absolute; z-index: 2; right: 18%; bottom: 20%; width: 180px; height: 180px; border: 1px solid rgba(243,215,174,.7); border-left-color: transparent; border-bottom-color: transparent; border-radius: 50%; box-shadow: 0 0 0 14px rgba(218,172,220,.1), 0 0 35px rgba(218,172,220,.22); transform: rotate(26deg); }
.hero-remark { max-width: 470px; margin: 32px 0 0; padding-top: 18px; border-top: 1px solid rgba(223,195,135,.42); color: var(--ink); font-family: var(--shy-identity); font-size: clamp(14px, 1.5vw, 16px); font-style: italic; font-weight: 600; line-height: 1.35; }
.home-copy h1 { font-family: var(--shy-identity); font-size: clamp(44px, 5.6vw, 72px); font-weight: 600; line-height: 0.92; letter-spacing: -.02em; }
.home-scrub { position: relative; min-height: 122vh; margin: 0; }
.home-scrub-pin { position: sticky; top: 0; height: 78vh; overflow: hidden; background: var(--navy); }
.home-scrub-stage { position: relative; width: 100%; height: 100%; }
.home-scrub-stage img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; transform: scale(1.14); transform-origin: center center; will-change: transform; }
.home-scrub-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,20,26,.6) 0%, rgba(17,20,26,.14) 46%, rgba(17,20,26,.8) 100%); pointer-events: none; }
.home-scrub-title { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; margin: 0; padding: 0 24px; color: var(--ink); font-family: var(--shy-identity); font-size: clamp(34px, 5vw, 58px); font-style: italic; font-weight: 600; line-height: 1.08; letter-spacing: -.02em; text-align: center; text-shadow: 0 8px 22px rgba(0,0,0,.72); opacity: 0.28; }
@media (prefers-reduced-motion: reduce) {
  .home-scrub { min-height: 78vh; }
  .home-scrub-stage img { transform: scale(1) !important; will-change: auto; }
  .home-scrub-title { opacity: 1 !important; }
}
.home-proof-intro { padding-top: clamp(88px, 12vw, 160px); }.journey { gap: 13px; border: 0; border-radius: 0; overflow: visible; background: transparent; }.journey-step { display: flex; align-items: flex-end; min-height: 500px; padding: 0; border: 1px solid rgba(242,229,204,.2); border-radius: 25px; background: var(--navy-lift); box-shadow: 0 20px 48px rgba(0,0,0,.16); }.journey-step::after { inset: 0; width: auto; height: auto; border-radius: 25px; background: linear-gradient(180deg, rgba(8,12,20,.02) 28%, rgba(8,12,20,.75) 100%); }.journey-step > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.journey-step:nth-child(1) > img { object-position: 58% center; }.journey-step:nth-child(2) > img { object-position: 52% center; }.journey-step:nth-child(3) > img { object-position: 50% 66%; }.journey-step-copy { position: relative; z-index: 2; padding: 28px; }.journey-step .number { margin: 0 0 13px; color: var(--gold); }.journey-step h3 { margin-bottom: 9px; color: #fffaf2; }.journey-step p { color: #ece4d9; }.journey-corner { position: absolute; z-index: 2; top: 20px; right: 20px; }.harmony-corner { width: 80px; height: 80px; }.harmony-corner i { position: absolute; width: 51px; height: 51px; border: 1px solid rgba(255,250,242,.82); border-radius: 50%; }.harmony-corner i:first-child { top: 0; left: 0; }.harmony-corner i:last-child { right: 0; bottom: 0; background: rgba(165,188,169,.11); }.gravity-corner { display: grid; width: 56px; height: 56px; place-items: center; border: 1px solid rgba(255,250,242,.7); border-radius: 50%; background: radial-gradient(circle, rgba(218,172,220,.66), rgba(20,16,12,.92) 64%); box-shadow: 0 0 0 8px rgba(218,172,220,.12), 0 0 23px rgba(218,172,220,.38); }.gravity-corner i { color: #fffaf2; font-size: 24px; font-style: normal; }.plan-corner { display: grid; grid-template-columns: auto 8px; gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid rgba(255,250,242,.27); border-radius: 999px; background: rgba(10,15,24,.48); backdrop-filter: blur(10px); }.plan-corner span { color: #fffaf2; font-size: 11px; font-weight: 800; }.plan-corner i { width: 8px; height: 8px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 4px rgba(165,188,169,.14); }
.gravity-visual::before { content: ""; position: absolute; z-index: 1; inset: 0; background: radial-gradient(60% 60% at 46% 49%, rgba(213,156,207,.33), rgba(213,156,207,.07) 42%, transparent 68%), radial-gradient(45% 50% at 50% 66%, rgba(223,195,135,.15), transparent 71%); pointer-events: none; }.gravity-visual::after { z-index: 2; }.gravity-readout, .gravity-control { z-index: 3; }
@media (max-width: 930px) { .home-hero { grid-template-columns: 1fr; }.home-visual-scene { min-height: min(108vw, 610px); }.home-manifesto > div { grid-template-columns: 1fr; }.home-manifesto span { grid-column: auto; }.journey-step { min-height: 440px; } }
@media (max-width: 760px) { .home-copy h1 { font-size: 44px; }.home-visual-scene { min-height: min(128vw, 525px); }.hero-system-card { top: 17px; left: 17px; width: min(275px, calc(100% - 34px)); padding: 14px; }.hero-system-card strong { font-size: 21px; }.hero-system-card p { display: none; }.hero-system-tags i { padding: 5px 7px; font-size: 10px; }.hero-reply { right: 16px; bottom: 16px; width: min(245px, calc(100% - 32px)); padding: 13px 14px; }.hero-reply strong { font-size: 14px; }.hero-arc { right: 12%; bottom: 23%; width: 120px; height: 120px; }.hero-remark { margin-top: 27px; font-size: 15px; }.home-manifesto { padding: 66px 0 70px; }.home-manifesto strong { font-size: clamp(39px, 12vw, 55px); }.home-manifesto span { font-size: 16px; }.journey { gap: 14px; }.journey-step { min-height: 435px; padding: 0; }.journey-step-copy { padding: 23px; }.journey-step h3 { font-size: 28px; }.journey-corner { top: 17px; right: 17px; } }

/* Product page: a concrete, static explanation of the live beta journey. */
.product-main { padding: 0; overflow: hidden; }
.product-hero { display: grid; grid-template-columns: minmax(0, .85fr) minmax(460px, 1.15fr); align-items: center; gap: clamp(36px, 7vw, 106px); min-height: min(860px, calc(100vh - 72px)); padding: clamp(70px, 10vw, 145px) 0 clamp(68px, 9vw, 120px); }
.product-copy h1 { max-width: 610px; margin-bottom: 24px; }
.product-availability { position: relative; display: block; max-width: 540px; margin: 28px 0 0; padding-left: 19px; color: #dad6ce; font-size: 14px; line-height: 1.5; }
.product-availability span { position: absolute; left: 0; top: .45em; width: 9px; height: 9px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 5px rgba(165,188,169,.12); }
.product-availability strong { display: inline; color: var(--ink); }
.product-hero-stage { position: relative; min-height: 580px; margin: 0; overflow: hidden; border: 1px solid rgba(242,229,204,.28); border-radius: 36px; background: var(--navy-lift); box-shadow: 0 34px 86px rgba(0,0,0,.4); isolation: isolate; }
.product-hero-stage::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(115deg, rgba(6,10,16,.52), rgba(6,10,16,.04) 56%), linear-gradient(0deg, rgba(6,10,16,.76), transparent 45%); }
.product-hero-stage > img { display: block; width: 100%; height: 100%; min-height: 580px; object-fit: cover; object-position: 52% center; }
.product-stage-context, .product-stage-next, .product-stage-signal { position: absolute; z-index: 2; }
.product-stage-context { top: 26px; left: 26px; width: min(284px, calc(100% - 52px)); padding: 16px; border: 1px solid rgba(247,241,232,.27); border-radius: 17px; background: rgba(11,17,28,.66); backdrop-filter: blur(13px); }
.product-stage-context span, .product-stage-next span, .product-stage-signal span, .product-proof-label span { display: block; margin-bottom: 7px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.product-stage-context strong, .product-stage-next strong { display: block; color: var(--ink); font-family: var(--shy-display); font-size: 22px; font-weight: 500; line-height: 1.12; }
.product-stage-context p { margin: 7px 0 0; color: #e5ded4; font-size: 13px; line-height: 1.42; }
.product-stage-signal { top: 40%; right: 11%; display: grid; width: 110px; height: 110px; place-items: center; border: 1px solid rgba(255,250,242,.74); border-radius: 50%; background: radial-gradient(circle, rgba(214,151,210,.66), rgba(16,21,34,.95) 59%); box-shadow: 0 0 0 10px rgba(255,250,242,.17), 0 0 0 24px rgba(214,151,210,.11), 0 0 42px rgba(214,151,210,.5); }
.product-stage-signal span { position: absolute; top: -31px; margin: 0; color: #fffaf2; }
.product-stage-signal i { color: #fffaf2; font-size: 38px; font-style: normal; }
.product-stage-signal b { position: absolute; right: -8px; bottom: -30px; color: #f7f1e8; font-size: 11px; letter-spacing: .04em; white-space: nowrap; }
.product-stage-next { right: 25px; bottom: 23px; width: min(270px, calc(100% - 50px)); padding: 15px 16px; border: 1px solid rgba(247,241,232,.27); border-radius: 16px; background: rgba(18,20,33,.73); backdrop-filter: blur(12px); }
.product-stage-next strong { font-size: 16px; }
.product-statement { padding: clamp(72px, 10vw, 132px) 0; background: #eee6d8; color: var(--espresso); }.product-statement > div { display: grid; grid-template-columns: .7fr 1.3fr; align-items: end; gap: 34px; }.product-statement p { margin: 0; color: #55606b; font-size: 14px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.product-statement strong { max-width: 800px; color: var(--espresso); font-family: var(--shy-display); font-size: clamp(42px, 6vw, 76px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.product-section { padding: clamp(78px, 11vw, 148px) 0; }.product-section-heading { max-width: 780px; }.product-section-heading h2 { margin: 10px 0 18px; }
.product-role-system {
  position: relative;
}
.role-system-frame {
  display: grid;
  grid-auto-columns: minmax(250px, 360px);
  grid-auto-flow: column;
  gap: 16px;
  margin-top: 42px;
  padding: 8px 0 18px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}
.role-system-card {
  position: relative;
  display: flex;
  min-height: 520px;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  scroll-snap-align: center;
  border: 1px solid rgba(242,229,204,.22);
  border-radius: 30px;
  background: var(--navy-lift);
  box-shadow: 0 24px 70px rgba(0,0,0,.32);
  isolation: isolate;
}
.role-system-card::before,
.role-system-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.role-system-card::before {
  z-index: 1;
  background:
    radial-gradient(80% 48% at 50% 18%, rgba(255,250,242,.12), transparent 68%),
    linear-gradient(180deg, rgba(7,10,17,.05) 0%, rgba(7,10,17,.18) 36%, rgba(7,10,17,.88) 100%);
}
.role-system-card::after {
  z-index: 2;
  inset: 18px;
  border: 1px solid rgba(247,241,232,.18);
  border-radius: 22px;
  transform: translateY(10px);
  opacity: .72;
}
.role-system-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform: scale(1.035);
  transition: transform 420ms ease, filter 420ms ease;
}
.role-system-card > span,
.role-system-card h3,
.role-system-card p,
.role-system-card a {
  position: relative;
  z-index: 3;
  margin-right: 28px;
  margin-left: 28px;
}
.role-system-card > span {
  display: block;
  margin-bottom: 12px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.role-system-card h3 {
  margin-bottom: 11px;
  color: #fffaf2;
  font-size: clamp(31px, 4vw, 43px);
  line-height: .95;
}
.role-system-card p {
  max-width: 28ch;
  margin-bottom: 0;
  color: rgba(247,241,232,.82);
  font-size: 15px;
  line-height: 1.48;
}
.role-system-card a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  margin-bottom: 30px;
  color: #fffaf2;
  font-size: 13px;
  font-weight: 800;
  text-decoration-color: rgba(201,166,107,.62);
  text-underline-offset: 6px;
}
.role-system-card:focus-within,
.role-system-card:hover {
  border-color: rgba(201,166,107,.52);
}
.role-system-card:focus-within img,
.role-system-card:hover img {
  transform: scale(1.075);
  filter: saturate(1.08) contrast(1.04);
}
.role-system-card--couple::before {
  background:
    radial-gradient(72% 46% at 65% 18%, rgba(165,188,169,.19), transparent 68%),
    linear-gradient(180deg, rgba(7,10,17,.04) 0%, rgba(7,10,17,.2) 38%, rgba(7,10,17,.88) 100%);
}
.role-system-card--business::before,
.role-system-card--market::before {
  background:
    radial-gradient(70% 46% at 54% 14%, rgba(201,166,107,.2), transparent 66%),
    linear-gradient(180deg, rgba(7,10,17,.04) 0%, rgba(7,10,17,.22) 38%, rgba(7,10,17,.9) 100%);
}
.role-system-card--support::before,
.role-system-card--admin::before {
  background:
    radial-gradient(70% 46% at 54% 14%, rgba(149,166,190,.22), transparent 68%),
    linear-gradient(180deg, rgba(7,10,17,.04) 0%, rgba(7,10,17,.24) 38%, rgba(7,10,17,.9) 100%);
}
.role-system-disclosure {
  max-width: 850px;
  margin: 18px 0 0;
  color: rgba(247,241,232,.7);
  font-size: 13px;
  line-height: 1.55;
}
.product-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 50px 0 0; padding: 0; list-style: none; }
.product-flow-step { position: relative; display: flex; min-height: 455px; padding: 30px; overflow: hidden; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); border-radius: 25px; background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.018)); }
.product-flow-step h3 { max-width: 260px; margin: 9px 0 10px; font-size: 31px; }.product-flow-step p { max-width: 290px; margin-bottom: 0; font-size: 16px; }.product-flow-step .eyebrow { margin: 0; }.product-step-number { position: absolute; top: 22px; right: 25px; color: rgba(247,241,232,.38); font-family: var(--shy-display); font-size: 20px; }
.product-flow-art { position: relative; min-height: 112px; margin-top: 27px; }.harmony-art i { position: absolute; width: 89px; height: 89px; border: 1px solid rgba(247,241,232,.73); border-radius: 50%; }.harmony-art i:first-child { left: 9px; top: 0; }.harmony-art i:nth-child(2) { bottom: 0; left: 67px; background: radial-gradient(circle, rgba(165,188,169,.18), rgba(165,188,169,.04) 68%); }.harmony-art span { position: absolute; top: 40px; left: 179px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.gravity-flow { background: radial-gradient(250px 220px at 70% 90%, rgba(214,151,210,.17), transparent 74%), linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.018)); }
.gravity-art { display: flex; align-items: center; gap: 16px; }
.gravity-art i {
  display: grid;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  place-items: center;
  border: 1px solid rgba(247,241,232,.72);
  border-radius: 50%;
  background-image: url("/assets/assets/icons/shy_system/shy_gravity.png"),
    radial-gradient(circle, rgba(214,151,210,.58), rgba(15,20,33,.95) 62%);
  background-size: 40px, auto;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 0 0 8px rgba(214,151,210,.1), 0 0 27px rgba(214,151,210,.32);
}
.gravity-art span { max-width: 150px; color: #f1e7dd; font-size: 12px; font-weight: 700; line-height: 1.5; }
.plan-flow { background: radial-gradient(240px 220px at 84% 87%, rgba(223,195,135,.15), transparent 70%), linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.018)); }.plan-art { display: grid; align-content: center; gap: 7px; padding: 16px; border: 1px solid rgba(223,195,135,.48); border-radius: 17px; background: rgba(10,15,24,.4); }.plan-art span { color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.plan-art b { color: var(--ink); font-size: 16px; }.plan-art i { position: absolute; right: 20px; bottom: 21px; width: 9px; height: 9px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 5px rgba(165,188,169,.13); }
.product-live-section { background: linear-gradient(145deg, rgba(165,188,169,.11), rgba(11,17,28,.1) 52%), #111824; }.product-live-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 56px); align-items: start; }.product-live-copy h2 { margin: 10px 0 18px; }.product-surface-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: var(--line); }.product-surface-list article { min-height: 194px; padding: 24px; background: rgba(13,20,31,.92); }.product-surface-list span, .product-trust-grid article > span { display: block; margin-bottom: 13px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }.product-surface-list h3 { margin-bottom: 8px; font-size: 22px; }.product-surface-list p { margin: 0; font-size: 14px; line-height: 1.5; }
.product-proof-section { display: grid; grid-template-columns: minmax(400px, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(40px, 9vw, 128px); }.product-proof-image { position: relative; min-height: 600px; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: var(--navy-lift); }.product-proof-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,11,18,.04) 24%, rgba(7,11,18,.8) 100%); }.product-proof-image img { display: block; width: 100%; height: 100%; min-height: 600px; object-fit: cover; object-position: center; }.product-proof-aura { position: absolute; z-index: 1; inset: 0; background: radial-gradient(58% 52% at 47% 50%, rgba(214,151,210,.32), rgba(214,151,210,.06) 42%, transparent 70%), radial-gradient(45% 48% at 48% 64%, rgba(223,195,135,.17), transparent 72%); }.product-proof-label { position: absolute; z-index: 2; right: 25px; bottom: 23px; left: 25px; }.product-proof-label strong { color: #fffaf2; font-family: var(--shy-display); font-size: clamp(23px, 3vw, 32px); font-weight: 500; line-height: 1.08; }.product-proof-copy h2 { margin: 10px 0 18px; }.product-proof-copy .text-link { margin-top: 15px; }
.product-trust-section { background: #eee6d8; }.product-trust-section .product-section-heading h2 { color: var(--espresso); }.product-trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 45px; }.product-trust-grid article { display: flex; min-height: 300px; flex-direction: column; padding: 29px; border: 1px solid rgba(26,22,18,.16); border-radius: 22px; background: rgba(255,255,255,.34); }.product-trust-grid article > span { color: #8a6f42; }.product-trust-grid h3 { color: var(--espresso); margin-bottom: 10px; font-size: 27px; }.product-trust-grid p { color: #4c5661; margin-bottom: 0; font-size: 16px; }.product-trust-grid a { margin-top: auto; padding-top: 25px; color: var(--espresso); font-size: 14px; font-weight: 800; text-decoration-color: rgba(138,111,66,.56); text-underline-offset: 5px; }.product-final-cta { margin-bottom: 0; }
@media (max-width: 930px) { .product-hero, .product-live-layout, .product-proof-section { grid-template-columns: 1fr; }.product-hero { min-height: auto; }.product-hero-stage { min-height: min(110vw, 650px); }.product-hero-stage > img { min-height: min(110vw, 650px); }.product-statement > div { grid-template-columns: 1fr; }.product-flow { grid-template-columns: 1fr; }.product-flow-step { min-height: 370px; }.product-flow-step h3 { max-width: 430px; }.product-flow-step p { max-width: 520px; }.product-proof-image, .product-proof-image img { min-height: min(112vw, 650px); } }
@media (max-width: 760px) { .product-hero { gap: 42px; padding-top: 70px; }.product-hero-stage { display: flex; flex-direction: column; min-height: 0; height: auto; overflow: hidden; }.product-hero-stage > img { position: relative; width: 100%; height: min(52vw, 240px); min-height: 200px; flex: 0 0 auto; }.product-stage-context, .product-stage-signal, .product-stage-next { position: relative; top: auto; right: auto; left: auto; bottom: auto; width: 100%; max-width: none; margin: 0; border-radius: 0; box-shadow: none; }.product-stage-context { padding: 14px 16px 12px; }.product-stage-context strong { font-size: 20px; }.product-stage-context p { display: block; margin-top: 6px; }.product-stage-signal { display: flex; width: auto; height: auto; align-items: center; justify-content: flex-start; gap: 12px; padding: 12px 16px; border-radius: 0; background: rgba(15,18,30,.72); }.product-stage-signal span, .product-stage-signal b { position: static; }.product-stage-signal .shy-inline-icon { width: 28px; height: 28px; }.product-stage-next { padding: 14px 16px 16px; border-radius: 0 0 36px 36px; }.product-stage-next strong { font-size: 16px; }.product-statement { padding: 66px 0 70px; }.product-statement strong { font-size: clamp(39px, 12vw, 55px); }.role-system-frame { grid-auto-columns: minmax(238px, 82vw); margin-top: 32px; }.role-system-card { min-height: 440px; border-radius: 24px; }.role-system-card::after { inset: 14px; border-radius: 18px; }.role-system-card > span, .role-system-card h3, .role-system-card p, .role-system-card a { margin-right: 22px; margin-left: 22px; }.role-system-card a { margin-bottom: 24px; }.role-system-disclosure { font-size: 12px; }.product-flow { margin-top: 38px; }.product-flow-step { min-height: 390px; padding: 25px; }.product-live-layout { gap: 42px; }.product-surface-list { grid-template-columns: 1fr; }.product-surface-list article { min-height: auto; }.product-proof-section { gap: 38px; }.product-proof-image, .product-proof-image img { min-height: min(128vw, 530px); }.product-proof-label { right: 19px; bottom: 18px; left: 19px; }.product-proof-label strong { font-size: 24px; }.product-trust-grid { grid-template-columns: 1fr; margin-top: 35px; }.product-trust-grid article { min-height: 240px; }.product-trust-grid h3 { font-size: 25px; } }

/* Brand lock: the older page blocks above are retained for layout history, but
   all live public-site text resolves through the shipped SHY families here.
   This keeps the migration incremental while preventing a legacy system-font
   fallback from winning on a more-specific feature selector. */
body,
body .nav-links a,
body .eyebrow,
body .number,
body .home-kicker,
body .home-beta-note,
body .hero-proof,
body .home-stage-label,
body .stage-profile-detail span,
body .stage-marker,
body .text-link,
body .chapter-index p,
body .gravity-ladder i,
body .product-stage-context span,
body .product-stage-next span,
body .product-stage-signal span,
body .product-proof-label span,
body .first-minute-path p,
body .first-minute-foot,
body .hero-system-tags i,
body .hero-harmony-panel dt,
body .hero-harmony-panel dd,
body .hero-gravity-demo b,
body .hero-gravity-demo > span,
body .hero-reply span,
body .home-shift p,
body .home-fact p,
body .company-facts,
body .founder-role span {
  font-family: var(--shy-body) !important;
}

body .brand,
body h1,
body h2,
body h3,
body .founder-role,
body .journey-icon,
body .chapter-index span,
body .harmony-readout strong,
body .plan-readout strong,
body .home-fact strong,
body .home-manifesto strong,
body .first-minute-path span,
body .first-minute-path strong,
body .hero-system-card strong,
body .hero-harmony-panel > strong,
body .hero-reply strong,
body .home-shift span,
body .home-shift strong,
body .product-stage-context strong,
body .product-stage-next strong,
body .product-proof-label strong {
  font-family: var(--shy-display) !important;
}

body .home-copy h1,
body .hero-remark,
body .home-scrub-title {
  font-family: var(--shy-identity) !important;
}

/* Canonical SVG icon treatment for public pages. The back mark is rotated so
   outbound links share one SHY geometry without introducing a web-only pack. */
.shy-inline-icon {
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  flex: 0 0 auto;
  object-fit: contain;
  vertical-align: -.16em;
}
.shy-inline-icon-arrow { transform: rotate(180deg); }
.hero-gravity-demo .shy-inline-icon { width: 53px; height: 53px; }
.gravity-control {
  cursor: pointer;
  color: inherit;
  font: inherit;
  transition: transform var(--t-fast) var(--shy-ease), box-shadow var(--t-base) var(--shy-ease), border-color var(--t-fast) var(--shy-ease);
}
/* Hero dial: one vertical stack (level → control → hint → status), parked
   above the mutual reply card so phone/tablet/desktop never collide. */
.hero-gravity-dial {
  position: absolute;
  z-index: 4;
  right: 28px;
  /* Clear the ~110–130px reply card + gap on every stage height. */
  bottom: clamp(128px, 24%, 176px);
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 6px;
  width: 148px;
  padding: 12px 12px 11px;
  border: 1px solid rgba(247,241,232,.26);
  border-radius: 20px;
  background: rgba(15,18,30,.72);
  box-shadow: 0 14px 33px rgba(0,0,0,.22);
  backdrop-filter: blur(15px);
}
/* Scene bloom belongs on chapter figures, not the compact hero dial card. */
.hero-gravity-dial.gravity-visual::before,
.hero-gravity-dial.gravity-visual::after {
  content: none;
  display: none;
}
.hero-gravity-dial-control {
  position: relative;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
}
.hero-gravity-dial .gravity-dial-ring {
  position: absolute;
  inset: 0;
  width: 92px;
  height: 92px;
  pointer-events: none;
}
.gravity-dial-ring-track,
.gravity-dial-ring-progress {
  fill: none;
  stroke-width: 3;
  transform-origin: 50% 50%;
  transform: rotate(-90deg);
}
.gravity-dial-ring-track { stroke: rgba(247,241,232,.22); }
.gravity-dial-ring-progress {
  stroke: var(--gold);
  stroke-dasharray: 289;
  stroke-dashoffset: 289;
  transition: stroke-dashoffset 40ms linear;
}
.gravity-dial-level {
  margin: 0;
  color: var(--ink);
  font-family: var(--shy-display);
  font-size: 18px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
  font-variation-settings: "SOFT" var(--soft), "WONK" 0.8, "opsz" 32;
}
.hero-gravity-control {
  position: relative;
  right: auto;
  bottom: auto;
  width: 76px;
  height: 76px;
}
.hero-gravity-dial > .gravity-control-hint {
  position: static;
  right: auto;
  bottom: auto;
  transform: none;
  margin: 0;
  max-width: 100%;
  color: var(--ink);
  font-family: var(--shy-body);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
  white-space: normal;
  line-height: 1.25;
}
.hero-gravity-dial > .gravity-demo-status {
  position: static;
  right: auto;
  bottom: auto;
  z-index: auto;
  max-width: 100%;
  margin: 2px 0 0;
  color: rgba(247,241,232,.72);
  font-family: var(--shy-body);
  font-size: 10px;
  line-height: 1.3;
  text-align: center;
  pointer-events: none;
}
.chapter-gravity-ring {
  position: absolute;
  z-index: 2;
  right: 28px;
  bottom: 48px;
  width: 76px;
  height: 76px;
  pointer-events: none;
}
/* Immersion tier diagnostics intentionally not shown on public pages. */
.gravity-control:hover { transform: scale(1.035); }
.gravity-control:focus-visible { outline: 3px solid var(--gold); outline-offset: 6px; }
.gravity-control:active { transform: scale(.985); }
.gravity-control .shy-inline-icon { width: 36px; height: 36px; transition: transform 180ms ease; }
/* Chapter Gravity control keeps the hint under the circular button. */
.gravity-control > .gravity-control-hint {
  position: absolute;
  right: 50%;
  bottom: -28px;
  transform: translateX(50%);
  color: var(--ink);
  font-family: var(--shy-body);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.gravity-demo-status {
  position: absolute;
  z-index: 3;
  right: 24px;
  bottom: 23px;
  max-width: 220px;
  margin: 0;
  color: rgba(247,241,232,.78);
  font-family: var(--shy-body);
  font-size: 11px;
  line-height: 1.35;
  pointer-events: none;
}
.gravity-visual[data-gravity-level="1"] .gravity-control,
.gravity-visual[data-gravity-level="2"] .gravity-control,
.gravity-visual[data-gravity-level="3"] .gravity-control,
.gravity-visual[data-gravity-level="4"] .gravity-control {
  border-color: rgba(255,233,168,.92);
}
.gravity-visual[data-gravity-level="1"] .gravity-control { box-shadow: 0 0 0 9px rgba(247,241,232,.18), 0 0 0 22px rgba(228,211,176,.13), 0 0 38px rgba(228,211,176,.38); }
.gravity-visual[data-gravity-level="2"] .gravity-control { box-shadow: 0 0 0 9px rgba(247,241,232,.18), 0 0 0 22px rgba(234,205,142,.16), 0 0 42px rgba(234,205,142,.46); }
.gravity-visual[data-gravity-level="3"] .gravity-control { box-shadow: 0 0 0 10px rgba(247,241,232,.2), 0 0 0 25px rgba(242,217,140,.18), 0 0 48px rgba(242,217,140,.52); }
.gravity-visual[data-gravity-level="4"] .gravity-control { box-shadow: 0 0 0 10px rgba(247,241,232,.22), 0 0 0 28px rgba(255,233,168,.2), 0 0 56px rgba(255,233,168,.58); }
.gravity-visual[data-gravity-level="1"] .gravity-control .shy-inline-icon { transform: scale(1.04); }
.gravity-visual[data-gravity-level="2"] .gravity-control .shy-inline-icon { transform: scale(1.08); }
.gravity-visual[data-gravity-level="3"] .gravity-control .shy-inline-icon { transform: scale(1.12); }
.gravity-visual[data-gravity-level="4"] .gravity-control .shy-inline-icon { transform: scale(1.16); }
.product-stage-signal .shy-inline-icon { width: 38px; height: 38px; }
.gravity-art .shy-inline-icon { width: 72px; height: 72px; flex: 0 0 72px; }
@media (prefers-reduced-motion: reduce) {
  .gravity-control, .gravity-control .shy-inline-icon { transition: none; }
}

/* Experience excellence: lead with an intelligible product moment, not a
   decorative collage. The details are deliberately representative, so the
   public page demonstrates the system without presenting a model as a member. */
.hero-profile-stage > img { object-position: 43% center; }
.hero-harmony-panel { position: absolute; z-index: 3; top: 28px; right: 28px; width: min(300px, calc(100% - 56px)); padding: 18px; border: 1px solid rgba(247,241,232,.31); border-radius: 18px; background: linear-gradient(135deg, rgba(15,24,35,.88), rgba(15,24,35,.67)); box-shadow: 0 18px 45px rgba(0,0,0,.24); backdrop-filter: blur(16px); }
.hero-harmony-panel > span, .hero-gravity-demo > span { display: block; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-harmony-panel > strong { display: block; margin: 9px 0 13px; color: #fffaf2; font-family: var(--shy-display); font-size: 25px; font-weight: 500; line-height: 1.05; }
.hero-harmony-panel dl { display: grid; gap: 8px; margin: 0; }.hero-harmony-panel dl > div { display: grid; grid-template-columns: 78px 1fr; gap: 9px; padding-top: 8px; border-top: 1px solid rgba(247,241,232,.13); }.hero-harmony-panel dt { color: #c9c1b6; font-size: 11px; font-weight: 800; }.hero-harmony-panel dd { margin: 0; color: #fffaf2; font-size: 12px; font-weight: 700; line-height: 1.25; }
.hero-gravity-demo { position: absolute; z-index: 3; right: 9%; bottom: 21%; display: grid; justify-items: center; gap: 8px; min-width: 116px; padding: 13px 13px 11px; border: 1px solid rgba(247,241,232,.26); border-radius: 17px; background: rgba(15,18,30,.56); box-shadow: 0 14px 33px rgba(0,0,0,.22); backdrop-filter: blur(15px); }.hero-gravity-demo > span { color: #f8e7b4; }.hero-gravity-demo i { display: grid; width: 53px; height: 53px; place-items: center; border: 1px solid rgba(255,250,242,.78); border-radius: 50%; color: #fffaf2; font-size: 27px; font-style: normal; background: radial-gradient(circle, rgba(218,172,220,.68), rgba(20,22,43,.95) 62%); box-shadow: 0 0 20px rgba(218,172,220,.38); }.hero-gravity-demo b { color: #fffaf2; font-size: 10px; letter-spacing: .02em; white-space: nowrap; }
.hero-reply { width: min(305px, calc(100% - 54px)); }.hero-reply span { color: #b9d3bf; }.hero-reply strong { font-family: var(--shy-display); font-size: 18px; font-weight: 500; line-height: 1.15; }
@media (max-width: 930px) {
  .hero-gravity-dial {
    right: 20px;
    bottom: clamp(120px, 26%, 168px);
  }
}
@media (max-width: 760px) {
  /* Phone: one still, then Harmony / Gravity / Mutual stacked — no overlay fight. */
  .home-visual,
  .home-visual-scene {
    min-height: 0;
    height: auto;
  }
  .hero-profile-stage.home-stage {
    position: relative;
    inset: auto;
    display: flex;
    flex-direction: column;
    height: auto;
    overflow: hidden;
  }
  .hero-profile-stage > img {
    position: relative;
    width: 100%;
    height: min(52vw, 240px);
    min-height: 200px;
    flex: 0 0 auto;
    object-position: 40% center;
  }
  .hero-profile-stage .hero-harmony-panel,
  .hero-profile-stage .hero-gravity-dial,
  .hero-profile-stage .hero-reply {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    bottom: auto;
    width: 100%;
    max-width: none;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .hero-profile-stage .hero-harmony-panel {
    width: 100%;
    padding: 14px 16px 12px;
  }
  .hero-profile-stage .hero-harmony-panel > strong {
    margin: 6px 0 8px;
    font-size: 20px;
  }
  .hero-profile-stage .hero-gravity-dial {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    width: 100%;
    padding: 10px 16px 12px;
    gap: 2px 12px;
  }
  .hero-profile-stage .hero-gravity-dial-control,
  .hero-profile-stage .hero-gravity-dial .gravity-dial-ring {
    width: 84px;
    height: 84px;
  }
  .hero-profile-stage .hero-gravity-control { width: 68px; height: 68px; }
  .hero-profile-stage .hero-gravity-dial .gravity-dial-level {
    font-size: 18px;
    text-align: left;
  }
  .hero-profile-stage .hero-gravity-dial > .gravity-control-hint,
  .hero-profile-stage .hero-gravity-dial > .gravity-demo-status {
    text-align: left;
    font-size: 11px;
  }
  .hero-profile-stage .hero-reply {
    width: 100%;
    padding: 14px 16px 16px;
    border-radius: 0 0 34px 34px;
  }
  .hero-harmony-panel dl { gap: 6px; }
  .hero-harmony-panel dl > div { grid-template-columns: 71px 1fr; gap: 7px; padding-top: 6px; }
  .hero-harmony-panel dt, .hero-harmony-panel dd { font-size: 10px; }
  .home-hero { padding-top: 54px; }
  .home-copy h1 { max-width: 410px; font-size: 44px; }
  .hero-proof { margin-top: 32px; grid-template-columns: 1fr; }
  .hero-proof li { padding-right: 8px; }
  .home-shift { margin-top: 35px; border-radius: 20px; }
  .home-shift article { min-height: 0; padding: 24px; }
  .home-shift span { margin-bottom: 21px; }
  .home-shift strong { max-width: 330px; font-size: 24px; }
}

@media (max-width: 930px) {
  .home-shift { grid-template-columns: 1fr; }
  .home-shift article { min-height: 210px; }
  .home-shift span { margin-bottom: 26px; }
}

@media (max-width: 1080px) { .first-minute-heading, .home-belonging-grid { grid-template-columns: 1fr; }.first-minute-heading { gap: 20px; }.first-minute-path { grid-template-columns: 1fr; margin-top: 37px; }.first-minute-path li { min-height: 150px; }.home-belonging-grid { gap: 22px; } }
@media (max-width: 760px) { .home-beta-note { margin-top: 19px; margin-bottom: -10px; font-size: 12px; }.home-first-minute { padding: 70px 0; }.first-minute-heading h2 { font-size: clamp(39px, 12vw, 54px); }.first-minute-heading .lede { font-size: 18px; }.first-minute-path { border-radius: 19px; }.first-minute-path li { grid-template-columns: 34px minmax(0, 1fr); gap: 13px; min-height: 138px; padding: 22px; }.first-minute-path span { font-size: 18px; }.first-minute-path strong { font-size: 23px; }.first-minute-foot { gap: 8px; font-size: 9px; letter-spacing: .1em; }.first-minute-foot i { width: 14px; }.home-belonging { padding: 72px 0; }.home-belonging h2 { font-size: clamp(38px, 12vw, 53px); } }

/* Motion system: a light editorial product film, not a second app runtime.
   JavaScript only adds classes when motion is allowed; the full page stays
   readable and crawler-visible if it is unavailable. */
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .home-copy,
  .motion-ready .home-visual,
  .motion-ready .journey-step,
  .motion-ready .product-chapter,
  .motion-ready .home-trust-grid { animation: none; }

  .motion-ready [data-reveal] {
    opacity: .86;
    transform: translateY(10px);
    will-change: opacity, transform;
  }

  .motion-ready [data-reveal-group].is-inview [data-reveal] {
    animation: shy-editorial-reveal 720ms cubic-bezier(.16, .84, .28, 1) both;
    animation-delay: var(--reveal-delay, 0ms);
  }

  .motion-ready [data-scene] [data-scene-layer] { will-change: opacity, transform; }
  .motion-ready [data-scene].is-inview .hero-profile-stage > img,
  .motion-ready [data-scene].is-inview .chapter-visual > img {
    animation: shy-photo-settle 1180ms cubic-bezier(.16, .84, .28, 1) both;
  }

  .motion-ready [data-scene].is-inview .hero-profile-stage::before {
    animation: shy-signal-field 1250ms 170ms cubic-bezier(.16, .84, .28, 1) both;
  }

  .motion-ready [data-scene].is-inview .hero-harmony-panel,
  .motion-ready [data-scene].is-inview .harmony-readout {
    animation: shy-overlay-arrive 720ms 230ms cubic-bezier(.16, .84, .28, 1) both;
  }

  .motion-ready [data-scene].is-inview .hero-gravity-demo,
  .motion-ready [data-scene].is-inview .gravity-readout,
  .motion-ready [data-scene].is-inview .gravity-control,
  .motion-ready [data-scene].is-inview .harmony-rings {
    animation: shy-overlay-arrive 720ms 390ms cubic-bezier(.16, .84, .28, 1) both;
  }

  .motion-ready [data-scene].is-inview .hero-reply,
  .motion-ready [data-scene].is-inview .plan-readout {
    animation: shy-overlay-arrive 720ms 540ms cubic-bezier(.16, .84, .28, 1) both;
  }

  .motion-ready .home-hero.is-inview .hero-proof li {
    animation: shy-rule-draw 620ms cubic-bezier(.16, .84, .28, 1) both;
  }
  .motion-ready .home-hero.is-inview .hero-proof li:nth-child(2) { animation-delay: 380ms; }
  .motion-ready .home-hero.is-inview .hero-proof li:nth-child(3) { animation-delay: 460ms; }
}

.hero-profile-stage::before {
  content: "";
  position: absolute;
  z-index: 2;
  right: 12%;
  bottom: 18%;
  width: min(34vw, 228px);
  aspect-ratio: 1;
  border: 1px solid rgba(247,241,232,.5);
  border-bottom-color: transparent;
  border-left-color: rgba(218,172,220,.35);
  border-radius: 50%;
  box-shadow: 0 0 0 12px rgba(223,195,135,.05), 0 0 42px rgba(218,172,220,.16);
  opacity: 0;
  pointer-events: none;
  transform: rotate(-28deg);
}

@keyframes shy-editorial-reveal {
  from { opacity: .86; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes shy-photo-settle {
  from { filter: saturate(.86) contrast(.96); transform: scale(1.065) translate3d(0, 1.4%, 0); }
  to { filter: saturate(1) contrast(1); transform: scale(1.016) translate3d(0, 0, 0); }
}

@keyframes shy-signal-field {
  from { opacity: 0; transform: scale(.78) rotate(-48deg); }
  to { opacity: .82; transform: scale(1) rotate(-28deg); }
}

@keyframes shy-overlay-arrive {
  from { opacity: .2; transform: translate3d(0, 18px, 0) scale(.97); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes shy-rule-draw {
  from { opacity: .2; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .hero-profile-stage::before { right: 10%; bottom: 21%; width: min(43vw, 168px); }
}

/* Discovery film: a product demonstration, not a borrowed swipe-app facade.
   It lets visitors see the moment SHY changes before they ever create an account. */
.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; }
.home-discovery-film { position: relative; overflow: hidden; padding: clamp(92px, 13vw, 176px) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: radial-gradient(44% 70% at 88% 24%, rgba(207,148,189,.16), transparent 72%), radial-gradient(32% 50% at 4% 82%, rgba(165,188,169,.14), transparent 72%), var(--navy); }
.home-discovery-film::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(90deg, transparent, #000 20%, #000 78%, transparent); opacity: .42; pointer-events: none; }
.discovery-film-layout { position: relative; display: grid; grid-template-columns: minmax(0, .93fr) minmax(390px, 1.07fr); align-items: center; gap: clamp(54px, 10vw, 154px); }
.discovery-film-copy { max-width: 570px; }.discovery-film-copy h2 { max-width: 560px; margin: 9px 0 20px; }.discovery-film-copy .lede { max-width: 520px; }
.discovery-principles { display: grid; gap: 0; margin: 42px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(247,241,232,.18); }.discovery-principles li { display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 14px; padding: 17px 0 18px; border-bottom: 1px solid rgba(247,241,232,.13); }.discovery-principles span { grid-row: span 2; color: var(--gold); font-family: Georgia, serif; font-size: 18px; }.discovery-principles strong { color: var(--ink); font-size: 15px; line-height: 1.25; }.discovery-principles p { margin: 5px 0 0; color: #bcb8b0; font-size: 14px; line-height: 1.45; }
.discovery-demo-shell { justify-self: end; width: min(100%, 510px); }.discovery-phone { position: relative; width: min(100%, 420px); min-height: 650px; margin-inline: auto; padding: 21px 14px 15px; overflow: hidden; border: 1px solid rgba(247,241,232,.38); border-radius: 44px; background: linear-gradient(135deg, #222c3d, #0d121d 37%, #151a27); box-shadow: 0 44px 105px rgba(0,0,0,.45), 0 0 0 7px rgba(244,231,205,.035); isolation: isolate; }.discovery-phone::before { content: ""; position: absolute; z-index: -1; inset: 1px; border-radius: 42px; background: radial-gradient(300px 220px at 76% 5%, rgba(223,195,135,.18), transparent 70%), linear-gradient(180deg, rgba(255,255,255,.07), transparent 23%); }.phone-speaker { width: 88px; height: 7px; margin: 0 auto 17px; border-radius: 999px; background: rgba(247,241,232,.25); box-shadow: 0 1px 1px rgba(0,0,0,.3) inset; }.phone-topline { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 16px; color: #fffaf2; font-size: 15px; font-weight: 800; }.phone-topline i { padding: 5px 8px; border: 1px solid rgba(247,241,232,.16); border-radius: 999px; color: #b9d3bf; font-size: 10px; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.demo-card-name { position: absolute; right: 21px; bottom: 22px; left: 21px; z-index: 2; }.demo-card-name strong { display: block; color: #fffaf2; font-family: Georgia, serif; font-size: 30px; font-weight: 500; line-height: 1; }.demo-card-name span { display: block; margin-top: 8px; color: #ded8cf; font-size: 12px; font-weight: 700; }.demo-harmony-chip { position: absolute; top: 18px; right: 18px; left: 18px; padding: 13px 14px; border: 1px solid rgba(247,241,232,.27); border-radius: 15px; background: rgba(10,16,26,.67); box-shadow: 0 12px 27px rgba(0,0,0,.16); backdrop-filter: blur(13px); }.demo-harmony-chip span { display: block; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .16em; }.demo-harmony-chip strong { display: block; margin-top: 6px; color: #fffaf2; font-size: 14px; }
.discovery-demo-caption { min-height: 57px; padding: 17px 8px 7px; }.discovery-demo-caption span { display: block; margin-bottom: 5px; color: #b9d3bf; font-size: 9px; font-weight: 800; letter-spacing: .14em; }.discovery-demo-caption strong { color: #fffaf2; font-family: Georgia, serif; font-size: 17px; font-weight: 500; }.phone-bottom-row { display: flex; justify-content: center; gap: 9px; margin-top: 4px; }.phone-bottom-row i { width: 35px; height: 4px; border-radius: 999px; background: rgba(247,241,232,.18); }.phone-bottom-row i:first-child { background: var(--gold); }.discovery-demo-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 20px auto 0; padding-inline: 8px; }.demo-replay { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; color: var(--gold); background: transparent; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; text-decoration: underline; text-decoration-color: rgba(223,195,135,.5); text-underline-offset: 5px; }.demo-replay:hover { color: #fff1cb; }.demo-replay:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; border-radius: 4px; }.discovery-demo-controls > p { max-width: 220px; margin: 0; color: #9f9fa1; font-size: 11px; line-height: 1.45; text-align: right; }
.trust-card-support { position: relative; overflow: hidden; isolation: isolate; }.trust-card-support > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; filter: saturate(.8) contrast(.96); }.trust-card-support::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(138deg, rgba(11,17,28,.96) 5%, rgba(11,17,28,.78) 54%, rgba(11,17,28,.34)); }.trust-card-content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }.trust-card-content h3 { max-width: 270px; }.trust-card-content p { max-width: 310px; }.trust-card-content .text-link { margin-top: auto; padding-top: 23px; }

.discovery-cinema-stage {
  position: relative;
  height: 438px;
  overflow: hidden;
  border-radius: 27px;
}
.discovery-cinema-still {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  transform-origin: center center;
}
.discovery-cinema-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,8,15,.08) 20%, rgba(4,8,15,.2) 52%, rgba(4,8,15,.92) 100%);
  pointer-events: none;
}
.discovery-phone--cinema .demo-harmony-chip {
  z-index: 2;
}
.discovery-cinema-gravity {
  position: absolute;
  z-index: 3;
  right: 16px;
  bottom: 78px;
  display: grid;
  justify-items: center;
  gap: 4px;
  width: 112px;
  padding: 8px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(247,241,232,.26);
  border-radius: 18px;
  background: rgba(15,18,30,.72);
  backdrop-filter: blur(14px);
}
.discovery-cinema-gravity.gravity-visual::before,
.discovery-cinema-gravity.gravity-visual::after {
  content: none;
  display: none;
}
.discovery-cinema-gravity .gravity-dial-level { font-size: 15px; }
.discovery-cinema-gravity .hero-gravity-dial-control,
.discovery-cinema-gravity .gravity-dial-ring { width: 72px; height: 72px; }
.discovery-cinema-gravity .hero-gravity-control {
  width: 58px;
  height: 58px;
  box-shadow: 0 0 0 5px rgba(247,241,232,.18), 0 0 16px rgba(186,142,204,.28);
}
.discovery-cinema-gravity .gravity-control-hint {
  color: #f7f4ee;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
}
.discovery-phone--cinema .demo-card-name { z-index: 2; }

@media (prefers-reduced-motion: no-preference) {
  .motion-ready .discovery-demo-shell.is-playing .discovery-cinema-still { animation: shy-discovery-bulge 900ms cubic-bezier(.23, 1, .32, 1) both; }
  .motion-ready .discovery-demo-shell.is-playing .demo-harmony-chip { animation: shy-discovery-chip 730ms .2s cubic-bezier(.16,.84,.28,1) both; }
  .motion-ready .discovery-demo-shell.is-playing .discovery-cinema-gravity { animation: shy-discovery-chip 700ms .45s cubic-bezier(.16,.84,.28,1) both; }
  .motion-ready .discovery-demo-shell.is-playing .discovery-demo-caption { animation: shy-discovery-caption 700ms .6s cubic-bezier(.16,.84,.28,1) both; }
}
@keyframes shy-discovery-bulge { from { transform: scale(1.14); } to { transform: scale(1); } }
@keyframes shy-discovery-chip { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes shy-discovery-caption { from { opacity: .2; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 930px) { .discovery-film-layout { grid-template-columns: 1fr; }.discovery-film-copy { max-width: 650px; }.discovery-demo-shell { justify-self: center; margin-top: 8px; } }
@media (max-width: 560px) {
  .home-discovery-film { padding: 74px 0; }
  .discovery-principles { margin-top: 33px; }
  .discovery-principles li { grid-template-columns: 31px minmax(0,1fr); padding: 14px 0; }
  .discovery-principles strong { font-size: 14px; }
  .discovery-principles p { font-size: 13px; }
  .discovery-phone { min-height: 0; padding: 17px 11px 13px; border-radius: 34px; }
  .discovery-phone::before { border-radius: 32px; }
  .phone-speaker { width: 72px; height: 6px; margin-bottom: 13px; }
  .phone-topline { padding: 0 6px 12px; font-size: 14px; }
  .discovery-cinema-stage { height: min(82vw, 400px); }
  .discovery-cinema-gravity {
    right: 12px;
    bottom: 16px;
    width: 76px;
    padding: 6px;
  }
  .discovery-cinema-gravity .gravity-dial-level,
  .discovery-cinema-gravity .gravity-control-hint { display: none; }
  .discovery-cinema-gravity .hero-gravity-dial-control,
  .discovery-cinema-gravity .gravity-dial-ring { width: 64px; height: 64px; }
  .discovery-cinema-gravity .hero-gravity-control { width: 50px; height: 50px; }
  .demo-card-name { right: 96px; bottom: 16px; left: 14px; }
  .demo-card-name strong { font-size: 22px; }
  .demo-harmony-chip { top: 12px; right: 12px; left: 12px; padding: 10px; }
  .discovery-demo-controls { align-items: flex-start; flex-direction: column; gap: 9px; margin-top: 16px; }
  .discovery-demo-controls > p { max-width: none; text-align: left; }
}

/* ── Compliance surfaces ───────────────────────────────────────────────────
   .statutory-disclosure carries a PRESCRIBED format, not a design choice.
   N.J.S.A. 56:8-171, 815 ILCS 518/15 and Tex. Bus. & Com. Code § 106.002 each
   require the background-screening disclosure in BOLD, CAPITAL letters, at a
   minimum of 12-point type. Do not soften this to sentence case, reduce the
   size, or fold it into body copy — the formatting is the compliance. */
.statutory-disclosure {
  margin: 28px 0; padding: 20px 22px;
  border: 2px solid var(--line); border-radius: 12px;
  background: rgba(255, 255, 255, .04);
  font-size: 14pt; font-weight: 700; text-transform: uppercase;
  letter-spacing: .01em; line-height: 1.5; color: #f2ece2;
}
.statutory-disclosure .cite {
  display: block; margin-top: 12px;
  font-size: 11px; font-weight: 400; text-transform: none;
  letter-spacing: .04em; color: #9c9d9d;
}

/* ── Public showcases (DNA / planetary / story) — no automatic playback ── */
.shy-showcase { margin: 28px 0 40px; color: var(--ink); position: relative; z-index: 0; }
.shy-showcase-stage {
  position: relative;
  height: 480px;
  overflow: hidden;
  isolation: isolate;
  perspective: 1100px;
  transform-style: preserve-3d;
  touch-action: pan-y;
  cursor: grab;
  outline: none;
}
.shy-showcase-stage:active { cursor: grabbing; }
.shy-showcase-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(280px, 36vw);
  height: 360px;
  border-radius: 18px;
  overflow: hidden;
  background: var(--navy-lift);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  transition: transform var(--t-fast) cubic-bezier(.23, 1, .32, 1), opacity var(--t-fast) cubic-bezier(.23, 1, .32, 1);
  will-change: transform;
}
.shy-showcase-card img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--t-base) var(--shy-ease), filter var(--t-base) var(--shy-ease);
}
/* Face-safe crops — keep eyes/faces in frame on tall cards. */
.shy-face--discover { object-position: 50% 22%; }
.shy-face--harmony { object-position: 48% 18%; }
.shy-face--gravity { object-position: 52% 16%; }
.shy-face--whisper { object-position: 46% 20%; }
.shy-face--together { object-position: 50% 30%; }
.shy-face--market { object-position: 50% 40%; }
.shy-face--support { object-position: 50% 30%; }

/* Proof hero stills — keep faces in tall desktop crops. */
.product-proof-image img.shy-face--gravity {
  object-position: 52% 12%;
}
.product-hero-stage img.shy-face--together {
  object-position: 50% 28%;
}

/* Desktop DNA/spatial: split stage + caption so helix is cinematic, not bulky. */
@media (min-width: 961px) {
  .shy-showcase--spatial,
  .shy-showcase--dna {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    gap: clamp(24px, 3.5vw, 48px);
    align-items: center;
    margin: 36px 0 48px;
  }
  .shy-showcase--spatial .shy-showcase-stage,
  .shy-showcase--dna .shy-showcase-stage {
    height: min(48vh, 420px);
    border-radius: 22px;
    background:
      radial-gradient(58% 70% at 42% 48%, rgba(201, 166, 107, 0.08), transparent 68%),
      linear-gradient(160deg, rgba(255, 255, 255, 0.03), transparent 55%);
  }
  .shy-showcase--spatial .shy-showcase-card,
  .shy-showcase--dna .shy-showcase-card {
    width: min(196px, 18vw);
    height: min(262px, 24vw);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42);
  }
  .shy-showcase--spatial .shy-showcase-copy,
  .shy-showcase--dna .shy-showcase-copy {
    text-align: left;
    margin-top: 0;
    padding: 8px 4px 8px 8px;
  }
  .shy-showcase--spatial .shy-showcase-copy strong,
  .shy-showcase--dna .shy-showcase-copy strong {
    font-size: clamp(34px, 3.4vw, 48px);
    line-height: 1.08;
  }
  .shy-showcase--spatial .shy-showcase-copy p,
  .shy-showcase--dna .shy-showcase-copy p {
    margin: 12px 0 0;
    max-width: 34ch;
    font-size: 17px;
    line-height: 1.5;
  }
  .shy-showcase--spatial .shy-showcase-count,
  .shy-showcase--dna .shy-showcase-count {
    margin-top: 18px;
    justify-content: flex-start;
  }
  /* Hide per-card overlays on desktop helix — caption panel owns the story. */
  .shy-showcase--spatial .shy-editorial-card__info,
  .shy-showcase--dna .shy-editorial-card__info {
    opacity: 0 !important;
    pointer-events: none;
  }
}

/* Scroll-linked fade for product sections (reduced-motion stays static). */
.shy-scroll-reveal {
  opacity: 1;
  transform: none;
  transition: opacity 640ms cubic-bezier(.23, 1, .32, 1), transform 640ms cubic-bezier(.23, 1, .32, 1);
}
.shy-scroll-reveal.is-pending {
  opacity: 0;
  transform: translateY(18px);
}
.shy-scroll-reveal.is-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .shy-scroll-reveal,
  .shy-scroll-reveal.is-pending {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .shy-showcase-card:hover img {
    transform: scale(1.045);
    filter: contrast(1.06) saturate(1.04);
  }
}
.shy-showcase-card.is-active { outline: 1px solid rgba(201,166,107,.45); }


/* Who SHY is for — home audience triad */
.home-who-for {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 560px;
}
.home-who-for a {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 108px;
  padding: 16px 16px 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease;
}
.home-who-for a:hover,
.home-who-for a:focus-visible {
  border-color: rgba(165,188,169,.55);
  background: rgba(165,188,169,.08);
  outline: none;
}
.home-who-for span {
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.home-who-for strong {
  font-family: var(--serif, "Fraunces", Georgia, serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--ink);
}
.home-who-for p {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted, #9aa3ad);
}
.home-market-beat {
  padding: clamp(56px, 8vw, 96px) 0;
  border-top: 1px solid var(--line);
  background: radial-gradient(520px 280px at 90% 10%, rgba(165,188,169,.12), transparent 70%);
}
.home-market-beat-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.home-market-beat h2 { margin: 10px 0 16px; max-width: 18ch; }
.home-market-beat .actions { margin-top: 22px; }
.product-role-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 18px 0 0;
  font-size: 14px;
  font-weight: 700;
}
.product-role-jump a {
  color: var(--ink);
  text-decoration-color: rgba(165,188,169,.55);
  text-underline-offset: 4px;
}
.vendor-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin: 28px 0 8px;
  padding: 0;
  list-style: none;
}
.vendor-type-grid li {
  min-height: 96px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
}
.vendor-type-grid span {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.vendor-type-grid strong {
  display: block;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}
.together-pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}
.together-pillars article {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
}
.together-pillars span {
  display: block;
  margin-bottom: 10px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.together-pillars h3 { margin: 0 0 8px; font-size: 22px; }
.together-pillars p { margin: 0; font-size: 14px; line-height: 1.5; }
@media (max-width: 760px) {
  .home-who-for { grid-template-columns: 1fr; max-width: none; }
  .home-who-for a { min-height: 0; }
  .home-market-beat-grid { grid-template-columns: 1fr; }
  .together-pillars { grid-template-columns: 1fr; }
}

/* Market tools — one card sharp, neighbors faded. Image dissolves into the line. */
.market-block { margin: 8px 0 28px; }
.market-fade {
  position: relative;
  margin: 8px 0 8px;
}
.market-fade__stage {
  position: relative;
  height: min(68vh, 520px);
  overflow: hidden;
}
.market-fade__card {
  position: absolute;
  left: 50%;
  top: 0;
  width: min(640px, 78%);
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  background: #141210;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  transform: translateX(-50%);
  transition: opacity 640ms cubic-bezier(.22, .61, .36, 1), transform 640ms cubic-bezier(.22, .61, .36, 1);
}
.market-fade__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  -webkit-mask-image: linear-gradient(180deg, #000 36%, transparent 86%);
  mask-image: linear-gradient(180deg, #000 36%, transparent 86%);
}
.market-fade__copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 28px 28px 32px;
  color: #f7f4ee;
}
.market-fade__copy strong {
  display: block;
  margin-top: 8px;
  font-family: var(--shy-identity);
  font-style: italic;
  font-weight: 560;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
}
.market-fade__copy p {
  margin: 10px 0 0;
  max-width: 36ch;
  color: rgba(247, 244, 238, 0.78);
}
.market-fade__arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  border-radius: 999px;
  border: 1px solid rgba(247, 244, 238, 0.22);
  background: rgba(10, 11, 15, 0.45);
  color: #f7f4ee;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.market-fade__arrow--prev { left: 8px; }
.market-fade__arrow--next { right: 8px; }
.market-fade.is-flat .market-fade__stage {
  height: auto;
  overflow: visible;
}
.market-fade.is-flat .market-fade__card {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  height: 420px;
  margin: 0 0 16px;
  transform: none !important;
  opacity: 1 !important;
}
.market-fade.is-flat .market-fade__arrow { display: none; }
@media (max-width: 700px) {
  .market-fade__stage { height: min(78vh, 560px); }
  .market-fade__card { width: min(88%, 420px); }
  .market-fade__copy { padding: 22px 20px 26px; }
}
.shy-showcase-copy { text-align: center; margin-top: 18px; }
.shy-showcase-copy strong {
  display: block;
  font-family: var(--shy-identity);
  font-style: italic;
  font-size: 28px;
  font-weight: 600;
}
.shy-showcase-copy p { margin: 8px auto 0; max-width: 460px; color: var(--muted); }
.shy-showcase-count {
  margin-top: 8px; letter-spacing: .12em; font-size: 12px; color: var(--muted);
}
.shy-showcase.is-flat .shy-showcase-stage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  height: auto;
  perspective: none;
  cursor: default;
}
.shy-showcase.is-flat .shy-showcase-card {
  position: relative; left: auto; top: auto;
  width: 100%; height: auto; aspect-ratio: 3 / 4;
  margin: 0; transform: none !important; opacity: 1 !important;
}
.shy-showcase--spatial .shy-showcase-card,
.shy-showcase--dna .shy-showcase-card {
  color: inherit;
  text-decoration: none;
  /* Helix is rAF-driven — CSS transition fights the idle glide. */
  transition: none;
  will-change: transform;
}
.shy-still-bulge {
  animation: shy-discovery-bulge 900ms cubic-bezier(.23, 1, .32, 1) both;
}
.shy-showcase-card.is-active .shy-editorial-card__info {
  opacity: 1;
  transform: none;
}
@media (max-width: 760px) {
  .shy-showcase--spatial .shy-showcase-stage,
  .shy-showcase--dna .shy-showcase-stage {
    height: min(118vw, 560px);
  }
  .shy-showcase--spatial .shy-showcase-card,
  .shy-showcase--dna .shy-showcase-card {
    width: min(82vw, 360px);
    height: min(108vw, 480px);
    box-shadow: 0 16px 36px rgba(0,0,0,.38);
  }
  /* Card overlays carry the story on phone — keep count only below. */
  .shy-showcase--spatial .shy-showcase-copy strong,
  .shy-showcase--dna .shy-showcase-copy strong,
  .shy-showcase--spatial .shy-showcase-copy p,
  .shy-showcase--dna .shy-showcase-copy p {
    display: none;
  }
  .shy-showcase--spatial .shy-showcase-count,
  .shy-showcase--dna .shy-showcase-count {
    margin-top: 10px;
  }
  .shy-showcase-card .shy-editorial-card__info {
    padding: 36px 18px 20px;
  }
  .shy-showcase-card .shy-editorial-card__eyebrow { font-size: 11px; }
  .shy-showcase-card .shy-editorial-card__info strong { font-size: 22px; }
  .shy-showcase-card .shy-editorial-card__info p { font-size: 15px; }
}

/* Editorial still + caption (pixel-hover info, no shader). */
.shy-editorial-card {
  position: relative;
  display: block;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  border-radius: 18px;
  isolation: isolate;
}
.shy-editorial-card:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.shy-editorial-card > img,
.shy-editorial-card img:not(.shy-inline-icon) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t-base) var(--shy-ease);
}
.shy-editorial-card__info {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 28px 18px 16px;
  background: linear-gradient(transparent, rgba(8, 10, 16, .92));
  transform: translateY(14px);
  opacity: 0;
  transition: opacity var(--t-base) var(--shy-ease), transform var(--t-base) var(--shy-ease);
  pointer-events: none;
}
.shy-editorial-card__eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.shy-editorial-card__info strong {
  display: block;
  color: #f7f1e8;
  font-family: var(--shy-display);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.12;
}
.shy-editorial-card__info p {
  margin: 6px 0 0;
  color: #e5ded4;
  font-size: 13px;
  line-height: 1.42;
}
@media (hover: hover) and (pointer: fine) {
  .shy-editorial-card:hover .shy-editorial-card__info,
  .shy-editorial-card:focus-visible .shy-editorial-card__info,
  .shy-editorial-card.is-open .shy-editorial-card__info {
    opacity: 1;
    transform: none;
  }
  .shy-editorial-card:hover > img,
  .shy-editorial-card:hover img:not(.shy-inline-icon) {
    transform: scale(1.03);
  }
}
@media (hover: none) {
  .shy-editorial-card.is-open .shy-editorial-card__info,
  .shy-editorial-card:focus-visible .shy-editorial-card__info {
    opacity: 1;
    transform: none;
  }
}
.shy-editorial-card--always .shy-editorial-card__info,
.shy-story-stage.shy-editorial-card .shy-showcase-copy {
  opacity: 1;
  transform: none;
}
.shy-story-stage.shy-editorial-card {
  border-radius: 18px;
}
.product-hero-stage.shy-editorial-card,
.chapter-visual.shy-editorial-card {
  border-radius: inherit;
}
.product-surface-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.product-surface-stack .shy-editorial-card {
  min-height: 168px;
  border: 1px solid var(--line);
  background: var(--navy-lift);
}
.product-surface-stack .shy-editorial-card img {
  min-height: 168px;
  height: 168px;
}
.product-surface-stack .shy-editorial-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
@media (max-width: 760px) {
  .product-surface-stack {
    grid-template-columns: 1fr;
  }
  .product-surface-stack .shy-editorial-card:last-child:nth-child(odd) {
    grid-column: auto;
  }
}
.shy-showcase-stage > .shy-showcase-card {
  position: absolute;
  display: block;
}
.product-cinema {
  margin: 0 0 8px;
}
.product-cinema-intro {
  padding: 56px 0 28px;
}
.product-cinema-reel {
  display: block;
}
.product-cinema-frame {
  display: block;
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}
.product-cinema-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
}
.product-cinema-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 11, 15, .28) 0%, transparent 36%, rgba(10, 11, 15, .42) 100%);
  pointer-events: none;
}
.product-cinema-meta {
  position: absolute;
  left: max(20px, env(safe-area-inset-left, 0px));
  right: max(20px, env(safe-area-inset-right, 0px));
  top: clamp(72px, 12vh, 128px);
  z-index: 1;
  max-width: 22ch;
}
.product-cinema-meta span {
  display: block;
  color: rgba(247, 244, 238, .78);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.product-cinema-meta strong {
  display: block;
  margin: 10px 0 12px;
  color: rgba(247, 244, 238, .94);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(36px, 7vw, 72px);
  font-style: italic;
  font-weight: 600;
  line-height: 1.05;
}
.product-cinema-meta em {
  display: block;
  color: rgba(247, 244, 238, .72);
  font-style: normal;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
}
@media (min-width: 961px) {
  .product-cinema-meta {
    left: clamp(40px, 7vw, 88px);
    max-width: 18ch;
  }
}

.product-trust-still {
  display: block;
  width: 100%;
  height: 140px;
  margin: 12px 0 16px;
  object-fit: cover;
  border-radius: 14px;
}
.contact-cinema {
  margin: 0 0 32px;
  min-height: 280px;
}
.contact-cinema img {
  min-height: 280px;
  height: 280px;
  object-fit: cover;
}

.shy-showcase--planetary .shy-showcase-stage { height: 420px; }
.shy-planet-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.shy-planet-dots button {
  width: 8px; height: 8px; border-radius: 99px; border: 0;
  background: rgba(247,241,232,.28); padding: 0; cursor: pointer;
}
.shy-planet-dots button.is-active { width: 22px; background: var(--ink); }

.shy-story-rings {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 20px;
  margin: 18px 0 22px;
}
.shy-story-ring {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  text-decoration: none; color: var(--muted); font-size: 13px; letter-spacing: .06em;
  transform: scale(var(--ring-scale, 1));
  transform-origin: center bottom;
}
.shy-story-ring img {
  width: 72px; height: 72px; border-radius: 50%; object-fit: cover;
  border: 1px solid rgba(247,241,232,.28); padding: 2px;
  opacity: .7;
}
.shy-story-ring.is-active { color: var(--ink); font-weight: 700; }
.shy-story-ring.is-active img {
  width: 84px; height: 84px; border-color: var(--gold); opacity: 1;
}
.shy-story-stage {
  position: relative; border-radius: 18px; overflow: hidden; min-height: 360px;
}
.shy-story-stage img { width: 100%; height: 360px; object-fit: cover; display: block; }
.shy-story-stage .shy-showcase-copy {
  position: absolute; left: 0; right: 0; bottom: 0; margin: 0;
  padding: 28px 22px 22px; text-align: left;
  background: linear-gradient(transparent, rgba(14,12,10,.92));
}
.shy-story-stage .shy-showcase-copy strong {
  color: #f7f1e8;
  font-size: 28px;
}
.shy-story-stage .shy-showcase-copy p {
  color: #e5ded4;
  font-size: 15px;
  max-width: none;
}
.shy-showcase--thin .shy-story-stage { display: none; }
.shy-showcase--thin .shy-story-rings { margin-bottom: 8px; }
@media (max-width: 760px) {
  .shy-showcase--planetary .shy-showcase-stage {
    height: min(100vw, 480px);
  }
  .shy-story-rings { gap: 14px; margin: 14px 0 18px; }
  .shy-story-ring { font-size: 12px; }
  .shy-story-ring img { width: 64px; height: 64px; }
  .shy-story-ring.is-active img { width: 76px; height: 76px; }
  .shy-story-stage { min-height: min(92vw, 440px); }
  .shy-story-stage img { height: min(92vw, 440px); }
  .shy-story-stage .shy-showcase-copy { padding: 32px 18px 20px; }
  .shy-story-stage .shy-showcase-copy strong { font-size: 26px; }
  .shy-story-stage .shy-showcase-copy p { font-size: 15px; }
  .product-surface-stack .shy-editorial-card {
    min-height: min(72vw, 320px);
  }
  .product-surface-stack .shy-editorial-card img {
    min-height: min(72vw, 320px);
    height: min(72vw, 320px);
  }
  .contact-cinema {
    min-height: min(78vw, 360px);
  }
  .contact-cinema img {
    min-height: min(78vw, 360px);
    height: min(78vw, 360px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .shy-showcase-card, .shy-story-ring img, .shy-editorial-card img, .shy-editorial-card__info, .role-system-card img { transition: none; }
  .shy-editorial-card__info { opacity: 1; transform: none; }
  .shy-still-bulge { animation: none; }
  .role-system-card img { transform: none; }
}

/* Public chrome: trailing frost Menu, footer line-menu, destination cards. */
.footer-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 24px;
  padding: 36px 0 20px;
  min-width: 0;
}
@media (min-width: 900px) {
  .footer-cols {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.footer-cols > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.footer-cols strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.footer-cols a {
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-decoration: none;
}
.footer-cols a:hover { color: var(--gold); }
.feature-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 36px;
  padding: 0;
  list-style: none;
  min-width: 0;
}
.feature-index.feature-index--three,
.feature-index.feature-index--five {
  grid-template-columns: 1fr;
}
.feature-index.feature-index--ten {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 640px) {
  .feature-index.feature-index--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 900px) {
  .feature-index {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .feature-index.feature-index--five,
  .feature-index.feature-index--ten {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .feature-index.feature-index--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.feature-index a,
.feature-index > li:not(:has(> a)) {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 148px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(247,244,238,.03);
  text-decoration: none;
}
.feature-index a:hover { border-color: rgba(201,166,107,.45); background: rgba(201,166,107,.06); }
.feature-index strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-family: var(--shy-display);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.03em;
}
.feature-index span { color: var(--muted); font-size: 14px; line-height: 1.5; }
.feature-index .feature-index__tag {
  display: block;
  margin-bottom: 10px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.press-facts {
  display: grid;
  gap: 10px;
  max-width: 720px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.press-facts li {
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(247,244,238,.03);
  color: var(--muted);
}
.press-facts strong { color: var(--ink); }
.press-facts a { color: var(--ink); text-decoration: none; }
.press-facts a:hover { color: var(--gold); }
.contact-table { width: min(760px, 100%); margin: 8px 0 32px; border-collapse: collapse; }
.contact-table th, .contact-table td { text-align: left; padding: 14px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.contact-table th { color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.contact-table td { color: var(--muted); }
.contact-table a { color: var(--ink); text-decoration: none; }
.contact-table a:hover { color: var(--gold); }
.principle-block { max-width: 730px; margin: 0 0 28px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.principle-block h3 { margin-bottom: 8px; }
main.wrap > h2 {
  max-width: 760px;
  margin: 40px 0 12px;
  padding-top: 4px;
}
main.wrap > h2:first-of-type { margin-top: 28px; }
main ul:not([class]),
main ol:not([class]),
.rule-list {
  display: grid;
  gap: 10px;
  max-width: 760px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
main ul:not([class]) > li,
main ol:not([class]) > li,
.rule-list > li {
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(247,244,238,.03);
  color: var(--muted);
}
main ul:not([class]) > li strong,
main ol:not([class]) > li strong,
.rule-list > li strong {
  color: var(--ink);
}
.rule-list > li strong {
  display: block;
  margin-bottom: 4px;
}
main ul:not([class]) > li a,
main ol:not([class]) > li a,
.rule-list > li a {
  color: var(--ink);
  text-decoration: none;
}
main ul:not([class]) > li a:hover,
main ol:not([class]) > li a:hover,
.rule-list > li a:hover { color: var(--gold); }
main ol:not([class]) { counter-reset: shy-doc; }
main ol:not([class]) > li {
  position: relative;
  padding-left: 62px;
}
main ol:not([class]) > li::before {
  content: counter(shy-doc, decimal-leading-zero);
  counter-increment: shy-doc;
  position: absolute;
  left: 16px;
  top: 17px;
  color: var(--gold);
  font-family: var(--shy-display);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .04em;
}
.storage-index,
.feature-index--photo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: none;
  margin: 28px 0 36px;
  padding: 0;
  list-style: none;
  min-width: 0;
}
.feature-index--photo.feature-index--three,
.feature-index--photo.feature-index--five {
  grid-template-columns: 1fr;
}
.feature-index--photo.feature-index--ten {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 640px) {
  .feature-index--photo.feature-index--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 900px) {
  .feature-index--photo {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .feature-index--photo.feature-index--five,
  .feature-index--photo.feature-index--ten {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .feature-index--photo.feature-index--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.feature-index > li,
.storage-index > li,
.feature-index--photo > li {
  min-width: 0;
}
.storage-index > li,
.feature-index--photo a,
.feature-index--photo > li:not(:has(> a)) {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(247,244,238,.03);
  text-decoration: none;
}
.storage-index img,
.feature-index--photo img {
  display: block;
  width: 100%;
  height: 148px;
  object-fit: cover;
  transform: scale(1);
  filter: saturate(.9);
  transition: transform 480ms cubic-bezier(.22, .8, .24, 1), filter 480ms ease;
}
.feature-index--photo a:hover img {
  transform: scale(1.035);
  filter: saturate(1.06);
}
@media (prefers-reduced-motion: reduce) {
  .feature-index--photo img,
  .feature-index--photo a:hover img {
    transform: none;
    filter: none;
    transition: none;
  }
}
.storage-index .tag,
.feature-index--photo .tag,
.feature-index--photo .feature-index__tag {
  margin: 14px 18px 0;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.storage-index strong,
.feature-index--photo strong {
  display: block;
  margin: 8px 18px 6px;
  color: var(--ink);
  font-family: var(--shy-display);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.03em;
}
.storage-index span,
.feature-index--photo span {
  display: block;
  margin: 0 18px 18px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}
@media (max-width: 700px) {
  main table:not(.contact-table) {
    display: block;
  }
  main table:not(.contact-table) thead { display: none; }
  main table:not(.contact-table) tbody,
  main table:not(.contact-table) tr {
    display: block;
  }
  main table:not(.contact-table) tr {
    margin: 0 0 12px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(247,244,238,.03);
  }
  main table:not(.contact-table) th,
  main table:not(.contact-table) td {
    display: block;
    width: 100%;
    padding: 4px 0;
    border: 0;
  }
  main table:not(.contact-table) td:first-child {
    color: var(--ink);
    font-weight: 600;
  }
}
details {
  max-width: 760px;
  margin: 0 0 10px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(247,244,238,.03);
}
details summary {
  cursor: pointer;
  color: var(--ink);
  font-weight: 600;
}
details p { margin: 10px 0 0; }
.nav-sheet-close { display: none; }
.nav-sheet-masthead { display: none; }
.nav-sheet-preview { display: none; }
.nav-sheet-frost { display: none; }
.nav-sheet-scrim {
  display: none;
}
body.nav-open { overflow: hidden; }
/* Do not lock html overflow/position — those ancestors kill backdrop-filter. */
html.nav-open body {
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
  background: var(--navy);
}
html.nav-open .nav-links,
html.nav-open .nav-sheet-chrome {
  touch-action: pan-y;
}
@media (max-width: 1199px) {
  header {
    background: rgba(12, 14, 20, 0.52);
  }
  body.nav-open header {
    z-index: 70;
    background: var(--navy);
    border-bottom-color: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    pointer-events: none;
  }
  body.nav-open header .brand,
  body.nav-open header .nav-menu-toggle {
    pointer-events: auto;
  }
  .nav-menu-toggle {
    display: inline-flex;
    position: relative;
    z-index: 62;
  }
  .nav-sheet-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 50;
    background: transparent;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-fast) var(--shy-ease);
  }
  body.nav-open .nav-sheet-scrim {
    opacity: 1;
    pointer-events: auto;
    background: rgba(0, 0, 0, 0.78);
  }
  /* Glass lives on <html>, never inside a transformed/fixed body.
     Opacity must stay 1 — anything below 1 disables backdrop-filter. */
  .nav-sheet-frost {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 54;
    width: min(252px, calc(100vw - 96px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    max-width: 252px;
    pointer-events: none;
    opacity: 1;
    visibility: hidden;
    transform: none;
    isolation: auto;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-right: 0;
    transition: visibility 0s linear 720ms;
  }
  html.nav-open .nav-sheet-frost {
    visibility: visible;
    transition: visibility 0s;
  }
  .nav-links {
    display: flex;
    position: fixed;
    top: calc(72px + env(safe-area-inset-top, 0px));
    left: 0;
    right: auto;
    bottom: 0;
    z-index: 55;
    width: min(300px, calc(100vw - 48px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    max-width: 300px;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 12px 16px 20px;
    overflow: hidden;
    overscroll-behavior: contain;
    touch-action: pan-y;
    background: var(--navy);
    border: 0;
    border-right: 1px solid rgba(247, 244, 238, 0.08);
    box-shadow: none;
    height: auto;
    transform: translateX(-100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform 320ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 320ms;
  }
  .nav-links.is-open {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
    transition: transform 320ms cubic-bezier(.22, 1, .36, 1), visibility 0s;
  }
  .nav-links.is-open .nav-sheet-chrome > * {
    animation: navRowIn 280ms cubic-bezier(.22, 1, .36, 1) both;
  }
  .nav-links.is-open .nav-sheet-chrome > :nth-child(2) { animation-delay: 20ms; }
  .nav-links.is-open .nav-sheet-chrome > :nth-child(4) { animation-delay: 40ms; }
  .nav-links.is-open .nav-sheet-chrome > :nth-child(5) { animation-delay: 55ms; }
  .nav-links.is-open .nav-sheet-chrome > :nth-child(6) { animation-delay: 70ms; }
  .nav-links.is-open .nav-sheet-chrome > :nth-child(7) { animation-delay: 85ms; }
  .nav-links.is-open .nav-sheet-chrome > :nth-child(8) { animation-delay: 100ms; }
  @keyframes navRowIn {
    from { opacity: 0; translate: 0 6px; }
    to { opacity: 1; translate: 0 0; }
  }
  .nav-desk { display: none; }
  .nav-sheet-chrome {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
    position: relative;
    z-index: 1;
  }
  .nav-sheet-masthead {
    display: none;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin: 0 0 2px;
    position: relative;
    z-index: 1;
  }
  .nav-sheet-brand {
    color: var(--ink);
    font-family: var(--shy-identity);
    font-size: 26px;
    font-style: italic;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1;
    text-transform: lowercase;
  }
  .nav-sheet-label {
    display: none;
    margin: 0;
    color: rgba(157, 160, 168, 0.9);
    font-family: var(--shy-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.68px;
    text-transform: none;
  }
  .nav-sheet-auth {
    display: flex;
    gap: 8px;
    margin: 0;
  }
  .nav-sheet-auth a {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 12px;
    width: auto;
    font-family: var(--shy-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
    border-radius: 999px;
  }
  .nav-sheet-auth a::before { display: none; }
  .nav-sheet-auth .nav-cta {
    margin-top: 0;
    background: #f7f4ee;
    color: #0a0b0f;
    border-color: transparent;
    font-weight: 600;
    letter-spacing: 0;
  }
  .nav-sheet-auth .nav-cta:hover {
    background: #f7f4ee;
    color: #0a0b0f;
    border-color: transparent;
  }
  .nav-sheet-auth a {
    transform-origin: center center;
    transition: transform var(--t-fast) cubic-bezier(.23, 1, .32, 1),
                border-color var(--t-fast) cubic-bezier(.23, 1, .32, 1),
                background var(--t-fast) cubic-bezier(.23, 1, .32, 1);
  }
  .nav-sheet-auth a:hover {
    transform: scale(1.03);
  }
  .nav-sheet-auth a:active {
    transform: scale(1.045);
  }
  .nav-sheet-auth a:focus-visible {
    outline: 2px solid #c9a66b;
    outline-offset: 3px;
  }
  .nav-signin {
    border: 1px solid rgba(247, 244, 238, 0.38);
    color: #f7f4ee;
    background: rgba(247, 244, 238, 0.06);
  }
  .nav-sheet-home {
    margin: 0;
  }
  .nav-links a {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    color: var(--ink);
    font-family: var(--shy-body);
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.12px;
    line-height: 1.2;
  }
  .nav-sheet-auth a {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.2;
    transform-origin: center center;
  }
  .nav-sheet-cat summary,
  .nav-links a:not(.nav-cta):not(.nav-signin):not(.nav-desk) {
    --line-dash: 12px;
    box-sizing: border-box;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 14px;
    border: 0;
    background: rgba(247, 244, 238, 0.06);
    color: #f7f4ee;
    text-shadow: none;
    transform-origin: center center;
    font-size: 17px;
    transform: scale(calc(1 + (var(--row-inf, 0) * 0.035)));
    transition: color 180ms cubic-bezier(.22, 1, .36, 1),
                background-color 180ms cubic-bezier(.22, 1, .36, 1);
  }
  /* Later .nav-links a { display:flex } must not revive desktop header links
     or force-open collapsed category destinations. */
  .nav-links a.nav-desk {
    display: none;
  }
  .nav-links details.nav-sheet-cat:not([open]) > a {
    display: none;
  }
  .nav-sheet-cat > .nav-sheet-sub {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 240ms cubic-bezier(.22, 1, .36, 1);
  }
  .nav-sheet-cat[open] > .nav-sheet-sub {
    grid-template-rows: 1fr;
  }
  .nav-sheet-sub-inner {
    overflow: hidden;
    min-height: 0;
  }
  .nav-links a:not(.nav-cta):not(.nav-signin)::before {
    content: "";
    width: var(--line-dash, 12px);
    height: 1.5px;
    flex: 0 0 var(--line-dash, 12px);
    border-radius: 2px;
    background: rgba(247, 244, 238, .28);
  }
  .nav-links details.nav-sheet-cat {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .nav-sheet-sub a {
    min-height: 44px;
    margin-top: 8px;
    padding: 0 14px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: rgba(247, 244, 238, 0.72);
    font-size: 15px;
    font-weight: 500;
    transform: none;
  }
  .nav-links a.nav-sheet-app {
    display: none;
  }
  .nav-sheet-cat summary {
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 48px;
    cursor: pointer;
    color: #f7f4ee;
    font-family: var(--shy-body);
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.12px;
    line-height: 1.2;
    list-style: none;
  }
  .nav-sheet-cat summary:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
  }
  .nav-sheet-cat summary::-webkit-details-marker { display: none; }
  .nav-sheet-cat summary::before {
    content: "";
    width: var(--line-dash, 12px);
    height: 1.5px;
    flex: 0 0 var(--line-dash, 12px);
    border-radius: 2px;
    background: rgba(247, 244, 238, .28);
  }
  .nav-sheet-cat summary::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: auto;
    border-right: 1.5px solid rgba(247, 244, 238, 0.5);
    border-bottom: 1.5px solid rgba(247, 244, 238, 0.5);
    transform: rotate(45deg);
    flex: 0 0 auto;
    transition: transform 200ms cubic-bezier(.22, 1, .36, 1);
  }
  .nav-sheet-cat[open] > summary {
    background: rgba(247, 244, 238, 0.1);
  }
  .nav-sheet-cat[open] > summary::after {
    transform: rotate(-135deg);
  }
  .nav-sheet-cat summary:active,
  .nav-links a.nav-sheet-home:active {
    background: rgba(247, 244, 238, 0.14);
  }
  .nav-links a:not(.nav-cta):not(.nav-signin)::before,
  .nav-sheet-cat summary::before {
    display: none;
  }
  .nav-links a.nav-sheet-home.is-hot,
  .nav-links a.nav-sheet-app.is-hot,
  .nav-links a.nav-sheet-home:hover,
  .nav-links a.nav-sheet-app:hover,
  .nav-sheet-cat summary.is-hot,
  .nav-sheet-cat summary:hover,
  .nav-links a.is-hot:not(.nav-cta):not(.nav-signin):not(.nav-desk),
  .nav-sheet-cat a.is-hot,
  .nav-sheet-cat a:hover {
    font-weight: 500;
    letter-spacing: 0.12px;
    color: #f7f4ee;
    background: rgba(247, 244, 238, 0.12);
  }
  .nav-links .nav-sheet-sub a:not(.nav-cta):not(.nav-desk) {
    min-height: 44px;
    margin-top: 0;
    padding: 0 8px 0 18px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: rgba(247, 244, 238, 0.78);
    font-size: 16px;
    font-weight: 500;
    transform: none;
  }
  .nav-links .nav-sheet-sub a:not(.nav-cta):not(.nav-desk):hover,
  .nav-links .nav-sheet-sub a.is-hot {
    background: transparent;
    color: #f7f4ee;
  }
  .nav-links a.is-hot::before,
  .nav-sheet-cat summary.is-hot::before,
  .nav-sheet-cat summary:hover::before,
  .nav-links a:not(.nav-cta):not(.nav-signin):hover::before {
    width: 22px;
    flex-basis: 22px;
    background: rgba(247, 244, 238, 0.42);
  }
  .nav-sheet-cat summary:active::before,
  .nav-links a:not(.nav-cta):not(.nav-signin):active::before {
    width: 28px;
    flex-basis: 28px;
  }
  .nav-sheet-cat[open] > a {
    animation: navCatIn var(--t-base) cubic-bezier(.23, 1, .32, 1) both;
  }
  .nav-sheet-cat[open] > a:nth-of-type(1) { animation-delay: 0ms; }
  .nav-sheet-cat[open] > a:nth-of-type(2) { animation-delay: 40ms; }
  .nav-sheet-cat[open] > a:nth-of-type(3) { animation-delay: 80ms; }
  .nav-sheet-cat[open] > a:nth-of-type(4) { animation-delay: 120ms; }
  .nav-sheet-cat[open] > a:nth-of-type(5) { animation-delay: 160ms; }
  .nav-sheet-cat[open] > a:nth-of-type(6) { animation-delay: 200ms; }
  .nav-sheet-cat[open] > a:nth-of-type(7) { animation-delay: 240ms; }
  .nav-sheet-cat[open] > a:nth-of-type(8) { animation-delay: 280ms; }
  .nav-sheet-cat[open] > a:nth-of-type(9) { animation-delay: 320ms; }
  @keyframes navCatIn {
    from { opacity: 0; translate: 0 -6px; }
    to { opacity: 1; translate: 0 0; }
  }
  .nav-sheet-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: static;
    margin-left: auto;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(247, 244, 238, 0.88);
    font: inherit;
    letter-spacing: 0;
    cursor: pointer;
  }
  .nav-sheet-close span {
    display: block;
    position: relative;
    width: 14px;
    height: 14px;
  }
  .nav-sheet-close span::before,
  .nav-sheet-close span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
  }
  .nav-sheet-close span::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .nav-sheet-close span::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .nav-sheet-auth[hidden] { display: none !important; }
  .nav-sheet-app {
    display: none;
  }
  .nav-sheet-age {
    margin: 8px 0 0;
    padding: 0 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    position: static;
    flex-shrink: 0;
  }
  .nav-sheet-preview {
    display: none;
    position: fixed;
    z-index: 53;
    pointer-events: none;
    left: var(--preview-left, 0px);
    top: var(--preview-y, 0px);
    width: var(--preview-width, 100vw);
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 0;
    transform: none;
    contain: layout paint;
    transition: opacity 380ms cubic-bezier(.16, .84, .28, 1);
  }
  .nav-sheet-preview.is-on {
    opacity: 1;
    transform: none;
  }
  .nav-sheet-preview-fan {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .nav-sheet-preview-fan img {
    position: absolute;
    left: clamp(148px, 36vw, 380px);
    top: 50%;
    width: min(560px, 96%);
    height: min(760px, 78vh);
    max-width: none;
    object-fit: cover;
    object-position: center 40%;
    border-radius: 22px;
    opacity: 0;
    visibility: hidden;
    content-visibility: hidden;
    z-index: var(--fan-z, 1);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .38);
    transform: translate(-50%, -50%) rotate(var(--fan-rot, 0deg)) translateX(var(--fan-x, 0px));
    transform-origin: center center;
    transition: transform 420ms cubic-bezier(.23, 1, .32, 1),
                opacity 420ms cubic-bezier(.23, 1, .32, 1);
  }
  .nav-sheet-preview-fan img.is-near:not(.is-active) {
    visibility: visible;
    content-visibility: visible;
    opacity: 0.22;
    left: 74%;
    width: min(280px, 38vw);
    height: min(420px, 56vh);
    border-radius: 16px;
  }
  .nav-sheet-preview-fan img.is-active {
    visibility: visible;
    content-visibility: visible;
    left: 50%;
    top: 50%;
    width: 100vw;
    height: 100%;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    z-index: 24;
    transform: translate(-50%, -50%) rotate(0deg) translateX(0);
  }
  .nav-sheet-preview img {
    display: block;
  }
  .nav-sheet-preview-info {
    position: absolute;
    left: min(252px, calc(100vw - 96px - env(safe-area-inset-left, 0px)));
    right: 0;
    top: 0;
    width: auto;
    height: 100%;
    z-index: 30;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin: 0;
    padding: 0 18px max(22px, env(safe-area-inset-bottom, 0px)) 16px;
    background: none;
    border-radius: 0;
    overflow: hidden;
    box-sizing: border-box;
    pointer-events: none;
  }
  .nav-sheet-preview-info::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 28%, rgba(10, 11, 15, .42) 58%, rgba(10, 11, 15, .84) 100%);
    pointer-events: none;
  }
  .nav-sheet-preview-info span,
  .nav-sheet-preview-info strong,
  .nav-sheet-preview-info p {
    position: relative;
    max-width: 28ch;
    text-shadow:
      0 1px 1px rgba(0, 0, 0, .9),
      0 2px 12px rgba(0, 0, 0, .72),
      0 8px 28px rgba(0, 0, 0, .55);
  }
  .nav-sheet-preview-info span {
    display: block;
    color: #e4c48a;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .nav-sheet-preview-info strong {
    display: block;
    margin: 6px 0 6px;
    color: #f7f4ee;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 26px;
    font-style: italic;
    font-weight: 600;
    line-height: 1.1;
  }
  .nav-sheet-preview-info p {
    margin: 0;
    color: rgba(247, 244, 238, .96);
    font-size: 13px;
    line-height: 1.35;
  }
  @media (max-width: 700px) {
    .nav-sheet-preview {
      left: 0;
      right: 0;
      top: 0;
      bottom: auto;
      width: 100vw;
      max-width: none;
      height: 100dvh;
      max-height: none;
      transform: none;
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
    }
    .nav-sheet-preview-fan {
      height: 100%;
    }
    .nav-sheet-preview-fan img {
      width: min(420px, 168%);
      height: min(560px, 72vh);
    }
    .nav-sheet-preview-fan img.is-near:not(.is-active) {
      visibility: hidden;
      content-visibility: hidden;
      opacity: 0;
    }
    .nav-sheet-preview-fan img,
    .nav-sheet-preview-fan img.is-active,
    .nav-sheet-preview-fan img.is-leaving {
      left: 50%;
      top: 50%;
      width: 100vw;
      height: 100%;
      border-radius: 0;
      box-shadow: none;
      transform: translate(-50%, -50%);
      transition: opacity 640ms cubic-bezier(.22, .61, .36, 1);
    }
    .nav-sheet-preview-fan img.is-leaving {
      visibility: visible;
      content-visibility: visible;
      opacity: 1;
      z-index: 23;
    }
    .nav-sheet-preview-fan img.is-active {
      z-index: 24;
    }
    .nav-sheet-preview-info {
      padding: 0 14px max(20px, env(safe-area-inset-bottom, 0px)) 16px;
    }
    .nav-sheet-preview-info strong { font-size: 22px; }
  }
}
@media (max-width: 1199px) and (hover: none) {
  .nav-sheet-cat summary,
  .nav-links a:not(.nav-cta):not(.nav-signin):not(.nav-desk) {
    transform: none;
  }
  .nav-links a.nav-sheet-home:hover,
  .nav-links a.nav-sheet-app:hover,
  .nav-sheet-cat:not([open]) > summary:hover,
  .nav-sheet-cat summary.is-hot,
  .nav-links a.is-hot:not(.nav-cta):not(.nav-signin):not(.nav-desk),
  .nav-sheet-cat a:hover,
  .nav-sheet-cat a.is-hot {
    background: rgba(247, 244, 238, 0.06);
    color: #f7f4ee;
    font-weight: 500;
    letter-spacing: 0;
  }
  .nav-sheet-cat[open] > summary:hover {
    background: rgba(247, 244, 238, 0.1);
  }
  .nav-links .nav-sheet-sub a:not(.nav-cta):not(.nav-desk):hover,
  .nav-links .nav-sheet-sub a.is-hot {
    background: transparent;
    color: rgba(247, 244, 238, 0.78);
    font-weight: 500;
    letter-spacing: 0;
  }
  .nav-sheet-cat summary:active,
  .nav-links a.nav-sheet-home:active,
  .nav-links .nav-sheet-sub a:not(.nav-cta):not(.nav-desk):active {
    background: rgba(247, 244, 238, 0.14);
    color: #f7f4ee;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nav-links, .nav-sheet-scrim, .nav-sheet-sub,
  .nav-menu-bars, .nav-menu-bars::before, .nav-menu-bars::after { transition: none; }
  .nav-links.is-open .nav-sheet-chrome > * { animation: none; }
  .nav-sheet-cat summary,
  .nav-links a,
  .nav-links a::before,
  .nav-links a::after,
  .nav-sheet-cat summary::before,
  .nav-sheet-cat summary::after,
  .nav-sheet-cat[open] > a {
    transition: none;
    animation: none;
  }
  .nav-sheet-preview,
  .nav-sheet-preview-fan img {
    transition: none;
    transform: none;
    animation: none;
  }
}

/* Viewport containment: cards, titles, and chrome stay inside every width. */
img, video, canvas, svg, iframe { max-width: 100%; }
.nav, .nav-links, .card, .grid, .hero-proof, .journey,
.feature-index, .storage-index, .footer-cols { min-width: 0; }
@media (max-width: 480px) {
  h1 { font-size: clamp(32px, 10vw, 44px); }
  .home-copy h1 { font-size: 44px; }
  .nav-home { display: none; }
  .hero-proof,
  .first-minute-path,
  .product-trust-grid,
  .company-facts { grid-template-columns: 1fr; }
  .nav-links {
    width: min(300px, calc(100vw - 48px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    padding: 12px 16px 20px;
  }
}

/* Mobile QA containment.
   The public pages intentionally use cinematic rails and large editorial type,
   but on phones every shell must reflow inside the viewport instead of relying
   on overflow clipping. Keep this block last so it wins over earlier feature
   and page-specific rules. */
html,
body {
  width: 100%;
  max-width: 100%;
}

body,
main,
section,
.wrap,
.product-main,
.home-main,
.product-hero,
.home-hero,
.product-copy,
.home-copy,
.product-hero-stage,
.home-visual,
.shy-showcase,
.shy-showcase-stage,
.shy-story-rings,
.shy-story-stage,
.feature-index,
.feature-index--photo,
.press-facts,
.rule-list,
.policy-nav,
.actions,
.contact,
.note,
.phone-shot,
.phone,
.product-cinema,
.product-cinema-reel,
.product-cinema-frame,
.product-surface-stack,
.product-flow,
.product-live-layout,
.product-proof-section {
  min-width: 0;
  max-width: 100%;
}

h1,
h2,
h3,
p,
li,
dt,
dd,
a,
button,
strong,
span,
.lede,
.button,
.nav-cta,
.text-link,
.product-availability,
.home-beta-note,
.product-cinema-meta,
.shy-showcase-copy,
.shy-editorial-card__info,
.shy-story-ring span {
  overflow-wrap: anywhere;
  word-break: normal;
}

.actions,
.policy-nav,
.press-facts,
.feature-index,
.feature-index--photo,
.rule-list {
  overflow: visible;
}

@media (max-width: 760px) {
  html,
  body {
    overflow-x: hidden;
  }

  .wrap {
    width: min(100% - 32px, 1120px);
  }

  main.wrap {
    display: block;
  }

  h1 {
    max-width: 100%;
    font-size: clamp(34px, 11vw, 48px);
    line-height: 1.04;
    letter-spacing: 0;
  }

  h2 {
    max-width: 100%;
    font-size: clamp(28px, 9vw, 42px);
    letter-spacing: 0;
  }

  .lede {
    max-width: 100%;
    font-size: clamp(17px, 5.1vw, 21px);
    line-height: 1.5;
  }

  .home-copy h1,
  body .home-copy h1,
  .product-copy h1 {
    max-width: 100%;
    font-size: clamp(38px, 12vw, 48px);
    line-height: .98;
    letter-spacing: 0;
  }

  .home-copy,
  .product-copy {
    width: 100%;
  }

  .home-hero,
  .product-hero {
    width: min(100% - 32px, 1120px);
    padding-top: clamp(48px, 13vw, 70px);
  }

  .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
  }

  .actions .button,
  .actions .nav-cta,
  .button {
    width: 100%;
    min-width: 0;
    padding-inline: 16px;
    text-align: center;
  }

  .home-beta-note,
  .product-availability {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    padding-left: 19px;
  }

  .home-beta-note span,
  .product-availability span {
    position: absolute;
    left: 0;
    top: .45em;
    margin-top: 0;
  }

  .home-beta-note strong,
  .product-availability strong {
    display: inline;
  }

  .product-stage-signal b,
  .gravity-control > .gravity-control-hint,
  .hero-gravity-demo b,
  .stage-marker {
    white-space: normal;
  }

  .policy-nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .policy-nav a,
  .text-link,
  main.wrap > p:last-child,
  main.wrap > p:last-child a {
    max-width: 100%;
  }

  .note,
  .contact,
  main ul:not([class]) > li,
  main ol:not([class]) > li,
  .rule-list > li,
  .press-facts li,
  .feature-index a,
  .feature-index > li:not(:has(> a)),
  .feature-index--photo a,
  .feature-index--photo > li:not(:has(> a)) {
    padding-inline: 16px;
  }

  .feature-index,
  .feature-index--photo,
  .press-facts,
  .storage-index {
    grid-template-columns: 1fr;
  }

  .shy-story-rings {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(76px, 92px);
    justify-content: start;
    gap: 10px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 10px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .shy-story-ring {
    min-width: 0;
    scroll-snap-align: start;
  }

  .shy-story-ring img {
    width: 58px;
    height: 58px;
  }

  .shy-story-ring.is-active img {
    width: 66px;
    height: 66px;
  }

  .shy-story-ring span {
    display: block;
    max-width: 100%;
    font-size: 11px;
    line-height: 1.2;
  }

  .phone-shot,
  .feature-shot {
    margin-inline: 0;
  }

  .phone-shot .phone {
    width: 100%;
  }

  .phone-shot img {
    display: block;
    width: 100%;
  }

  .product-cinema-meta {
    right: 16px;
    left: 16px;
    max-width: min(28ch, calc(100% - 32px));
  }

  .product-cinema-meta strong {
    font-size: clamp(32px, 13vw, 52px);
    line-height: 1.02;
  }
}

@media (max-width: 430px) {
  .wrap,
  .home-hero,
  .product-hero {
    width: min(100% - 28px, 1120px);
  }

  h1,
  .home-copy h1,
  body .home-copy h1,
  .product-copy h1 {
    font-size: clamp(34px, 11.5vw, 44px);
  }

  .eyebrow,
  .home-kicker {
    letter-spacing: .12em;
  }

  .nav {
    gap: 10px;
  }
}
