:root{--navy:#1b2b4a;--navy-deep:#0f1b30;--warm-white:#f7f3f0;--civic-gold:#d4a84b;--gold-muted:#d4a84b66;--text-dim:#f7f3f073;--text-ghost:#f7f3f059;--rule-light:#f7f3f00f;--font-display:"Source Serif 4",Georgia,serif;--font-body:"Inter",-apple-system,system-ui,sans-serif;--page-pad:clamp(32px,6vw,120px);--ease:cubic-bezier(.16,1,.3,1);--dur-slow:.7s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px}body{font-family:var(--font-body);color:var(--warm-white);background:var(--navy-deep);overflow-x:hidden}body:after{content:"";z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:inherit}.frame{scroll-snap-align:start;min-height:100svh;position:relative;overflow:hidden}.frame--solid{background:var(--navy-deep)}.frame__bg{object-fit:cover;object-position:center;z-index:0;will-change:transform;width:100%;height:100%;transition:transform 12s;position:absolute;inset:0;transform:scale(1)}.frame:has(.visible)>.frame__bg{transform:scale(1.08)}.frame__bg--f7{transform:scale(1.15)}.frame:has(.visible)>.frame__bg--f7{transform:scale(1.23)}.frame__bg--contain{object-fit:contain;background:var(--navy-deep)}.frame__scrim{background:linear-gradient(#0f1b3059 0%,#0f1b30b3 50%,#0f1b30eb 100%);position:absolute;inset:0}.frame__scrim--heavy{background:linear-gradient(#0f1b3073 0%,#0f1b30bf 40%,#0f1b30f2 100%)}.frame__scrim--light{background:linear-gradient(#0f1b300d 0%,#0f1b3026 50%,#0f1b30b3 100%)}.frame--interstitial{aspect-ratio:16/9;background:var(--navy-deep);scroll-snap-align:start;min-height:auto}.frame--interstitial .frame__bg{object-fit:contain}.frame--interstitial .frame__content{aspect-ratio:16/9;min-height:auto}.interstitial__client{font-family:var(--font-display);color:var(--warm-white);margin-bottom:4px;font-size:clamp(1rem,2vw,1.375rem);font-weight:400}.interstitial__role{font-family:var(--font-body);color:var(--civic-gold);letter-spacing:.02em;font-size:clamp(.75rem,1.2vw,.875rem);font-weight:300}.frame--interstitial .frame__content--bottom-right{text-align:right;justify-content:flex-end;align-items:flex-end;padding-bottom:clamp(24px,4vh,48px)}.frame__content{z-index:2;min-height:100svh;padding:var(--page-pad);flex-direction:column;display:flex;position:relative}.frame__content--bottom{justify-content:flex-end;padding-bottom:clamp(48px,8vh,120px)}.frame__content--bottom-left{justify-content:flex-end;align-items:flex-start;max-width:800px;padding-bottom:clamp(48px,8vh,100px)}.frame__content--center{text-align:center;justify-content:center;align-items:center;max-width:800px;margin:0 auto}.frame__content--center-wide{text-align:center;justify-content:center;align-items:center;max-width:680px;margin:0 auto}.frame__content--bottom-right-text{text-align:left;justify-content:flex-end;align-items:flex-start;max-width:700px;margin-left:auto;padding-bottom:clamp(48px,8vh,100px)}.frame--split{grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.frame--split .frame__bg{grid-area:1/1;position:relative}.frame--split .frame__split-content{padding:var(--page-pad);background:var(--navy-deep);flex-direction:column;grid-area:1/2;justify-content:flex-end;padding-bottom:clamp(48px,8vh,100px);display:flex}@media (max-width:768px){.frame--split{grid-template-columns:1fr}.frame--split .frame__bg{aspect-ratio:16/9}}.frame__kicker{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--civic-gold);margin-bottom:24px;font-size:.6875rem;font-weight:500}.frame__display{font-family:var(--font-display);letter-spacing:-.025em;color:var(--warm-white);text-wrap:balance;margin-bottom:32px;font-size:clamp(2.25rem,5.5vw,4rem);font-weight:700;line-height:1.12}.frame__display--mid{letter-spacing:-.015em;font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.3}.frame__body{font-family:var(--font-display);color:#f7f3f0b3;max-width:50ch;margin-bottom:24px;font-size:clamp(1rem,1.8vw,1.1875rem);font-weight:300;line-height:1.75}.frame__body--accent{font-family:var(--font-body);color:var(--civic-gold);font-size:clamp(.875rem,1.4vw,1rem);font-weight:400;line-height:1.7}.frame__caption{font-family:var(--font-body);color:var(--text-dim);letter-spacing:.01em;font-size:clamp(.8125rem,1.3vw,.9375rem);font-weight:400}.frame__author{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-size:.75rem;font-weight:300}.frame__caption--hero{color:var(--text-ghost);max-width:36ch;margin-top:24px;font-size:clamp(.6875rem,1.1vw,.8125rem);line-height:1.6}.frame__kicker--gold{color:var(--civic-gold);letter-spacing:.06em;margin-bottom:40px;font-size:clamp(.875rem,1.5vw,1rem)}.ticker{z-index:1;width:100%;padding:16px 0;position:relative;overflow:hidden}.ticker__track{gap:24px;width:max-content;animation:180s linear infinite ticker-scroll;display:flex}.ticker__track:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker__track{animation:none;overflow-x:auto}}.agency-card{text-align:center;background:#f7f3f00a;border:1px solid #d4a84b1f;border-radius:12px;flex-shrink:0;width:400px;padding:120px 30px;transition:border-color .3s,background .3s}.agency-card:hover{background:#f7f3f012;border-color:#d4a84b59}.agency-card__domain{font-family:var(--font-display);color:var(--warm-white);margin-bottom:10px;font-size:1.5625rem;font-weight:400}.agency-card__mandate{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:10px;font-size:1rem;font-weight:400}.agency-card__citizen{font-family:var(--font-body);color:var(--civic-gold);font-size:1.125rem;font-style:italic;font-weight:300;line-height:1.4}.framework__punchline{text-align:center;max-width:36ch;margin:0 auto}.frame__content--bottom-center{padding:var(--page-pad);padding-bottom:calc(var(--page-pad) + env(safe-area-inset-bottom));z-index:2;justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.close__reveal{font-family:var(--font-display);color:var(--warm-white);margin-bottom:32px;font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;line-height:1.3}.close__explain{font-family:var(--font-body);color:var(--text-dim);max-width:40ch;margin-bottom:clamp(64px,10vh,120px);font-size:clamp(.8125rem,1.3vw,.9375rem);font-weight:300;line-height:1.75}.close__contact{border-top:1px solid var(--rule-light);padding-top:32px}.close__warmth{font-family:var(--font-display);color:var(--text-dim);text-align:center;margin-bottom:40px;font-size:clamp(.9375rem,1.5vw,1.0625rem);font-style:italic;font-weight:300}.close__trigger{font-family:var(--font-body);color:var(--civic-gold);max-width:32ch;margin-top:40px;font-size:clamp(.8125rem,1.3vw,.9375rem);font-weight:400;line-height:1.7}.close__name{font-family:var(--font-display);color:var(--warm-white);margin-bottom:8px;font-size:1.125rem;font-weight:400}.close__proof{font-family:var(--font-body);color:var(--text-dim);max-width:28ch;margin-bottom:16px;font-size:.75rem;font-weight:300;line-height:1.6}.close__email{font-family:var(--font-body);color:var(--civic-gold);border-bottom:1px solid var(--gold-muted);transition:border-color .15s var(--ease);padding-bottom:2px;font-size:.8125rem;font-weight:400;text-decoration:none}.close__email:hover{border-color:var(--civic-gold)}.close__risd{font-family:var(--font-body);letter-spacing:.06em;color:var(--text-ghost);margin-top:24px;font-size:.6875rem;font-weight:300}.reveal{opacity:0;transition:opacity var(--dur-slow)var(--ease),transform var(--dur-slow)var(--ease);transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}@media (max-width:768px){.frame__content--center,.frame__content--bottom-left{max-width:100%}.frame__display--mid{font-size:clamp(1.25rem,5vw,1.75rem)}.ticker{width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow:hidden;-webkit-transform:translateZ(0)}.ticker__track{gap:16px;width:max-content;padding-left:16px;animation:80s linear infinite ticker-scroll;display:flex}.agency-card{width:260px;padding:48px 20px}.agency-card__domain{font-size:1.125rem}.agency-card__mandate{font-size:.75rem}.agency-card__citizen{font-size:.9375rem}#f5{padding:80px 0;aspect-ratio:auto!important;gap:32px!important;height:auto!important;min-height:100svh!important}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.frame__bg{transition:transform 8s}html{scroll-behavior:auto;scroll-snap-type:none}}@media print{.frame{page-break-after:always;min-height:auto}.frame__bg{height:auto;max-height:50vh;position:relative}.frame__scrim{display:none}.frame__content{min-height:auto}.reveal{opacity:1;transform:none}body{color:#000;background:#fff}}:focus-visible{outline:2px solid var(--civic-gold);outline-offset:4px}.video-sound-toggle{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;transition:color .2s,border-color .2s,background .2s;display:flex;position:absolute;bottom:24px;left:24px}.video-sound-toggle:hover{color:#ffffffe6;background:#ffffff1f;border-color:#ffffff80}.frame__credit{top:16px;right:var(--page-pad);z-index:3;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--text-ghost);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.5625rem;font-weight:400;position:absolute}.frame--portrait .frame__bg--desaturated{filter:grayscale(35%)contrast(1.05);object-position:center 20%}.frame--portrait .frame__scrim--light{background:linear-gradient(#0f1b3000 30%,#0f1b3066 60%,#0f1b30d9 100%)}.frame--portrait .frame__content--bottom-left{color:var(--warm-white)}.frame--portrait .frame__kicker{color:var(--civic-gold)}.frame__body--dark{color:var(--warm-white);opacity:.9}
