/* source: css/tokens.css */
/* Design tokens: the only place where colours, type steps, spacing, widths, radii and easings are defined.
   Component sheets consume these variables; project-specific visuals declare local variables of their own. */
@font-face{font-family:Manrope;src:url('/assets/manrope-regular.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Manrope;src:url('/assets/manrope-bold.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Unbounded;src:url('/assets/unbounded.woff2') format('woff2');font-weight:500 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
 color-scheme:dark;
 /* Surfaces */
 --paper:#070809;
 --surface:#111217;
 --surface-2:#181818;
 --surface-deep:#0d0f14;
 --surface-tint:color-mix(in srgb,var(--paper) 92%,var(--spectrum-violet));
 --grain:linear-gradient(#070809cc,#070809cc),url('/assets/fine-grain.svg');
 /* Ink, from the brightest reading text to the faintest metadata */
 --ink:#f5f2e9;
 --ink-soft:#d3d1cb;
 --ink-mute:#c9c6c0;
 --muted:#bcbab5;
 --muted-soft:#96969c;
 --muted-faint:#85878d;
 --ink-violet:#b9a1ff;
 --white:#fff;
 /* Rules and borders */
 --line:#ffffff26;
 --line-soft:#ffffff1c;
 --line-solid:#484a51;
 --line-strong:#ffffff36;
 --surface-glass:#ffffff06;
 --line-bright:#ffffff55;
 --ui-rule:2px;
 --scrollbar-thumb:#626875;
 /* Shadows */
 --shadow-soft:#0005;
 --shadow:#0008;
 --shadow-deep:#000a;
 --shadow-text:0 1px 7px #080612b8;
 /* Halos behind case media, and the backdrop of the lightbox */
 --glow-case:color-mix(in srgb,var(--spectrum-blue) 15%,transparent);
 --glow-pixai:color-mix(in srgb,var(--spectrum-violet) 46%,transparent);
 --scrim:rgb(0 0 0 / .87);
 /* The one spectrum, as visible on the header edge, the footer and the rules */
 --spectrum-blue:#5288ff;
 --spectrum-violet:#aa70ff;
 --spectrum-pink:#f347a0;
 --spectrum-apricot:#ff9752;
 --spectrum-cyan:#35d8ef;
 --spectrum-linear:linear-gradient(90deg,var(--spectrum-blue),var(--spectrum-violet) 30%,var(--spectrum-pink) 52%,var(--spectrum-apricot) 74%,var(--spectrum-cyan));
 --spectrum-vertical:linear-gradient(180deg,var(--spectrum-blue),var(--spectrum-violet) 30%,var(--spectrum-pink) 52%,var(--spectrum-apricot) 74%,var(--spectrum-cyan));
 --spectrum-conic:conic-gradient(from 25deg,var(--spectrum-blue),var(--spectrum-violet) 18%,var(--spectrum-pink) 38%,var(--spectrum-apricot) 57%,var(--spectrum-apricot) 64%,var(--spectrum-cyan) 78%,var(--spectrum-violet) 90%,var(--spectrum-blue));
 /* Actions: the same spectrum, lifted towards white so the liquid surfaces stay luminous on dark ink */
 --ui-spectrum-blue:color-mix(in srgb,var(--spectrum-blue) 82%,var(--white));
 --ui-spectrum-violet:color-mix(in srgb,var(--spectrum-violet) 82%,var(--white));
 --ui-spectrum-pink:color-mix(in srgb,var(--spectrum-pink) 82%,var(--white));
 --ui-spectrum-apricot:color-mix(in srgb,var(--spectrum-apricot) 82%,var(--white));
 --ui-spectrum-cyan:color-mix(in srgb,var(--spectrum-cyan) 82%,var(--white));
 --ui-spectrum-linear:linear-gradient(90deg,var(--ui-spectrum-blue),var(--ui-spectrum-violet) 22%,var(--ui-spectrum-pink) 45%,var(--ui-spectrum-apricot) 67%,var(--ui-spectrum-cyan) 84%,var(--ui-spectrum-blue));
 --ui-spectrum-vertical:linear-gradient(180deg,var(--ui-spectrum-blue),var(--ui-spectrum-violet) 22%,var(--ui-spectrum-pink) 45%,var(--ui-spectrum-apricot) 67%,var(--ui-spectrum-cyan) 84%,var(--ui-spectrum-blue));
 --ui-action-spectrum:conic-gradient(from 25deg,var(--ui-spectrum-blue),var(--ui-spectrum-violet) 18%,var(--ui-spectrum-pink) 38%,var(--ui-spectrum-apricot) 57%,var(--ui-spectrum-apricot) 64%,var(--ui-spectrum-cyan) 78%,var(--ui-spectrum-violet) 90%,var(--ui-spectrum-blue));
 --ui-action-bg:#121316;
 --ui-action-ink:var(--ink);
 --ui-action-muted:#c8c5cb;
 --ui-action-border:#ffffff35;
 --ui-action-focus:color-mix(in srgb,var(--spectrum-violet) 62%,var(--white));
 --ui-action-hover-bg:color-mix(in srgb,var(--spectrum-violet) 7%,transparent);
 --focus-ring:var(--spectrum-violet);
 /* Type: six display steps, then the reading and interface sizes */
 --text-display:clamp(3.5rem,9.5vw,8.6rem);
 --text-hero:clamp(2.7rem,6.6vw,6rem);
 --text-title:clamp(2.8rem,5vw,4.5rem);
 --text-heading:clamp(1.8rem,3.7vw,3.3rem);
 --text-subheading:clamp(1.75rem,3vw,2.7rem);
 --text-small:clamp(1.5rem,2.5vw,2.25rem);
 --text-lead-l:18px;
 --text-lead:17px;
 --text-body:16px;
 --text-body-s:15px;
 --text-ui:14px;
 --text-meta:13px;
 --text-caption:12px;
 --text-micro:11px;
 --font-display:Unbounded,Manrope,sans-serif;
 --font-text:Manrope,Arial,sans-serif;
 /* Weights: Manrope is served in 400 and 700 only (regular, bold); Unbounded covers 500 to 900 */
 --weight-regular:400;
 --weight-medium:500;
 --weight-semibold:600;
 --weight-display:650;
 --weight-bold:700;
 --weight-heavy:800;
 --weight-black:900;
 /* Space */
 --gutter:clamp(20px,2.8vw,52px);
 --space-6:clamp(48px,5vw,72px);
 --space-7:clamp(96px,8vw,128px);
 --space-section:clamp(5rem,12vw,11rem);
 /* Widths */
 --width-page:1800px;
 --width-case:1600px;
 --width-read:1280px;
 --width-section:1240px;
 --width-figure:1180px;
 --width-text:980px;
 --width-narrow:740px;
 /* Radii */
 --radius-s:12px;
 --radius-m:16px;
 --radius-l:20px;
 --radius-xl:24px;
 --radius-pill:999px;
 /* Easing */
 --ease-out:cubic-bezier(.22,1,.36,1);
 --ease-soft:cubic-bezier(.16,1,.3,1);
 --ease-enter:cubic-bezier(.22,.75,.2,1);
 --ease-roll:cubic-bezier(.18,.7,.2,1);
}

/* source: css/base.css */
/* Base: reset, document background, typography defaults, utilities shared by every page. */
*{box-sizing:border-box}
html{max-width:100%;overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:30px;scrollbar-color:var(--scrollbar-thumb) var(--paper)}
body{margin:0;max-width:none;overflow-x:hidden;overflow-x:clip;isolation:isolate;background-color:var(--paper);background-image:var(--grain);background-size:100vw 100vh;background-repeat:no-repeat;background-attachment:fixed;color:var(--ink);font-family:var(--font-text);font-size:var(--text-body);line-height:1.6}
body>main,body>.site-footer{position:relative;z-index:1;max-width:var(--width-page);margin-inline:auto}
::selection{background:var(--spectrum-apricot);color:var(--paper)}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
:is(a,button):focus-visible{outline:3px solid var(--focus-ring);outline-offset:5px}
svg{width:22px;height:22px;flex:none}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:var(--weight-bold);font-style:normal;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
p{max-width:66ch}
ul{padding-left:20px}
li{margin:10px 0}
.skip{position:absolute;top:-80px;left:20px;z-index:10;padding:12px;background:var(--spectrum-apricot);color:var(--paper)}
.skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* One punctuation component for display headings. */
.spectral-dot{display:inline-block;flex:0 0 auto;width:.145em;height:.145em;margin-left:.07em;border-radius:50%;vertical-align:.045em;overflow:visible;transform:none;background:var(--spectrum-conic);box-shadow:0 0 .12em color-mix(in srgb,var(--spectrum-violet) 40%,transparent)}
/* Section labels shared by the home and the editorial pages. */
.section-kicker{margin:0 0 1.15rem;color:var(--muted-soft);font-size:.72rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}
/* 404 */
.page-head{max-width:var(--width-read);padding:48px var(--gutter) 40px}
/* The 404 fits one 1440×900 screen: a shorter run-up to the footer. */
body:has(.page-head) .site-footer{padding-top:clamp(40px,4vw,56px)}
.page-head h1{max-width:var(--width-text);margin-bottom:22px;font-size:clamp(42px,5.8vw,78px)}
.page-head>p{max-width:52ch;font-size:var(--text-lead-l);color:var(--muted)}
@media(max-width:900px){html{scroll-padding-top:80px}}
@media(max-width:760px){
 .page-head{padding-top:40px;padding-bottom:35px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}

/* source: css/header.css */
/* Header: one sticky navigation surface on every route, its signature, the desktop links, the mobile
   disclosure menu, the spectral edge and the signal marks drawn by signal.js. */
.header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;margin:0;padding:12px max(var(--gutter),calc((100% - var(--width-page)) / 2 + var(--gutter)));border:0;background-color:var(--paper);background-image:var(--grain);background-size:100vw 100vh;background-attachment:fixed}
/* Signature: the same six letters as the hero, at header size. */
.header .brand{display:inline-flex;position:relative;flex-shrink:0;width:5.6em;min-height:40px;font:var(--weight-display) 32px/1.25 var(--font-display);letter-spacing:-.035em;text-transform:none}
.header .brand span{display:inline-block;font:inherit;letter-spacing:inherit;margin:0;vertical-align:baseline;transform-origin:center 75%}
.header .brand .brand-extra{position:absolute;top:0;opacity:1;clip-path:inset(0 100% 0 0);color:inherit;pointer-events:none}
html.prism-transfer .home .header .brand{visibility:hidden}
html.prism-transfer .home:has(.prism-hero[data-signature-state="docked"]) .header .brand{visibility:visible}
/* Desktop navigation: secondary actions with the bar modifier (buttons.css), sized here. */
.header nav{display:flex;gap:8px;margin-left:auto;font-size:var(--text-ui)}
.header .header-motion-link.ui-button{min-height:40px;padding:9px 15px}
.header .header-word{display:inline-flex;white-space:pre}
.header .header-letter{display:inline-block;transform-origin:center 75%}
.header .header-icon{display:none}
/* A thin continuous spectral edge, with a tapered crest travelling along it. */
.header::before,.header::after{content:"";position:absolute;pointer-events:none;background:var(--spectrum-linear);transform-origin:center}
.header::after{inset:auto 0 0;height:2px}
.header::before{left:32%;bottom:-2px;width:36%;height:6px;clip-path:ellipse(50% 50% at 50% 50%)}
@keyframes signal-edge-drift{0%,100%{transform:scaleY(.35)}38%{transform:scaleY(1.2)}72%{transform:scaleY(.85)}}
@keyframes signal-edge-crest{0%,100%{transform:translateX(-65%) scaleY(.35)}32%{transform:translateX(-10%) scaleY(1.05)}68%{transform:translateX(65%) scaleY(.75)}}
@media(prefers-reduced-motion:no-preference){
 .header::after{animation:signal-edge-drift 7s ease-in-out infinite}
 .header::before{animation:signal-edge-crest 11s ease-in-out infinite}
}
.signal-motion-stopped .header::before,.signal-motion-stopped .header::after,.header[data-motion-stopped]::before,.header[data-motion-stopped]::after{animation-play-state:paused}
body.liquid-transferring .header::before,body.liquid-transferring .header::after{visibility:hidden;animation-play-state:paused}
/* Signal marks: clipped glyph pieces over the signature, sparse registration marks over the page. */
.signal-layer,.signal-residue{position:fixed;inset:0;pointer-events:none;overflow:clip}
.signal-layer{z-index:21}
.signal-fragment{position:absolute;display:block;white-space:pre;margin:0;padding:0;transform-origin:0 0}
.signal-residue{z-index:2;--mark:color-mix(in srgb,var(--ink-soft) 80%,var(--spectrum-violet))}
.signal-residue i{display:block;position:absolute;opacity:0;pointer-events:none}
.signal-grid-fragment{background:var(--mark)}
.signal-registration{width:13px;height:13px}
.signal-registration::before,.signal-registration::after{content:"";position:absolute;background:var(--mark)}
.signal-registration::before{width:13px;height:1px;top:6px;left:0}
.signal-registration::after{width:1px;height:13px;left:6px;top:0}
.signal-remnant{width:12px;height:2px;background:var(--spectrum-linear);mask-image:linear-gradient(90deg,var(--white) 28%,transparent 28% 50%,var(--white) 50%);box-shadow:5px 4px 0 -0.5px color-mix(in srgb,var(--ink-violet) 33%,transparent)}
/* Mobile: a native disclosure replaces the bar below 900px. */
.mobile-navigation{display:none}
@media(max-width:900px){
 .header{height:64px;min-height:64px;padding-block:10px;gap:16px}
 .header .brand{font-size:27px;min-height:34px}
 .header>nav,.header>.contact-link{display:none}
 .header:has(.mobile-navigation[open]){z-index:40}
 .mobile-navigation{display:block;margin-left:auto}
 .mobile-navigation:not([open])>.mobile-menu{display:none}
 .header .mobile-navigation>summary.ui-button{display:flex;min-width:88px;min-height:44px;padding:9px 13px;list-style:none;user-select:none}
 .mobile-navigation>summary::-webkit-details-marker{display:none}
 .mobile-navigation>summary::marker{content:''}
 .burger-mark{position:relative;display:block;width:23px;height:18px}
 .burger-mark::before,.burger-mark::after{content:'';position:absolute;left:0;top:5px;width:23px;height:2px;background:currentColor;border-radius:1px;transition:transform 220ms var(--ease-out)}
 .burger-mark::after{top:12px}
 .mobile-navigation[open] .burger-mark::before{transform:translateY(3.5px) rotate(45deg)}
 .mobile-navigation[open] .burger-mark::after{transform:translateY(-3.5px) rotate(-45deg)}
 .mobile-menu{position:absolute;top:100%;left:0;right:0;padding:24px var(--gutter) 30px;max-height:calc(100dvh - 64px);overflow:auto;overscroll-behavior:contain;background-color:var(--paper);background-image:var(--grain);background-size:100vw 100vh;background-attachment:fixed;border-bottom:1px solid var(--line);box-shadow:0 20px 28px var(--shadow)}
 .header .mobile-menu nav{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:5px;margin:0;padding:0}
 .header .mobile-menu a.ui-button{display:block;width:fit-content;min-height:48px;margin-block:3px;padding:11px 18px}
 .header .mobile-menu .mobile-contact.ui-button{margin-top:18px;font-size:var(--text-body)}
}
@media(prefers-reduced-motion:reduce){.signal-layer,.signal-residue{display:none}.burger-mark::before,.burger-mark::after{transition:none}}
@media(forced-colors:active){.signal-residue,.header::before,.header::after{display:none}}

/* source: css/buttons.css */
/* Actions: primary, secondary and tertiary. The HTML declares the role (ui-button, ui-button--<variant>,
   data-ui-action); liquid-buttons.js only adds the moving surface. Page sheets set size and placement,
   never the palette, the radius, the fill, the type or the glow. */
body :is(a,button,span,summary).ui-button{
 position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;
 width:fit-content;max-width:100%;min-height:46px;padding:11px 22px;
 border:0;border-radius:var(--radius-pill);background:var(--ui-action-bg);
 box-shadow:inset 0 0 0 1px var(--ui-action-border);color:var(--ui-action-ink);
 font:var(--weight-bold) var(--text-ui)/1.4 var(--font-text);letter-spacing:0;text-align:center;text-decoration:none;
 text-shadow:none;filter:none;cursor:pointer;overflow:visible;vertical-align:middle;-webkit-tap-highlight-color:transparent;
}
body .ui-button::before,body .ui-button::after{content:none}
body .ui-button[hidden]{display:none}
body .ui-button:disabled{opacity:.4;cursor:default}
body .ui-button:focus-visible{outline:2px solid var(--ui-action-focus);outline-offset:5px}
body .ui-button:active{transform:scale(.98)}
body :is(a,button,span,summary).ui-button.ui-button--primary{min-height:52px;padding:14px 26px;color:var(--white);font-size:var(--text-body);text-shadow:var(--shadow-text)}
body .ui-button--primary:is(:hover,:focus-visible,:active){color:var(--white);text-shadow:var(--shadow-text)}
body .ui-button--secondary:is(:hover,:focus-visible,:active){color:var(--ui-action-ink)}
.liquid-label{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:10px;pointer-events:none;transition:color 150ms ease}
body :is(a,button,span,summary).ui-button--primary .liquid-label{color:var(--white)}
.liquid-skin{position:absolute;inset:-2px;overflow:hidden;border-radius:inherit;pointer-events:none}
.liquid-reveal{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.liquid-colour{position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;background:var(--ui-action-spectrum);transform:translate(-50%,-50%);animation:liquid-colour 6s linear infinite;animation-play-state:paused}
.liquid-aura{position:absolute;inset:-2px;pointer-events:none;filter:blur(5px);opacity:.42;transition:opacity 180ms ease,filter 180ms ease,transform 180ms ease}
.ui-button--secondary .liquid-skin{padding:3px;-webkit-mask:linear-gradient(var(--white) 0 0) content-box,linear-gradient(var(--white) 0 0);-webkit-mask-composite:xor;mask:linear-gradient(var(--white) 0 0) content-box,linear-gradient(var(--white) 0 0);mask-composite:exclude}
.ui-button--secondary .liquid-reveal{-webkit-mask-image:conic-gradient(from calc(-180deg * var(--liquid-fill,0)),var(--white) 0deg calc(360deg * var(--liquid-fill,0)),transparent 0deg);mask-image:conic-gradient(from calc(-180deg * var(--liquid-fill,0)),var(--white) 0deg calc(360deg * var(--liquid-fill,0)),transparent 0deg)}
.ui-button--secondary:not(.is-fed) .liquid-skin{visibility:hidden}
.ui-button--primary{--liquid-fill:1}
.ui-button--primary .liquid-aura{inset:-4px;filter:blur(7px);opacity:.2}
.ui-button--primary:is(:hover,:focus-visible) .liquid-aura{opacity:.48;filter:blur(10px);transform:scale(1.035)}
.liquid-button.is-fed .liquid-colour{will-change:transform;animation-play-state:running}
.ui-button--primary:is(:hover,:focus-visible) .liquid-colour{animation-play-state:running}
body:is(.liquid-document-hidden,.signal-motion-stopped) :is(.liquid-button,.hero-project-link) .liquid-skin .liquid-colour{animation-play-state:paused}
.liquid-flight{position:fixed;inset:0;width:100%;height:100%;z-index:41;pointer-events:none}
@keyframes liquid-colour{to{transform:translate(-50%,-50%) rotate(360deg)}}
body :is(a,button,span).ui-button--tertiary{
 min-height:44px;padding:8px 10px;border:0;border-radius:var(--radius-s);background:transparent;
 box-shadow:none;color:var(--ui-action-muted);font-size:var(--text-meta);font-weight:var(--weight-regular);text-align:left;
 transition:color 140ms ease,background-color 140ms ease;
}
body .ui-button--tertiary:is(:hover,:focus-visible,:active){color:var(--ink);background:var(--ui-action-hover-bg);box-shadow:none;text-shadow:none;filter:none}
/* Secondary actions of the header: `--bar` for the desktop links, `--menu` for the mobile disclosure.
   They drop the fill and the ring at rest; the current page keeps a bright ring. header.css sets size and position. */
body .ui-button:is(.ui-button--bar,.ui-button--menu){background:transparent;box-shadow:none;text-shadow:none}
body .ui-button.ui-button--bar{font-size:var(--text-meta);font-weight:var(--weight-bold)}
body .ui-button.ui-button--menu{font:var(--weight-display) 20px/1.3 var(--font-display);letter-spacing:-.03em}
body .ui-button:is(.ui-button--bar,.ui-button--menu)[aria-current=page]{box-shadow:inset 0 0 0 1px var(--line-bright)}
body .ui-button.ui-button--menu[aria-current=page]{color:var(--spectrum-violet)}
@media(prefers-reduced-motion:reduce){
 .ui-button,.liquid-skin,.liquid-label,.liquid-aura{transition:none!important}
 .liquid-colour{animation:none!important}
 body .ui-button:active{transform:none}
}
@media(forced-colors:active){
 body .ui-button{border:1px solid ButtonText!important;color:ButtonText;text-shadow:none}
 .liquid-skin,.liquid-aura,.liquid-flight{display:none}
}

/* source: css/footer.css */
/* Footer: the only footer, rendered by the shell on every public page. */
.site-footer{position:relative;isolation:isolate;overflow:hidden;width:100%;padding:clamp(64px,7vw,108px) var(--gutter) 30px;background:transparent;border-top:var(--ui-rule) solid transparent;border-image:var(--spectrum-linear) 1;color:var(--ink)}
.site-footer::before{content:"";position:absolute;z-index:-1;right:-8%;top:-45%;width:clamp(260px,32vw,560px);aspect-ratio:1;border-radius:50%;background:var(--spectrum-conic);filter:blur(80px);opacity:.1;pointer-events:none}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:clamp(28px,6vw,96px);padding-bottom:clamp(52px,6vw,88px)}
.footer-main p{max-width:16ch;margin:0;font:var(--weight-black) clamp(32px,4.5vw,76px)/1.03 var(--font-display);letter-spacing:-.055em;text-transform:uppercase}
.footer-main>.ui-button{flex-shrink:0;align-self:center;margin:0}
.footer-bottom{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;border:0;color:var(--muted);font-size:var(--text-caption)}
.footer-bottom::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--ui-rule);background:var(--line-strong);mask-image:linear-gradient(90deg,var(--white),transparent 70%)}
/* Compact footer of the contact page: no call to action, the bottom line sits under the spectrum rule. */
.site-footer--compact{padding-top:30px}
.site-footer--compact .footer-bottom{padding-top:0}
.site-footer--compact .footer-bottom::before{content:none}
@media(max-width:760px){
 .footer-main{display:block}
 .footer-main p{font-size:clamp(26px,9vw,45px)}
 .footer-main>.ui-button{margin-top:24px}
 .footer-bottom{justify-content:flex-start;gap:14px 20px}
}
