/* Passident public homepage — editorial asset-register system */
.premium-home {
  --p-ink: #0b0d12;
  --p-ink-soft: #151820;
  --p-paper: #f4f2ed;
  --p-white: #fffefb;
  --p-line: #cbc8c0;
  --p-muted: #6d6d68;
  --p-cobalt: #3157d5;
  --p-cobalt-bright: #5476ed;
  --p-signal: #d7a62a;
  --p-positive: #79b89b;
  --p-max: 1380px;
  margin: 0;
  background: var(--p-paper);
  color: var(--p-ink);
  font-family: Hanken, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.5;
}

.premium-home * { box-sizing: border-box; }
.premium-home a { color: inherit; text-decoration: none; }
.premium-home button { font: inherit; }
.premium-home h1,
.premium-home h2,
.premium-home h3,
.premium-home p { margin-top: 0; }
.p-shell { width: min(var(--p-max), calc(100% - 96px)); margin-inline: auto; }

.p-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: 88px;
  color: var(--p-white);
  background: rgba(11, 13, 18, .82);
  border-bottom: 1px solid rgba(255, 255, 255, .11);
  backdrop-filter: blur(18px);
  transition: background .25s ease, height .25s ease;
}
.p-header.scrolled { height: 72px; background: rgba(11, 13, 18, .96); }
.p-nav {
  width: min(var(--p-max), calc(100% - 96px));
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-brand { display: inline-flex; align-items: center; gap: 11px; font-size: 21px; font-weight: 800; letter-spacing: -.035em; }
.p-brand img { width: 34px; height: 34px; }
.p-nav-links { display: flex; align-items: center; gap: 34px; font-size: 14px; font-weight: 600; }
.p-nav-links > a:not(.p-nav-action) { color: #b9bac0; transition: color .18s ease; }
.p-nav-links > a:not(.p-nav-action):hover { color: var(--p-white); }
.premium-home .p-nav-action { margin-left: 10px; padding: 13px 17px; color: var(--p-ink); background: var(--p-white); border: 1px solid var(--p-white); }
.p-nav-action span { margin-left: 18px; }
.premium-home .p-nav-action:hover { background: transparent; color: var(--p-white); }
.p-nav-toggle { display: none; width: 46px; height: 46px; padding: 12px; border: 0; color: inherit; background: transparent; }
.p-nav-toggle span:not(.sr-only) { display: block; height: 1px; margin: 7px 0; background: currentColor; transition: transform .2s ease; }

.p-hero { position: relative; min-height: 920px; padding: 152px 48px 72px; overflow: hidden; color: var(--p-white); background: var(--p-ink); }
.p-hero::before {
  content: "";
  position: absolute;
  inset: 88px 0 0;
  pointer-events: none;
  opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: calc((100vw - 96px) / 12) 88px;
  background-position: 48px 0;
  -webkit-mask-image: linear-gradient(to bottom, black 0, rgba(0,0,0,.8) 55%, transparent 100%);
  mask-image: linear-gradient(to bottom, black 0, rgba(0,0,0,.8) 55%, transparent 100%);
}
.p-hero-grid { position: relative; z-index: 1; width: min(var(--p-max), 100%); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(500px, .92fr); gap: 74px; align-items: end; }
.p-overline { display: flex; justify-content: space-between; max-width: 680px; margin-bottom: 66px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.28); color: #a6a8af; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.p-hero h1 { max-width: 850px; margin: 0; font-size: clamp(76px, 8.2vw, 142px); line-height: .82; letter-spacing: -.075em; font-weight: 800; }
.p-hero h1 em { display: inline-block; margin-top: .14em; color: var(--p-cobalt-bright); font-style: normal; }
.p-hero-intro { max-width: 720px; margin-top: 64px; display: grid; grid-template-columns: 1fr 1.15fr; gap: 50px; align-items: end; }
.p-hero-intro > p { margin: 0; color: #b7b8be; font-size: 18px; line-height: 1.55; }
.p-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.p-button { min-height: 58px; display: inline-flex; align-items: center; justify-content: space-between; gap: 42px; padding: 0 22px; font-size: 15px; font-weight: 800; transition: color .18s ease, background .18s ease, transform .18s ease; }
.premium-home .p-button-light { min-width: 250px; color: var(--p-ink); background: var(--p-white); border: 1px solid var(--p-white); }
.premium-home .p-button-light:hover { color: var(--p-white); background: transparent; transform: translateY(-2px); }
.p-link-light { padding-bottom: 4px; border-bottom: 1px solid #5f626b; color: #d5d6da; font-size: 14px; font-weight: 600; }

.p-app-proof { position: relative; min-height: 690px; isolation: isolate; }
.p-app-proof::before { content: ""; position: absolute; inset: 60px 20px 52px 38px; z-index: -1; border: 1px solid rgba(255,255,255,.16); background: linear-gradient(145deg, rgba(49,87,213,.24), rgba(255,255,255,.02) 56%); }
.p-app-proof::after { content: ""; position: absolute; top: 35px; right: -28px; width: 190px; height: 190px; z-index: -1; border: 1px solid rgba(84,118,237,.52); border-radius: 50%; }
.p-app-shot { position: absolute; margin: 0; overflow: hidden; color: var(--p-ink); background: var(--p-white); border: 1px solid rgba(255,255,255,.22); box-shadow: 0 36px 100px rgba(0,0,0,.42); }
.p-app-shot-primary { top: 0; right: 2px; z-index: 2; width: 322px; transform: rotate(1.4deg); }
.p-app-shot-secondary { top: 116px; left: 0; z-index: 1; width: 236px; transform: rotate(-3.6deg); }
.p-screen-crop { height: 596px; overflow: hidden; background: #f6f4ef; }
.p-screen-crop-add { height: 440px; }
.p-screen-crop img { display: block; width: 100%; height: auto; }
.p-app-shot figcaption { min-height: 68px; display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 12px; padding: 13px 16px; border-top: 1px solid var(--p-line); }
.p-app-shot figcaption span { color: var(--p-cobalt); font-size: 11px; font-weight: 800; }
.p-app-shot figcaption strong { font-size: 13px; line-height: 1.25; }
.p-app-proof-note { position: absolute; right: 0; bottom: -6px; margin: 0; display: flex; align-items: center; gap: 10px; color: #999ba3; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.p-app-proof-note span { width: 34px; height: 1px; background: var(--p-cobalt-bright); }

.p-ledger { min-height: 634px; padding: 30px; color: var(--p-ink); background: var(--p-paper); border-top: 5px solid var(--p-cobalt); box-shadow: 0 38px 100px rgba(0,0,0,.32); }
.p-ledger-head { display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--p-line); color: var(--p-muted); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.p-ledger-total { display: flex; align-items: flex-end; justify-content: space-between; padding: 28px 0 14px; }
.p-ledger-total span { display: block; color: var(--p-muted); font-size: 13px; }
.p-ledger-total strong { display: block; margin-top: 4px; font-size: clamp(48px, 5vw, 74px); line-height: 1; letter-spacing: -.065em; }
.p-ledger-total .p-trend-down { margin-bottom: 8px; color: #9b4d44; font-weight: 800; }
.p-ledger-chart { display: block; width: 100%; height: 170px; overflow: visible; }
.p-grid-line { fill: none; stroke: #dad7cf; stroke-width: 1; stroke-dasharray: 3 8; }
.p-chart-line { fill: none; stroke: var(--p-cobalt); stroke-width: 3; stroke-linecap: square; stroke-dasharray: 1; stroke-dashoffset: 1; animation: p-draw 1.5s .35s cubic-bezier(.2,.75,.2,1) forwards; }
.p-chart-tick { fill: none; stroke: var(--p-cobalt); stroke-width: 2; }
.p-ledger-columns { display: grid; grid-template-columns: 1.35fr .65fr .55fr; padding: 13px 12px 9px; border-top: 1px solid var(--p-line); color: var(--p-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.p-ledger-columns span:last-child { text-align: right; }
.p-asset-list { border-top: 1px solid var(--p-line); }
.p-asset { width: 100%; min-height: 68px; display: grid; grid-template-columns: 1.35fr .65fr .55fr; align-items: center; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--p-line); color: var(--p-ink); background: transparent; text-align: left; cursor: pointer; transition: color .18s ease, background .18s ease; }
.p-asset:hover, .p-asset:focus-visible { outline: none; background: #e6e3dc; }
.p-asset.is-active { color: var(--p-white); background: var(--p-ink); }
.p-asset b, .p-asset small { display: block; }
.p-asset b { font-size: 14px; }
.p-asset small { color: var(--p-muted); font-size: 11px; }
.p-asset.is-active small { color: #aeb0b7; }
.p-asset > span:nth-child(2) { color: var(--p-muted); font-size: 11px; }
.p-asset.is-active > span:nth-child(2) { color: #b9bac0; }
.p-asset > strong { text-align: right; font-size: 15px; }
.p-ledger-note { margin: 17px 0 0; color: var(--p-muted); font-size: 11px; }
.p-hero-rule { position: relative; z-index: 1; width: min(var(--p-max), 100%); margin: 72px auto 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 22px; }
.p-hero-rule span { height: 1px; background: rgba(255,255,255,.2); }
.p-hero-rule i { width: 7px; height: 7px; border: 1px solid var(--p-cobalt-bright); transform: rotate(45deg); }

.p-section-index { margin-bottom: 34px; color: var(--p-cobalt); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.p-intro { padding: 148px 0 76px; }
.p-intro-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 100px; }
.p-intro h2 { max-width: 930px; margin: 0; font-size: clamp(54px, 6vw, 92px); line-height: .98; letter-spacing: -.06em; }
.p-intro-copy { padding-top: 10px; }
.p-intro-copy p { margin-bottom: 24px; color: var(--p-muted); font-size: 18px; line-height: 1.55; }
.p-category-line { margin-top: 108px; padding: 22px 0; display: flex; justify-content: space-between; gap: 22px; border-top: 1px solid var(--p-line); border-bottom: 1px solid var(--p-line); color: var(--p-muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.p-system { padding: 128px 0 140px; }
.p-system-head { display: grid; grid-template-columns: 1fr .7fr; gap: 120px; align-items: end; margin-bottom: 90px; }
.p-system-head h2 { margin: 0; font-size: clamp(58px, 6vw, 94px); line-height: .9; letter-spacing: -.065em; }
.p-system-head > p { max-width: 510px; margin: 0 0 8px; color: var(--p-muted); font-size: 19px; }
.p-record-stages { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--p-ink); }
.p-record-stages li { min-height: 174px; display: grid; grid-template-columns: .18fr 1fr auto; gap: 48px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--p-line); }
.p-stage-number { align-self: start; margin-top: 11px; color: var(--p-cobalt); font-size: 13px; font-weight: 800; }
.p-stage-label { margin-bottom: 4px; color: var(--p-muted); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.p-record-stages h3 { display: inline-block; width: 36%; margin: 0; vertical-align: top; font-size: clamp(28px, 3vw, 43px); letter-spacing: -.04em; }
.p-record-stages li div > p:last-child { display: inline-block; width: 48%; margin: 6px 0 0 8%; color: var(--p-muted); font-size: 16px; }
.p-stage-state { align-self: start; margin-top: 11px; min-width: 92px; padding: 7px 10px; border: 1px solid var(--p-line); color: var(--p-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

.p-passport { padding: 150px 0; overflow: hidden; color: var(--p-white); background: var(--p-cobalt); }
.p-passport-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 140px; align-items: center; }
.p-passport .p-section-index { color: #c6d1ff; }
.p-passport-copy h2 { max-width: 560px; margin-bottom: 28px; font-size: clamp(58px, 6vw, 98px); line-height: .88; letter-spacing: -.07em; }
.p-passport-copy > p:not(.p-section-index) { max-width: 500px; color: #d7def7; font-size: 19px; }
.p-arrow-link { display: inline-flex; gap: 40px; margin-top: 34px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.48); font-size: 15px; font-weight: 800; }
.p-record-proof { position: relative; min-height: 650px; margin: 0; }
.p-record-proof::before { content: ""; position: absolute; inset: 50px 0 0 76px; border: 1px solid rgba(255,255,255,.28); }
.p-record-proof-label { position: absolute; top: 98px; left: 0; z-index: 2; width: 250px; padding: 24px; color: var(--p-white); background: var(--p-ink); box-shadow: 18px 20px 0 rgba(10,19,65,.2); }
.p-record-proof-label span { display: block; margin-bottom: 13px; color: #aeb0b7; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.p-record-proof-label strong { display: block; font-size: 22px; line-height: 1.12; letter-spacing: -.025em; }
.p-record-screen { position: absolute; top: 0; right: 34px; width: 360px; height: 610px; overflow: hidden; border: 8px solid var(--p-white); border-radius: 33px; background: #f6f4ef; box-shadow: 0 38px 90px rgba(7,13,44,.34); }
.p-record-screen img { display: block; width: 100%; height: auto; }
.p-record-proof > figcaption { position: absolute; right: 34px; bottom: 0; width: 360px; margin: 0; color: #d7def7; font-size: 12px; }
.p-passport-sheet { position: relative; max-width: 760px; padding: 42px; color: var(--p-ink); background: var(--p-white); box-shadow: 26px 26px 0 rgba(10,19,65,.24); }
.p-passport-sheet::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 7px; background: var(--p-ink); }
.p-passport-sheet header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 26px; border-bottom: 1px solid var(--p-line); color: var(--p-muted); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.p-sheet-brand { display: flex; align-items: center; gap: 10px; color: var(--p-ink); font-size: 16px; letter-spacing: -.02em; text-transform: none; }
.p-sheet-brand img { width: 28px; height: 28px; }
.p-sheet-identity { padding: 48px 0 36px; }
.p-sheet-code { color: var(--p-cobalt); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.p-sheet-identity p { margin: 8px 0 1px; font-size: clamp(38px, 4vw, 62px); line-height: 1; letter-spacing: -.055em; font-weight: 800; }
.p-sheet-identity small { color: var(--p-muted); font-size: 14px; }
.p-sheet-facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--p-line); }
.p-sheet-facts div { padding: 22px 18px 22px 0; border-bottom: 1px solid var(--p-line); }
.p-sheet-facts div:nth-child(odd) { border-right: 1px solid var(--p-line); }
.p-sheet-facts div:nth-child(even) { padding-left: 22px; }
.p-sheet-facts dt { color: var(--p-muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.p-sheet-facts dd { margin: 5px 0 0; font-size: 17px; font-weight: 800; }
.p-passport-sheet footer { display: flex; justify-content: space-between; padding-top: 24px; color: var(--p-muted); font-size: 11px; }

.p-value { padding: 158px 0; }
.p-value-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 110px; align-items: end; }
.p-value-copy h2 { margin-bottom: 28px; font-size: clamp(54px, 5.5vw, 88px); line-height: .92; letter-spacing: -.065em; }
.p-value-copy p { max-width: 470px; margin: 0; color: var(--p-muted); font-size: 18px; }
.p-trend-proof { margin: 0; display: grid; grid-template-columns: 342px 1fr; gap: 48px; align-items: center; padding-top: 32px; border-top: 1px solid var(--p-ink); }
.p-trend-screen { height: 590px; overflow: hidden; border: 1px solid var(--p-line); border-radius: 30px; background: #f6f4ef; box-shadow: 18px 22px 0 #e1ded7; }
.p-trend-screen img { display: block; width: 100%; height: auto; }
.p-trend-proof figcaption { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.p-trend-proof figcaption span { color: var(--p-cobalt); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.p-trend-proof figcaption strong { font-size: clamp(28px, 3vw, 44px); line-height: 1.02; letter-spacing: -.045em; }
.p-trend-proof figcaption small { max-width: 260px; color: var(--p-muted); font-size: 12px; line-height: 1.45; }
.p-value-figure { padding: 32px 0 0; border-top: 1px solid var(--p-ink); }
.p-value-metric { display: flex; align-items: end; justify-content: space-between; }
.p-value-metric span { color: var(--p-muted); font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.p-value-metric strong { font-size: clamp(40px, 5vw, 68px); line-height: 1; letter-spacing: -.06em; }
.p-value-metric small { margin-bottom: 8px; color: #9b4d44; font-weight: 800; }
.p-value-figure svg { display: block; width: 100%; margin-top: 30px; overflow: visible; }
.p-value-gridline { fill: none; stroke: var(--p-line); stroke-width: 1; stroke-dasharray: 3 9; }
.p-value-path { fill: none; stroke: var(--p-cobalt); stroke-width: 4; stroke-dasharray: 1; stroke-dashoffset: 1; animation: p-draw 1.5s .2s cubic-bezier(.2,.75,.2,1) forwards; }
.p-value-figure circle { fill: var(--p-paper); stroke: var(--p-cobalt); stroke-width: 4; }
.p-value-dates { display: flex; justify-content: space-between; color: var(--p-muted); font-size: 11px; }

.p-trust { padding: 150px 0; color: var(--p-white); background: var(--p-ink); }
.p-trust .p-section-index { color: var(--p-cobalt-bright); }
.p-trust-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 120px; }
.p-trust h2 { max-width: 570px; margin: 0; font-size: clamp(58px, 6vw, 96px); line-height: .9; letter-spacing: -.065em; }
.p-trust-list { border-top: 1px solid #3a3d45; }
.p-trust-list article { min-height: 128px; display: grid; grid-template-columns: 46px 1fr; gap: 26px; padding: 25px 0; border-bottom: 1px solid #3a3d45; }
.p-trust-list article > span { color: var(--p-cobalt-bright); font-size: 11px; font-weight: 800; }
.p-trust-list h3 { margin-bottom: 7px; font-size: 25px; letter-spacing: -.025em; }
.p-trust-list p { max-width: 520px; margin: 0; color: #aeb0b7; font-size: 15px; }

.p-rewards { padding: 116px 0; }
.p-rewards-rule { display: grid; grid-template-columns: 100px 1fr .72fr 250px; gap: 42px; align-items: center; padding: 54px 0; border-top: 1px solid var(--p-ink); border-bottom: 1px solid var(--p-line); }
.p-reward-mark { display: grid; place-items: center; width: 92px; height: 92px; border: 1px solid var(--p-signal); color: var(--p-signal); font-size: 27px; transform: rotate(45deg); }
.p-rewards .p-section-index { margin-bottom: 8px; color: #8a6718; }
.p-rewards h2 { margin: 0; font-size: clamp(35px, 4vw, 57px); line-height: 1; letter-spacing: -.05em; }
.p-rewards-rule > p { max-width: 520px; margin: 0; color: var(--p-muted); font-size: 15px; }
.p-reward-proof { margin: 0; }
.p-reward-proof > div { height: 370px; overflow: hidden; border: 1px solid var(--p-line); border-radius: 25px; background: #f6f4ef; box-shadow: 13px 15px 0 #e1ded7; }
.p-reward-proof img { display: block; width: 100%; height: auto; }
.p-reward-proof figcaption { margin-top: 18px; color: var(--p-muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.p-final { padding: 150px 0; color: var(--p-ink); background: var(--p-white); }
.p-final-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 100px; align-items: end; }
.p-final h2 { max-width: 900px; margin: 0; font-size: clamp(66px, 8vw, 124px); line-height: .84; letter-spacing: -.075em; }
.p-final-action { display: flex; flex-direction: column; align-items: stretch; gap: 22px; }
.p-final-button { min-height: 92px; display: flex; align-items: center; justify-content: space-between; padding: 0 26px; color: var(--p-white); background: var(--p-cobalt); font-weight: 800; transition: background .18s ease, transform .18s ease; }
.p-final-button:hover { background: var(--p-ink); transform: translateY(-3px); }
.p-final-button b { font-size: 24px; }
.p-final-text { align-self: flex-start; padding-bottom: 5px; border-bottom: 1px solid var(--p-line); font-size: 14px; font-weight: 800; }

.p-footer { padding: 82px 0 30px; color: var(--p-white); background: var(--p-ink); }
.p-footer-grid { display: grid; grid-template-columns: .7fr 1.1fr 1fr; gap: 90px; align-items: start; }
.p-footer-grid > p { max-width: 400px; color: #aeb0b7; }
.p-footer nav { display: flex; justify-content: flex-end; gap: 28px; color: #c3c4c9; font-size: 13px; font-weight: 600; }
.p-footer nav a:hover { color: var(--p-white); }
.p-footer-bottom { margin-top: 70px; padding-top: 20px; display: flex; justify-content: space-between; border-top: 1px solid #343740; color: #777a82; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }

.premium-home .reveal { opacity: 1; transform: none; }
.premium-home.reveal-ready .reveal { opacity: 0; transform: translateY(20px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.75,.2,1); transition-delay: var(--delay, 0ms); }
.premium-home.reveal-ready .reveal.visible { opacity: 1; transform: none; }

@keyframes p-draw { to { stroke-dashoffset: 0; } }

@media (max-width: 1120px) {
  .p-shell, .p-nav { width: min(var(--p-max), calc(100% - 56px)); }
  .p-hero { padding-inline: 28px; }
  .p-hero-grid { grid-template-columns: 1fr; }
  .p-hero-copy { max-width: 1040px; }
  .p-app-proof { width: min(620px, 100%); margin: 20px 0 0 auto; }
  .p-intro-grid, .p-system-head, .p-passport-grid, .p-value-grid, .p-trust-grid, .p-final-grid { gap: 64px; }
  .p-rewards-rule { grid-template-columns: 90px 1fr 1fr; }
  .p-reward-proof { grid-column: 2 / -1; width: min(300px, 100%); }
  .p-footer-grid { grid-template-columns: 1fr 1fr; }
  .p-footer nav { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 780px) {
  .p-shell, .p-nav { width: min(100% - 32px, var(--p-max)); }
  .p-header, .p-header.scrolled { height: 70px; }
  .p-nav-toggle { display: block; }
  .p-nav-toggle[aria-expanded="true"] span:nth-of-type(2) { transform: translateY(4px) rotate(45deg); }
  .p-nav-toggle[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-4px) rotate(-45deg); }
  .p-nav-links { position: absolute; top: 70px; left: 16px; right: 16px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; background: var(--p-ink-soft); border: 1px solid #333741; box-shadow: 0 24px 50px rgba(0,0,0,.36); }
  .p-nav-links.open { display: flex; }
  .p-nav-links a { padding: 14px; }
  .p-nav-action { margin: 8px 0 0; }
  .p-hero { min-height: auto; padding: 118px 16px 54px; }
  .p-hero::before { background-size: calc((100vw - 32px) / 4) 72px; background-position: 16px 0; }
  .p-hero-grid { gap: 58px; }
  .p-overline { margin-bottom: 46px; }
  .p-hero h1 { font-size: clamp(57px, 17vw, 92px); }
  .p-hero-intro { margin-top: 46px; grid-template-columns: 1fr; gap: 32px; }
  .p-app-proof { min-height: 660px; width: min(100%, 560px); margin-inline: auto; }
  .p-app-shot-primary { right: 0; width: min(76vw, 318px); }
  .p-app-shot-secondary { left: 0; width: min(54vw, 225px); }
  .p-screen-crop { height: 572px; }
  .p-screen-crop-add { height: 420px; }
  .p-ledger-total { align-items: start; }
  .p-ledger-total strong { font-size: 52px; }
  .p-ledger-chart { height: 132px; }
  .p-ledger-columns, .p-asset { grid-template-columns: 1.25fr .6fr .55fr; }
  .p-asset > span:nth-child(2), .p-ledger-columns span:nth-child(2) { display: none; }
  .p-hero-rule { margin-top: 50px; }
  .p-intro, .p-system, .p-value, .p-trust, .p-passport { padding: 94px 0; }
  .p-intro-grid, .p-system-head, .p-passport-grid, .p-value-grid, .p-trust-grid, .p-final-grid { grid-template-columns: 1fr; gap: 42px; }
  .p-intro h2, .p-system-head h2, .p-passport-copy h2, .p-value-copy h2, .p-trust h2 { font-size: clamp(48px, 14vw, 72px); }
  .p-category-line { margin-top: 65px; overflow-x: auto; justify-content: flex-start; padding-bottom: 18px; scrollbar-width: none; }
  .p-category-line span { white-space: nowrap; }
  .p-system-head { margin-bottom: 58px; }
  .p-record-stages li { grid-template-columns: 34px 1fr; gap: 14px; }
  .p-record-stages h3, .p-record-stages li div > p:last-child { display: block; width: auto; }
  .p-record-stages li div > p:last-child { margin: 10px 0 0; }
  .p-stage-state { display: none; }
  .p-passport-sheet { padding: 28px 24px 26px 30px; box-shadow: 14px 14px 0 rgba(10,19,65,.24); }
  .p-record-proof { min-height: 650px; width: min(100%, 520px); margin-inline: auto; }
  .p-record-proof::before { left: 42px; }
  .p-record-proof-label { top: 78px; width: 210px; padding: 19px; }
  .p-record-proof-label strong { font-size: 18px; }
  .p-record-screen { right: 0; width: min(74vw, 340px); }
  .p-record-proof > figcaption { right: 0; width: min(74vw, 340px); }
  .p-sheet-identity { padding: 38px 0 28px; }
  .p-sheet-facts { grid-template-columns: 1fr; }
  .p-sheet-facts div:nth-child(odd) { border-right: 0; }
  .p-sheet-facts div:nth-child(even) { padding-left: 0; }
  .p-value-metric { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
  .p-value-metric strong { grid-column: 1 / -1; grid-row: 2; }
  .p-trend-proof { grid-template-columns: minmax(0, 1fr) minmax(160px, .8fr); gap: 30px; }
  .p-trend-screen { height: 560px; }
  .p-trust-grid { gap: 58px; }
  .p-rewards { padding: 76px 0; }
  .p-rewards-rule { grid-template-columns: 74px 1fr; gap: 28px; }
  .p-reward-mark { width: 62px; height: 62px; }
  .p-rewards-rule > p { grid-column: 1 / -1; }
  .p-reward-proof { grid-column: 1 / -1; width: min(280px, 82vw); margin: 18px auto 0; }
  .p-final { padding: 94px 0; }
  .p-final h2 { font-size: clamp(58px, 17vw, 86px); }
  .p-final-grid { gap: 54px; }
  .p-footer { padding-top: 62px; }
  .p-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .p-footer nav { grid-column: auto; flex-wrap: wrap; justify-content: flex-start; gap: 14px 24px; }
  .p-footer-bottom { margin-top: 50px; flex-direction: column; gap: 8px; }
}

@media (max-width: 430px) {
  .p-overline span:last-child { display: none; }
  .p-ledger-total .p-trend-down { font-size: 11px; }
  .p-passport-sheet header > span { display: none; }
  .p-passport-sheet footer { flex-direction: column; gap: 5px; }
  .p-app-proof { min-height: 640px; }
  .p-app-shot-primary { width: 278px; }
  .p-app-shot-secondary { top: 132px; width: 185px; }
  .p-screen-crop { height: 515px; }
  .p-screen-crop-add { height: 350px; }
  .p-app-proof-note { left: 0; right: auto; bottom: 0; }
  .p-record-proof { min-height: 610px; }
  .p-record-proof-label { top: 55px; left: -4px; width: 176px; }
  .p-record-screen { width: 260px; height: 565px; }
  .p-record-proof > figcaption { width: 260px; }
  .p-trend-proof { grid-template-columns: 1fr; }
  .p-trend-screen { width: min(100%, 330px); height: 570px; margin-inline: auto; }
  .p-trend-proof figcaption { margin-top: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .premium-home { scroll-behavior: auto; }
  .premium-home *, .premium-home *::before, .premium-home *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .premium-home.reveal-ready .reveal { opacity: 1; transform: none; }
  .p-chart-line, .p-value-path { stroke-dashoffset: 0; }
}

@media print {
  .p-header, .p-actions, .p-final-action { display: none; }
  .p-hero { min-height: auto; padding-top: 50px; }
  .premium-home.reveal-ready .reveal { opacity: 1; transform: none; }
}
