@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.p.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.p.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.p.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_2d67f619-module__62Y0Ja__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_2d67f619-module__62Y0Ja__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_489fa23c-module__jFtD2W__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_489fa23c-module__jFtD2W__variable{--font-inter:"Inter", "Inter Fallback"}
*,:before,:after{box-sizing:border-box;border:0 solid var(--line)}html{-webkit-text-size-adjust:100%}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg,video{vertical-align:middle;max-width:100%;display:block}img,video{height:auto}button,input,textarea,select{font:inherit;color:inherit;margin:0}button{cursor:pointer;background:0 0}textarea{resize:vertical}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:var(--lightningcss-light,#1b1c19)var(--lightningcss-dark,#ece7dd);--ink-soft:var(--lightningcss-light,#59584f)var(--lightningcss-dark,#a8a296);--paper:var(--lightningcss-light,#f5f1e9)var(--lightningcss-dark,#161712);--surface:var(--lightningcss-light,#fcfaf6)var(--lightningcss-dark,#1f201a);--muted:var(--lightningcss-light,#ebe5da)var(--lightningcss-dark,#1b1c16);--line:var(--lightningcss-light,#d4ccbe)var(--lightningcss-dark,#383930);--line-strong:var(--lightningcss-light,#a99e8c)var(--lightningcss-dark,#6a6b5f);--ink-mid:var(--lightningcss-light,#33312e)var(--lightningcss-dark,#d9d4c9);--badge-bg:var(--lightningcss-light,#f8e0d6)var(--lightningcss-dark,#3d1b0d);--visual-bg:var(--lightningcss-light,#e6e0d7)var(--lightningcss-dark,#24251e);--portrait-bg:var(--lightningcss-light,#d7cdbd)var(--lightningcss-dark,#26271f);--portrait-line:var(--lightningcss-light,#c5baa9)var(--lightningcss-dark,#3d3e34);--portrait-inner:var(--lightningcss-light,#ffffff38)var(--lightningcss-dark,#ffffff0f);--chip-bg:var(--lightningcss-light,#fcfaf6e0)var(--lightningcss-dark,#1f201aeb);--chip-line:var(--lightningcss-light,#ffffff8c)var(--lightningcss-dark,#ffffff24);--offset-shadow:var(--lightningcss-light,#dfd6c7)var(--lightningcss-dark,#2b2c24);--field-line:var(--lightningcss-light,#bdb5a8)var(--lightningcss-dark,#4a4b40);--error:var(--lightningcss-light,#a3231b)var(--lightningcss-dark,#ff8f83);--accent:var(--lightningcss-light,#dc5a29)var(--lightningcss-dark,#ef7a4d);--accent-dark:var(--lightningcss-light,#983816)var(--lightningcss-dark,#f0916b);--accent-solid:var(--lightningcss-light,#983816)var(--lightningcss-dark,#a33d18);--dark:var(--lightningcss-light,#1b1c19)var(--lightningcss-dark,#100f0c);--dark-soft:var(--lightningcss-light,#292a26)var(--lightningcss-dark,#1e1f19);--btn-dark-bg:var(--lightningcss-light,#1b1c19)var(--lightningcss-dark,#ece7dd);--btn-dark-bg-hover:var(--lightningcss-light,#080808)var(--lightningcss-dark,#fffdf8);--btn-dark-fg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#161712);--header-bg:var(--lightningcss-light,#f7f4eeeb)var(--lightningcss-dark,#161712eb);--header-line:var(--lightningcss-light,#d9d2c6cc)var(--lightningcss-dark,#383930cc);--selection-bg:var(--lightningcss-light,#f3b397)var(--lightningcss-dark,#8a3315);--selection-fg:var(--lightningcss-light,#1b1c19)var(--lightningcss-dark,#fff);--focus-ring:var(--lightningcss-light,#145bc3)var(--lightningcss-dark,#7db3ff);--artwork-line:var(--lightningcss-light,#0000)var(--lightningcss-dark,#383930);--device-plate:#ece6dc;--grain:var(--lightningcss-light,#1b1c1906)var(--lightningcss-dark,#ffffff08);--glow:var(--lightningcss-light,#dc5a2914)var(--lightningcss-dark,#dc5a291f);--white:#fff;--radius:22px;--shadow:var(--lightningcss-light,0 24px 70px #1f1d191a)var(--lightningcss-dark,0 24px 70px #00000073);--container:1200px;--header-height:78px;--font-display:var(--font-space-grotesk), "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-body:var(--font-inter), "Segoe UI", "Helvetica Neue", Arial, sans-serif;--lane-gastro:var(--lightningcss-light,#c14a1d)var(--lightningcss-dark,#e0703f);--lane-it:var(--lightningcss-light,#2f6f6a)var(--lightningcss-dark,#4aa39b);--lane-colour:var(--lane-gastro)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem)}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:1rem;line-height:1.65}body:before{z-index:-1;background:linear-gradient(90deg, transparent 0 49.92%, var(--grain) 50%, transparent 50.08%), radial-gradient(circle at 88% 8%, var(--glow), transparent 24rem);content:"";pointer-events:none;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary,input,textarea{outline-offset:4px}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:#df5d2e2e}:focus-visible{outline:3px solid var(--focus-ring)}::selection{background:var(--selection-bg);color:var(--selection-fg)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;font-weight:700;line-height:1.06}p,li,dd{text-wrap:pretty}h1{font-size:clamp(2.5rem,4.6vw,4.4rem)}h2{font-size:clamp(2rem,3.4vw,3.2rem)}h3{letter-spacing:-.02em;font-size:1.3rem;font-weight:600}.skip-link{z-index:100;background:var(--surface);border:2px solid var(--accent-solid);color:var(--ink);padding:.75rem 1rem;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - 2rem), var(--container));margin-inline:auto}.section{padding:clamp(5rem,8vw,7.5rem) 0}section[id]{scroll-margin-top:calc(var(--header-height) + 1.5rem)}.section-muted{background:var(--muted);border-block:1px solid var(--line)}.section-dark{background:var(--dark);color:var(--white)}.eyebrow{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.75rem;font-weight:750}.eyebrow-light{color:#f09570}.section-heading{max-width:820px;margin-bottom:clamp(3rem,6vw,5rem)}.section-heading h2{margin-bottom:1.4rem}.section-heading>p:not(.eyebrow){max-width:680px;color:var(--ink-soft);margin-bottom:0;font-size:1.12rem}.section-heading-light>p:not(.eyebrow){color:#c9c6bf}.site-header{z-index:50;background:var(--header-bg);border-bottom:1px solid var(--header-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{width:min(calc(100% - 2rem), var(--container));grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:78px;margin-inline:auto;display:grid}.wordmark{min-height:44px;font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:.75rem;font-weight:700;display:inline-flex}.wordmark>span:first-child{background:var(--accent-solid);width:38px;height:38px;color:var(--white);letter-spacing:.02em;border-radius:12px;place-items:center;font-size:.78rem;display:grid}.wordmark>span:first-child:before{content:"MM"}.desktop-nav{color:var(--ink-soft);justify-content:center;align-items:center;gap:.4rem;font-size:.91rem;font-weight:600;display:flex}.desktop-nav a{align-items:center;min-height:44px;padding-inline:.6rem;display:inline-flex}.desktop-nav a,.language-link{transition:color .16s}.desktop-nav a:hover,.language-link:hover{color:var(--accent-dark)}.header-actions{align-items:center;gap:.5rem;display:flex}.locale-links{align-items:center;gap:.45rem;display:inline-flex}.language-link{min-height:44px;color:var(--ink-soft);align-items:center;gap:.4rem;padding-inline:.5rem;font-size:.88rem;font-weight:700;display:inline-flex}.icon-link{width:44px;height:44px;color:var(--ink-soft);border-radius:10px;place-items:center;transition:color .16s,background-color .16s;display:grid}.icon-link:hover{background:var(--muted);color:var(--ink)}.theme-toggle{padding:0;display:none}html[data-theme-ready] .theme-toggle{display:grid}.theme-icon-sun{display:none}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .theme-icon-sun{display:block}html:not([data-theme=light]) .theme-icon-moon{display:none}}html[data-theme=dark] .theme-icon-sun{display:block}html[data-theme=dark] .theme-icon-moon{display:none}.mobile-menu{display:none;position:relative}.mobile-menu summary{border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;min-height:44px;padding:.55rem .95rem;font-size:.86rem;font-weight:700;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{background:var(--surface);border:1px solid var(--line);width:min(78vw,280px);box-shadow:var(--shadow);border-radius:14px;padding:.75rem;display:grid;position:absolute;top:calc(100% + .8rem);right:0}.mobile-menu nav a{border-bottom:1px solid var(--line);padding:.85rem;font-weight:650}.menu-link-icon{align-items:center;gap:.5rem;display:flex}.mobile-menu nav a:last-child{border-bottom:0}.button{min-height:50px;font-family:var(--font-display);letter-spacing:-.01em;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.78rem 1.3rem;font-weight:600;line-height:1.2;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-small{min-height:44px;padding:.55rem 1rem;font-size:.86rem}.button-accent{background:var(--accent-solid);color:var(--white);box-shadow:0 10px 26px #98381638}.button-accent:hover{background:#76290d;box-shadow:0 14px 32px #9838164d}.button-dark{background:var(--btn-dark-bg);color:var(--btn-dark-fg)}.button-dark:hover{background:var(--btn-dark-bg-hover)}.button-outline{border-color:var(--ink)}.button-outline:hover{background:var(--surface)}.button-row{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.text-link{min-height:44px;color:var(--accent-dark);align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.text-link svg{transition:transform .16s}.text-link:hover svg{transform:translate(3px)}.back-link:hover svg{transform:translate(-3px)}.hero{padding-top:clamp(3rem,5vw,4.75rem);overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.65fr);align-items:end;gap:clamp(2.5rem,6vw,6rem);display:grid}.hero-copy{min-width:0}:is(html[data-track=gastro] [data-tracks]:not([data-tracks~=gastro]),html[data-track=bridge] [data-tracks]:not([data-tracks~=bridge]),html[data-track=it] [data-tracks]:not([data-tracks~=it]),html:not([data-track]):has(#track-gastro:checked) [data-tracks]:not([data-tracks~=gastro]),html:not([data-track]):has(#track-bridge:checked) [data-tracks]:not([data-tracks~=bridge]),html:not([data-track]):has(#track-it:checked) [data-tracks]:not([data-tracks~=it])){display:none}.track-slider{background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:560px;margin:0 0 2rem;padding:1.1rem 1.25rem .85rem;box-shadow:0 12px 34px #1f1d1912}.track-rail{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(3,1fr);padding-top:1.5rem;display:grid;position:relative}.track-slider[data-dragging] .track-rail{cursor:grabbing}.track-rail-line{z-index:0;border-top:2px dashed var(--line-strong);opacity:.65;height:0;position:absolute;top:.55rem;left:16.667%;right:16.667%}.track-thumb{z-index:2;top:0;left:calc(16.667% + var(--rail-position,1) * 33.333%);background:var(--lane-colour);border:3px solid var(--surface);width:1.15rem;height:1.15rem;box-shadow:0 0 0 1px var(--lane-colour);border-radius:50%;transition:left .22s cubic-bezier(.32,.72,0,1);position:absolute;transform:translate(-50%)}.track-slider[data-dragging] .track-thumb{cursor:grabbing;transition:none}html:not([data-track]):has(#track-gastro:checked) .track-thumb{left:16.667%}html:not([data-track]):has(#track-bridge:checked) .track-thumb{left:50%}html:not([data-track]):has(#track-it:checked) .track-thumb{left:83.333%}:is(html[data-track=gastro] .track-slider,html:not([data-track]):has(#track-gastro:checked) .track-slider){--lane-colour:var(--lane-gastro)}:is(html[data-track=it] .track-slider,html:not([data-track]):has(#track-it:checked) .track-slider){--lane-colour:var(--lane-it)}:is(html[data-track=bridge] .track-slider,html:not([data-track]):has(#track-bridge:checked) .track-slider){--lane-colour:var(--ink)}.track-stop{--stop-colour:var(--ink);justify-content:center;display:flex;position:relative}.track-stop[data-stop=gastro]{--stop-colour:var(--lane-gastro)}.track-stop[data-stop=it]{--stop-colour:var(--lane-it)}.track-stop:before{z-index:1;background:var(--surface);border:2px solid var(--stop-colour);content:"";pointer-events:none;border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:-.95rem;left:50%;transform:translate(-50%,-50%)}.track-stop input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.track-stop label{min-height:44px;color:var(--ink-soft);text-align:center;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.3rem .4rem;transition:color .16s;display:flex}.track-stop input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.track-stop label[data-active]{color:var(--ink)}.track-stop-label{font-family:var(--font-display);letter-spacing:.02em;font-size:.85rem;font-weight:700}.track-stop-role{max-width:18ch;color:var(--ink-soft);font-size:.68rem;line-height:1.3}.recruiter-lead{max-width:46ch;margin-top:.6rem;font-size:1.02rem;line-height:1.5}.about-headline{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.8rem;font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:600;line-height:1.2}.track-stop label:not([data-active]) .track-stop-role{visibility:hidden}.track-hint{color:var(--ink-soft);letter-spacing:.06em;text-align:center;text-transform:uppercase;margin-top:.5rem;font-size:.7rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero-headline{max-width:20ch;font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin-bottom:1.35rem;font-size:clamp(2.5rem,4.6vw,4.4rem);font-weight:700;line-height:1.06}.headline-part[data-tone=gastro]{color:var(--lane-gastro)}.headline-part[data-tone=it]{color:var(--lane-it)}.headline-part[data-tone=join]{color:var(--ink-soft)}.hero-copy h1{max-width:20ch;margin-bottom:1.35rem}.hero-lead{max-width:54ch;color:var(--ink-mid);margin-bottom:1.35rem;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.55}.hero-seeking{background:var(--badge-bg);border-radius:calc(var(--radius) / 2);max-width:56ch;color:var(--accent-dark);align-items:flex-start;gap:.55rem;margin-bottom:2rem;padding:.6rem .9rem;font-size:.95rem;font-weight:600;line-height:1.45;display:inline-flex}.hero-seeking svg{flex:none;margin-top:.15rem}.hero-links{flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:1rem;display:flex}.hero-profile{justify-self:end;width:min(100%,420px);position:relative}.portrait-frame{background:linear-gradient(145deg, #ffffff73, transparent 50%), var(--portrait-bg);border:1px solid var(--portrait-line);min-height:525px;box-shadow:var(--shadow);border-radius:34px 34px 16px 16px;position:relative;overflow:hidden}.portrait-frame:after{border:10px solid var(--portrait-inner);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.portrait-location{z-index:2;background:var(--chip-bg);border:1px solid var(--chip-line);color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:.55rem;padding:.55rem .75rem;font-size:.76rem;font-weight:750;display:inline-flex;position:absolute;top:1.4rem;left:1.4rem}.portrait-location svg{color:var(--accent-dark)}.portrait-fallback{background:linear-gradient(150deg,#0000 48%,#9838161f 48.2%,#0000 48.7%),repeating-linear-gradient(90deg,#0000 0 44px,#1b1c190a 45px 46px);place-items:center;display:grid;position:absolute;inset:0}.portrait-fallback span{aspect-ratio:1;background:var(--dark);width:clamp(150px,18vw,220px);color:var(--white);letter-spacing:-.06em;border-radius:50%;place-items:center;font-size:clamp(2.7rem,5vw,4.6rem);font-weight:780;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 60px #1b1c1933}.portrait-avatar-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transform-origin:50% 54%;transform:scale(1.5)}@media (min-width:1021px){.hero-grid{align-items:center}.hero-lead{overflow-wrap:break-word;text-wrap:wrap;width:100%;max-width:min(46ch,50vw - 3rem)}.hero-profile{transform:none}.portrait-avatar-image{transform-origin:50% 56%;transform:scale(1.15)}}.portrait-caption{z-index:2;color:var(--white);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1b1c19eb;border-radius:14px;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 1.1rem;display:flex;position:absolute;bottom:1.4rem;left:1.4rem;right:1.4rem}.portrait-caption strong,.portrait-caption span{display:block}.portrait-caption span{color:#c8c4ba;text-align:right;font-size:.78rem}.recruiter-card{background:var(--dark);border:1px solid var(--line);border-radius:var(--radius);box-shadow:14px 14px 0 var(--offset-shadow);color:var(--white);grid-template-columns:minmax(240px,.72fr) minmax(0,1.55fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(4rem,7vw,6.5rem);padding:clamp(1.8rem,4vw,3.2rem);display:grid}.recruiter-card h2{max-width:420px;margin-bottom:0;font-size:clamp(1.8rem,3vw,2.7rem)}.recruiter-card dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.recruiter-card dl>div{border-top:1px solid #41403c;padding:.9rem 1rem}.recruiter-card dt{color:#a8a49c;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:760}.recruiter-card dd{margin:.2rem 0 0;font-weight:640}.recruiter-details{min-width:0}.cv-links{flex-direction:column;align-items:flex-start;gap:.55rem;margin-top:2rem;display:flex}.cv-links a{min-height:44px;color:var(--accent-dark);text-underline-offset:4px;align-items:center;gap:.5rem;font-weight:650;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.cv-links-compact{border-top:1px solid #41403c;flex-flow:wrap;gap:.75rem 1.25rem;margin-top:1.2rem;padding:1.2rem 1rem 0}.cv-links-compact a{color:#f4a07c}.cv-title{margin-bottom:.25rem;font-weight:760}.proof-grid{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:clamp(2.5rem,5vw,4rem);display:grid}.proof-grid div{border-left:1px solid var(--line);padding:1.4rem;position:relative}.proof-grid div:first-child{border-left:0}.proof-grid strong,.proof-grid span{display:block}.proof-grid div:before{color:var(--accent-dark);content:"0" counter(proof);counter-increment:proof;letter-spacing:.12em;margin-bottom:1rem;font-size:.7rem;font-weight:800;display:block}.proof-grid{counter-reset:proof}.proof-grid strong{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.45rem;font-size:1.02rem;font-weight:600;line-height:1.25}.proof-grid span{color:var(--ink-soft);font-size:.84rem;line-height:1.45}.timeline{border-top:2px solid var(--accent);max-width:1040px}.timeline-item{border-bottom:1px solid var(--line);border-left:3px solid var(--lane-colour);grid-template-columns:210px 1fr;gap:clamp(1.5rem,5vw,4rem);padding:2.2rem 0 2.2rem 1.25rem;display:grid}.timeline-item[data-lane=gastro]{--lane-colour:var(--lane-gastro)}.timeline-item[data-lane=it]{--lane-colour:var(--lane-it)}.lane-tag{color:var(--white);background:var(--lane-colour);letter-spacing:.08em;border-radius:999px;margin-right:.6rem;padding:.1rem .5rem;font-size:.68rem;display:inline-block}:is(html[data-track=gastro] .lane-tag,html[data-track=it] .lane-tag,html:not([data-track]):has(#track-gastro:checked) .lane-tag,html:not([data-track]):has(#track-it:checked) .lane-tag){display:none}.timeline-content h3{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:.3rem;font-size:clamp(1.3rem,1.8vw,1.7rem);font-weight:600;line-height:1.15}.timeline-meta p{margin-bottom:.2rem;font-weight:760}.timeline-meta span,.timeline-company{color:var(--ink-soft)}.timeline-company{margin-bottom:.6rem}.timeline-kind{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem;font-size:.72rem;font-weight:760}.timeline-content>p:last-of-type{max-width:690px}.timeline-content li{margin:.5rem 0;padding-left:1.25rem;position:relative}.timeline-content li:before{background:var(--accent);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:0}.check-list li{grid-template-columns:auto 1fr;align-items:start;gap:.7rem;margin:.6rem 0;display:grid}.check-list svg{color:var(--accent-dark);margin-top:.35em}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:440px;box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) minmax(200px,.72fr);transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;overflow:hidden}.project-card:hover{border-color:#bdb0a0;transform:translateY(-3px);box-shadow:0 30px 80px #1f1d1929}.project-card:hover .product-panel-inner{transform:translateY(-4px)}.product-panel-inner{transition:transform .25s}.project-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);min-height:520px}.project-card-copy{flex-direction:column;align-items:flex-start;padding:clamp(1.7rem,4vw,3.3rem);display:flex}.project-card-copy h3{margin-bottom:1rem;font-size:clamp(2rem,3.6vw,3.8rem)}.project-card-copy>p:not(.eyebrow,.project-role){color:var(--ink-soft);font-size:1.05rem}.project-role{border-top:1px solid var(--line);color:var(--ink-mid);padding-top:1rem;font-size:.9rem;font-weight:650}.project-label-row{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.status-badge{background:var(--badge-bg);color:var(--accent-dark);text-transform:uppercase;border-radius:999px;padding:.35rem .65rem;font-size:.72rem;font-weight:760}.tag-list{flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.5rem;display:flex}.tag-list span{background:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.38rem .65rem;font-size:.78rem;font-weight:680}.project-card .text-link{margin-top:auto}.project-card-visual{background:radial-gradient(circle at 70% 20%, #dc5a2914, transparent 60%), var(--visual-bg);place-items:center start;min-width:0;padding:clamp(1.5rem,3vw,2.25rem);display:grid;position:relative;overflow:hidden}.project-card-visual:has(.product-panel){place-items:center}.project-screenshot{width:100%;min-width:0}.project-screenshot .browser-frame{width:128%;max-width:none}@media (max-width:1020px){.project-screenshot .browser-frame{width:100%}}.product-panel{width:100%;max-width:320px}.product-panel-inner{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:18px;justify-items:center;padding:clamp(1.4rem,3vw,2rem) 1.25rem;display:grid;box-shadow:0 18px 44px #1f1d191f}.product-icon{border:1px solid var(--line);-o-object-fit:cover;object-fit:cover;border-radius:18px;width:76px;height:76px;margin-bottom:1rem}.product-icon-mono{background:var(--dark);border-color:var(--dark);color:var(--white);font-family:var(--font-display);letter-spacing:-.04em;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.product-name{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.3rem;font-weight:700}.product-platform{color:var(--ink-soft);margin-top:.3rem;font-size:.8rem;line-height:1.4}.product-platform:before{border-top:2px solid var(--accent);content:"";width:28px;margin:.85rem auto;display:block}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.skills-grid article{background:var(--dark-soft);border:1px solid #44423e;border-radius:16px;padding:1.6rem;transition:border-color .16s,transform .16s}.skills-grid article:hover{border-color:#777166;transform:translateY(-3px)}.skills-grid h3{color:#f49a74;margin-bottom:1.1rem}.skills-grid ul{color:#d3d0c9}.skills-grid li{border-bottom:1px solid #44423e;grid-template-columns:auto 1fr;align-items:start;gap:.6rem;padding:.42rem 0;font-size:.94rem;display:grid}.skills-grid li span{overflow-wrap:anywhere;min-width:0}.skills-grid li svg{color:#e07f52;margin-top:.32em}.skills-grid li:last-child{border-bottom:0}.approach-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem;display:grid}.approach-grid article{background:var(--surface);border:1px solid var(--line);min-height:250px;box-shadow:8px 8px 0 var(--muted);border-radius:16px;padding:clamp(1.4rem,3vw,2rem)}.approach-grid article>span{color:var(--accent-dark);letter-spacing:.1em;margin-bottom:clamp(2rem,5vw,4rem);font-size:.76rem;font-weight:800;display:block}.approach-grid h3{margin-bottom:.75rem}.approach-grid p{color:var(--ink-soft);margin-bottom:0}.two-column{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,8vw,8rem);display:grid}.about-copy{max-width:700px}.about-copy .lead{color:var(--ink);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.45}.about-copy p:not(.lead){color:var(--ink-soft)}.contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,8vw,8rem);display:grid}.contact-copy h2{margin-bottom:1.5rem}.contact-copy>p{color:var(--ink-soft)}.contact-email{margin:1rem 0 0;font-weight:700}.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:1rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid;position:relative}.contact-form h3{margin-bottom:.5rem;font-size:1.8rem}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-form label{gap:.4rem;font-size:.84rem;font-weight:720;display:grid}.contact-form input,.contact-form textarea{background:var(--paper);border:1px solid var(--field-line);width:100%;color:var(--ink);border-radius:8px;padding:.82rem .9rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-dark)}.contact-form .button{justify-self:start}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-note,.form-status{color:var(--ink-soft);margin:0;font-size:.8rem}.form-status{min-height:1.3rem;color:var(--accent-dark);font-weight:700}.form-status-error{color:var(--error)}.contact-form .button:disabled{cursor:progress;opacity:.72;transform:none}.site-footer{color:#cbc7bf;background:#171715;padding:2.2rem 0}.footer-inner{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer-inner p{margin:0}.footer-inner div{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;display:flex}.footer-inner div a{align-items:center;min-height:44px;padding-inline:.15rem;display:inline-flex}.legal-container{max-width:40rem}.legal-page h1{font-size:clamp(2.1rem,3.6vw,3rem)}.legal-lead{color:var(--ink-soft);margin-top:1rem;font-size:1.12rem}.legal-page section{margin-top:2.75rem}.legal-page h2{letter-spacing:-.02em;margin-bottom:.9rem;font-size:1.35rem;font-weight:600}.legal-page p{color:var(--ink-mid);margin-bottom:.85rem;line-height:1.7}.legal-page p:last-child{margin-bottom:0}.legal-page ul{color:var(--ink-mid);gap:.55rem;margin:0;padding-left:1.15rem;line-height:1.6;list-style:outside;display:grid}.legal-page .back-link{margin-bottom:2.25rem}.legal-link{color:var(--accent-dark);text-underline-offset:.18em;overflow-wrap:anywhere;font-weight:600;text-decoration:underline}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){@keyframes reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry 5% cover 22%}}}.case-hero{background:var(--muted);border-bottom:1px solid var(--line);padding-top:clamp(4rem,8vw,7rem)}.case-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:end;gap:clamp(2rem,8vw,8rem);display:grid}.case-hero h1{margin-bottom:1.3rem}.case-lead{max-width:720px;color:var(--ink-soft);margin-bottom:0;font-size:clamp(1.25rem,2.3vw,1.7rem)}.back-link{color:var(--ink-soft);gap:.45rem;margin-bottom:3rem;font-weight:700;display:inline-flex}.case-facts{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0}.case-facts div{border-bottom:1px solid var(--line);padding:1.4rem}.case-facts div:last-child{border-bottom:0}.case-facts dt{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:760}.case-facts dd{margin:0;font-weight:650}.case-content-grid,.case-outcome{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,8vw,8rem);display:grid}.case-content-grid h2,.case-outcome h2{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.25}.case-body{gap:2.5rem;display:grid}.case-spotlight-section{padding-block:clamp(2.5rem,5vw,4rem)}.case-spotlight{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(1.5rem,4vw,2.75rem);display:grid}.case-spotlight h2{margin-bottom:.85rem;font-size:clamp(1.8rem,3.2vw,3rem)}.case-spotlight-copy>p:last-child{max-width:70ch;color:var(--ink-soft);margin-bottom:0;font-size:1.05rem}.case-spotlight .tag-list{align-content:center;margin:0}.challenge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.challenge-grid article{background:var(--dark-soft);border:1px solid #44423e;border-radius:14px;padding:1.6rem}.challenge-grid span{color:#f1956f;margin-bottom:2.5rem;font-size:.75rem;font-weight:800;display:block}.challenge-grid p{color:#c9c6bf;margin-bottom:0}.shot-slider{max-width:1080px}.shot-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-rows:auto auto;grid-auto-columns:100%;grid-auto-flow:column;display:grid;overflow-x:auto}.shot-track::-webkit-scrollbar{display:none}.shot-slide{grid-row:span 2;grid-template-rows:subgrid;scroll-snap-align:start;gap:clamp(1.25rem,2.5vw,1.9rem);padding:3px;display:grid}.shot-media{justify-content:center;align-items:center;display:flex}.shot-caption{align-content:start}.shot-media .screenshot-link{width:min(100%, calc(var(--shot-aspect) * clamp(230px, 62vh, 560px)))}.shot-media[data-portrait] .screenshot-link{width:min(100%, calc(var(--shot-aspect) * clamp(300px, 80vh, 820px)))}.screenshot-link{border-radius:12px;transition:transform .2s;display:block}.screenshot-link:hover{transform:translateY(-3px)}.screenshot-link:hover .browser-frame,.screenshot-link:hover .app-frame{border-color:var(--line-strong)}.shot-caption{border-top:1px solid var(--line);grid-template-columns:minmax(0,19rem) minmax(0,1fr);gap:.6rem clamp(1.5rem,4vw,3rem);padding-top:clamp(1rem,2vw,1.4rem);display:grid}.shot-count{color:var(--accent-dark);letter-spacing:.16em;grid-column:1;font-size:.72rem;font-weight:800}.shot-title{font-family:var(--font-display);letter-spacing:-.01em;grid-column:1;font-size:1.12rem;font-weight:700;line-height:1.35}.shot-text{color:var(--ink-soft);grid-area:1/2/span 3;font-size:.95rem}.shot-full{color:var(--ink-soft);grid-column:1;align-self:start;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:inline-flex}.shot-full:hover{color:var(--accent-dark)}.shot-controls{justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);margin-top:clamp(1.5rem,3vw,2.25rem);display:none}.shot-slider[data-ready] .shot-controls{display:flex}.shot-arrow{width:44px;height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:border-color .16s,color .16s;display:flex}.shot-arrow:hover:not(:disabled){color:var(--accent-dark);border-color:var(--line-strong)}.shot-arrow:disabled{opacity:.35;cursor:default}.shot-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.shot-dot{min-height:44px;color:var(--ink-soft);border-radius:999px;align-items:center;gap:.5rem;padding:0 .85rem;font-size:.82rem;font-weight:600;transition:color .16s,background .16s;display:inline-flex}.shot-dot:hover{color:var(--ink)}.shot-dot[aria-current]{color:var(--ink);background:var(--muted)}.shot-dot-mark{background:var(--line-strong);border-radius:50%;width:7px;height:7px;transition:background .16s}.shot-dot[aria-current] .shot-dot-mark{background:var(--accent)}.phone-frame{border:1px solid var(--artwork-line);box-shadow:var(--shadow);background:#181817;border-radius:30px;padding:10px;overflow:hidden}.phone-frame img{border-radius:21px;width:100%}.browser-frame,.app-frame{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.app-frame img{width:100%}.browser-chrome{border-bottom:1px solid var(--line);background:#e9e3d9;align-items:center;gap:6px;padding:.6rem .75rem;display:flex}.browser-chrome span{background:#c3b9aa;border-radius:50%;width:9px;height:9px}.browser-frame img{border-top:0;width:100%}.module-map{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:1rem;display:grid}.module-name{font-family:var(--font-display);letter-spacing:-.015em}.module-group{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.4rem}.module-group h3{font-size:1.15rem}.module-count{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.1rem;font-size:.72rem;font-weight:800}.module-group li{border-top:1px solid var(--line);padding:.7rem 0}.module-name,.module-detail{display:block}.module-name{letter-spacing:-.01em;font-weight:700;line-height:1.3}.module-detail{color:var(--ink-soft);font-size:.84rem;line-height:1.4}.hardware-groups{gap:clamp(3rem,6vw,4.5rem);display:grid}.hardware-group-heading{border-top:2px solid var(--accent);max-width:60ch;margin-bottom:1.75rem;padding-top:1.25rem}.hardware-group-heading h3{letter-spacing:-.025em;margin-bottom:.5rem;font-size:clamp(1.35rem,2vw,1.7rem)}.hardware-group-heading p{color:var(--ink-soft)}.hardware-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.hardware-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;margin:0;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.hardware-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.hardware-media{--plate-height:210px;--plate-padding:1.5rem;height:var(--plate-height);padding:var(--plate-padding);background:var(--device-plate);border-bottom:1px solid var(--line);place-items:center;display:grid}.hardware-media img{width:auto;max-width:100%;height:auto;max-height:calc(var(--plate-height) - var(--plate-padding) * 2)}.hardware-media[data-frame=phone]{background:var(--visual-bg)}.hardware-media[data-frame=phone] .phone-frame{max-height:calc(var(--plate-height) - var(--plate-padding) * 2);border-radius:16px;padding:5px}.hardware-media[data-frame=phone] img{width:auto;max-height:calc(var(--plate-height) - var(--plate-padding) * 2 - 10px);border-radius:12px}.hardware-aside{background:var(--muted);border-left:3px solid var(--accent);max-width:68ch;color:var(--ink-mid);border-radius:0 12px 12px 0;margin-top:1.5rem;padding:1.1rem 1.25rem;font-size:.95rem}.hardware-card figcaption{padding:1.25rem}.hardware-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:600;line-height:1.25}.hardware-via{background:var(--muted);border:1px solid var(--line);color:var(--ink-mid);letter-spacing:.02em;border-radius:999px;margin:.5rem 0 .75rem;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.hardware-description{color:var(--ink-soft);font-size:.92rem;line-height:1.55}.hardware-note{color:var(--ink-soft);margin-top:clamp(2rem,4vw,3rem);font-size:.8rem}.architecture-layout{background:var(--muted);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(260px,.5fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem);padding:clamp(1.5rem,4vw,2.75rem);display:grid}.architecture-copy .lead{margin-bottom:1.75rem;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.55}.architecture-diagram{background:var(--muted);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:clamp(1.25rem,3vw,2.25rem)}.architecture-diagram svg{width:100%;height:auto}.diagram-band{fill:var(--accent-dark);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.diagram-label{fill:var(--ink);font-family:var(--font-display);text-anchor:middle;font-size:17px;font-weight:600}.diagram-sub{fill:var(--ink-soft);font-family:var(--font-body);text-anchor:middle;font-size:12.5px}.diagram-label-invert,.diagram-sub-invert{fill:var(--white)}.diagram-sub-invert{fill:#ffffffc7}.case-overview{max-width:46ch;color:var(--ink-soft);margin-top:1.25rem;font-size:1.08rem}.case-outcome>div:last-child{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem}.case-outcome h3:not(:first-child){margin-top:2rem}.case-links{margin-top:1.5rem}@media (max-width:1020px){.desktop-nav,.header-actions>:not(.theme-toggle){display:none}.header-inner{grid-template-columns:1fr auto auto;gap:.5rem}.mobile-menu{display:block}.hero-grid,.case-hero-grid{grid-template-columns:1fr}.hero-profile{justify-self:start;width:min(100%,540px)}.recruiter-card{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}.proof-grid,.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card,.project-featured{grid-template-columns:1fr}.project-card-visual{padding-block:2.5rem}.architecture-layout{grid-template-columns:1fr;justify-items:center}.hardware-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){:root{--header-height:70px}.section{padding:4rem 0}.wordmark{gap:.6rem;font-size:.95rem}.hero{padding-top:2rem}.hero .eyebrow{margin-bottom:.85rem;font-size:.68rem}.hero-copy h1{max-width:none;margin-bottom:.9rem;font-size:clamp(2.1rem,8.5vw,2.75rem)}.hero-headline{max-width:none}.hero-lead{margin-bottom:1.5rem;font-size:1.02rem}.hero-grid{gap:2.25rem}.button-row .button{flex:auto}.hero .button-row{gap:.6rem}.hero .button-row .button-accent{flex:100%}.hero .button-row .button-outline{flex:40%;min-height:46px;padding-inline:.7rem;font-size:.88rem}.portrait-frame{border-radius:26px 26px 14px 14px;min-height:420px}.portrait-frame:has(.portrait-monogram){min-height:340px}.portrait-caption{flex-direction:column;align-items:flex-start;gap:.15rem}.portrait-caption span{text-align:left}.recruiter-card{grid-template-columns:1fr;margin-top:3.5rem}.recruiter-card dl,.challenge-grid,.two-column,.contact-grid,.case-content-grid,.case-spotlight,.case-outcome{grid-template-columns:1fr}.proof-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-grid div{padding:1.1rem .9rem}.proof-grid div:nth-child(-n+2){border-top:0}.proof-grid div:nth-child(n+3){border-top:1px solid var(--line)}.proof-grid div:nth-child(odd){border-left:0}.skills-grid article{padding:1.2rem 1rem}.approach-grid article{min-height:0}.approach-grid article>span{margin-bottom:1.25rem}.skills-grid li{font-size:.86rem}.project-card-visual{padding-block:2rem}.product-panel{max-width:260px}.product-icon{width:60px;height:60px;margin-bottom:.75rem}.timeline-item{grid-template-columns:1fr;gap:1rem}.track-slider{padding:.9rem .7rem .7rem}.track-stop-label{font-size:.76rem}.track-stop-role{display:none}.track-hint{margin-top:.35rem;font-size:.64rem}.track-stop label{padding:.3rem .15rem}.projects-grid{grid-template-columns:1fr}.project-featured{grid-column:auto}.project-card-copy h3{font-size:2.1rem}.form-row{grid-template-columns:1fr}.shot-caption{grid-template-columns:minmax(0,1fr);gap:.5rem}.shot-text{grid-area:auto/1}.shot-dot-label{display:none}.shot-dot{padding:0 .6rem}.footer-inner{flex-direction:column;align-items:flex-start}}@media (max-width:620px){.hardware-grid{grid-template-columns:minmax(0,1fr)}.hardware-media{--plate-height:180px;--plate-padding:1.25rem}.hardware-group-heading{margin-bottom:1.25rem}}@media (max-width:430px){.hero .button-row .button-outline{gap:.35rem;padding-inline:.5rem;font-size:.8rem}.wordmark>span:last-child{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
