@charset "UTF-8";
:root{--paper:#fafaf7;--ink:#273d40;--muted:#5e6d6d;--accent:#436c6d;--line:#d7dfdc;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:2;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:6px}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:500}p+p{margin-top:20px}button,a{-webkit-tap-highlight-color:transparent}.wrap{width:calc(100% - 44px);max-width:1240px;margin-inline:auto}.skip-link{position:absolute;top:-100px;left:16px;background:white;padding:8px 20px;z-index:50}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-block:22px;gap:20px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.4}.brand>span{font-family:var(--serif);font-size:23px;letter-spacing:.12em}.brand small{font-size:8px;letter-spacing:.2em;margin-top:6px}.brand-dot{color:#769b99}.site-header nav,.site-footer nav{display:flex;gap:23px}.site-header nav{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.site-header nav a,.site-footer nav a{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.04em;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current],.site-footer nav a:hover{text-decoration:underline}.hero{position:relative;isolation:isolate;padding-top:68px;padding-bottom:24px}.eyebrow,.section-number{font-family:Arial,sans-serif;font-size:9px;font-weight:500;letter-spacing:.14em;color:var(--accent)}.hero h1{font-family:var(--serif);font-size:clamp(28px,7.6vw,64px);letter-spacing:.015em;line-height:1.8;margin-top:23px}.hero-description{margin-top:24px;font-size:13px;line-height:2.2;max-width:620px}.desktop-break{display:none}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;border-bottom:1px solid #7f9997;text-decoration:none;padding-bottom:8px;font-size:12px;letter-spacing:.05em;min-height:44px}.text-link span{font-size:20px}.hero .text-link{margin-top:28px}.hero-art{position:absolute;width:310px;right:-22px;top:18px;z-index:-1;opacity:.65;pointer-events:none}.hero-art>img{width:100%}.botanical{position:absolute;width:28%;height:70%;top:16%;right:22%;color:#658481;opacity:.58}.art-note{display:none}.hero-bottom{margin-top:70px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:7px Arial,sans-serif;letter-spacing:.08em;color:var(--muted)}.hero-bottom>span:last-child{display:flex;align-items:center;gap:10px}.hero-bottom i{height:22px;width:1px;background:#9bacaa}.works-section,.skills-section{padding-block:76px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:20px}.section-heading h2,.contact-section h2{font:normal 64px/.98 Georgia,serif;letter-spacing:-.04em;margin-top:17px}.section-heading h2 span{display:block;font:12px var(--sans);letter-spacing:.12em;margin-top:20px}.section-heading>p{font-size:11px;line-height:2.1}.work-row{display:grid;gap:27px;margin-bottom:65px}.work-row:last-child{margin-bottom:0}.work-visual{display:block;text-decoration:none;padding:24px 18px;background:#e6eae5;overflow:hidden;transition:background .25s}.work-visual.law{background:#e5eceb}.work-visual.clean{background:#e9efed}.work-visual img{width:100%;aspect-ratio:1.44;object-fit:cover;object-position:top;transition:filter .25s}.work-visual:hover img{filter:brightness(1.04)}.browser-bar{display:flex;align-items:center;gap:4px;height:18px;background:#fff;padding-inline:8px}.browser-bar i{width:3px;height:3px;background:#bac5c1;border-radius:50%}.browser-bar span{font:5px Arial,sans-serif;letter-spacing:.15em;margin-inline:auto;color:#6d7d77}.work-number{font:italic 35px Georgia,serif;display:flex;align-items:center;gap:18px;color:#718b88;margin-bottom:15px}.work-number span{font:8px Arial,sans-serif;letter-spacing:.12em;border:1px solid #afbfba;padding:6px 9px;color:var(--accent)}.work-info .eyebrow{font-size:8px}.work-info h3{font-family:var(--serif);font-size:26px;line-height:1.6;margin-top:12px;margin-bottom:18px}.work-info h3 span{display:block;font-size:15px}.work-info>p:not([class]){font-size:13px;line-height:2.1;color:#526263}.role{font:9px/1.8 Arial,sans-serif;margin-top:22px!important;color:var(--muted)}.role>span{display:block;font:10px var(--sans);margin-bottom:7px}.work-info .text-link{margin-top:20px}.about-section{padding-block:75px;background:#f0f3ef;position:relative;isolation:isolate}.about-section:before{content:"";position:absolute;inset:0 auto auto 0;width:340px;height:420px;background:url(../assets/wash.svg) center/cover;z-index:-1;opacity:.7}.about-main{display:grid;gap:30px}.about-intro h3{font-family:var(--serif);font-size:34px;margin-top:10px}.about-intro h3 span{display:block;font:10px Arial,sans-serif;letter-spacing:.2em;margin-top:8px}.off-time{margin-top:25px;font:9px Arial,sans-serif;letter-spacing:.1em}.off-time span{display:block;font:11px var(--sans);letter-spacing:0;margin-top:10px}.about-copy{font-size:14px;line-height:2.2}.values{display:grid;gap:25px;margin-top:45px}.values article{border-top:1px solid #becbc5;padding-top:20px}.values article>span{font:italic 23px Georgia,serif;color:#6d8883}.values h3{font-family:var(--serif);font-size:20px;margin-top:8px}.values p{font-size:12px;line-height:2.1;margin-top:10px;color:#536360}.skills-list>div{display:grid;gap:13px;padding-block:25px;border-top:1px solid var(--line)}.skills-list>div:last-child{border-bottom:1px solid var(--line)}.skills-list dt{font:11px Arial,sans-serif;letter-spacing:.1em;color:var(--accent)}.skills-list h3{font:14px/1.9 Arial,sans-serif}.skills-list p{font-size:12px;color:var(--muted);margin-top:8px}.contact-section{padding-block:64px;background:#edf2ef;position:relative;isolation:isolate}.contact-section:after{content:"";position:absolute;inset:0 0 0 auto;width:70%;background:url(../assets/wash.svg) center/cover;z-index:-1;opacity:.7}.contact-inner{display:grid;gap:32px}.contact-section h3{font-size:13px;letter-spacing:.05em;margin-top:22px}.contact-inner>div>p:not([class]){font-size:12px}.mail-link{display:block;font:clamp(16px,4.7vw,25px)/2 Arial,sans-serif;text-decoration:none;border-bottom:1px solid #9daea5;margin-top:25px;padding-bottom:8px;overflow-wrap:anywhere}.mail-link span{display:block;font-size:8px;letter-spacing:.14em}.github-link{display:inline-block;font:10px Arial,sans-serif;letter-spacing:.12em;margin-top:25px;padding-block:12px}.site-footer{display:flex;flex-wrap:wrap;gap:30px;align-items:center;padding-block:36px}.site-footer nav{gap:20px;margin-left:auto}.site-footer>small{font:8px Arial,sans-serif;letter-spacing:.08em;width:100%;color:var(--muted)}
/* Project pages: a shared editorial layout for every case study. */
.detail-main{padding-top:30px}.detail-hero{padding-block:30px 45px}.detail-title{font-family:var(--serif);font-size:clamp(28px,5vw,52px);line-height:1.6;margin-block:20px}.detail-lead{max-width:740px;font-size:14px;color:var(--muted)}.detail-hero .eyebrow{margin-top:20px}.project-cover{margin-block:24px 60px;padding:18px;background:#e6ece8}.project-cover img{width:100%}.detail-section{border-top:1px solid var(--line);padding-block:35px;display:grid;gap:24px}.detail-section h2{font:18px/1.7 Georgia,var(--serif)}.detail-section h2 span{display:block;font:11px/2 var(--sans);color:var(--muted);margin-top:6px}.detail-section h3{font-family:var(--serif);font-size:20px;margin-bottom:12px}.detail-copy{font-size:14px;line-height:2.2}.detail-copy p+p{margin-top:18px}.detail-section dl>div{padding-block:12px;border-bottom:1px solid var(--line)}.detail-section dt{font-size:11px;color:var(--muted)}.detail-section dd{font-size:14px}.points{padding-left:22px;margin:0}.points li{padding-left:5px;margin-bottom:25px}.points li::marker{color:var(--accent);font-family:Georgia,serif}.comparison,.screen-grid{display:grid;gap:25px;margin-block:22px}.comparison img{width:100%;aspect-ratio:1.1;object-fit:cover;object-position:top}.comparison figcaption,.screen-grid figcaption{font-size:11px;color:var(--muted);margin-top:12px}.screen-grid img{border:1px solid var(--line);width:100%}.screen-grid figure:last-child{max-width:240px}.tech-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.tech-list li{border-bottom:1px solid var(--line);padding:7px 12px;font-size:12px}.site-link{display:inline-block;border-bottom:1px solid var(--accent);padding-block:12px;text-decoration:none}.project-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:40px;margin-top:35px;font-size:12px}.detail-main+.site-footer{border-top:1px solid var(--line)}.detail-note{font-size:12px;color:var(--muted);margin-top:12px}
@media(min-width:600px){.wrap{width:calc(100% - 80px)}.site-header{padding-block:30px}.site-header nav{width:auto;border:0;padding:0;gap:32px}.hero{padding-top:90px}.hero-art{width:460px;right:0}.values{grid-template-columns:repeat(3,1fr);gap:28px}.skills-list>div{grid-template-columns:180px 1fr}.contact-inner{grid-template-columns:1fr 1.2fr}.comparison{grid-template-columns:1fr 1fr}.screen-grid{grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:start}.screen-grid figure:last-child{max-width:none}.site-footer>small{width:auto;margin-left:auto}.desktop-break{display:block}}
@media(min-width:960px){body{font-size:15px}.wrap{width:calc(100% - 128px)}.site-header{padding-block:33px}.brand>span{font-size:25px}.site-header nav{gap:39px}.site-header nav a{font-size:13px}.hero{padding-top:105px;padding-bottom:28px;min-height:625px}.hero h1{font-size:57px;line-height:1.7;letter-spacing:.045em;margin-top:25px}.hero .eyebrow{font-size:10px}.hero-description{font-size:14px;line-height:2.25}.hero-art{width:610px;right:-30px;top:-10px;opacity:.85}.botanical{width:24%;right:25%;top:13%}.art-note{display:block;position:absolute;bottom:18%;right:12%;font:italic 15px/1.7 Georgia,serif;color:#658481;transform:rotate(-8deg)}.hero-bottom{margin-top:75px;font-size:8px;letter-spacing:.14em}.works-section,.skills-section{padding-block:110px}.section-heading{margin-bottom:65px}.section-heading h2,.contact-section h2{font-size:91px}.section-heading h2 span{display:inline-block;margin-left:28px;vertical-align:middle;margin-top:0;font-size:12px;letter-spacing:.15em}.section-heading>p{font-size:13px}.section-number{font-size:9px}.work-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:55px;align-items:center;margin-bottom:105px}.work-row:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.work-row:nth-child(even) .work-visual{grid-column:2;grid-row:1}.work-row:nth-child(even) .work-info{grid-column:1;grid-row:1}.work-visual{padding:42px 32px}.browser-bar{height:23px}.browser-bar i{width:4px;height:4px}.browser-bar span{font-size:6px}.work-number{font-size:40px;margin-bottom:18px}.work-info h3{font-size:29px}.work-info h3 span{font-size:17px}.work-info>p:not([class]){font-size:13px}.work-info .text-link{margin-top:23px}.about-section{padding-block:100px}.about-section:before{width:550px;height:570px}.about-main{grid-template-columns:1fr 1.6fr;gap:80px}.about-intro{padding-left:50px}.about-intro h3{font-size:40px}.off-time{margin-top:40px}.about-copy{max-width:640px;font-size:15px}.values{margin-top:65px;gap:55px}.values article{padding-top:25px}.values h3{font-size:23px}.values p{font-size:13px}.skills-list>div{grid-template-columns:35% 1fr;padding-block:29px}.skills-list dt{font-size:12px;padding-top:5px}.skills-list h3{font-size:18px}.skills-list p{font-size:13px}.contact-section{padding-block:90px}.contact-inner{grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-inner>div>p:not([class]){font-size:14px}.mail-link{margin-top:30px;font-size:27px}.mail-link span{display:inline-block;margin-right:25px}.site-footer{padding-block:45px}.site-footer nav{margin-left:auto;margin-right:80px}.site-footer>small{margin-left:0}.detail-main{max-width:1120px;padding-top:50px}.detail-hero{padding-bottom:50px}.detail-lead{font-size:16px}.project-cover{padding:50px;margin-bottom:90px}.detail-section{grid-template-columns:230px minmax(0,1fr);gap:50px;padding-block:50px}.detail-section h2{font-size:22px}.detail-copy{font-size:15px}.detail-section dl>div{display:grid;grid-template-columns:130px 1fr}.project-nav{padding-block:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.detail-title>span{display:block;font-size:.45em;letter-spacing:.06em;margin-top:10px}.back-link{font-size:12px}.project-nav .eyebrow{display:block}.comparison figcaption{margin-bottom:12px}.comparison figcaption .eyebrow{display:block}.comparison-section .detail-copy{min-width:0}@media(min-width:960px){.comparison-section{grid-template-columns:1fr}.comparison-section .comparison{gap:40px}.comparison-section .comparison img{aspect-ratio:1.3}}
.about-section:before{max-width:100%}.work-number span{font-size:10px}.work-info .eyebrow{font-size:10px;line-height:1.8}.role{font-size:11px}.role>span{font-size:11px}.site-header nav a,.site-footer nav a{display:inline-flex;align-items:center;min-height:36px}.hero-bottom{gap:15px}.comparison img{height:auto}.project-cover img{aspect-ratio:1.44}.screen-grid img{height:auto}
