@font-face{font-family:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(./schibsted-grotesk-latin-ext-400-normal.DHVTfbSM.woff2)format("woff2"),url(./schibsted-grotesk-latin-ext-400-normal.DUPvg9bQ.woff)format("woff");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:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(./schibsted-grotesk-latin-400-normal.DPhJBilQ.woff2)format("woff2"),url(./schibsted-grotesk-latin-400-normal.BkiRe4WW.woff)format("woff");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:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(./schibsted-grotesk-latin-ext-500-normal.Ch1izu81.woff2)format("woff2"),url(./schibsted-grotesk-latin-ext-500-normal.BjmYCtCC.woff)format("woff");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:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(./schibsted-grotesk-latin-500-normal.rf9C4Thp.woff2)format("woff2"),url(./schibsted-grotesk-latin-500-normal.Ba39e-CX.woff)format("woff");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:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(./schibsted-grotesk-latin-ext-600-normal.C5pQPdUJ.woff2)format("woff2"),url(./schibsted-grotesk-latin-ext-600-normal.DQsnXf5q.woff)format("woff");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:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(./schibsted-grotesk-latin-600-normal.Czv9Obfv.woff2)format("woff2"),url(./schibsted-grotesk-latin-600-normal.BieE9YjJ.woff)format("woff");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:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(./schibsted-grotesk-latin-ext-700-normal.o210KhU4.woff2)format("woff2"),url(./schibsted-grotesk-latin-ext-700-normal.DDW2aNyx.woff)format("woff");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:Schibsted Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(./schibsted-grotesk-latin-700-normal.BkH0uJ1o.woff2)format("woff2"),url(./schibsted-grotesk-latin-700-normal.Dz-okVa0.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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}:root,[data-theme=light],[data-theme=system]{--bg:oklch(98.5% .004 250);--surface:oklch(96.5% .006 250);--surface-2:oklch(93.5% .008 250);--stripe:oklch(91.5% .009 250);--line:oklch(88.5% .009 250);--line-strong:oklch(78% .012 250);--fg:oklch(21% .014 255);--muted:oklch(47% .014 255);--accent:oklch(52% .13 152);--accent-hover:oklch(46% .12 152);--accent-text:oklch(47% .12 152);--accent-soft:oklch(95% .035 152);--on-accent:oklch(99% .005 152);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme]),[data-theme=system]{--bg:oklch(17.5% .01 255);--surface:oklch(21% .011 255);--surface-2:oklch(24.5% .012 255);--stripe:oklch(24.5% .012 255);--line:oklch(30% .012 255);--line-strong:oklch(42% .014 255);--fg:oklch(95% .006 250);--muted:oklch(72% .012 255);--accent:oklch(76% .14 152);--accent-hover:oklch(82% .13 152);--accent-text:oklch(80% .13 152);--accent-soft:oklch(30% .05 152);--on-accent:oklch(18% .03 152);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-theme=dark]{--bg:oklch(17.5% .01 255);--surface:oklch(21% .011 255);--surface-2:oklch(24.5% .012 255);--stripe:oklch(24.5% .012 255);--line:oklch(30% .012 255);--line-strong:oklch(42% .014 255);--fg:oklch(95% .006 250);--muted:oklch(72% .012 255);--accent:oklch(76% .14 152);--accent-hover:oklch(82% .13 152);--accent-text:oklch(80% .13 152);--accent-soft:oklch(30% .05 152);--on-accent:oklch(18% .03 152);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--font-sans:"Schibsted Grotesk", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--fs-display:clamp(52px, 11cqi, 136px);--fs-h1:clamp(44px, 7cqi, 88px);--fs-name:clamp(44px, 5.4cqi, 64px);--fs-h2:clamp(28px, 3.4cqi, 40px);--fs-h3:28px;--fs-lead:clamp(19px, 2.2cqi, 26px);--fs-body:17px;--fs-body-long:18px;--fs-small:15px;--fs-label:13px;--fs-tag:12px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;--r-tag:4px;--r-btn:8px;--r-media:8px;--r-card-sm:10px;--r-card:12px;--r-pill:999px;--container:1280px;--gutter:clamp(20px, 5cqi, 48px);--control-h:44px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}a:hover{color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-soft)}.media-placeholder{background:repeating-linear-gradient(135deg,var(--surface) 0 10px,var(--stripe) 10px 11px)}.page-root{background:var(--bg);min-height:100vh;color:var(--fg);font-size:17px;line-height:1.6;container-type:inline-size}.home-shell{max-width:var(--container);padding-inline:var(--gutter);flex-direction:column;margin-inline:auto;display:flex}.skip-link{z-index:1;background:var(--fg);min-height:44px;color:var(--bg);border-radius:8px;padding:10px 14px;font-size:15px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.sidebar{flex-direction:column;flex:none;gap:28px;padding:clamp(40px,6cqi,80px) 0 clamp(40px,5cqi,56px);display:flex}.sidebar__identity h1{font-size:var(--fs-name);letter-spacing:-.04em;margin:0;font-weight:600;line-height:.95}.sidebar__role{color:var(--muted);letter-spacing:-.02em;margin:10px 0 0;font-size:22px;font-weight:500;line-height:1.2}.sidebar__location{color:var(--muted);font-family:var(--font-mono);margin:6px 0 0;font-size:13px}.sidebar__intro{text-wrap:pretty;max-width:36ch;margin:0;font-size:18px;line-height:1.5}.sidebar__contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:380px;display:grid}.sidebar__contact .button--primary{grid-column:1/-1}.sidebar-nav{border-top:1px solid var(--line);flex-direction:column;margin-top:8px;display:none}.sidebar-nav a{border-bottom:1px solid var(--line);min-height:44px;color:var(--fg);align-items:baseline;gap:16px;padding:12px 0;font-size:16px;text-decoration:none;transition:color .15s ease-out;display:flex}.sidebar-nav a:hover{color:var(--accent-text)}.sidebar-nav__number,.theme-toggle{color:var(--muted);font-family:var(--font-mono);font-size:12px}.theme-toggle{border:1px solid var(--line);border-radius:var(--r-pill);cursor:pointer;background:0 0;align-self:flex-start;padding:6px 12px;line-height:normal;transition:color .15s ease-out,border-color .15s ease-out;position:relative}.contact-section__email:before,.theme-toggle:before{content:"";position:absolute;inset:min(0px,50% - 22px) 0}.theme-toggle:hover{border-color:var(--line-strong);color:var(--fg)}.home-main{flex:none;width:100%;min-width:0;padding-top:clamp(0px,6cqi,80px)}.home-section{padding-bottom:clamp(64px,8cqi,112px)}.section-heading{color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:16px;margin:0 0 24px;font-size:13px;font-weight:500;display:flex}.section-heading--compact{margin-bottom:8px}.section-heading__rule{background:var(--line);flex:1;height:1px}.project-card--featured{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.media-slot{text-align:center;justify-content:center;align-items:center;width:100%;padding:16px;display:flex;position:relative;overflow:hidden}.media-slot--featured{border-bottom:1px solid var(--line)}.media-slot--medium{border:1px solid var(--line);border-radius:var(--r-media);flex:220px;padding:12px}.media-slot__image,.media-slot__video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.media-slot__caption{z-index:1;border:1px solid var(--line);border-radius:var(--r-tag);background:var(--bg);color:var(--muted);font-family:var(--font-mono);padding:4px 10px;font-size:12px;line-height:1.4;position:relative}.project-card__body{flex-direction:column;gap:20px;padding:clamp(22px,3.4cqi,40px);display:flex}.project-card__title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.project-card__title{letter-spacing:-.035em;margin:0;font-size:clamp(30px,3.6cqi,40px);font-weight:600;line-height:1}.project-card__eyebrow{color:var(--muted);font-family:var(--font-mono);margin:0;font-size:13px}.project-card__title-row .project-card__eyebrow{color:var(--accent-text);white-space:nowrap}.project-card__summary{text-wrap:pretty;max-width:58ch;margin:0;font-size:18px;line-height:1.5}.project-card__highlights{color:var(--muted);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px 32px;margin:0;padding:0;font-size:15px;line-height:1.55;list-style:none;display:grid}.project-card__highlights li{grid-template-columns:20px 1fr;display:grid}.project-card__marker{font-family:var(--font-mono)}.project-card__footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{border:1px solid var(--line);border-radius:var(--r-tag);color:var(--muted);font-family:var(--font-mono);white-space:nowrap;padding:3px 8px;font-size:12px;font-weight:500}.tag--small{padding:2px 7px}.project-card__actions{flex-wrap:wrap;gap:10px;display:flex}.button{min-height:var(--control-h);border-radius:var(--r-btn);color:var(--fg);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:12px;padding:0 18px;font-size:15px;line-height:1.6;text-decoration:none;transition:color .15s ease-out,background-color .15s ease-out,border-color .15s ease-out;display:inline-flex}.button--primary{background:var(--accent);color:var(--on-accent);font-weight:600}.button--primary:hover{background:var(--accent-hover);color:var(--on-accent)}.button--secondary{border-color:var(--line-strong);color:var(--fg);background:0 0;font-weight:500}.button--secondary:hover{background:var(--surface-2);color:var(--fg)}.button--full-width{justify-content:space-between;width:100%;padding-inline:16px}.button__trailing{color:var(--muted);flex:none;align-items:center;display:inline-flex}.button--primary .button__trailing{color:var(--on-accent)}.button__detail{font-family:var(--font-mono);opacity:.9;font-size:13px;font-weight:400}.button__arrow{color:var(--muted)}.project-card--medium{border:1px solid var(--line);border-radius:var(--r-card);flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:16px;padding:14px;display:flex}.project-card__medium-body{flex-direction:column;flex:1.4 280px;gap:12px;min-width:0;padding:4px 8px 4px 0;display:flex}.project-card__medium-body .project-card__eyebrow{color:var(--muted)}.project-card__medium-title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600;line-height:1.15}.project-card__medium-summary{color:var(--muted);text-wrap:pretty;margin:0;font-size:16px;line-height:1.55}.text-link{min-height:44px;color:var(--accent-text);text-underline-offset:4px;align-self:flex-start;align-items:center;padding-block:10px;font-size:15px;font-weight:600;line-height:1.55;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s ease-out;display:inline-flex}.text-link:hover{color:var(--fg)}.side-projects-heading{letter-spacing:-.01em;margin:48px 0 4px;font-size:18px;font-weight:600;line-height:1.3}.project-list{margin:0;padding:0;list-style:none}.project-row{border-bottom:1px solid var(--line)}.project-row__link{color:var(--fg);border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin:0 -10px;padding:16px 10px;text-decoration:none;transition:color .15s ease-out,background-color .15s ease-out;display:flex}.project-row__link:hover{background:var(--surface);color:var(--fg)}.project-row__main{flex-direction:column;flex:300px;gap:2px;min-width:0;display:flex}.project-row__title{font-size:16px;font-weight:600}.project-row__summary{color:var(--muted);text-wrap:pretty;font-size:15px;line-height:1.5}.project-row__meta{flex-wrap:wrap;flex:0 auto;align-items:center;gap:6px;display:flex}.tag-list--row{gap:6px}.project-row__label{min-width:64px;color:var(--muted);font-family:var(--font-mono);text-align:right;font-size:12px}.experience-list{margin:0;padding:0;list-style:none}.experience-item{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 28px;padding:22px 0;display:flex}.experience-item__dates{color:var(--muted);font-family:var(--font-mono);flex:0 0 170px;padding-top:3px;font-size:13px}.experience-item__body{flex:320px;min-width:0}.experience-item__title{margin:0;font-size:17px;font-weight:600;line-height:1.4}.experience-item__title span{color:var(--muted);font-weight:400}.experience-item__description{color:var(--muted);text-wrap:pretty;margin:6px 0 0;font-size:15px;line-height:1.6}.experience-download{margin-top:24px}.about-copy{text-wrap:pretty;flex-direction:column;gap:18px;max-width:60ch;font-size:17px;line-height:1.65;display:flex}.about-copy p{margin:0}.about-copy__muted{color:var(--muted)}.contact-section{padding-bottom:40px}.contact-section__intro{color:var(--muted);margin:0 0 8px;font-size:17px}.contact-section__email{overflow-wrap:anywhere;color:var(--fg);letter-spacing:-.035em;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.14em;font-size:clamp(28px,4cqi,48px);font-weight:600;line-height:1.1;text-decoration-thickness:.06em;transition:color .15s ease-out;display:inline-block;position:relative}.contact-section__email:hover{color:var(--accent-text)}.contact-section__socials{flex-wrap:wrap;gap:24px;margin-top:28px;font-size:15px;display:flex}.contact-section__social{color:var(--fg);font-weight:400;line-height:1.6;display:block}.contact-section__social:hover{color:var(--accent-text)}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);margin-top:clamp(56px,7cqi,96px);padding-top:20px;font-size:13px}@media (width>=861px){.home-shell{flex-direction:row;align-items:flex-start;gap:0 clamp(40px,6cqi,96px)}.sidebar{flex:320px;position:sticky;top:0}.sidebar-nav{display:flex}.home-main{flex:999 1 0;width:auto;min-width:52%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}.button--text{color:var(--accent-text);text-underline-offset:4px;white-space:normal;background:0 0;border:0;border-radius:0;padding:10px 0;font-size:15px;font-weight:600;text-decoration:underline}.button--text:hover{color:var(--fg);background:0 0}.case-study-page{min-height:100vh}.case-study-header{max-width:1200px;padding:20px var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-inline:auto;display:flex}.case-study-header__logo{color:var(--fg);font-family:var(--font-mono);align-items:center;padding:8px 0;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.case-study-header__logo:before{content:"";position:absolute;inset:min(0px,50% - 23px) -5px}.case-study-nav{flex-wrap:wrap;align-items:center;gap:0 20px;font-size:15px;display:flex}.case-study-nav>a{color:var(--muted);align-items:center;padding:10px 0;text-decoration:none;display:inline-flex;position:relative}.case-study-nav>a:before{content:"";position:absolute;inset:min(0px,50% - 23px) -5px}.case-study-nav>a:hover,.case-study-nav>a[aria-current=page]{color:var(--fg)}.case-study-header .theme-toggle{align-self:center}.case-study-header .theme-toggle:before{inset:0 0 -18px}.case-study-hero{max-width:1200px;padding:clamp(32px,6cqi,80px) var(--gutter) clamp(32px,4cqi,48px);margin-inline:auto}.case-study-back{color:var(--muted);font-family:var(--font-mono);font-size:13px;font-weight:400;line-height:1.6;text-decoration:none}.case-study-back:hover{color:var(--fg)}.case-study-hero__eyebrow{color:var(--accent-text);font-family:var(--font-mono);margin:16px 0 12px;font-size:13px}.case-study-hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(40px,5.4cqi,64px);font-weight:600;line-height:.95}.case-study-hero__lead{letter-spacing:-.01em;text-wrap:pretty;max-width:44ch;margin:16px 0 0;font-size:clamp(18px,1.8cqi,21px);line-height:1.45}.meta-list{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:24px 32px;margin:clamp(40px,5cqi,64px) 0 0;padding-top:24px;display:grid}.meta-list dt{color:var(--muted);font-family:var(--font-mono);font-size:13px}.meta-list dd{margin:6px 0 0;font-size:16px}.case-study-page .meta-list__link{min-height:0;color:var(--accent-text);text-underline-offset:4px;background:0 0;border:0;border-radius:0;align-items:baseline;padding:0;font-size:16px;font-weight:400;line-height:1.2;text-decoration:underline;position:relative}.case-study-page .meta-list__link:before{content:"";position:absolute;inset:min(0px,50% - 23px) 0}.case-study-page .meta-list__link:hover{color:var(--fg);background:0 0}.case-study-media-stats{max-width:1200px;padding-inline:var(--gutter);margin-inline:auto}.case-study-page .case-study-media-slot{border:1px solid var(--line);border-radius:12px;width:100%;padding:16px}.stat-grid,.step-grid{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1px;padding:0;display:grid;overflow:hidden}.stat-grid{margin:20px 0 0}.stat-grid>div{background:var(--bg);padding:24px 28px}.stat-grid dt{color:var(--muted);font-family:var(--font-mono);font-size:13px}.stat-grid dd{letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(36px,5cqi,56px);font-weight:600;line-height:1.05}.case-study-section{max-width:1200px;padding:clamp(72px,9cqi,128px) var(--gutter) 0;margin-inline:auto}.case-study-section:not(.case-study-section--with-grid),.case-study-section__row{flex-wrap:wrap;gap:12px clamp(32px,6cqi,96px);display:flex}.case-study-section__row{margin-bottom:32px}.section-heading--case-study{color:var(--fg);font-family:var(--font-sans);letter-spacing:-.025em;flex:0 0 240px;margin:0;font-size:clamp(24px,2.6cqi,30px);font-weight:600;line-height:1.15;display:block}.section-heading--case-study .section-heading__rule{display:none}.case-study-prose,.case-study-section__intro{text-wrap:pretty;flex:440px;min-width:0;max-width:64ch;font-size:18px;line-height:1.65}.case-study-prose{flex-direction:column;gap:18px;display:flex}.case-study-prose p,.case-study-section__intro{margin:0}.case-study-prose__muted,.case-study-section__intro{color:var(--muted)}.step-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));margin:0;list-style:none}.step-grid>li{background:var(--bg);flex-direction:column;gap:10px;padding:28px;display:flex}.step-grid__number{color:var(--accent-text);font-family:var(--font-mono);font-size:13px}.step-grid h3{letter-spacing:-.015em;margin:0;font-size:20px;font-weight:600;line-height:1.25}.step-grid p{color:var(--muted);text-wrap:pretty;margin:0;font-size:16px;line-height:1.55}.case-study-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.case-study-more-work{max-width:1200px;padding:clamp(72px,9cqi,128px) var(--gutter) clamp(56px,7cqi,96px);margin-inline:auto}.case-study-more-work>a{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:44px;color:var(--fg);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding:28px 0;text-decoration:none;display:flex}.case-study-more-work>a:hover{color:var(--accent-text)}.case-study-more-work span{color:var(--muted);font-family:var(--font-mono);font-size:13px}.case-study-more-work strong{letter-spacing:-.03em;font-size:clamp(24px,3.4cqi,40px);font-weight:600;line-height:1.1}.case-study-footer{max-width:1200px;padding:0 var(--gutter) 40px;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-inline:auto;display:flex}.case-study-footer,.case-study-footer__email{color:var(--muted);font-family:var(--font-mono);align-items:center;font-size:13px}.case-study-footer__email{min-height:0;padding:0;font-weight:400;line-height:1.6;text-decoration:none;position:relative}.case-study-footer__email:before{content:"";position:absolute;inset:min(0px,50% - 23px) 0}.case-study-footer__email:hover{color:var(--fg)}
