/* Scoped styles; original geometry, no remote fonts or asset requests. */
.p26-callset { --cs-bg:#f5f5f7; --cs-ink:#15181c; --cs-muted:#5a626a; --cs-accent:#0b7888; --cs-metal:#8b9da6; --cs-line:#dfe3e7; color:var(--cs-ink); background:var(--cs-bg); font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin:0; }
.p26-callset *, .p26-callset *::before, .p26-callset *::after { box-sizing:border-box; }
.p26-callset a { color:inherit; text-underline-offset:4px; }
.p26-callset :focus-visible { outline:3px solid var(--cs-accent); outline-offset:5px; }
.p26-callset .skip { position:absolute; top:-100px; z-index:20; }
.p26-callset .skip:focus { top:12px; left:20px; background:white; }
.p26-callset .nav { position:relative; z-index:5; height:72px; display:flex; justify-content:space-between; align-items:center; padding:0 4vw; border-bottom:1px solid var(--cs-line); }
.p26-callset .brand { font-weight:700; letter-spacing:.12em; text-decoration:none; }
.p26-callset .nav-links { display:flex; gap:24px; font-size:14px; }
.p26-callset .nav-links a { text-decoration:none; }
.p26-callset .story { position:relative; height:650svh; }
.p26-callset .pin { position:sticky; top:0; height:100svh; min-height:560px; overflow:clip; background:radial-gradient(ellipse at 55% 35%,#fff 0%,transparent 65%); }
.p26-callset .hero-copy { position:absolute; left:8%; top:24%; width:40%; max-width:560px; z-index:2; }
.p26-callset h1 { font-size:clamp(36px,4.3vw,64px); line-height:1.08; letter-spacing:-.045em; font-weight:600; margin:16px 0 24px; }
.p26-callset h2 { font-size:clamp(30px,3vw,44px); line-height:1.15; font-weight:600; letter-spacing:-.03em; margin:12px 0; }
.p26-callset p { color:var(--cs-muted); max-width:62ch; }
.p26-callset .eyebrow { font:12px/1.5 ui-monospace,monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--cs-accent); }
.p26-callset .button { display:inline-block; border:1px solid var(--cs-line); border-radius:11px; padding:12px 20px; font:inherit; font-size:14px; color:var(--cs-ink); background:transparent; text-decoration:none; cursor:pointer; }
.p26-callset .button.primary { background:var(--cs-accent); color:white; border-color:var(--cs-accent); }
.p26-callset .button:hover { filter:brightness(1.12); }
.p26-callset .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.p26-callset .step-copy { position:absolute; bottom:9%; left:50%; transform:translateX(-50%); text-align:center; width:min(620px,86%); z-index:2; }
.p26-callset .step-copy p { margin-inline:auto; }
.p26-callset [hidden] { display:none!important; }
.p26-callset .scroll-hint { position:absolute; bottom:22px; left:4vw; font:11px ui-monospace,monospace; color:var(--cs-muted); }
.p26-callset .sheet { position:relative; padding:100px max(6vw,24px); border-top:1px solid var(--cs-line); background:white; border-radius:28px 28px 0 0; }
.p26-callset .section-head { max-width:700px; margin-bottom:44px; }
.p26-callset .cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.p26-callset .card { border:1px solid var(--cs-line); border-radius:18px; padding:28px; background:var(--cs-bg); }
.p26-callset .card h3 { font-size:20px; margin:0 0 12px; }
.p26-callset .card code { overflow-wrap:anywhere; font-size:12px; }
.p26-callset details { border-top:1px solid var(--cs-line); padding:20px 0; }
.p26-callset summary { cursor:pointer; font-weight:600; }
.p26-callset footer { padding:70px 6vw; }
.p26-callset .gallery { max-width:1200px; margin:auto; padding:60px 24px; }
.p26-callset .gallery-stage { height:480px; position:relative; border:1px solid var(--cs-line); border-radius:28px; overflow:clip; background:radial-gradient(ellipse,#fff,transparent); }
.p26-callset input[type=range] { width:100%; accent-color:var(--cs-accent); margin:24px 0; }
scroll-stage { display:block; position:absolute; inset:0; pointer-events:none; --cs-accent:#0b7888; --cs-metal:#8b9da6; }
scroll-stage .cs-scene { position:absolute; inset:0; perspective:850px; overflow:clip; }
scroll-stage .cs-world { position:absolute; left:65%; top:42%; width:0; height:0; transform-style:preserve-3d; }
scroll-stage .cs-budget, scroll-stage .cs-brackets { position:absolute; transform-style:preserve-3d; }
scroll-stage .cs-tile, scroll-stage .cs-call { position:absolute; width:24px; height:24px; transform-style:preserve-3d; }
scroll-stage .face { position:absolute; inset:0; border:1px solid #b1ccd2; background:linear-gradient(135deg,#e5f3f5,#94b2bc); backface-visibility:hidden; }
scroll-stage .front { transform:translateZ(12px); }
scroll-stage .back { transform:rotateY(180deg) translateZ(12px); }
scroll-stage .left { transform:rotateY(-90deg) translateZ(12px); }
scroll-stage .right { transform:rotateY(90deg) translateZ(12px); }
scroll-stage .top { transform:rotateX(90deg) translateZ(12px); }
scroll-stage .bottom { transform:rotateX(-90deg) translateZ(12px); }
scroll-stage .cs-call .face { background:linear-gradient(135deg,#6cd2dc,var(--cs-accent)); border-color:#61b3c0; }
scroll-stage .cs-call { scale:2.4; }
scroll-stage .cs-gate { position:absolute; width:240px; height:240px; border:3px solid var(--cs-metal); border-radius:28px; box-shadow:0 0 0 2px #d4e6ea; }
scroll-stage .cs-brackets { display:flex; justify-content:space-between; width:190px; height:210px; }
scroll-stage .cs-bracket { display:block; width:35px; height:100%; border:12px solid #61757f; border-right:0; border-radius:14px 0 0 14px; }
scroll-stage .cs-bracket:last-child { transform:rotateY(180deg); }
scroll-stage .cs-receipt { position:absolute; width:230px; height:145px; border:2px solid #7b9ba6; border-radius:16px; background:repeating-linear-gradient(0deg,transparent 0 17px,#d4e4e8 18px 19px),linear-gradient(130deg,#fff,#a3bdc5); color:#285d68; padding:28px; font:12px ui-monospace,monospace; box-shadow:12px 18px 0 #829ca5; }
.p26-callset .story:not([data-active-step="0"]) .cs-world, .p26-callset .gallery-stage .cs-world { left:50%; top:35%; }
.p26-callset .gallery-stage .cs-world { top:50%; }
@media(max-width:760px) {
 .p26-callset .nav { height:64px; padding:0 20px; }
 .p26-callset .nav-links { gap:14px; font-size:12px; }
 .p26-callset .hero-copy { top:8%; left:7%; width:86%; max-width:none; }
 .p26-callset h1 { font-size:38px; max-width:450px; }
 .p26-callset .hero-copy p { font-size:16px; }
 .p26-callset .story[data-active-step="0"] .cs-world { left:50%; top:77%; scale:.65; }
 .p26-callset .cs-world { scale:.8; }
 .p26-callset .step-copy { bottom:8%; }
 .p26-callset .cards { grid-template-columns:1fr; }
 .p26-callset .sheet { padding-block:60px; }
}
@media(prefers-reduced-motion:reduce) {
 .p26-callset .story { height:auto; }
 .p26-callset .pin { position:relative; height:auto; min-height:0; overflow:visible; padding:40px 24px; }
 .p26-callset .story scroll-stage { display:none; }
 .p26-callset .hero-copy,.p26-callset .step-copy { position:static; width:auto; max-width:700px; transform:none; text-align:left; margin:0 auto 48px; }
 .p26-callset .step-copy p { margin-inline:0; }
 .p26-callset .scroll-hint { display:none; }
}

.p26-callset .nav-links { flex-wrap:wrap; justify-content:flex-end; }
