.pyr{background:var(--b1-page);color:var(--b1-text-body);font-family:var(--b1-font-sans);font-size:var(--b1-font-size-body);line-height:var(--b1-line-height-body);letter-spacing:var(--b1-tracking-body);min-height:100vh}.pyr *,.pyr :before,.pyr :after{box-sizing:border-box}.pyr-wrap{max-width:var(--b1-pyramid-width);padding:var(--b1-space-24) var(--b1-space-4) var(--b1-space-16);margin:0 auto}.pyr-brand{font-weight:var(--b1-font-weight-bold);letter-spacing:.14em;font-size:var(--b1-font-size-caption);color:var(--b1-accent);text-transform:uppercase}.pyr h1{font-weight:var(--b1-font-weight-bold);font-size:clamp(var(--b1-font-size-headline), 6vw, 3rem);letter-spacing:var(--b1-tracking-headline);margin:var(--b1-space-2) 0 var(--b1-space-3);color:var(--b1-text-heading);line-height:1.05}.pyr h2{font-weight:var(--b1-font-weight-bold);font-size:var(--b1-font-size-subheadline);line-height:var(--b1-line-height-tight);letter-spacing:var(--b1-tracking-subheadline);margin:0 0 var(--b1-space-2);color:var(--b1-text-heading)}.pyr-lead{color:var(--b1-text-meta);font-size:var(--b1-font-size-body-lg);max-width:60ch;margin:0 0 var(--b1-space-6)}.pyr-pillars{gap:var(--b1-space-2);margin:0 0 var(--b1-space-2);grid-template-columns:repeat(4,1fr);padding:0;list-style:none;display:grid}.pyr-pillars li{align-items:center;gap:var(--b1-space-2);border:1px solid var(--b1-rule);border-radius:var(--b1-radius-md);background:var(--b1-surface-card);padding:var(--b1-space-3);font-weight:var(--b1-font-weight-bold);font-size:var(--b1-font-size-small);color:var(--b1-text-heading);min-width:0;display:flex}.pyr-pillars b{border-radius:var(--b1-radius-full);background:var(--b1-chip-bg);width:1.75rem;height:1.75rem;color:var(--b1-accent);font-size:var(--b1-font-size-small);flex:none;place-items:center;display:inline-grid}@media (width<=520px){.pyr-pillars{grid-template-columns:repeat(2,1fr)}}.pyr-pn{font-weight:var(--b1-font-weight-bold);color:var(--b1-accent);text-transform:uppercase;letter-spacing:.14em;font-size:var(--b1-font-size-caption);margin-bottom:var(--b1-space-1)}.pyr-part{margin-top:var(--b1-space-12);padding-top:var(--b1-space-6);border-top:1px solid var(--b1-rule)}.pyr-sub{color:var(--b1-text-meta);margin:0 0 var(--b1-space-6);max-width:60ch}.pyr-q{background:var(--b1-surface-card);border:1px solid var(--b1-rule);border-radius:var(--b1-radius-lg);padding:var(--b1-space-6);margin:0 0 var(--b1-space-3);min-width:0}.pyr-q>legend,.pyr-t{font-weight:var(--b1-font-weight-bold);color:var(--b1-text-heading);margin-bottom:var(--b1-space-3);float:left;width:100%;padding:0;display:block}.pyr-q>legend+*{clear:both}.pyr-n{color:var(--b1-accent);margin-right:var(--b1-space-2)}.pyr-hint{color:var(--b1-text-meta);font-size:var(--b1-font-size-small);margin:var(--b1-space-2) 0 0}.pyr textarea,.pyr input[type=text],.pyr input[type=email]{width:100%;font:inherit;padding:var(--b1-space-3);border:1px solid var(--b1-color-border);border-radius:var(--b1-radius-md);background:var(--b1-surface-card);min-height:3rem;color:var(--b1-text-heading)}.pyr textarea{resize:vertical;min-height:5rem}.pyr-opts{gap:var(--b1-space-2);flex-wrap:wrap;display:flex}.pyr-opts label{align-items:center;gap:var(--b1-space-2);padding:var(--b1-space-2) var(--b1-space-4);border:1px solid var(--b1-rule);border-radius:var(--b1-radius-full);cursor:pointer;background:var(--b1-surface-card);min-height:2.75rem;font-size:var(--b1-font-size-small);color:var(--b1-text-heading);display:inline-flex}.pyr-opts label:has(input:checked){border-color:var(--b1-accent);background:var(--b1-chip-bg)}.pyr-opts input{accent-color:var(--b1-accent);margin:0}.pyr-stack{gap:var(--b1-space-4);clear:both;display:grid}.pyr-stack fieldset{border:0;min-width:0;margin:0;padding:0}.pyr-subq{font-size:var(--b1-font-size-small);font-weight:var(--b1-font-weight-medium);color:var(--b1-text-body);margin:0 0 var(--b1-space-2);padding:0}.pyr-note{background:var(--b1-chip-bg);border:1px solid var(--b1-border-accent);border-radius:var(--b1-radius-md);padding:var(--b1-space-3) var(--b1-space-4);margin:var(--b1-space-6) 0;font-size:var(--b1-font-size-small);color:var(--b1-text-heading)}.pyr-consent{gap:var(--b1-space-3);background:var(--b1-surface-card);border:1px solid var(--b1-rule);border-radius:var(--b1-radius-lg);padding:var(--b1-space-4) var(--b1-space-6);margin:0 0 var(--b1-space-2);cursor:pointer;align-items:flex-start;display:flex}.pyr-consent input{accent-color:var(--b1-accent);margin-top:var(--b1-space-1);flex:none;width:1.25rem;height:1.25rem}.pyr-consent span{font-size:var(--b1-font-size-small)}.pyr-tiny{font-size:var(--b1-font-size-caption);color:var(--b1-text-meta)}.pyr-btn{font:inherit;font-weight:var(--b1-font-weight-bold);font-size:var(--b1-font-size-body);letter-spacing:var(--b1-tracking-subheadline);padding:var(--b1-space-3) var(--b1-space-8);border-radius:var(--b1-radius-full);background:var(--b1-accent);min-height:3rem;color:var(--b1-color-accent-foreground);cursor:pointer;border:1px solid #0000}.pyr-btn:hover:not(:disabled){background:var(--b1-accent-hover)}.pyr-btn:active:not(:disabled){background:var(--b1-accent-pressed)}.pyr-btn:disabled{opacity:.5;cursor:not-allowed}.pyr button:focus-visible,.pyr input:focus-visible,.pyr textarea:focus-visible{box-shadow:var(--b1-shadow-focus);outline:none}.pyr-actions{gap:var(--b1-space-3);margin-top:var(--b1-space-8);flex-wrap:wrap;align-items:center;display:flex}.pyr-status{font-size:var(--b1-font-size-small);color:var(--b1-text-meta)}.pyr-status.err{color:var(--b1-color-danger);font-weight:var(--b1-font-weight-bold)}.pyr-progress{top:var(--b1-pyramid-sticky-top);z-index:5;background:var(--b1-page);padding:var(--b1-space-3) 0;border-bottom:1px solid var(--b1-rule);margin-bottom:var(--b1-space-6);font-size:var(--b1-font-size-small);color:var(--b1-text-meta);justify-content:space-between;gap:var(--b1-space-3);display:flex;position:sticky}@media (width>=900px){.pyr-progress{top:var(--b1-pyramid-sticky-top-desktop)}}.pyr-bar{height:var(--b1-pyramid-progress-height);background:var(--b1-rule);border-radius:var(--b1-radius-full);flex:1;align-self:center;position:relative;overflow:hidden}.pyr-bar i{background:var(--b1-accent);transition:width .2s;position:absolute;inset:0 auto 0 0}.pyr-done{text-align:center;padding:var(--b1-space-12) 0}@media (prefers-reduced-motion:reduce){.pyr-bar i{transition:none}}
