html.frame-page{scroll-snap-type:y mandatory}@media (height <= 700px),(width <= 700px){html.frame-page{scroll-snap-type:none}}.frame{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100dvh;padding-block:var(--space-4);scroll-snap-align:start;border-bottom:var(--border-width) solid var(--color-border)}.frame:last-of-type{border-bottom:none}.frame--surface{background:var(--color-surface)}.hero__grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:var(--space-4);align-items:center}@media (width <= 1024px){.hero__grid{grid-template-columns:1fr}}.frame--landing .hero__actions{align-items:center}.frame--landing .hero__actions .button--primary{padding:1rem 2.2rem;font-size:1.1rem;font-weight:700}.frame--landing .hero__actions .button:not(.button--primary){padding:.5rem 0;border-color:transparent;background:0 0;color:var(--color-muted);font-size:var(--font-size-small);text-decoration:underline;text-underline-offset:3px}.frame--landing .hero__actions .button:not(.button--primary):hover{border-color:transparent;color:var(--color-accent)}.hero__illustration-stage{position:relative;width:100%;max-width:34rem;margin-inline:auto;aspect-ratio:480/360}.hero__illustration{position:absolute;inset:0;width:100%;height:100%;opacity:0}.hero__illustration:first-child{opacity:1}@media (prefers-reduced-motion:no-preference){.hero__illustration{animation:hero-illustration-crossfade 20s ease-in-out infinite;animation-fill-mode:backwards}.hero__illustration:first-child{animation-delay:0s}.hero__illustration:nth-child(2){animation-delay:5s}.hero__illustration:nth-child(3){animation-delay:10s}.hero__illustration:nth-child(4){animation-delay:15s}}@keyframes hero-illustration-crossfade{0%{opacity:0}3%{opacity:1}28%{opacity:1}31%{opacity:0}100%{opacity:0}}.scroll-cue{position:absolute;left:50%;bottom:var(--space-2);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.2rem;text-decoration:none;color:var(--color-muted);font-size:var(--font-size-small)}.scroll-cue:hover{color:var(--color-accent)}.scroll-cue__icon{width:1.25rem;height:1.25rem}@media (prefers-reduced-motion:no-preference){.scroll-cue__icon{animation:scroll-cue-bounce 1.6s ease-in-out infinite}}@keyframes scroll-cue-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}.section-header{margin-bottom:var(--space-4)}.frame__layout{display:grid;grid-template-columns:1.2fr 0.8fr;gap:var(--space-4);align-items:center}.frame__layout--reverse{grid-template-columns:0.8fr 1.2fr}.frame__art{display:flex;align-items:center;justify-content:center}.frame__art svg{width:100%;max-width:22rem;height:auto}.frame__layout--reverse>.frame__art{order:-1}@media (width <= 1024px){.frame__layout,.frame__layout--reverse{grid-template-columns:1fr}.frame__layout--reverse>.frame__art{order:0}}html.frame-page .site-footer{scroll-snap-align:start}.tile-grid{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-2) var(--space-3)}.tile-grid__item{border-top:3px solid var(--color-accent);padding-top:var(--space-1)}.tile-grid__item h3{font-size:var(--font-size-h3);margin:0 0 .3rem}.tile-grid__item p{margin:0;color:var(--color-muted)}.approach-steps{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--space-3);counter-reset:approach}.approach-steps li{counter-increment:approach;border-top:3px solid var(--color-accent);padding-top:var(--space-1)}.approach-steps li::before{content:counter(approach,decimal-leading-zero);display:block;font-family:var(--font-mono);color:var(--color-accent);font-size:var(--font-size-small);margin-bottom:.3rem}.approach-steps h3{font-size:var(--font-size-h3);margin:0 0 .3rem}.approach-steps p{margin:0;color:var(--color-muted)}.contact-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:var(--space-4)}@media (width <= 1024px){.contact-grid{grid-template-columns:1fr}}.contact-details dt{font-weight:600;color:var(--color-text);margin-top:var(--space-2)}.contact-details dd{margin:0;color:var(--color-muted)}.policy-section{padding-block:var(--space-2)}.policy-section h2{margin-bottom:.4rem}