:root{--ink:#282724;--cream:#f6f5ef;--green:#00df81;--black:#282724;--header-h:200px;--pad:clamp(20px, 3vw, 40px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-campton), "Campton", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}.backdrop{z-index:-99;position:fixed;inset:0;overflow:hidden}.backdrop img,.backdrop video{object-fit:cover;width:100%;height:100%;display:block}header.site-header{z-index:499;mix-blend-mode:difference;padding:var(--pad);pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}header.site-header a{pointer-events:auto}header.site-header{transition:opacity .5s,visibility .5s}body.intro-active header.site-header{opacity:0;visibility:hidden}.header-logo{color:var(--cream);text-decoration:none;transition:opacity .3s,visibility .3s;display:inline-block}.header-logo.is-hidden{opacity:0;visibility:hidden}.header-logo img{width:clamp(180px,26vw,360px);display:block}.menu-btn{flex-direction:column;gap:14px;margin-left:auto;padding:6px;text-decoration:none;display:flex}.menu-btn span{background:url(/assets/mark-cream.svg) 50%/contain no-repeat;width:16px;height:16px;display:block}main{position:relative}section.panel{min-height:100vh;padding:var(--pad);flex-direction:column;justify-content:center;display:flex;position:relative}.panel-hero{background-color:var(--ink);text-align:center;align-items:center}.hero-lockup{z-index:1;width:min(72vw,780px);position:relative}.hero-lockup .intro-logo{--logo-start-delay:1s;--logo-letter-step:75ms;width:100%;height:auto;fill:var(--cream);display:block}.logo-letter{opacity:0;animation:.5s cubic-bezier(.2,.7,.3,1) forwards logo-letter-in;animation-delay:calc(var(--logo-start-delay) + var(--letter-index) * var(--logo-letter-step))}@keyframes logo-letter-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.logo-letter{opacity:1;animation:none}}.panel-manifesto{background:0 0}.manifesto{max-width:720px;margin-left:clamp(0px,42vw,620px)}@media (max-width:1000px){.manifesto{margin-left:clamp(0px,30vw,300px)}}.manifesto h2{letter-spacing:-.01em;color:var(--ink);font-size:clamp(28px,3.6vw,52px);font-weight:700;line-height:1.15}.panel-manifesto .on-image{color:var(--ink);-webkit-backdrop-filter:blur(10px);background:#f6f5efb8;padding:clamp(24px,3vw,44px)}.panel-manifesto .on-image h2{color:var(--ink)}.manifesto .more{color:inherit;margin-top:28px;font-size:clamp(16px,1.4vw,20px);font-weight:600;text-decoration:none;display:inline-block}.manifesto .more:hover{color:var(--green)}.page-flow{--flow-gap:250px;background:var(--cream);color:var(--ink);gap:var(--flow-gap);padding:var(--flow-gap) var(--pad);flex-direction:column;display:flex}.who-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;align-items:center;gap:clamp(28px,6vw,90px);display:grid}.who-mark{justify-content:center;display:flex}.who-mark img{width:clamp(160px,24vw,360px);height:auto}.who-body p{text-align:justify;margin-bottom:1.1em;font-size:clamp(13px,1vw,15px);line-height:1.65}.who-body p:last-child{margin-bottom:0}@media (max-width:800px){.who-grid{grid-template-columns:1fr;gap:6vh}.who-body p{text-align:left}}.stages-layout{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,46px);display:grid}.stages-title{writing-mode:vertical-rl;letter-spacing:.02em;justify-self:start;font-size:clamp(15px,1.4vw,20px);font-weight:400;transform:rotate(180deg)}.stages-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(16px,2.6vw,42px);display:grid}.step-badge{aspect-ratio:1;border:2px dotted var(--ink);text-align:center;border-radius:50%;justify-content:center;align-items:center;width:100%;max-width:240px;margin:0 auto clamp(24px,4vh,54px);display:flex;position:relative}.step-badge:before{content:"";border:1px solid var(--ink);border-radius:50%;position:absolute;inset:clamp(11px,1.4vw,20px)}.step-num{color:#28272433;font-size:clamp(78px,9.5vw,150px);font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.step-name{padding:0 12%;font-size:clamp(14px,1.25vw,19px);font-weight:600;line-height:1.25;position:relative}.step-badge.is-final:before{background:var(--ink)}.step-badge.is-final .step-name{color:var(--cream)}.step-body{border-left:1px solid var(--ink);padding-left:clamp(10px,1.2vw,18px)}.step-body p{margin:0;font-size:clamp(13px,1.05vw,16px);line-height:1.5}@media (hover:hover) and (pointer:fine){.stage-step{position:relative}.step-badge{margin-bottom:0}.step-body{z-index:1;-webkit-backdrop-filter:blur(8px);opacity:0;background:#f6f5eff0;border-left:0;flex-direction:column;justify-content:center;gap:.6em;min-height:100%;padding:clamp(14px,1.6vw,22px) clamp(12px,1.4vw,20px);transition:opacity .4s,transform .4s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)scale(.96);box-shadow:0 8px 32px #2827242e}.step-body p{transition:transform .45s;transform:translateY(6px)}.step-body p:nth-child(2){transition-delay:60ms}.step-body p:nth-child(3){transition-delay:.12s}.stage-step:hover,.stage-step:focus-within{z-index:2}.stage-step:hover .step-body,.stage-step:focus-within .step-body{opacity:1;transform:translateY(-50%)}.stage-step:hover .step-body p,.stage-step:focus-within .step-body p{transform:none}.step-name{transition:opacity .3s}.stage-step:hover .step-name,.stage-step:focus-within .step-name{opacity:0}.step-badge:before{transition:border-color .35s}.step-num{transition:color .35s}.stage-step:hover .step-badge:before,.stage-step:focus-within .step-badge:before{border-color:var(--green)}.stage-step:hover .step-num,.stage-step:focus-within .step-num{color:#00df8152}}.stage-step:focus-visible{outline:2px solid var(--green);outline-offset:6px}@media (prefers-reduced-motion:reduce){.step-body,.step-body p{transition-duration:.01ms;transform:none}}@media (max-width:900px){.stages-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6vh 5vw}}@media (max-width:560px){.stages-layout{grid-template-columns:1fr;gap:4vh}.stages-title{writing-mode:horizontal-tb;font-weight:600;transform:none}.stages-grid{grid-template-columns:1fr}.step-badge{max-width:190px}}.why-layout{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,46px);display:grid}.why-title{writing-mode:vertical-rl;letter-spacing:.02em;justify-self:start;font-size:clamp(15px,1.4vw,20px);font-weight:400;transform:rotate(180deg)}.why-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(18px,2.8vw,46px);display:grid}.why-figure{aspect-ratio:1;background:#ddd8ca;border-radius:50% 50% 0 0;margin-bottom:clamp(18px,2.6vh,32px);position:relative;overflow:hidden}.why-figure img{object-fit:cover;width:100%;height:100%;display:block}.why-card h3{margin-bottom:clamp(14px,2vh,26px);font-size:clamp(15px,1.35vw,21px);font-weight:700;line-height:1.3}.why-card p{margin:0;font-size:clamp(13px,1.05vw,16px);line-height:1.5}.why-tagline{grid-column:2;margin-top:clamp(28px,5vh,64px);font-size:clamp(15px,1.5vw,22px);font-style:italic}@media (max-width:900px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5vh 5vw}}@media (max-width:560px){.why-layout{grid-template-columns:1fr;gap:4vh}.why-title{writing-mode:horizontal-tb;font-weight:600;transform:none}.why-grid{grid-template-columns:1fr}.why-tagline{grid-column:1}}footer.site-footer{justify-content:space-between;align-items:flex-end;gap:20px;padding-top:60px;font-size:14px;font-weight:600;display:flex}footer.site-footer .foot-logo{margin-bottom:14px;display:block}footer.site-footer .foot-logo img{width:120px;display:block}footer.site-footer a{color:inherit;text-decoration:none}footer.site-footer a:hover{color:var(--green)}footer.site-footer .foot-nav{text-align:right;flex-direction:column;gap:2px;display:flex}footer.site-footer .colon{margin-right:40px;font-weight:700}.overlay-menu{z-index:600;background:var(--black);color:var(--cream);padding:var(--pad);flex-direction:column;justify-content:center;display:none;position:fixed;inset:0}.overlay-menu.open{display:flex}.overlay-menu a{color:var(--cream);letter-spacing:-.01em;font-size:clamp(34px,6vw,72px);font-weight:700;line-height:1.3;text-decoration:none}.overlay-menu a:hover{color:var(--green)}.overlay-menu .lang{margin-top:40px;font-size:18px}.overlay-close{top:var(--pad);right:var(--pad);color:var(--cream);font-size:40px;line-height:1;text-decoration:none;position:absolute}.subpage{background:var(--cream);min-height:100vh;padding:calc(var(--header-h) + 40px) var(--pad) 60px}.subpage .lede{max-width:460px;margin-bottom:10vh;margin-left:clamp(0px,32vw,460px);font-size:15px;font-weight:600;line-height:1.5}.two-col{grid-template-columns:minmax(140px,22%) 1fr;align-items:start;gap:24px;margin-bottom:12vh;display:grid}.two-col .label{font-size:15px;font-weight:600}.two-col .big p{letter-spacing:-.01em;max-width:900px;margin-bottom:1.2em;font-size:clamp(22px,2.6vw,38px);font-weight:700;line-height:1.25}.two-col .body p{max-width:760px;margin-bottom:1.1em;font-size:clamp(16px,1.4vw,20px);line-height:1.55}.stage h3{margin:1.6em 0 .5em;font-size:clamp(20px,2vw,30px);font-weight:700}.stage p{max-width:760px;margin-bottom:.8em;font-size:clamp(15px,1.3vw,18px);line-height:1.55}.refs{max-width:1000px;font-size:clamp(16px,1.5vw,22px);line-height:2}.refs strong{font-weight:700}.refs span{color:#282724b8;font-weight:400}.projects-grid{grid-template-columns:repeat(6,1fr);gap:22px;display:grid}.projects-grid .card{color:inherit;grid-column:span 2;text-decoration:none}.projects-grid .card.wide{grid-column:span 4}.projects-grid .thumb{aspect-ratio:4/3;background:#ddd8ca;justify-content:center;align-items:center;display:flex;overflow:hidden}.projects-grid .card.wide .thumb{aspect-ratio:16/9}.projects-grid .thumb img{object-fit:cover;width:100%;height:100%;transition:opacity .35s,transform .6s}@media (hover:hover) and (pointer:fine){.projects-grid .card:hover .thumb img,.projects-grid .card:focus-visible .thumb img{opacity:.55;transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.projects-grid .thumb img{transition-duration:.01ms;transform:none}}.projects-grid .thumb .mark{opacity:.35;width:64px}.projects-grid .title{margin-top:10px;font-size:16px;font-weight:700}@media (max-width:800px){.projects-grid{grid-template-columns:1fr}.projects-grid .card,.projects-grid .card.wide{grid-column:auto}}.projects-hint{z-index:400;pointer-events:none;text-align:center;text-transform:uppercase;letter-spacing:-.01em;max-width:90vw;color:var(--ink);opacity:0;font-size:clamp(30px,5vw,74px);font-weight:700;line-height:1.1;transition:opacity .35s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.projects-hint.is-on{opacity:1}@media (prefers-reduced-motion:reduce){.projects-hint{transition-duration:.01ms}}.project-cover{background:var(--ink);height:50vh;position:relative;overflow:hidden}.project-cover-track{height:100%;transition:transform .9s cubic-bezier(.65,0,.35,1);display:flex}.project-cover img{object-fit:cover;flex:0 0 100%;width:100%;height:100%;display:block}.project-cover img.is-portrait{object-fit:contain}.carousel-arrow{width:48px;height:48px;color:var(--cream);font:inherit;cursor:pointer;background:#28272459;border:0;border-radius:50%;font-size:20px;line-height:1;transition:background .2s;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover,.carousel-arrow:focus-visible{background:#282724b3}.carousel-prev{left:var(--pad)}.carousel-next{right:var(--pad)}@media (prefers-reduced-motion:reduce){.project-cover-track{transition-duration:.01ms}}.subpage.project-detail{padding-top:clamp(48px,8vh,110px)}.project-title{letter-spacing:-.02em;margin-bottom:clamp(36px,6vh,80px);font-size:clamp(32px,5.4vw,84px);font-weight:700;line-height:1.05}.project-info{align-items:start}.credits{font-size:clamp(13px,1.1vw,15px);line-height:1.5}.credit-row{margin-bottom:14px}.credits dt{font-weight:700}.credits dd{color:#282724c7}.project-body p{max-width:760px;margin-bottom:1.2em;font-size:clamp(15px,1.35vw,19px);line-height:1.6}.project-body p:last-child{margin-bottom:0}.project-back{color:inherit;font-size:clamp(15px,1.3vw,19px);font-weight:600;text-decoration:none;display:inline-block}.project-back:hover{color:var(--green)}@media (max-width:700px){.project-cover{height:31vh}}.contact-block a{color:inherit}.contact-block .big p{margin-bottom:.4em}.contact-form{max-width:760px}.contact-form .field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,34px);display:grid}.contact-form .field{flex-direction:column;margin-bottom:clamp(18px,2.6vh,30px);display:flex}.contact-form label{margin-bottom:8px;font-size:15px;font-weight:600}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #28272459;border-radius:0;padding:10px 0;font-size:clamp(15px,1.3vw,18px);transition:border-color .2s}.contact-form textarea{resize:vertical;min-height:140px}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--green);outline:none}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-bottom-color:#9c3848}.contact-form .field-error{color:#9c3848;margin-top:6px;font-size:13px;font-weight:600}.contact-form .field-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form button{font:inherit;color:var(--cream);background:var(--ink);cursor:pointer;border:0;padding:14px clamp(28px,4vw,54px);font-size:clamp(15px,1.3vw,19px);font-weight:600;transition:background .2s,color .2s}.contact-form button:hover:not(:disabled){background:var(--green);color:var(--ink)}.contact-form button:disabled{opacity:.55;cursor:default}.contact-form .form-status{min-height:1.4em;margin-top:16px;font-size:15px;font-weight:600}@media (max-width:700px){.contact-form .field-row{grid-template-columns:1fr;gap:0}}.subpage footer.site-footer{color:var(--ink);margin-top:10vh}.home-footer{background:var(--black);color:var(--cream);padding:0 var(--pad) 60px;display:flow-root}.home-footer footer.site-footer{margin-top:10vh}@media (max-width:700px){:root{--header-h:120px}.two-col{grid-template-columns:1fr}.manifesto,.subpage .lede{margin-left:0}footer.site-footer{flex-direction:column;align-items:flex-start}footer.site-footer .foot-nav{text-align:left}}.notfound{font-family:var(--font-campton), "Campton", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;background:var(--ink);min-height:100vh;color:var(--cream);text-align:center;padding:var(--pad);flex-direction:column;justify-content:center;align-items:center;display:flex}.notfound .notfound-lockup{width:min(56vw,420px);margin-bottom:8vh}.notfound .notfound-logo{width:100%;display:block}.notfound .code{color:var(--green);letter-spacing:-.02em;font-size:clamp(56px,9vw,110px);font-weight:700;line-height:1}.notfound h1{letter-spacing:-.01em;margin-top:14px;font-size:clamp(22px,2.6vw,38px);font-weight:700}.notfound p{max-width:520px;margin-top:14px;font-size:clamp(15px,1.3vw,18px);line-height:1.55}.notfound a{color:var(--cream);margin-top:32px;font-size:clamp(15px,1.3vw,19px);font-weight:600;text-decoration:none;display:inline-block}.notfound a:hover{color:var(--green)}
