/* NERTOG Lab. v0.2 — visual language carried forward from approved-looking v0.1 study. */
:root {
      --paper:#f8f8f6; --white:#fff; --ink:#101010; --dark:#1b1c1c;
      --body:#2a2a2a; --muted:#6c6c68; --faint:#959590;
      --line:#d8d8d2; --soft:#efefeb; --ease:cubic-bezier(.22,1,.36,1);
      --gutter:clamp(22px,4.55vw,82px);
      --content:1600px;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:84px}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;-webkit-font-smoothing:antialiased}
    ::selection{background:#242424;color:white}
    a{color:inherit;text-decoration:none}
    button{font:inherit}
    button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
    .skip{position:absolute;z-index:1000;left:18px;top:-80px;padding:10px 18px;background:var(--ink);color:white}
    .skip:focus{top:14px}
    .page{overflow:hidden}
    .scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#111;transform:scaleX(0);transform-origin:left;z-index:150;pointer-events:none}
    .site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);transition:background .3s,border-color .3s;gap:20px;border-bottom:1px solid transparent}
    .site-header.scrolled{background:rgba(248,248,246,.92);backdrop-filter:blur(20px);border-color:rgba(0,0,0,.12)}
    .brand{font-family:Arial,sans-serif;letter-spacing:-.075em;font-size:25px;font-weight:800;white-space:nowrap;line-height:1}
    .brand .lab{font-size:13px;letter-spacing:-.03em;font-weight:600;margin-left:5px}
    .nav-links{display:flex;align-items:center;gap:clamp(17px,2.5vw,42px);margin-left:auto}
    .nav-links a,.menu-toggle,.motion-toggle{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.095em;font-weight:700}
    .nav-links a{position:relative;padding:12px 0}
    .nav-links a::after{position:absolute;content:"";left:0;bottom:6px;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
    .nav-links a:hover::after{transform:scaleX(1)}
    .menu-toggle{display:none;align-items:center;gap:12px;border:0;background:none;padding:14px 0;cursor:pointer}
    .hamburger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:24px;height:20px}
    .hamburger span{height:1px;width:24px;background:currentColor;transition:transform .3s}
    .site-header.open .hamburger span:first-child{transform:translateY(3px) rotate(45deg)}
    .site-header.open .hamburger span:last-child{transform:translateY(-3px) rotate(-45deg)}
    .motion-toggle{border:1px solid #d8d8d2;background:transparent;border-radius:100px;padding:9px 14px;cursor:pointer;color:#555;white-space:nowrap}
    .motion-toggle:hover{background:#e9e9e4}
    .mobile-panel{display:none;position:fixed;inset:82px 0 0;background:var(--paper);z-index:95;padding:30px var(--gutter) 50px;flex-direction:column;align-items:start;gap:4px;overflow-y:auto}
    .mobile-panel.active{display:flex}
    .mobile-panel a{font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.045em;font-size:clamp(34px,8vw,62px);padding:13px 0;border-bottom:1px solid var(--line);width:100%}
    .mobile-panel small{margin-top:auto;color:var(--muted)}
    main section{scroll-margin-top:80px}
    .eyebrow,.section-no,.mono{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.7}
    .eyebrow{color:var(--muted)}
    .hero{min-height:780px;min-height:100svh;position:relative;display:flex;flex-direction:column;padding:143px var(--gutter) 44px}
    .hero-stage{position:relative;flex:1;display:flex;align-items:center;min-height:500px}
    .hero-topline{display:flex;align-items:flex-start;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:3}
    .hero-topline .leftline{display:flex;gap:40px}
    .tiny-text{font-size:12px;line-height:1.8;color:#777;max-width:215px}
    .hero-content{position:relative;z-index:3;width:100%;margin-top:80px;pointer-events:none}
    .hero-strap{font-size:clamp(20px,2.5vw,38px);font-weight:500;letter-spacing:-.06em;margin:0 0 24px}
    .hero-headline{font-family:Arial,Helvetica,sans-serif;font-size:clamp(108px,18.1vw,310px);font-weight:800;letter-spacing:-.106em;line-height:.75;margin:0 0 35px -.06em;white-space:nowrap}
    .hero-headline .period{letter-spacing:-.15em}
    .hero-subline{display:flex;gap:clamp(26px,5vw,76px);align-items:flex-start;max-width:850px}
    .hero-subline p{font-size:clamp(13px,1.1vw,16px);line-height:2.15;color:var(--body);margin:0;max-width:330px;letter-spacing:.025em}
    .hero-subline .divider{height:1px;background:var(--ink);width:clamp(60px,9vw,140px);margin-top:13px}
    .hero-art{position:absolute;top:6%;right:0%;width:min(53vw,720px);aspect-ratio:1;z-index:1;pointer-events:none;transform:translate3d(calc(var(--pointer-x,0)*1px),calc(var(--pointer-y,0)*1px),0);transition:transform .16s linear}
    .hero-art .halo{position:absolute;inset:19%;border:1px solid rgba(0,0,0,.19);border-radius:50%}
    .hero-art .halo.one{inset:12%;animation:slowspin 32s linear infinite}
    .hero-art .halo.two{inset:26%;border-style:dashed;border-color:rgba(0,0,0,.2);animation:slowspin 48s linear infinite reverse}
    .hero-art .ring-scribble{position:absolute;inset:9%;width:82%;height:82%;animation:floatRotate 18s ease-in-out infinite alternate;overflow:visible}
    .hero-art .ring-scribble path{fill:none;stroke:#171717;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
    .hero-art .art-core{position:absolute;left:48%;top:48%;width:55px;height:55px;border-radius:50%;background:#202020;filter:blur(.1px);animation:corePulse 5s ease-in-out infinite}
    .hero-art .node{position:absolute;border-radius:50%;background:#111;width:8px;height:8px}
    .hero-art .node.a{top:16%;left:29%}.hero-art .node.b{right:12%;bottom:32%;width:5px;height:5px}
    .hero-art .art-label{position:absolute;font-family:Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;color:#777}
    .hero-art .art-label.a{top:21%;right:0}.hero-art .art-label.b{bottom:16%;left:12%}
    .hero-bottom{z-index:4;display:flex;justify-content:space-between;align-items:flex-end;padding-top:30px;border-top:1px solid rgba(0,0,0,.16)}
    .hero-bottom .scroll-cue{display:flex;align-items:center;gap:18px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em;font-weight:700}
    .scroll-cue .arrow{border:1px solid #888;width:45px;height:45px;display:grid;place-items:center;border-radius:100%;font-size:20px;transition:transform .3s}
    .scroll-cue:hover .arrow{transform:translateY(5px)}
    .section-wrap{max-width:var(--content);margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
    .section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:80px}
    .section-title{font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.07em;font-size:clamp(55px,9vw,138px);line-height:.9;margin:0}
    .section-heading .side{max-width:290px;font-size:12px;line-height:2;color:var(--muted)}
    .about{background:var(--dark);color:var(--white);padding:170px 0 180px;position:relative;overflow:hidden}
    .about .eyebrow{color:#bbb}
    .about-intro{position:relative;z-index:1}
    .about-statement{margin:75px 0 55px;max-width:1170px;font-size:clamp(36px,5.6vw,86px);font-weight:600;letter-spacing:-.07em;line-height:1.48}
    .about-statement span{color:#7b7c7a}
    .about-bottom{display:flex;justify-content:space-between;gap:80px;max-width:950px;margin-left:auto}
    .about-bottom p{font-size:15px;line-height:2.2;max-width:480px;margin:0;color:#c9c9c5}
    .about-bottom a{align-self:end;white-space:nowrap;font:700 12px Arial,sans-serif;letter-spacing:.12em;border-bottom:1px solid #aaa;padding-bottom:10px}
    .about-ghost{position:absolute;right:-200px;top:-200px;width:750px;height:750px;border:1px solid #494949;border-radius:48%;transform:rotate(33deg);opacity:.45;pointer-events:none}
    .about-ghost::after{content:"";position:absolute;inset:70px;border:1px dashed #555;border-radius:50%}
    .marquee{overflow:hidden;border-block:1px solid rgba(255,255,255,.17);margin-top:130px}
    .marquee-track{display:flex;gap:55px;width:max-content;animation:marquee 24s linear infinite;padding:17px 0;font:700 13px Arial,sans-serif;letter-spacing:.17em;color:#b6b6b2}
    .marquee-track span{white-space:nowrap}
    .projects{padding:170px 0 180px;background:var(--paper)}
    .project-list{border-top:1px solid var(--line)}
    .project-item{display:grid;grid-template-columns:78px minmax(0,1fr) minmax(200px,390px) 65px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:43px 0;position:relative;transition:padding .4s var(--ease)}
    .project-item:hover{padding-left:13px;padding-right:8px}
    .project-item .project-number{font:700 12px Arial,sans-serif;letter-spacing:.07em;color:var(--muted);align-self:start;padding-top:8px}
    .project-title{font:700 clamp(28px,4.2vw,66px) Arial,sans-serif;letter-spacing:-.06em;line-height:1.1;margin:0}
    .project-item .project-desc{font-size:13px;line-height:1.9;color:#62625e;max-width:325px;margin:0}
    .project-item .project-type{font:700 10px Arial,sans-serif;letter-spacing:.1em;color:#8b8b86;margin-top:12px;display:block}
    .project-arr{font-family:Arial,sans-serif;border:1px solid var(--line);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:20px;justify-self:end;transition:background .3s,transform .3s,color .3s}
    .project-item:hover .project-arr{background:#151515;color:white;transform:rotate(45deg)}
    .project-status{display:inline-flex;font-size:10px;border:1px solid #babbb5;padding:5px 9px;border-radius:30px;margin-left:15px;font-weight:500;letter-spacing:.02em;vertical-align:middle;white-space:nowrap}
    .practice{background:#e9e9e4;padding:170px 0 160px;overflow:hidden}
    .practice-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-top:110px}
    .practice-intro h3{font-size:clamp(36px,5.2vw,75px);letter-spacing:-.06em;line-height:1.34;font-weight:600;margin:0}
    .practice-intro p{font-size:15px;color:#52524e;line-height:2.15;max-width:410px;margin:0 0 9px auto}
    .process-visual{margin-top:120px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c2c2bc;border-bottom:1px solid #c2c2bc}
    .step{padding:32px 30px 35px;border-right:1px solid #c2c2bc;position:relative;min-height:400px;display:flex;flex-direction:column}
    .step:first-child{padding-left:0}.step:last-child{border-right:0;padding-right:0}
    .step .step-head{display:flex;justify-content:space-between;font:700 11px Arial,sans-serif;letter-spacing:.17em}
    .step-visual{margin:auto;display:grid;place-items:center;width:200px;height:200px;max-width:90%;position:relative}
    .step-visual .thinking{width:110px;height:110px;border-radius:46% 54% 53% 47%;border:2px solid #262626;transform:rotate(26deg);animation:think 9s ease-in-out infinite alternate}
    .step-visual .thinking:before{content:"";position:absolute;inset:20px;border:1px solid #353535;border-radius:41% 59% 55% 45%;transform:rotate(32deg)}
    .step-visual .thinking:after{content:"";position:absolute;inset:-32px;border:1px dashed #7e7e79;border-radius:50%}
    .step-visual .making{width:117px;height:117px;border:2px solid #262626;transform:rotate(-14deg);position:relative;animation:make 12s ease-in-out infinite}
    .step-visual .making:before{content:"";position:absolute;inset:26px;background:#292929;border-radius:50%}
    .step-visual .making:after{content:"";position:absolute;width:106px;height:1px;background:#292929;left:35px;top:58px;transform:rotate(48deg)}
    .step-visual .refining{width:126px;height:126px;border:2px solid #292929;border-radius:50%;position:relative;animation:refine 10s ease-in-out infinite}
    .step-visual .refining:before,.step-visual .refining:after{content:"";position:absolute;inset:20px;border:1px solid #4b4b4b;border-radius:50%}
    .step-visual .refining:after{inset:42px;background:#202020}
    .step h4{font-size:26px;letter-spacing:-.06em;margin:0 0 9px}
    .step p{color:#676762;font-size:12px;line-height:1.8;margin:0}
    .works{padding:170px 0 175px;background:#f8f8f6}
    .works-annotation{display:flex;align-items:center;gap:20px;margin:-25px 0 45px;color:#777;font-size:12px;line-height:1.8}
    .works-annotation:before{content:"";width:40px;height:1px;background:#777}
    .work-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(25px,5vw,80px);align-items:start}
    .work-grid > .work-card:nth-child(2){margin-top:120px}
    .work-grid > .work-card:nth-child(4){margin-top:100px}
    .work-card{display:block}
    .work-visual{aspect-ratio:1.2;position:relative;overflow:hidden;background:#e7e7e2;margin-bottom:22px}
    .work-card.small .work-visual{aspect-ratio:.95}
    .work-visual .abstract-window{position:absolute;inset:13%;border:1px solid #b5b5b0;background:#f9f9f6;box-shadow:12px 20px 50px #00000010;padding:13px 18px}
    .work-visual .window-top{display:flex;gap:4px;border-bottom:1px solid #deded8;padding-bottom:10px}
    .work-visual .window-top b{width:6px;height:6px;border-radius:100%;background:#a4a49f}
    .work-visual .window-type{font:bold clamp(60px,8vw,138px)/.8 Arial,sans-serif;letter-spacing:-.12em;position:absolute;left:4%;top:37%}
    .work-visual .window-stripe{position:absolute;bottom:12%;left:11%;height:7px;width:55%;background:#181818}
    .work-visual .window-stripe::after{content:"";position:absolute;top:17px;height:2px;width:65%;background:#ababaa}
    .work-visual.mountain{background:#d9d9d4}
    .mountain svg{position:absolute;width:100%;height:100%;top:0;left:0}
    .work-visual .mountain-caption{position:absolute;left:7%;top:8%;font:700 11px Arial,sans-serif;letter-spacing:.16em}
    .work-visual.system{background:#333433;color:#fff}
    .work-visual.system .system-display{position:absolute;inset:13%;border:1px solid #60625e;border-radius:6px;padding:25px}
    .system-display .system-line{height:1px;background:#777;width:100%;margin-top:23px}
    .system-display .system-line.short{width:58%}
    .system-display .system-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:48px}
    .system-grid div{height:90px;border:1px solid #777;border-radius:4px;display:grid;place-items:center;color:#ccc;font:700 28px Arial,sans-serif}
    .work-visual.art{background:#e3e3df;display:grid;place-items:center}
    .art-card{position:absolute;width:67%;aspect-ratio:.82;background:#f8f8f6;border:1px solid #aaa;transform:rotate(-6deg);padding:17px;box-shadow:12px 16px 0 #c5c5c0}
    .art-card .face{margin:8% auto;width:75%;aspect-ratio:1;background:#202020;border-radius:50% 40% 50% 40%;transform:rotate(13deg)}
    .art-card .face:after{content:"";position:absolute;width:36%;height:36%;background:#fafaf7;border-radius:50%;top:25%;left:20%}
    .art-card p{font:700 22px Arial,sans-serif;letter-spacing:-.08em;margin:14% 0 0}
    .work-info{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
    .work-info h3{font-size:clamp(19px,2vw,29px);font-weight:600;margin:0 0 7px;letter-spacing:-.045em}
    .work-info p{margin:0;font:700 10px/1.8 Arial,sans-serif;letter-spacing:.1em;color:#858580}
    .work-info .work-arrow{font:400 24px Arial,sans-serif}
    .people{background:#f0f0ec;padding:150px 0 170px}
    .people-main{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
    .people-title{font:700 clamp(70px,10vw,160px)/.9 Arial,sans-serif;letter-spacing:-.08em;margin:0}
    .people-right>p{font-size:18px;line-height:1.9;letter-spacing:-.035em;max-width:560px;margin:10px 0 65px}
    .people-row{display:flex;align-items:center;gap:24px;border-top:1px solid #ccc;padding:22px 0}
    .people-row:last-child{border-bottom:1px solid #ccc}
    .people-avatar{width:72px;height:72px;display:grid;place-items:center;background:#e0e0d9;border-radius:50%;font:700 19px Arial,sans-serif;letter-spacing:-.08em}
    .people-name{font:700 24px Arial,sans-serif;letter-spacing:-.045em;line-height:1.3}
    .people-row small{display:block;margin-top:6px;color:#777;font-size:11px;letter-spacing:.06em}
    .journal{padding:150px 0 170px;background:var(--paper)}
    .journal-frame{margin-top:110px;padding:70px 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;display:grid;grid-template-columns:1fr 1fr;gap:55px}
    .journal-frame .big{font:700 clamp(38px,5vw,77px)/1.12 Arial,sans-serif;letter-spacing:-.06em;margin:0}
    .journal-frame .explain{font-size:14px;line-height:2.1;color:#595954;max-width:410px;margin:10px 0}
    .journal-frame .small-link{display:inline-block;border-bottom:1px solid #666;padding:10px 0;margin-top:24px;font:700 11px Arial,sans-serif;letter-spacing:.15em}
    .contact{padding:155px 0 65px;background:#191a19;color:#fff;position:relative}
    .contact .eyebrow{color:#b5b5b2}
    .contact .contact-title{font:700 clamp(65px,13vw,205px)/.88 Arial,sans-serif;letter-spacing:-.08em;margin:95px 0 50px}
    .contact .contact-sub{display:flex;justify-content:space-between;gap:60px;align-items:end;padding-bottom:115px}
    .contact .contact-sub p{font-size:14px;line-height:2;color:#c7c7c3;margin:0;max-width:430px}
    .contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:65px;min-width:260px;color:white;border:1px solid #999;border-radius:100px;padding:20px 22px 20px 32px;font:700 12px Arial,sans-serif;letter-spacing:.13em;transition:background .3s,color .3s}
    .contact-button:hover{background:white;color:#181818}
    footer{border-top:1px solid #515151;padding-top:32px;display:flex;justify-content:space-between;align-items:center;gap:25px;font:700 10px Arial,sans-serif;letter-spacing:.12em;color:#b0b0ac}
    .footer-brand{font-size:26px;color:#eee;letter-spacing:-.065em}
    .footer-brand small{font-size:12px;letter-spacing:0;margin-left:5px}
    .footer-note{max-width:340px;line-height:1.8;color:#92928e}
    .reveal{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease)}
    .js .reveal:not(.visible){opacity:0;transform:translateY(48px)}
    .js .reveal.visible{opacity:1;transform:translateY(0)}
    .delay-1{transition-delay:.11s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.33s}
    @keyframes slowspin{to{transform:rotate(360deg)}}
    @keyframes floatRotate{0%{transform:rotate(-12deg) scale(.97)}50%{transform:rotate(5deg) scale(1.035)}100%{transform:rotate(17deg) scale(1)}}
    @keyframes corePulse{0%,100%{transform:scale(1);opacity:.86}50%{transform:scale(.78);opacity:1}}
    @keyframes marquee{to{transform:translateX(-50%)}}
    @keyframes think{to{transform:rotate(65deg) scale(1.09);border-radius:55% 45% 44% 56%}}
    @keyframes make{50%{transform:rotate(35deg)}to{transform:rotate(345deg)}}
    @keyframes refine{50%{transform:scale(.8)}to{transform:scale(1)}}
    @media(max-width:1200px){.nav-links{gap:20px}.hero-art{width:55vw;top:15%}.hero-headline{font-size:18vw}.project-item{grid-template-columns:45px minmax(0,1fr) minmax(180px,310px) 50px}}
    @media(max-width:900px){.site-header{height:72px}.nav-links{display:none}.menu-toggle{display:inline-flex}.mobile-panel{inset:71px 0 0}.hero{min-height:790px;padding-top:123px}.hero-stage{min-height:540px}.hero-headline{font-size:18vw}.hero-art{top:9%;right:-8%;width:70vw;opacity:.6}.hero-content{margin-top:165px}.hero-strap{font-size:31px}.section-heading{margin-bottom:55px}.about,.projects,.practice,.works,.people,.journal{padding-top:115px;padding-bottom:120px}.about-statement{font-size:clamp(36px,5.8vw,60px)}.project-item{grid-template-columns:35px 1fr 42px;gap:12px}.project-item .project-desc{grid-column:2;grid-row:2;padding-top:6px}.project-item .project-type{grid-column:2;grid-row:3;margin-top:-3px}.project-item .project-arr{grid-column:3;grid-row:1}.practice-intro{gap:40px}.process-visual .step{padding:25px 20px}.step-visual{width:140px;height:180px}.step h4{font-size:21px}.work-grid{gap:36px}.people-main{gap:35px}.contact .contact-title{margin-top:80px}.hero-topline .leftline .tiny-text{display:none}}
    @media(max-width:650px){:root{--gutter:22px}.site-header{height:67px}.brand{font-size:23px}.motion-toggle{margin-left:auto;font-size:9px;padding:9px}.mobile-panel{inset:66px 0 0}.hero{padding-top:96px;padding-bottom:25px;min-height:710px;min-height:100svh}.hero-topline .tiny-text{text-align:right;font-size:10px}.hero-stage{min-height:485px}.hero-art{top:7%;right:-40%;width:105vw;opacity:.5}.hero-art .art-label{display:none}.hero-content{margin-top:95px}.hero-strap{font-size:25px;margin-bottom:24px}.hero-headline{font-size:19vw;margin-bottom:29px}.hero-subline{display:block}.hero-subline .divider{margin-bottom:20px;width:70px}.hero-subline p{font-size:12px;line-height:2.05;max-width:270px}.hero-bottom .eyebrow{font-size:9px}.hero-bottom .scroll-cue{font-size:9px}.scroll-cue .arrow{width:40px;height:40px}.section-heading{display:block;margin-bottom:45px}.section-heading .side{margin-top:30px}.section-title{font-size:clamp(65px,15vw,100px)}.about,.projects,.practice,.works,.people,.journal{padding-top:90px;padding-bottom:95px}.about-statement{margin:55px 0;font-size:clamp(32px,8.2vw,56px);line-height:1.6}.about-bottom{display:block}.about-bottom p{font-size:13px}.about-bottom a{display:inline-block;margin-top:40px}.about-ghost{right:-450px}.marquee{margin-top:85px}.projects .project-list{margin-top:20px}.project-item{grid-template-columns:30px 1fr 35px;padding:27px 0}.project-title{font-size:clamp(26px,7vw,42px)}.project-item .project-desc{font-size:12px;max-width:100%;margin-right:14px}.project-item .project-type{font-size:9px}.project-arr{width:35px;height:35px;font-size:16px}.project-status{font-size:9px;margin-left:0;margin-top:12px;display:table}.practice-intro{display:block;margin-top:55px}.practice-intro h3{font-size:42px}.practice-intro p{margin:36px 0 0;font-size:13px}.process-visual{grid-template-columns:1fr;margin-top:65px}.step,.step:first-child,.step:last-child{min-height:230px;padding:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 10px;border-right:0;border-bottom:1px solid #c2c2bc}.step:last-child{border-bottom:0}.step-head{grid-column:1/-1}.step-visual{grid-column:2;grid-row:2/4;width:130px;height:142px;justify-self:end}.step h4{grid-column:1;grid-row:2;align-self:end;font-size:24px}.step p{grid-column:1;grid-row:3}.work-grid{display:block}.work-grid>.work-card,.work-grid>.work-card:nth-child(2),.work-grid>.work-card:nth-child(4){margin:0 0 65px}.work-visual,.work-card.small .work-visual{aspect-ratio:1.05}.works-annotation{font-size:11px}.people-main{display:block}.people-right{margin-top:55px}.people-right>p{font-size:15px}.people-row{gap:15px}.people-name{font-size:21px}.journal-frame{margin-top:60px;display:block;padding:55px 0}.journal-frame .explain{margin-top:30px}.contact{padding-top:100px}.contact .contact-title{font-size:clamp(65px,14vw,130px);margin:80px 0 50px}.contact .contact-sub{display:block;padding-bottom:100px}.contact-button{width:100%;margin-top:38px}.contact footer{display:block}.footer-brand{margin-bottom:24px}.footer-note{margin-top:30px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
    body.motion-off *,body.motion-off *::before,body.motion-off *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    body.motion-off .reveal{opacity:1;transform:none}
    body.motion-off{scroll-behavior:auto}
/* v0.2: interaction, performance, and responsive polish */
.mobile-panel[hidden]{display:none!important}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.site-header .brand{flex-shrink:0}
.site-header .nav-links{min-width:0}
.site-header .nav-links a{white-space:nowrap}
.site-header.open{background:var(--paper)}
.menu-open{overflow:hidden}
.hero-art{will-change:transform;transform:translate3d(var(--pointer-x,0px),calc(var(--pointer-y,0px) + var(--scroll-art,0px)),0)}
.hero-art .ring-scribble{will-change:transform}
.section-heading{min-width:0}
.project-item,.work-card,.people-row{min-width:0}
.project-link{display:block;color:inherit;text-decoration:none}
.project-link:focus-visible{outline-offset:8px}
.project-link:focus-visible .project-arr,.project-link:hover .project-arr{background:#171717;color:#fff;transform:rotate(45deg)}
.project-item--linked{display:block;padding:0}
.project-item--linked:hover{padding:0}
.project-item--linked>.project-link{display:grid;grid-template-columns:78px minmax(0,1fr) minmax(200px,390px) 65px;gap:20px;align-items:center;padding:43px 0;transition:padding .4s var(--ease)}
.project-item--linked>.project-link:hover{padding-left:13px;padding-right:8px}
.project-status{white-space:nowrap}
.work-grid>.works-annotation{grid-column:1/-1;margin:0 0 8px}
.work-card .work-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.work-card:hover .work-image,.work-card:focus-within .work-image{transform:scale(1.035)}
.work-card>a{display:block}
.work-card a:focus-visible{outline:2px solid #101010;outline-offset:6px}
.work-card .work-placeholder-type{position:absolute;left:7%;bottom:8%;font:700 clamp(45px,8vw,105px)/.85 Arial,sans-serif;letter-spacing:-.09em}
.work-card .work-placeholder-id{position:absolute;top:9%;left:7%;font:700 11px Arial,sans-serif;letter-spacing:.12em}
.people-row .person-image{width:72px;height:72px;border-radius:50%;object-fit:cover}
.people-row .people-row-link{display:flex;align-items:center;gap:24px;width:100%}
.people-row a:focus-visible{outline-offset:6px}
.journal-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,52px);margin-top:75px;border-top:1px solid var(--line)}
.journal-item{padding:26px 0 38px;border-bottom:1px solid var(--line)}
.journal-item time{font:700 11px Arial,sans-serif;letter-spacing:.13em;color:#666}
.journal-item h3{margin:18px 0 20px;font-size:clamp(18px,2vw,26px);letter-spacing:-.035em;line-height:1.55}
.journal-item>a{display:block;min-height:100%}
.journal-item>a:focus-visible{text-decoration:underline}
.journal-item .journal-more{display:block;font:700 11px Arial,sans-serif;letter-spacing:.15em}
.contact-button.is-disabled{opacity:.58;cursor:default}
.is-demo{font:600 11px/1.65 Arial,sans-serif;letter-spacing:.05em;color:#777}
.contact .is-demo{color:#b1b1aa}
.draft-note{font-size:12px;line-height:1.9;color:var(--muted)}
.site-footer{margin-top:70px}
.inner-shell{min-height:75vh;padding:165px var(--gutter) 105px;max-width:1500px;margin:auto}
.inner-shell h1{font:700 clamp(52px,10vw,150px)/.95 Arial,sans-serif;letter-spacing:-.07em;margin:38px 0 60px;overflow-wrap:anywhere}
.inner-shell .inner-content{max-width:900px;font-size:16px;line-height:2.1}
.inner-shell .inner-content img{max-width:100%;height:auto}
.inner-shell .inner-content a{text-decoration:underline;text-underline-offset:3px}
.inner-shell .inner-content a:hover{text-decoration-thickness:2px}
.inner-shell .meta{font:700 11px Arial,sans-serif;letter-spacing:.13em;color:#777}
.inner-bottom{background:#191a19;color:#eee;padding:65px var(--gutter)}
.inner-bottom .footer-brand{display:inline-block;margin-bottom:20px}
.pager a{display:inline-block;margin-top:45px;border-bottom:1px solid #888;padding:12px 0}
body.motion-off .hero-art{transform:none}
body.motion-off .scroll-progress{display:none}
@media(max-width:1200px){
  .project-item--linked>.project-link{grid-template-columns:45px minmax(0,1fr) minmax(180px,310px) 50px}
}
@media(max-width:900px){
  .project-item--linked>.project-link{grid-template-columns:35px 1fr 42px;gap:12px}
  .journal-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-links{display:none}
}
@media(max-width:650px){
  .project-item--linked>.project-link{grid-template-columns:30px 1fr 35px;padding:27px 0}
  .journal-list{display:block;margin-top:45px}
  .journal-item{padding-bottom:28px}
  .project-item .project-title{overflow-wrap:anywhere}
  .menu-toggle{flex-shrink:0}
  .hero-headline{font-size:min(19vw,130px)}
  .hero-art{right:-42%;opacity:.44}
  .site-header{gap:12px}
  .project-link:focus-visible{outline-offset:2px}
  .inner-shell{padding-top:120px}
  .inner-shell .inner-content{font-size:14px}
}
@media(max-width:360px){
  .motion-toggle{font-size:8px;padding:7px}
  .site-header{gap:8px}
  .brand{font-size:21px}
  .hero-strap{font-size:22px}
  .hero-headline{font-size:18.5vw}
  .hero-bottom .eyebrow{font-size:8px;max-width:165px}
  .contact .contact-title{font-size:17vw}
}
@media(prefers-reduced-motion:reduce){
  .js .reveal:not(.visible){opacity:1;transform:none}
  .hero-art{transform:none!important}
  .scroll-progress{display:none}
}
body.motion-off .js .reveal,body.motion-off .reveal{opacity:1!important;transform:none!important}
@media(hover:none){.project-item:hover{padding-left:0;padding-right:0}}
