@font-face{font-family:Onest;src:url('assets/onest-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Onest;src:url('assets/onest-500.ttf') format('truetype');font-weight:500 700;font-display:swap}
:root{--paper:#fff;--ink:#1c1c1c;--muted:#626262;--line:#dedede;--soft:#f3f3f3;--accent:#284be8;--gutter:clamp(22px,4.2vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font-family:Onest,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:#dce2ff}a:hover{color:var(--accent)}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;height:auto}svg{width:24px;height:24px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{text-wrap:balance}::selection{background:#dce2ff}.wrap{width:calc(100% - 2 * var(--gutter));max-width:1600px;margin-inline:auto}.skip{position:fixed;left:24px;top:-80px;padding:12px 20px;background:var(--ink);color:#fff;z-index:100}.skip:focus{top:16px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:112px;gap:24px}.wordmark{font-size:17px;line-height:1.12;letter-spacing:-.04em}.brand-dot{color:var(--accent)}nav{display:flex;gap:32px}nav a,.header-contact{padding:12px 0;font-size:14px}.header-contact{display:flex;align-items:center;gap:12px}.header-contact svg{width:18px;height:18px}.hero{padding-top:66px}.hero h1{font-size:clamp(46px,7.5vw,128px);font-weight:500;letter-spacing:-.065em;line-height:1.1}.hero-intro{display:grid;grid-template-columns:1.1fr 1fr auto;gap:32px;align-items:end;margin:38px 0 54px}.role{font-size:clamp(18px,1.6vw,26px);line-height:1.4;letter-spacing:-.025em}.hero-description{font-size:15px;color:var(--muted);line-height:1.6}.work-jump{display:flex;align-items:center;gap:32px;font-size:13px;min-height:44px}.work-jump>span:last-child{font-size:24px}.hero-visual{display:block;position:relative;overflow:hidden;background:var(--soft)}.hero-visual>img{width:100%;aspect-ratio:2.04;object-fit:cover;object-position:50% 54%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.hero-visual:hover>img{transform:scale(1.015)}.hero-image-link{position:absolute;bottom:24px;right:24px;display:flex;gap:30px;align-items:center;padding:16px 20px;background:#fff;font-size:13px;color:var(--ink)}.hero-image-link svg{width:18px;height:18px}.hero-caption{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);margin-top:14px}.projects{padding-top:132px}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:32px;margin-bottom:48px}.section-heading h2,.about h2{font-size:clamp(27px,3vw,46px);line-height:1.2;letter-spacing:-.045em}.section-heading>p{font-size:14px;line-height:1.6;color:var(--muted);padding-top:6px;min-width:240px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 30px}.project-image{position:relative;overflow:hidden;background:var(--soft)}.project-image img{width:100%;aspect-ratio:1.4;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-link:hover img{transform:scale(1.025)}.project-open{position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--ink)}.project-open svg{width:19px;height:19px}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:19px}.project-caption h3{font-size:clamp(20px,1.8vw,28px);letter-spacing:-.035em}.project-caption>span{font-size:13px;color:var(--muted)}.project-link>p{font-size:13px;color:var(--muted);margin-top:5px}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:14px;border-bottom:1px solid currentColor;padding:12px 0}.text-link svg{width:17px;height:17px}.all-projects{margin-top:54px}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding-block:140px 110px}.about-side>p{color:var(--muted);font-size:14px;margin-top:18px}.statement{font-size:clamp(28px,3.2vw,48px);letter-spacing:-.045em;line-height:1.25;margin-bottom:32px}.about-copy{font-size:17px;line-height:1.75;color:var(--muted);max-width:620px;margin-bottom:18px}.expertise{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:38px;font-size:14px}.expertise span{border-top:1px solid var(--line);padding-top:16px}.culture{padding-bottom:118px}.culture-row{display:grid;grid-template-columns:100px 1fr 160px;align-items:center;gap:24px;border-top:1px solid var(--line);padding:28px 0;min-height:120px}.culture-row:last-child{border-bottom:1px solid var(--line)}.year{font-size:14px;color:var(--muted)}.culture-row h3{font-size:clamp(20px,2.3vw,32px);letter-spacing:-.035em}.culture-row p{font-size:13px;color:var(--muted);margin-top:6px}.source-label{display:flex;justify-content:end;align-items:center;gap:18px;font-size:13px}.source-label svg{width:20px;height:20px}.contact{padding:58px 0 82px;border-top:1px solid var(--line)}.contact-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:46px}.contact-top span{color:var(--muted)}.contact h2{font-size:clamp(36px,5.6vw,88px);line-height:1.12;letter-spacing:-.055em}.contact-bottom{display:flex;align-items:center;gap:42px;margin-top:44px}.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:var(--paper);padding:19px 24px;font-size:14px;min-height:60px;transition:background-color .2s}.contact-button:hover{background:var(--accent);color:#fff}.contact-button svg{width:20px;height:20px}.phone{font-size:19px;letter-spacing:-.02em;padding-block:12px;white-space:nowrap}.footer{border-top:1px solid var(--line);padding-block:28px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}.footer a{padding-block:8px}.footer>span{padding-block:8px}.detail{padding-top:44px}.back-link{display:inline-block;font-size:14px;color:var(--muted);padding-block:12px}.detail-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:48px 0}.detail-heading h1{font-size:clamp(38px,6.2vw,92px);line-height:1.08;letter-spacing:-.055em;max-width:1000px}.detail-heading>p{font-size:14px;color:var(--muted);flex-shrink:0}.detail-main-image{background:var(--soft)}.detail-main-image img{width:100%;max-height:840px;object-fit:contain}.detail-description{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding:76px 0}.detail-description h2{font-size:24px;letter-spacing:-.03em}.detail-description p{font-size:clamp(18px,2vw,28px);line-height:1.55;max-width:800px;letter-spacing:-.02em}.image-note{display:block;font-size:13px;color:var(--muted);margin-top:22px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.detail-gallery img{width:100%;height:auto}.detail-source{padding:32px 0 70px}.detail-source p{margin-top:10px;font-size:12px;color:var(--muted)}.detail-end{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--line);padding-block:48px 76px}.detail-end span{font-size:13px;color:var(--muted)}.detail-end h2{font-size:clamp(26px,3vw,44px);letter-spacing:-.04em;margin-top:10px}
@media(min-width:1700px){.hero{padding-top:80px}.hero-intro{margin-bottom:64px}}
@media(max-width:1000px){.header-contact{display:none}.hero{padding-top:45px}.hero-intro{grid-template-columns:1fr 1fr;margin-bottom:36px}.work-jump{display:none}.hero-description{justify-self:end}.section-heading>p{min-width:0}.projects{padding-top:90px}.project-grid{gap:44px 24px}.about{padding-block:96px;grid-template-columns:1fr 1.5fr;gap:36px}.expertise{grid-template-columns:1fr}.culture-row{grid-template-columns:70px 1fr 110px}.detail-heading{display:block}.detail-heading>p{margin-top:24px}}
@media(max-width:600px){.site-header{min-height:94px;gap:18px}.wordmark{font-size:14px}nav{gap:18px}nav a{font-size:12px;min-height:44px;display:flex;align-items:center}.hero{padding-top:40px}.hero h1{font-size:clamp(44px,12vw,70px);line-height:1.02;max-width:500px}.hero-intro{display:block;margin:28px 0 32px}.role{font-size:19px}.hero-description{font-size:14px;margin-top:18px;max-width:290px}.desktop-break{display:none}.hero-visual>img{aspect-ratio:1.12;object-position:45% center}.hero-image-link{right:12px;bottom:12px;left:12px;justify-content:space-between;padding:13px 15px;font-size:12px}.hero-caption{font-size:10px;gap:16px}.hero-caption>span:last-child{text-align:right}.projects{padding-top:74px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:13px;margin-top:16px}.section-heading>p br{display:none}.project-grid{grid-template-columns:1fr;gap:36px}.project-image img{aspect-ratio:1.3}.project-caption{margin-top:14px}.project-caption h3{font-size:23px}.project-link>p{font-size:12px}.all-projects{margin-top:32px}.about{display:block;padding-block:80px}.about-side{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:34px}.about-side>p{margin-top:0}.statement{font-size:31px}.about-copy{font-size:16px;line-height:1.65}.expertise{grid-template-columns:1fr 1fr;gap:20px;font-size:13px;margin-top:30px}.culture{padding-bottom:74px}.culture-row{grid-template-columns:45px 1fr 22px;gap:12px;padding:24px 0;min-height:120px}.culture-row h3{font-size:20px;line-height:1.3}.culture-row p{font-size:12px;line-height:1.5}.year{font-size:12px;align-self:start;margin-top:4px}.source-label{font-size:0;gap:0}.source-label svg{width:20px}.contact{padding:32px 0 56px}.contact-top{font-size:12px;margin-bottom:30px}.contact h2{font-size:38px;line-height:1.15}.contact h2 br{display:none}.contact-bottom{display:block;margin-top:30px}.contact-button{min-height:58px;width:100%;font-size:14px;padding:17px 20px}.phone{display:inline-block;margin-top:15px;font-size:20px}.footer{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding-block:20px}.footer>span{grid-row:2}.footer>a:last-child{grid-column:2;grid-row:1/3;align-self:center}.detail{padding-top:20px}.detail-heading{margin:30px 0}.detail-heading h1{font-size:44px}.detail-heading>p{font-size:13px;margin-top:20px}.detail-description{display:block;padding:40px 0}.detail-description h2{font-size:21px;margin-bottom:20px}.detail-description p{font-size:20px}.detail-gallery{grid-template-columns:1fr;gap:20px}.detail-source{padding-block:24px 44px}.detail-end{display:block;padding-block:32px 48px}.detail-end h2{font-size:30px}.detail-end>.contact-button{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-visual:hover>img,.project-link:hover img{transform:none}}
@media(max-width:600px){.hero-description{justify-self:start}} @media(max-width:360px){.site-header{gap:12px}.wordmark{font-size:12px}nav{gap:10px}nav a{font-size:11px}.detail-heading h1{font-size:38px}}
