.about-page{max-width:1360px;padding:clamp(2.5rem, 5vw, 5rem) var(--page-gutter) 6rem;margin-inline:auto}.about-intro{grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid}.about-title{font-size:clamp(3.5rem,6vw,6rem)}.about-title span{color:var(--color-accent)}.about-copy{max-width:60ch}.about-copy p:not(.eyebrow,.about-kicker,.about-lead){color:var(--color-muted);margin:1.25rem 0 0;line-height:1.85}.about-copy .about-lead{color:var(--color-text);letter-spacing:-.02em;margin-top:2rem;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.6}.about-photo{width:100%;margin:0}.about-photo img{border-radius:8px;width:100%;height:auto;display:block}.about-photo figcaption{color:var(--color-muted);letter-spacing:.08em;margin-top:.875rem;font-size:.75rem}.about-page h2{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.2}.about-kicker{color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.75rem}.about-areas{border-block:1px solid color-mix(in srgb, var(--color-lavender) 22%, transparent);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(2rem,6vw,6rem);margin-block:clamp(4rem,8vw,7rem);padding-block:clamp(2.5rem,5vw,4rem);display:grid}.about-section-description{max-width:52ch;color:var(--color-muted);margin:0 0 1.5rem;line-height:1.8}.about-tags{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.about-tags li{border:1px solid color-mix(in srgb, var(--color-lavender) 35%, transparent);border-radius:999px;padding:.55rem .95rem;font-size:.875rem}.about-personal{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,7vw,7rem);display:grid}.about-connect{margin-top:clamp(4rem,8vw,7rem)}.about-actions{flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:2rem;display:flex}@media (width<=900px){.about-intro{grid-template-columns:minmax(0,1fr) 220px;align-items:start}.about-photo-geneva{margin-top:4rem}}@media (width<=640px){.about-intro,.about-areas,.about-personal{grid-template-columns:minmax(0,1fr);gap:2rem}.about-photo-geneva{max-width:260px;margin:0 auto}.about-photo-tokyo{max-width:240px;margin-inline:auto}.about-personal .about-copy{grid-row:1}}.case-study{--case-border:color-mix(in srgb, var(--color-lavender) 25%, transparent);max-width:calc(1320px + var(--page-gutter) * 2);padding:clamp(1rem, 3vw, 3rem) var(--page-gutter) 3rem;margin-inline:auto}.case-study>.back-link{margin:0 0 clamp(2.5rem,5vw,4rem)}.case-header{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:clamp(2rem,5vw,5rem);display:grid}.case-header .eyebrow{color:var(--color-muted);margin-bottom:1.5rem;font-size:.75rem}.case-title{overflow-wrap:anywhere;max-width:14ch;font-size:clamp(2.75rem,4.6vw,4.75rem);line-height:1.12}.case-summary{max-width:48ch;color:var(--color-muted);margin:0;font-size:clamp(1.0625rem,1.4vw,1.1875rem);line-height:1.8}.case-tags{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.case-tags li{border:1px solid var(--case-border);color:var(--color-muted);border-radius:999px;padding:.3rem .75rem;font-size:.75rem}.case-external-link{border-bottom:1px solid color-mix(in srgb, var(--color-accent) 55%, transparent);min-height:44px;color:var(--color-accent);align-items:center;gap:1rem;margin-top:1.5rem;font-size:.875rem;display:inline-flex}.case-external-link:hover{color:var(--color-text);border-color:var(--color-text)}.case-hero{margin-top:clamp(2.5rem,5vw,4.5rem)}.case-figure{min-width:0;margin:0}.case-image-link{border:1px solid var(--case-border);border-radius:8px;display:block;overflow:hidden}.case-image-link:hover{border-color:var(--color-lavender)}.case-image-link img{width:100%;height:auto;display:block}.case-hero .case-image-link{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--color-surface) 20%, transparent), transparent)}.case-hero img{object-fit:contain;max-height:42rem}.case-figure figcaption{max-width:72ch;color:var(--color-muted);overflow-wrap:anywhere;margin-top:.875rem;font-size:.8125rem;line-height:1.75}.case-sections{gap:clamp(4.5rem,8vw,8rem);margin-top:clamp(4rem,7vw,7rem);display:grid}.case-section{min-width:0}.case-section-number{color:var(--color-accent);letter-spacing:.1em;font-variant-numeric:tabular-nums;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.75rem;display:inline-flex}.case-section-number:before{content:"";background:currentColor;width:1.5rem;height:1px}.case-section h2{letter-spacing:-.035em;overflow-wrap:anywhere;max-width:24ch;margin:0;font-size:clamp(1.625rem,2.5vw,2.25rem);font-weight:500;line-height:1.25}.case-prose{max-width:65ch;color:var(--color-muted);overflow-wrap:anywhere;line-height:1.9}.case-prose p{margin:0}.case-prose p+p{margin-top:1.25rem}.case-section-text,.case-section-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-items:start;gap:2rem clamp(2rem,5vw,5rem);display:grid}.case-section-intro{margin-bottom:2.5rem}.case-section-split{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:center;gap:2rem clamp(2rem,5vw,5rem);display:grid}.case-split-copy .case-prose{margin-top:1.5rem}.case-image-first{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.case-image-first>.case-figure{grid-area:1/1}.case-image-first>.case-split-copy{grid-area:1/2}.case-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr));align-items:start;gap:2.5rem 2rem;display:grid}.case-footer{border-top:1px solid var(--case-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:clamp(4rem,7vw,7rem);padding-top:2rem;display:flex}.case-footer .back-link,.case-footer .case-external-link{margin:0}@media (width<=900px){.case-header{grid-template-columns:1fr}.case-title{max-width:20ch}.case-section-split,.case-section-text,.case-section-intro{grid-template-columns:1fr}.case-image-first>.case-figure,.case-image-first>.case-split-copy{grid-area:auto}}:root{--color-bg:#0d1828;--color-surface:#394763;--color-text:#f3efe5;--color-muted:#a5aac3;--color-lavender:#777b9d;--color-accent:#d59a9b;--page-gutter:clamp(1.5rem, 6vw, 7rem);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px;border-radius:3px}::selection{color:var(--color-bg);background:var(--color-accent)}.portfolio{background:radial-gradient(ellipse at 52% 45%, color-mix(in srgb, var(--color-surface) 24%, transparent), transparent 65%);max-width:1800px;min-height:100svh;margin-inline:auto}.skip-link{top:1rem;left:var(--page-gutter);z-index:3;color:var(--color-bg);background:var(--color-text);padding:.75rem 1rem;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:2;min-height:112px;padding-inline:var(--page-gutter);justify-content:space-between;align-items:center;display:flex;position:relative}.wordmark{letter-spacing:-.09em;font-size:2rem;font-weight:650}.wordmark span{color:var(--color-accent)}.site-header nav{align-items:center;gap:clamp(1.25rem,3.4vw,3.5rem);display:flex}.site-header nav a{min-height:44px;color:var(--color-muted);letter-spacing:.03em;align-items:center;font-size:.875rem;display:inline-flex}.site-header nav a:hover,.github-link:hover{color:var(--color-text)}.hero{isolation:isolate;grid-template-columns:1fr;align-items:center;min-height:min(780px,100svh - 112px);display:grid;position:relative}.hero-content{z-index:1;width:62%;padding:5rem 0 7rem var(--page-gutter);position:relative}.eyebrow{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:1rem;margin:0 0 2rem;font-size:.875rem;font-weight:500;display:flex}.eyebrow-line{background:var(--color-accent);width:2rem;height:1px}h1{letter-spacing:-.065em;margin:0;font-size:clamp(3.5rem,7.2vw,7.5rem);font-weight:500;line-height:1.07}.smile{color:var(--color-accent);white-space:nowrap;font-weight:350}.hero-description{max-width:25rem;color:var(--color-muted);margin:2rem 2rem 0 0;font-size:clamp(1rem,1.35vw,1.125rem);line-height:1.85}.hero-actions{flex-wrap:wrap;align-items:center;gap:2rem;margin-top:2.5rem;font-size:.875rem;display:flex}.button-primary{border:1px solid var(--color-accent);min-height:52px;color:var(--color-bg);background:var(--color-accent);border-radius:5px;justify-content:center;align-items:center;gap:1.5rem;padding:.875rem 1.5rem;font-weight:600;display:inline-flex}.button-primary:hover{background:var(--color-text);border-color:var(--color-text)}.github-link{min-height:44px;color:var(--color-muted);align-items:center;gap:.65rem;display:inline-flex}.github-link span{color:var(--color-lavender)}.hero-image{width:55%;position:absolute;inset:0 0 0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%);mask-image:linear-gradient(90deg,#0000,#000 40%)}.hero-image img{object-fit:cover;object-position:70% 42%;width:100%;height:100%;display:block;position:absolute;inset:0}.hero-image:after{content:"";background:linear-gradient(to bottom, var(--color-bg), transparent 18%, transparent 75%, var(--color-bg));pointer-events:none;position:absolute;inset:0}@media (width>=761px){.hero{--hero-frame-height:min(780px, calc(100svh - 112px));--photo-top-crop:max(0px, calc((55cqw * 4 / 3 - var(--hero-frame-height)) * .42));container-type:inline-size}.hero-content{min-height:var(--hero-frame-height);flex-direction:column;grid-area:1/1;justify-content:center;align-self:start;display:flex}.hero-image{grid-area:1/1;place-self:start end;position:relative;inset:auto}.hero-image img{height:auto;min-height:var(--hero-frame-height);margin-top:calc(-1 * var(--photo-top-crop));position:relative}.hero-image:after{background:linear-gradient(to bottom, var(--color-bg), transparent calc(var(--hero-frame-height) * .18), transparent 75%, var(--color-bg))}}@media (width>=1800px){.hero-image{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 40% 90%,#0000)}}@media (width<=760px){.site-header{min-height:88px}.hero{align-items:start;min-height:calc(100svh - 88px)}.hero-content{width:100%;padding:clamp(1.5rem, 3svh, 2rem) var(--page-gutter) 19rem}.eyebrow{margin-bottom:1.5rem;font-size:.75rem}h1{font-size:clamp(3.25rem,11vw,5rem)}.hero-description{margin-top:1.5rem;margin-right:0}.hero-actions{gap:1.5rem;margin-top:2rem}.hero-image{width:100%;height:clamp(320px,48svh,480px);inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000,#000 32%);mask-image:linear-gradient(#0000,#000 32%)}.hero-image img{object-position:65% 40%}.hero-image:after{background:linear-gradient(to bottom, transparent 78%, var(--color-bg))}}.site-header nav a[aria-current=page]{color:var(--color-accent)}#main-content:focus{outline:none}.work-page{padding:clamp(2.5rem, 5vw, 5rem) var(--page-gutter) 6rem}.work-intro{margin-bottom:clamp(2.5rem,5vw,4.5rem)}.work-title{overflow-wrap:anywhere;font-size:clamp(3rem,6vw,5.75rem)}.work-summary{max-width:36rem;color:var(--color-muted);margin:1.5rem 0 0;font-size:1.0625rem;line-height:1.8}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem 2rem;margin:0;padding:0;list-style:none;display:grid}.project-card{display:block}.project-card-image{border:1px solid color-mix(in srgb, var(--color-lavender) 25%, transparent);background:color-mix(in srgb, var(--color-surface) 30%, var(--color-bg));border-radius:8px;overflow:hidden}.project-card-image img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.project-card-caption{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.25rem;display:flex}.project-card-caption h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;font-size:1.375rem;font-weight:500}.project-card-caption span{color:var(--color-accent)}.project-card-label{color:var(--color-muted);letter-spacing:.03em;margin:.5rem 0 0;font-size:.8125rem}.project-card:hover .project-card-image,.project-card:focus-visible .project-card-image{border-color:var(--color-accent)}.project-card:hover h2{color:var(--color-accent)}.back-link{min-height:44px;color:var(--color-muted);align-items:center;gap:.75rem;margin:1.5rem 0;font-size:.875rem;display:inline-flex}.back-link:hover{color:var(--color-text)}@media (width<=1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.project-grid{grid-template-columns:1fr;gap:2.5rem}}
