/* Inner-page shell — reuses motion.css tokens, fonts & scheme vars.
   Load AFTER motion.css. Body should carry: class="font-sf scheme-royal". */

.pnav{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:14px;
  padding:16px 28px; background:rgba(8,8,11,.72); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.pnav .brand{ font-weight:700; font-size:18px; display:flex; align-items:center; gap:9px; text-decoration:none; color:var(--fg); }
.pnav .blip{ width:12px;height:12px;border-radius:50%;border:2.5px solid var(--fg); position:relative; }
.pnav .blip::after{ content:""; position:absolute; inset:2px; border-radius:50%; background:var(--accent); }
.pnav .logomark{ width:25px; height:25px; flex:0 0 auto; color:var(--fg); }
.pfoot .logomark{ width:22px; height:22px; flex:0 0 auto; vertical-align:middle; margin-right:8px; color:var(--muted); }
.pnav .links{ display:flex; gap:22px; margin-left:8px; }
.pnav .links a{ font-size:13.5px; color:var(--muted); font-weight:500; text-decoration:none; transition:color .2s; }
.pnav .links a:hover, .pnav .links a.active{ color:var(--fg); }
.pnav .sp{ flex:1; }
.pnav .cta{ font-size:13.5px; font-weight:600; padding:9px 18px; border-radius:100px; background:var(--fg); color:var(--bg); text-decoration:none; white-space:nowrap; }

.phero{ padding:130px 28px 56px; max-width:1180px; margin:0 auto; }
.phero h1{ font-weight:700; letter-spacing:-.02em; line-height:1.0; margin:0 0 20px; font-size:clamp(40px,6.5vw,88px); }
.phero h1 .accent{ color:var(--accent); }
.phero .lede{ font-size:clamp(17px,2vw,22px); color:var(--muted); max-width:52ch; line-height:1.5; margin:0; }

.psection{ padding:48px 28px; max-width:1180px; margin:0 auto; }
.psection.bordered{ border-top:1px solid var(--line); }
.psection h2{ font-weight:700; letter-spacing:-.015em; font-size:clamp(26px,3.4vw,40px); margin:0 0 24px; }

.prose{ max-width:64ch; }
.prose p{ font-size:18px; line-height:1.65; color:var(--muted); margin:0 0 20px; }
.prose p strong, .prose b{ color:var(--fg); font-weight:600; }

.pgrid{ display:grid; gap:20px; }
.pg2{ grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.pg3{ grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
.pcard2{ border:1px solid var(--line); border-radius:18px; padding:26px; background:var(--bg2); }
.pcard2 .n{ font-size:13px; color:var(--muted); margin-bottom:10px; }
.pcard2 h3{ margin:0 0 10px; font-size:20px; font-weight:700; line-height:1.1; }
.pcard2 p{ margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.pcard2 .stat{ display:inline-flex; align-items:center; gap:9px; margin-top:14px; font-size:13px; color:var(--muted); }
.pcard2 .dot{ width:10px;height:10px;border-radius:50%;background:var(--accent); }
.pcard2 .dot.amber{ background:oklch(0.80 0.13 78); }
.pcard2 .dot.road{ background:transparent; border:1.5px solid var(--muted); }
.road-grid .pcard2{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:104px; }
.road-grid .pcard2 h3{ margin:0; }
.logo-panel{ width:100%; aspect-ratio:3/2; border:1px solid var(--line); border-radius:18px; background:radial-gradient(circle at 50% 45%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 60%), var(--bg2); display:flex; align-items:center; justify-content:center; color:var(--fg); }
.logo-panel svg{ width:42%; max-width:200px; height:auto; }

.case-row{ display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center; padding:46px 0; border-top:1px solid var(--line); }
.case-row image-slot{ display:block; width:100%; aspect-ratio:3/2; height:auto; border-radius:18px; }
.case-row .ctag{ font-size:13px; color:var(--accent); margin-bottom:14px; display:block; }
.case-row h3{ font-size:clamp(24px,3vw,34px); font-weight:700; line-height:1.1; margin:0 0 16px; }
.case-row p{ color:var(--muted); font-size:17px; line-height:1.6; margin:0 0 16px; max-width:46ch; }
.case-row .cmetric{ font-weight:600; color:var(--fg); }

.bigcta{ text-align:center; padding:110px 28px 130px; border-top:1px solid var(--line); margin-top:40px; }
.bigcta h2{ font-weight:700; letter-spacing:-.02em; font-size:clamp(34px,5.5vw,72px); margin:0 0 28px; }
.bigcta .btn{ display:inline-flex; font-size:17px; font-weight:600; padding:15px 32px; border-radius:100px; background:var(--accent); color:#fff; text-decoration:none; }

.pfoot{ padding:46px 28px; border-top:1px solid var(--line); display:flex; gap:20px; flex-wrap:wrap; align-items:center; font-size:13px; color:var(--muted); }
.pfoot a{ color:inherit; text-decoration:none; }
.pfoot a:hover{ color:var(--fg); }
.pfoot .sp{ flex:1; }

[data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal][data-delay="1"]{ transition-delay:.08s; }
[data-reveal][data-delay="2"]{ transition-delay:.16s; }

@media(max-width:900px){ .case-row{ grid-template-columns:1fr; gap:22px; } }
@media(max-width:760px){ .pnav .links{ display:none; } .phero{ padding-top:96px; } .psection{ padding:36px 22px; } }
