@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_49d68c{font-family:Playfair Display,Playfair Display Fallback}.__variable_49d68c{--f-display:"Playfair Display","Playfair Display Fallback"}@font-face{font-family:Lato;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/9ce3050912c26948-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/155cae559bbd1a77-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cce080f35d014443-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4de1fea1a954a5b6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/39969fcf98a3026e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d664cce900333ee-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato Fallback;src:local("Arial");ascent-override:101.03%;descent-override:21.80%;line-gap-override:0.00%;size-adjust:97.69%}.__className_c9deaa{font-family:Lato,Lato Fallback;font-style:normal}.__variable_c9deaa{--f-body:"Lato","Lato Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_a3cc63{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_a3cc63{--f-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--ink:#0d0d0e;--graphite:#151517;--panel:#1c1c1f;--panel-2:#232327;--line:#2b2b30;--silver:#c9c9cf;--silver-hi:#f1f1f4;--silver-lo:#8d8d96;--text:#dedee3;--live:#7fe0a6;--alert:#ff8a7a;--s-xs:.75rem;--s-sm:.875rem;--s-md:1.0625rem;--s-lg:1.3rem;--s-xl:clamp(2rem,4.4vw,3.4rem);--s-hero:clamp(2.8rem,8vw,7rem);--ease:cubic-bezier(.22,1,.36,1);--radius:6px;--gutter:max(16px,env(safe-area-inset-left,0px));--gutter-r:max(16px,env(safe-area-inset-right,0px));color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--text);font:400 var(--s-md)/1.65 var(--f-body),Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body,body:before{background:var(--ink)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:60}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--silver);outline-offset:3px;border-radius:2px}::selection{background:var(--silver-hi);color:var(--ink)}.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}.mono{font-family:var(--f-mono),ui-monospace,Menlo,monospace;font-size:var(--s-xs);letter-spacing:.02em;color:var(--silver-lo)}.display{font-family:var(--f-display),Georgia,serif;font-weight:400;color:var(--silver-hi);letter-spacing:-.015em;text-wrap:balance}.silver{background:linear-gradient(100deg,#8b8b93,#f6f6f8 22%,#a9a9b1 40%,#ffffff 55%,#8b8b93 75%,#dcdce2);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s var(--ease) infinite}@keyframes sheen{0%,to{background-position:100% 0}50%{background-position:0 0}}.eyebrow{display:inline-flex;align-items:center;gap:.6em;font:500 var(--s-xs)/1.4 var(--f-mono),monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--silver-lo)}.dot{width:8px;height:8px;border-radius:50%;background:var(--live);animation:pulse 2.4s infinite;flex:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(127,224,166,.55)}70%{box-shadow:0 0 0 10px rgba(127,224,166,0)}to{box-shadow:0 0 0 0 rgba(127,224,166,0)}}.btn{--bg:var(--silver-hi);--fg:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:1em 1.6em;border-radius:999px;border:1px solid var(--silver-hi);background:var(--bg);color:var(--fg);font:700 var(--s-xs)/1 var(--f-body),sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),opacity .2s}.btn-ghost,.btn:hover{--bg:transparent;--fg:var(--silver-hi)}.btn-ghost{border-color:var(--line)}.btn-ghost:hover{--bg:var(--silver-hi);--fg:var(--ink);border-color:var(--silver-hi)}.btn-sm{padding:.8em 1.2em;font-size:.6875rem}.btn[disabled]{opacity:.5;pointer-events:none}.link-arrow{display:inline-flex;gap:.5rem;align-items:center;font:500 var(--s-xs)/1 var(--f-mono),monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--silver-hi)}.link-arrow:hover{text-decoration:underline;text-underline-offset:5px}.topbar{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:50;border-bottom:1px solid transparent;transition:background .4s var(--ease),border-color .4s var(--ease)}.topbar.scrolled{background:rgba(13,13,14,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}.topbar-inner{gap:1.5rem;padding-block:1rem}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:.7rem;margin-right:auto}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--silver-lo)}.brand-mark,.brand-text{font:500 1.05rem/1 var(--f-display),serif;color:var(--silver-hi)}.brand-text{letter-spacing:.12em}.brand-text em{font-size:.85em;letter-spacing:.02em;color:var(--silver-lo)}.nav{display:flex;gap:2rem}.nav a{font-size:var(--s-sm);color:var(--silver-lo);position:relative;transition:color .3s}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--silver-hi);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.nav a:hover,.nav a[aria-current=page]{color:var(--silver-hi)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.menu-btn{display:none;width:40px;height:40px;position:relative}.menu-btn span{position:absolute;left:9px;right:9px;height:1px;background:var(--silver-hi);transition:transform .4s var(--ease)}.menu-btn span:first-child{top:16px}.menu-btn span:last-child{top:23px}.menu-btn[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}@media (max-width:860px){.topbar .btn{display:none}.menu-btn{display:block}.nav{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:1.4rem;padding:calc(80px + env(safe-area-inset-top, 0px)) var(--gutter-r) 40px var(--gutter);background:var(--ink);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}.nav.open{opacity:1;visibility:visible}.nav a{font:400 2.4rem/1.1 var(--f-display),serif;color:var(--silver-hi)}}.cursor{display:none}@media (pointer:fine){.cursor{display:grid;place-items:center;position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:14px;height:14px;border-radius:50%;border:1px solid var(--silver-hi);mix-blend-mode:difference;transition:width .35s var(--ease),height .35s var(--ease),background .35s var(--ease)}.cursor span{font:700 .625rem/1 var(--f-body),sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .2s}.cursor.hover{width:44px;height:44px}.cursor.hover,.cursor.view{background:var(--silver-hi)}.cursor.view{width:88px;height:88px;mix-blend-mode:normal}.cursor.view span{opacity:1}}.section{padding-block:clamp(4.5rem,9vw,8rem)}.section-alt{background:var(--graphite)}.section-head{display:grid;grid-gap:.9rem;gap:.9rem;max-width:48rem}.section-head,.section-head-row{margin-bottom:clamp(2rem,4vw,3.4rem)}.section-head-row{display:flex;align-items:end;justify-content:space-between;gap:2rem;flex-wrap:wrap}.section-title{font-size:var(--s-xl);line-height:1.08}.lead{color:var(--silver-lo);max-width:40rem;font-size:var(--s-lg);font-weight:300;line-height:1.55}.hero{position:relative;overflow:hidden;padding-block:clamp(2rem,5vw,4rem) clamp(3rem,6vw,5rem)}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:clamp(1.5rem,4vw,4rem);gap:clamp(1.5rem,4vw,4rem);align-items:center}.hero-copy,.hero-grid{position:relative;display:grid}.hero-copy{grid-gap:1.6rem;gap:1.6rem;z-index:2;min-width:0}.hero-title{font-size:var(--s-hero);line-height:1}.hero-title .word{display:inline-block;font-style:italic;font-weight:500}.hero-lead{max-width:33rem}.hero-actions{gap:.8rem}.hero-actions,.hero-stats{display:flex;flex-wrap:wrap}.hero-stats{gap:clamp(1.4rem,4vw,3rem);padding-top:1.4rem;border-top:1px solid var(--line)}.hero-stats div{display:grid;grid-gap:.25rem;gap:.25rem}.hero-stats strong{font:400 clamp(1.9rem,3.6vw,2.7rem)/1 var(--f-display),serif;color:var(--silver-hi);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-stats span{font-size:var(--s-xs);color:var(--silver-lo);letter-spacing:.04em}.collage{position:relative;aspect-ratio:1/1.05;max-width:100%}.collage-item{position:absolute;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06);background:var(--panel)}.collage-item img{width:100%;height:100%;object-fit:cover}.collage-item figcaption{position:absolute;left:8px;bottom:8px;padding:.3rem .6rem;border-radius:999px;background:rgba(13,13,14,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:500 .625rem/1.2 var(--f-mono),monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--silver-hi)}.collage-portrait{border-radius:999px 999px 10px 10px}.collage-portrait img{filter:grayscale(1) contrast(1.05);transition:filter 1s var(--ease)}.collage:hover .collage-portrait img{filter:none}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.collage{order:-1;aspect-ratio:1/.9;max-width:560px;width:100%;margin-inline:auto}}.reel{border-block:1px solid var(--line);background:var(--graphite);overflow:hidden;padding-block:1.2rem}.reel-track{display:flex;gap:1rem;width:max-content;animation:reel 60s linear infinite}.reel:hover .reel-track{animation-play-state:paused}.reel-item{position:relative;height:clamp(120px,16vw,180px);border-radius:6px;overflow:hidden;flex:none;background:var(--panel)}.reel-item img{height:100%;width:auto;object-fit:cover}@keyframes reel{to{transform:translateX(-50%)}}.index{border-top:1px solid var(--line)}.index-row{display:grid;grid-template-columns:3.2rem minmax(0,1fr) minmax(0,auto) 4rem;grid-gap:1.5rem;gap:1.5rem;align-items:baseline;padding-block:1.4rem;border-bottom:1px solid var(--line);transition:padding .5s var(--ease),color .3s}.index-row .t{font:400 clamp(1.6rem,3.6vw,3rem)/1.05 var(--f-display),serif;color:var(--silver-hi);transition:transform .5s var(--ease),opacity .3s}.index-row .s{color:var(--silver-lo);font-size:var(--s-sm)}.index:hover .index-row .t{opacity:.35}.index .index-row:hover .t{opacity:1;transform:translateX(14px)}.index-thumb{display:none}@media (max-width:760px){.index-row{grid-template-columns:76px minmax(0,1fr);gap:1rem;align-items:center}.index-row .n,.index-row .y{display:none}.index-thumb{display:block;width:76px;height:76px;border-radius:6px;overflow:hidden;background:var(--panel);position:relative}.index-thumb img{width:100%;height:100%;object-fit:cover}}.hover-preview{display:none}@media (pointer:fine) and (min-width:761px){.hover-preview{display:block}}.hover-preview{position:fixed;left:0;top:0;z-index:40;width:340px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;pointer-events:none;box-shadow:0 40px 80px -20px rgba(0,0,0,.8)}.hover-preview img{width:100%;height:100%;object-fit:cover}.filters{display:flex;flex-wrap:wrap;gap:.5rem}.filter{position:relative;padding:.65rem 1.1rem;border-radius:999px;border:1px solid var(--line);font-size:var(--s-sm);color:var(--silver-lo);transition:color .3s var(--ease),border-color .3s;display:inline-flex;gap:.5rem;align-items:baseline}.filter:hover{color:var(--silver-hi);border-color:var(--silver-lo)}.filter[aria-pressed=true]{color:var(--ink);border-color:transparent}.filter .pill{position:absolute;inset:0;border-radius:999px;background:var(--silver-hi);z-index:-1}.filter>span{position:relative}.filter sup{font:500 .65rem/1 var(--f-mono),monospace}.filters-wrap{isolation:isolate}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(1rem,2vw,1.8rem) clamp(1rem,2vw,1.6rem);gap:clamp(1rem,2vw,1.8rem) clamp(1rem,2vw,1.6rem)}@media (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid{grid-template-columns:1fr}}.card{display:grid;grid-gap:.9rem;gap:.9rem;align-content:start}.card-media{position:relative;aspect-ratio:4/3.3;border-radius:var(--radius);overflow:hidden;background:var(--panel);max-width:100%}.card-media img{width:100%;height:100%;transition:transform 1.1s var(--ease)}.card:hover .card-media img{transform:scale(1.05)}.card-media .fit-contain{object-fit:contain;padding:9%}.card-media .fit-cover{object-fit:cover}.card-count{position:absolute;right:10px;top:10px;padding:.3rem .6rem;border-radius:999px;background:rgba(13,13,14,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:500 .625rem/1.2 var(--f-mono),monospace;color:var(--silver-hi)}.card-meta{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.card-title{font:400 1.35rem/1.2 var(--f-display),serif;color:var(--silver-hi)}.card-text{color:var(--silver-lo);font-size:var(--s-sm);line-height:1.55}.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}@media (max-width:1000px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.services{grid-template-columns:1fr}}.service{padding:2rem 1.6rem 2.2rem 0;border-bottom:1px solid var(--line);display:grid;grid-gap:.9rem;gap:.9rem;align-content:start;min-width:0}.service+.service{padding-left:1.6rem;border-left:1px solid var(--line)}@media (max-width:1000px){.service:nth-child(odd){padding-left:0;border-left:0}}@media (max-width:560px){.service,.service+.service{padding-left:0;border-left:0}}.service h3{font:400 1.5rem/1.15 var(--f-display),serif;color:var(--silver-hi)}.service p{color:var(--silver-lo);font-size:var(--s-sm)}.service ul{list-style:none;display:grid;grid-gap:.45rem;gap:.45rem}.service li{font-size:var(--s-sm);display:flex;gap:.6rem;align-items:baseline}.service li:before{content:"";width:10px;height:1px;background:var(--silver-lo);flex:none;transform:translateY(-3px)}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:2rem;gap:2rem}@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.steps{grid-template-columns:1fr}}.steps li{display:grid;grid-gap:.6rem;gap:.6rem;align-content:start;padding-top:1.2rem;border-top:1px solid var(--silver-lo)}.steps h3{font:400 1.5rem/1.1 var(--f-display),serif;color:var(--silver-hi)}.steps p{font-size:var(--s-sm);color:var(--silver-lo)}.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:clamp(2rem,5vw,5rem);gap:clamp(2rem,5vw,5rem);align-items:center}@media (max-width:860px){.about{grid-template-columns:1fr}}.about-photo{border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:16/11;max-width:100%}.about-photo img{object-fit:cover;object-position:50% 30%}.about-copy{display:grid;grid-gap:1.2rem;gap:1.2rem;min-width:0}.about-copy p{max-width:36rem}.about-copy strong{color:var(--silver-hi)}.chips-static{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.chips-static li{padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px;font:400 var(--s-xs)/1.2 var(--f-mono),monospace;color:var(--silver)}.p-hero{padding-block:clamp(2rem,5vw,4rem) 2rem;display:grid;grid-gap:1.4rem;gap:1.4rem}.crumbs{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.crumbs a:hover{color:var(--silver-hi)}.p-title{font-size:clamp(2.8rem,9vw,7.5rem);line-height:.95}.p-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:clamp(2rem,4vw,4rem);gap:clamp(2rem,4vw,4rem);align-items:start;padding-bottom:clamp(4rem,8vw,7rem)}@media (max-width:960px){.p-layout{grid-template-columns:1fr}}.p-gallery{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.p-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}.p-gallery.two .shot.wide{grid-column:1/-1}@media (max-width:560px){.p-gallery.two{grid-template-columns:1fr}}.shot{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--panel);cursor:zoom-in;max-width:100%}.shot img{width:100%;height:auto;transition:transform 1.1s var(--ease)}.shot:hover img{transform:scale(1.02)}.shot.pad img{padding:clamp(1.2rem,6%,3.5rem)}.p-aside{position:-webkit-sticky;position:sticky;top:calc(88px + env(safe-area-inset-top, 0px));display:grid;grid-gap:1.4rem;gap:1.4rem}.p-aside p{color:var(--text)}.facts{display:grid;grid-gap:.1rem;gap:.1rem;border-top:1px solid var(--line)}.facts div{display:flex;justify-content:space-between;gap:1rem;padding-block:.75rem;border-bottom:1px solid var(--line);font-size:var(--s-sm)}.facts dt{color:var(--silver-lo)}.facts dd{color:var(--silver-hi);text-align:right}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tags span{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line);font:400 var(--s-xs)/1.2 var(--f-mono),monospace;color:var(--silver)}.tags span.alt{border-style:dashed;color:var(--silver-lo)}.similar-cta{display:grid;grid-gap:.8rem;gap:.8rem;padding:1.3rem;border-radius:10px;background:var(--panel);border:1px solid var(--line)}.similar-cta strong{font:400 1.35rem/1.2 var(--f-display),serif;color:var(--silver-hi)}.similar-cta p{font-size:var(--s-sm);color:var(--silver-lo)}.next-project{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2rem;gap:2rem;align-items:center;padding-block:3rem;border-top:1px solid var(--line)}.next-project .display{font-size:clamp(2rem,6vw,4.5rem);line-height:1}.next-project .thumb{width:clamp(90px,18vw,220px);aspect-ratio:1;border-radius:8px;overflow:hidden;position:relative;background:var(--panel)}.next-project .thumb img{object-fit:cover}.lightbox{position:fixed;inset:0;z-index:90;background:rgba(5,5,6,.94);display:grid;grid-template-rows:auto 1fr auto;padding:max(12px,env(safe-area-inset-top,0px)) var(--gutter-r) max(12px,env(safe-area-inset-bottom,0px)) var(--gutter)}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:.4rem}.lightbox-stage{position:relative;min-height:0;display:grid}.lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}.lightbox-cap{text-align:center;color:var(--silver-lo);font-size:var(--s-sm);padding-top:.6rem}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--silver-hi);font-size:1.2rem;background:rgba(13,13,14,.6);transition:background .3s,color .3s}.icon-btn:hover{background:var(--silver-hi);color:var(--ink)}.lightbox .nav-l,.lightbox .nav-r{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.lightbox .nav-l{left:0}.lightbox .nav-r{right:0}.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-gap:clamp(2rem,5vw,4.5rem);gap:clamp(2rem,5vw,4.5rem);align-items:start}@media (max-width:960px){.contact{grid-template-columns:1fr}}.form{grid-gap:1.6rem;gap:1.6rem}.form,fieldset{display:grid;min-width:0}fieldset{border:0;grid-gap:.8rem;gap:.8rem}legend{font:500 var(--s-xs)/1 var(--f-mono),monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--silver-lo);margin-bottom:.8rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{position:relative}.chip input{position:absolute;opacity:0;pointer-events:none}.chip span{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:999px;border:1px solid var(--line);font-size:var(--s-sm);color:var(--silver);cursor:pointer;transition:all .25s var(--ease);-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip span:before{content:"";width:8px;height:8px;border-radius:50%;border:1px solid var(--silver-lo);transition:all .25s}.chip input:checked+span{background:var(--silver-hi);color:var(--ink);border-color:var(--silver-hi)}.chip input:checked+span:before{background:var(--ink);border-color:var(--ink)}.chip input:focus-visible+span{outline:2px solid var(--silver);outline-offset:3px}.range-row{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}input[type=range]{flex:1 1 200px;min-width:0;accent-color:var(--silver-hi);height:28px}.range-row output{font-size:var(--s-sm);color:var(--silver-hi)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:560px){.field-row{grid-template-columns:1fr}}.field{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}.field>span{font-size:var(--s-xs);color:var(--silver-lo);letter-spacing:.04em}.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--silver-hi);font-size:var(--s-md);line-height:1.4;resize:vertical;transition:border-color .25s}.field input::placeholder,.field textarea::placeholder{color:#5e5e66}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--silver)}.field.invalid input,.field.invalid textarea{border-color:var(--alert)}.err{color:var(--alert);font-size:var(--s-xs)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ref-card{display:grid;grid-template-columns:88px minmax(0,1fr) auto;grid-gap:1rem;gap:1rem;align-items:center;padding:.8rem;border-radius:10px;border:1px solid var(--silver-lo);background:linear-gradient(120deg,var(--panel-2),var(--panel))}.ref-card .thumb{width:88px;height:88px;border-radius:6px;overflow:hidden;position:relative}.ref-card .thumb img{object-fit:cover}.ref-card strong{display:block;font:400 1.25rem/1.2 var(--f-display),serif;color:var(--silver-hi)}.ref-card p{font-size:var(--s-sm);color:var(--silver-lo)}.contact-side{display:grid;grid-gap:1.2rem;gap:1.2rem;position:-webkit-sticky;position:sticky;top:calc(90px + env(safe-area-inset-top, 0px))}.contact-list{display:grid;border-top:1px solid var(--line)}.contact-item{display:grid;grid-gap:.3rem;gap:.3rem;padding-block:1rem;border-bottom:1px solid var(--line);min-width:0}.contact-item .label{font:500 var(--s-xs)/1 var(--f-mono),monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--silver-lo)}.contact-item .value{font:400 1.2rem/1.3 var(--f-display),serif;color:var(--silver-hi);overflow-wrap:anywhere}.contact-item a.value:hover{text-decoration:underline;text-underline-offset:4px}.success{display:grid;grid-gap:1.2rem;gap:1.2rem;justify-items:start;padding:clamp(1.6rem,4vw,2.6rem);border-radius:12px;border:1px solid var(--line);background:var(--panel)}.success .check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--live);color:var(--ink)}.success h3{font:400 clamp(1.8rem,4vw,2.6rem)/1.1 var(--f-display),serif;color:var(--silver-hi)}.big-cta{display:grid;grid-gap:2rem;gap:2rem;padding-block:clamp(4rem,9vw,8rem)}.big-cta h2{font-size:clamp(2.8rem,9vw,7rem);line-height:1}.footer{border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.6rem calc(1.6rem + env(safe-area-inset-bottom, 0px));font-size:var(--s-xs);color:var(--silver-lo)}.footer-inner nav{display:flex;gap:1.2rem;flex-wrap:wrap}.footer-inner a:hover{color:var(--silver-hi)}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:99;transform:translateX(-50%);max-width:calc(100% - 32px);padding:.9rem 1.2rem;border-radius:12px;background:var(--silver-hi);color:var(--ink);font-size:var(--s-sm);box-shadow:0 20px 50px -10px rgba(0,0,0,.6);display:flex;gap:.8rem;align-items:center}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.pill{display:inline-block;padding:.35rem .65rem;border-radius:999px;font:500 .66rem/1 var(--f-mono),monospace;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--silver-lo);white-space:nowrap}.pill.s-envoyee{color:#ffd27a;border-color:rgba(255,210,122,.45)}.pill.s-partielle{color:#9fd3ff;border-color:rgba(159,211,255,.45)}.pill.s-payee{color:var(--ink);background:var(--live);border-color:var(--live)}.pill.s-retard{color:var(--ink);background:var(--alert);border-color:var(--alert)}.pill.s-annulee{text-decoration:line-through}.pill.s-brouillon{border-style:dashed}