:root{--bg:#f8f6f1;--surface:#fffdfa;--surface-2:#eeece5;--text:#24282e;--muted:#585f68;--line:#d8d8d2;--primary:#2457a6;--on-primary:#fff;--accent:#2457a6;--page:min(1160px, calc(100% - 64px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#14191f;--surface:#1c232c;--surface-2:#242d38;--text:#f1eee6;--muted:#b4bdc9;--line:#39434f;--primary:#a3c4ff;--on-primary:#15243b;--accent:#a3c4ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.65 Avenir Next,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance;font-weight:500;line-height:1.15}h1,h2{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif}h1{font-size:clamp(2.65rem,5.2vw,4.6rem)}h2{font-size:clamp(2rem,3.3vw,3rem)}h3{letter-spacing:-.025em;font-size:1.4rem}p{color:var(--muted)}p+p{margin-top:1.25rem}ul{padding-left:1.2rem}li{color:var(--muted);margin-bottom:1rem;padding-left:.25rem}a:hover{color:var(--primary)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--primary);color:var(--on-primary)}main{width:var(--page);margin:auto}main:focus{outline:none}.skip-link{z-index:100;background:var(--surface);padding:10px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{width:var(--page);justify-content:space-between;align-items:center;gap:24px;min-height:86px;margin:auto;display:flex}.brand{align-items:center;gap:12px;font-weight:600;display:flex}.brand-mark{color:var(--primary);border-right:1px solid var(--line);padding-right:14px;font:italic 24px Georgia,serif}.brand-name{font-size:14px}.primary-nav{align-items:center;gap:26px;font-size:13px;display:flex}.nav-item{color:var(--muted)}.nav-item.is-active{color:var(--primary);text-underline-offset:8px;text-decoration:underline}.nav-contact{color:var(--primary)}.theme-toggle{color:var(--text);border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.theme-toggle svg{width:17px;height:17px}.menu-toggle{display:none}.section-kicker{color:var(--primary);letter-spacing:.13em;text-transform:uppercase;margin-bottom:22px;font-size:11px;font-weight:650;display:block}.hero{grid-template-columns:1.7fr 1fr;align-items:center;gap:80px;padding:100px 0 90px;display:grid}.hero h1{max-width:760px}.hero p{max-width:590px;margin-top:28px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1px solid var(--line);justify-content:center;align-items:center;gap:24px;min-height:48px;padding:12px 20px;font-size:13px;transition:background .15s,color .15s;display:inline-flex}.button-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.button-primary:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.button-secondary:hover,.button-quiet:hover{background:var(--surface-2)}.portrait-panel{padding-top:25px}.portrait-panel img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.7);border-radius:100px 100px 0 0}.portrait-panel figcaption{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:13px}.portrait-panel figcaption span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.home-section{border-top:1px solid var(--line);padding:76px 0}.section-heading{max-width:740px;margin-bottom:38px}.section-heading p{margin-top:20px}.case-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.case-card{background:var(--surface);border:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:22px;padding:32px;display:flex}.case-card-top{width:100%;color:var(--primary);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.case-card-top span:last-child{color:var(--muted);margin-left:auto;font-size:10px}.case-card h3{font-family:Georgia,serif;font-size:29px;line-height:1.2}.case-card .text-link{margin-top:auto}.text-link{color:var(--primary);border-bottom:1px solid var(--line);padding-bottom:5px;font-size:13px;font-weight:600}.section-link{margin-top:30px;display:inline-block}.case-metrics,.case-detail-metrics{flex-wrap:wrap;gap:28px;display:flex}.case-metrics strong,.case-detail-metrics strong{color:var(--primary);font:24px Georgia,serif;display:block}.case-metrics span,.case-detail-metrics span{color:var(--muted);margin-top:6px;font-size:10px;display:block}.design-theme-grid{grid-template-columns:repeat(2,1fr);gap:30px 60px;display:grid}.design-theme-grid article{border-top:1px solid var(--line);padding:24px 0}.theme-number{color:var(--primary);margin-bottom:16px;font-size:11px;display:block}.design-theme-grid h3{margin-bottom:14px}.evidence-links{color:var(--primary);flex-wrap:wrap;gap:16px;margin:18px 0;font-size:12px;display:flex}.career-list a{border-top:1px solid var(--line);grid-template-columns:1fr 1.2fr 1fr auto;align-items:center;gap:18px;padding:24px 0;display:grid}.career-list span,.career-list small{color:var(--muted);font-size:13px}.page-intro{grid-template-columns:1fr auto;gap:24px;padding:85px 0 65px;display:grid}.page-intro h1{max-width:850px}.page-intro p{max-width:680px;margin-top:24px}.page-intro aside{max-width:230px}.page-stat{color:var(--muted);font-size:12px}.page-stat strong{color:var(--primary);font:60px Georgia;display:block}.page-stat span{max-width:180px;display:block}.case-grid-page{padding-bottom:80px}.case-detail-header{max-width:930px;padding:65px 0 56px}.back-link{color:var(--muted);margin-bottom:42px;font-size:12px;display:inline-block}.case-detail-header p{max-width:820px;margin-top:28px;font-size:19px}.case-detail-header .work-role{margin-top:18px;font-size:13px}.case-detail-metrics{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}.case-detail-metrics strong{font-size:32px}.case-detail-body{border-top:1px solid var(--line);grid-template-columns:245px minmax(0,1fr);gap:70px;padding:45px 0 80px;display:grid}.contents{flex-direction:column;gap:18px;font-size:12px;display:flex;position:sticky;top:125px}.contents a{gap:14px;display:flex}.contents span{color:var(--primary)}.case-narrative{max-width:750px}.case-narrative section{margin-bottom:48px;scroll-margin-top:115px}.case-narrative h2{margin-bottom:22px;font-size:30px}.case-narrative li{margin-bottom:20px}.technology-row,.tag-list,.technology-stack{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.technology-row span,.tag-list span,.technology-stack span{border:1px solid var(--line);color:var(--muted);padding:5px 9px;font-size:11px}.timeline-item{border-top:1px solid var(--line);grid-template-columns:35px 170px minmax(0,1fr);gap:28px;padding:36px 0;display:grid}.timeline-marker,.timeline-meta{color:var(--muted);font-size:12px}.timeline-meta small{color:var(--primary);margin-top:8px;display:block}.timeline-title h2{font-size:30px}.timeline-title p{margin-top:12px;font-size:13px}.timeline-title>span{color:var(--primary);font-size:13px}.timeline-summary{margin:20px 0}.timeline{padding-bottom:65px}.timeline .case-metrics{margin-bottom:25px}.expertise-section{padding:35px 0 55px}.skill-group-grid{grid-template-columns:repeat(2,1fr);gap:25px;display:grid}.skill-group-grid article{border:1px solid var(--line);background:var(--surface);padding:26px}.skill-group-head span{text-transform:uppercase;color:var(--primary);margin-bottom:15px;font-size:10px;display:block}.skill-group-head h3{margin-bottom:15px}.about-layout{grid-template-columns:1fr 1.7fr;gap:65px;margin:0 0 70px;display:grid}.about-portrait img{aspect-ratio:1;object-fit:cover}.about-portrait>span{color:var(--muted);margin-top:15px;font-size:12px;display:block}.about-story{font-size:20px}.about-aside{font-size:12px}.about-aside span,.about-aside strong{margin-bottom:8px;display:block}.about-details{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:40px;padding:45px 0 80px;display:grid}.about-details h2{margin-bottom:16px;font-size:25px}.language-list{padding:0;list-style:none}.language-list li{justify-content:space-between;gap:15px;font-size:12px;display:flex}.site-footer{border-top:1px solid var(--line);background:var(--surface-2)}.footer-inner,.footer-bottom{width:var(--page);justify-content:space-between;align-items:center;gap:35px;margin:auto;display:flex}.footer-inner{padding:60px 0}.footer-inner h2{max-width:660px;font-size:36px}.footer-actions{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;padding:24px 0;font-size:10px}.footer-social{gap:20px;display:flex}.error-page{padding:100px 0}.error-page p{margin:25px 0}@media (width>=1500px){.hero{padding-top:125px;padding-bottom:115px}}@media (width<=900px){.hero{gap:35px;padding:65px 0}.primary-nav{gap:15px}.brand-name{display:none}.case-detail-body{grid-template-columns:190px minmax(0,1fr);gap:35px}.case-card{padding:25px}.case-card-top span:last-child{margin-left:0}.about-details{grid-template-columns:1fr 1fr}.footer-inner h2{font-size:30px}}@media (width<=680px){:root{--page:calc(100% - 36px)}.header-inner{min-height:70px}.brand-name{display:block}.menu-toggle{border:1px solid var(--line);color:var(--text);background:0 0;padding:7px 12px;font-size:12px;display:block}.primary-nav{background:var(--bg);border-bottom:1px solid var(--line);align-items:flex-start;gap:24px;padding:25px;display:none;position:absolute;top:70px;left:0;right:0}.primary-nav.is-open{flex-direction:column;display:flex}.hero{grid-template-columns:1fr;gap:36px;padding:50px 0}.hero p{font-size:16px}.portrait-panel{grid-template-columns:100px 1fr;align-items:center;gap:22px;padding:0;display:grid}.portrait-panel img{border-radius:45px 45px 0 0}.portrait-panel figcaption{border:0;margin:0;padding:0}.home-section{padding:45px 0}.case-grid,.design-theme-grid,.skill-group-grid{grid-template-columns:1fr}.case-card{padding:24px}.case-card h3{font-size:27px}.case-metrics{gap:18px}.case-metrics strong{font-size:22px}.career-list a{grid-template-columns:1fr auto;gap:6px}.career-list a>span:nth-child(2){grid-row:2}.career-list a>small{grid-area:2/2}.career-list a>span:last-child{text-align:right;grid-area:1/2}.page-intro{grid-template-columns:1fr;padding:50px 0}.page-intro aside{display:none}.case-detail-header{padding-top:40px}.case-detail-header p{font-size:17px}.case-detail-body{grid-template-columns:1fr;gap:35px;padding-top:25px}.contents{grid-template-columns:1fr 1fr;gap:15px;font-size:11px;display:grid;position:static}.case-detail-body aside{border-bottom:1px solid var(--line);padding-bottom:25px}.case-narrative h2{font-size:28px}.timeline-item{grid-template-columns:1fr;gap:12px}.timeline-marker{display:none}.timeline-meta small{margin-left:15px;display:inline}.about-layout{grid-template-columns:1fr;gap:30px}.about-portrait{max-width:260px}.about-story{font-size:18px}.about-details{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start;padding:42px 0}.footer-actions{flex-flow:wrap}.footer-bottom{gap:20px}.footer-bottom p{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation:none!important}}.legacy-intro{display:block}.theme-label{display:none}
