:root{--paper:#f3f1ec;--ink:#141312;--muted:#6f6a63;--line:#14131229;--accent:#7a2a1d;--bg:var(--paper);--fg:var(--ink);--fg-muted:var(--muted);--rule:var(--line);--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--pad:clamp(16px, 2.6vw, 36px);--gap:clamp(12px, 1.6vw, 24px);--header-h:84px;--fs-label:12px;--fs-body:clamp(16px, 1.05vw + 10px, 19px);--fs-lead:clamp(20px, 1.6vw + 10px, 30px);--fs-h2:clamp(34px, 4.4vw + 8px, 84px);--fs-hero:clamp(40px, 6.4vw + 6px, 128px);--ease:cubic-bezier(.2, .7, .1, 1)}[data-theme=dark]{--bg:#0e0c0a;--fg:#ece6dc;--fg-muted:#948b7f;--rule:#ece6dc29}@view-transition{navigation:auto}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45;overflow-x:hidden}img,picture{max-width:100%;height:auto;display:block}picture img{width:100%}a{color:inherit;text-decoration:none}p{margin:0 0 1em}h1,h2,h3{letter-spacing:-.025em;margin:0;font-weight:400;line-height:.95}::selection{background:var(--fg);color:var(--bg)}:focus-visible{outline-offset:3px;outline:1.5px solid}.label{font-size:var(--fs-label);letter-spacing:.03em;text-transform:uppercase;line-height:1.35}.muted{color:var(--fg-muted)}.kicker{color:var(--fg-muted);margin:0 0 1.2rem}.wrap{padding-inline:var(--pad)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{z-index:100;background:var(--fg);color:var(--bg);padding:8px 12px;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(18px)}.js [data-reveal].is-in{opacity:1;transform:none}.site-header{z-index:50;height:var(--header-h);align-items:center;gap:var(--gap);padding-inline:var(--pad);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(10px);letter-spacing:-.005em;grid-template-columns:1fr auto 1fr;font-size:15px;font-weight:700;display:grid;position:sticky;top:0}.brand{letter-spacing:-.02em;justify-self:start;font-size:clamp(19px,1.3vw + 6px,24px)}.site-header .role{color:var(--fg-muted);font-weight:400}.site-header nav{justify-self:end;gap:clamp(14px,2vw,28px);display:flex}.site-header nav a{position:relative}.site-header nav a:after{content:"";transform-origin:0;height:2px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{transform:scaleX(1)}.site-header .lang{color:var(--fg-muted)}@media (width<=760px){.site-header{grid-template-columns:1fr auto}.site-header .role,.hide-s{display:none}}.site-footer{border-top:1px solid var(--rule);margin-top:clamp(80px,12vw,200px)}.footer-main{padding:clamp(48px, 8vw, 120px) var(--pad) clamp(40px, 6vw, 80px)}.footer-cta{letter-spacing:-.05em;align-items:baseline;gap:.2em;font-size:clamp(64px,13vw,220px);font-weight:700;line-height:.9;display:inline-flex}.footer-cta span[aria-hidden]{transition:transform .5s var(--ease);font-size:.6em;font-weight:400}.footer-cta:hover span[aria-hidden]{transform:translate(.2em)}.footer-grid{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(32px,5vw,64px) 0 0;display:grid}.footer-grid dt{color:var(--fg-muted);margin-bottom:6px}.footer-grid dd{overflow-wrap:anywhere;margin:0}.footer-grid a{border-bottom:1px solid var(--rule);transition:border-color .3s}.footer-grid a:hover{border-color:currentColor}.footer-bottom{padding:18px var(--pad) 22px;border-top:1px solid var(--rule);color:var(--fg-muted)}@media (width<=640px){.footer-grid{grid-template-columns:1fr}}.link-arrow{border-bottom:1px solid;align-items:center;gap:.5em;padding-bottom:2px;font-weight:700;display:inline-flex}.link-arrow span{transition:transform .4s var(--ease)}.link-arrow:hover span{transform:translate(4px)}.rule{border:0;border-top:1px solid var(--rule);margin:0}
