@font-face{font-family:Display;src:url('fonts/barlow-condensed-800.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Sans;src:url('fonts/dm-sans-400.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Sans;src:url('fonts/dm-sans-600.woff') format('woff');font-weight:600 800;font-style:normal;font-display:swap}
@font-face{font-family:Mono;src:url('fonts/dm-mono-400.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}

:root{--ink:#141713;--paper:#f6f5f0;--sun:#f0eb38;--green:#133c2d;--lime:#b8ef78;--muted:#5d635b;--line:#c8ccc2;--max:1440px;--gutter:clamp(22px,4.2vw,72px);--display:Display,'Arial Narrow',Impact,sans-serif;--sans:Sans,Arial,sans-serif;--mono:Mono,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--ink);color:var(--sun)}
a{color:inherit;text-decoration:none;text-underline-offset:.22em}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
img,svg{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:800}
.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;background:var(--sun);color:var(--ink);padding:12px 20px;z-index:50;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:var(--ink);color:var(--paper);border-bottom:1px solid #363b32}
.nav{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:84px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:.8125rem;line-height:1.15;letter-spacing:.055em;font-weight:600}
.brand-mark{width:44px;height:28px;color:var(--sun)}
.brand-name span{display:block}
.brand-name span:last-child{font-weight:400;letter-spacing:.19em;margin-top:4px;font-size:.75rem}
.nav-right,.nav-actions{display:flex;align-items:center;gap:30px;min-width:0}
.navlinks{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;align-items:center;font-size:.875rem;line-height:1.3}
.navlinks a{padding-block:12px;position:relative}
.navlinks a::after{content:'';position:absolute;height:1px;background:var(--sun);bottom:6px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.navlinks a:hover::after{transform:scaleX(1)}
.navlinks a[aria-current]{color:var(--sun)}
.lang-switch{display:flex;align-items:center;border:1px solid #72776d;padding:3px;gap:2px;flex-shrink:0}
.lang-switch button{background:transparent;border:0;color:var(--paper);padding:8px 9px;min-height:36px;min-width:36px;font-family:var(--mono);font-size:.8125rem;line-height:1}
.lang-switch button.active{background:var(--sun);color:var(--ink)}
.menu-toggle{display:none;background:none;border:0;color:inherit;font-size:.875rem;min-height:44px;padding:0;align-items:center;gap:8px}
.menu-mark{font-size:1.6rem;line-height:1;transition:transform .2s}
.menu-toggle[aria-expanded=true] .menu-mark{transform:rotate(45deg)}
.back{font-family:var(--mono);font-size:.8125rem;line-height:1.4;border-bottom:1px solid #72776d;padding-block:8px}
.back:hover{color:var(--sun)}

.hero{padding:40px 0 28px;background:var(--sun);border-bottom:1px solid var(--ink)}
.hero-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--mono);font-size:.8125rem;line-height:1.4;text-transform:uppercase;letter-spacing:.035em}
.hero-title-group{display:grid;grid-template-columns:minmax(0,1fr) 29%;align-items:end;gap:50px;padding:38px 0 40px}
.wordmark{font-size:clamp(7rem,23vw,23rem);letter-spacing:-.025em;line-height:.79;text-transform:uppercase}
.wordmark>span{display:block}
.wordmark .solar{margin-bottom:.055em}
.wordmark>.moon-row{display:flex;gap:.08em;align-items:flex-end}
.studio-word{font-family:var(--display);font-size:.175em;letter-spacing:.015em;line-height:.9;writing-mode:vertical-rl;margin-bottom:.025em;margin-left:.12em}
.hero-aside{padding-bottom:6px}
.hero-symbol{width:160px;height:88px;color:var(--ink);margin-bottom:32px}
.hero-text{font-size:clamp(1.35rem,2.2vw,2.1rem);font-weight:600;letter-spacing:-.025em;line-height:1.25;max-width:330px}
.hero-aside .text-link{margin-top:28px;font-size:.875rem}
.text-link{display:inline-block;padding:8px 0;border-bottom:1px solid currentColor;font-weight:600;line-height:1.35}
.text-link:hover{border-bottom-width:2px;margin-bottom:-1px}
.hero-bottom{display:flex;justify-content:space-between;gap:28px;border-top:1px solid var(--ink);padding-top:18px;font-family:var(--mono);font-size:.8125rem;line-height:1.5}
.hero-bottom .hero-note{max-width:580px}
.hero-bottom .hero-coordinate{white-space:nowrap}

section{padding:100px 0;border-bottom:1px solid var(--line)}
.section-grid,.grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(40px,6vw,110px)}
.label{font-family:var(--mono);font-size:.8125rem;line-height:1.5;text-transform:uppercase;letter-spacing:.035em;align-self:start;padding-top:7px;display:flex;gap:14px}
.label:before{content:'';width:18px;height:2px;background:currentColor;flex-shrink:0;margin-top:9px}
.lead{font-size:clamp(2.8rem,5.8vw,6rem);line-height:.98;text-transform:uppercase;letter-spacing:-.01em;max-width:1020px;margin-bottom:32px}
.copy{max-width:760px;font-size:1.0625rem;line-height:1.65;color:#3f463d}
.copy p+p{margin-top:20px}
.copy p:last-child{margin-bottom:0}
.copy .intro,.intro{font-size:clamp(1.25rem,2.1vw,1.625rem);line-height:1.4;letter-spacing:-.015em;color:var(--ink)}
.highlight{font-weight:600}
.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px;margin-top:42px;counter-reset:practice}
.card{border-top:2px solid var(--ink);padding-top:22px;min-height:244px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;counter-increment:practice}
.card h3{font-size:clamp(2.15rem,3.2vw,3.35rem);line-height:1;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:16px;display:flex;gap:16px;align-items:flex-start}
.card h3:before{content:'0' counter(practice);font-family:var(--mono);font-weight:400;font-size:.8125rem;letter-spacing:0;padding-top:7px;line-height:1.3}
.card p{color:var(--muted);max-width:390px;font-size:1rem;line-height:1.6}
.meta{font-family:var(--mono);font-size:.75rem;line-height:1.6;text-transform:uppercase;letter-spacing:.025em}

.projects-section{background:#ecefe7}
.projects-section .section-grid{display:block}
.section-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-top:28px}
.section-intro .lead{font-size:clamp(4.5rem,10vw,10rem);margin:0;line-height:.87}
.section-intro p{max-width:470px;font-size:1.1875rem;line-height:1.5;justify-self:end}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:46px}
.project{display:flex;flex-direction:column;justify-content:space-between;min-height:430px;gap:40px;padding:34px;background:var(--sun);border:1px solid var(--ink);transition:transform .2s ease;position:relative}
.project:hover{transform:translateY(-4px)}
.project:nth-child(2){background:var(--paper)}
.project:nth-child(3){background:var(--ink);color:var(--paper)}
.project:nth-child(4){background:var(--green);color:var(--lime);border-color:var(--green)}
.project-kicker{font-family:var(--mono);font-size:.8125rem;line-height:1.5;text-transform:uppercase;letter-spacing:.025em;display:flex;justify-content:space-between;gap:18px;margin-bottom:40px}
.project-kicker:after{content:attr(data-index);white-space:nowrap;opacity:.75}
.project h3{font-size:clamp(3.15rem,6.5vw,6.75rem);line-height:.91;text-transform:uppercase;letter-spacing:-.015em;margin-bottom:18px}
.project h3 small{display:block;font-family:var(--mono);font-size:.75rem;font-weight:400;letter-spacing:.025em;line-height:1.5;margin-bottom:12px;text-transform:uppercase}
.project p{font-size:1rem;line-height:1.55;max-width:480px}
.project:nth-child(3) p{color:#d7dbd2}
.project:nth-child(4) p{color:#e0eddc}
.project-meta{font-family:var(--mono);font-size:.75rem;line-height:1.5;letter-spacing:.01em}
.project-cta{border-top:1px solid currentColor;padding-top:18px;margin-top:18px;font-size:.875rem;line-height:1.4;font-weight:600}
.project-cta b{display:none}

.field{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:38px;counter-reset:notes}
.tile{counter-increment:notes;border:1px solid var(--ink);padding:22px;min-height:170px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:24px;grid-column:span 4;background:var(--paper)}
.tile:before{content:'0' counter(notes);font-family:var(--mono);font-size:.8125rem;line-height:1.4}
.tile:nth-child(1){grid-column:span 7;background:var(--sun);min-height:240px}
.tile:nth-child(2){grid-column:span 5;background:var(--ink);color:var(--paper);min-height:240px}
.tile span{font-family:var(--display);font-size:clamp(2rem,3.5vw,3.6rem);line-height:.97;text-transform:uppercase;max-width:100%;overflow-wrap:break-word}
.tile span small{display:block;font-family:var(--mono);font-size:.75rem;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400;margin-top:14px}

.pulse{background:var(--green);color:var(--paper);border-bottom-color:var(--green)}
.pulse .label{color:var(--lime)}
.pulse .lead{color:var(--lime);font-size:clamp(3.2rem,7.4vw,7.6rem)}
.pulse .copy,.pulse .intro{color:#e0eddc}
.pulse .intro{margin-bottom:22px}
.pulse-steps,.sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}
.pulse-step,.step{border-top:1px solid currentColor;padding-top:22px}
.pulse-step strong,.step strong{display:block;font-family:var(--mono);font-weight:400;font-size:.8125rem;line-height:1.5;text-transform:uppercase;margin-bottom:16px;color:var(--lime)}
.pulse-step p,.step p{font-size:1rem;line-height:1.6;color:#e0eddc}
.principle{background:var(--sun);border-color:var(--ink);padding:76px 0}
.quote{font-family:var(--display);font-size:clamp(2.85rem,6.75vw,7rem);line-height:.97;letter-spacing:-.01em;text-transform:uppercase;max-width:1270px}
.quote em{font-style:normal;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.07em}
.quote small{display:block;font-family:var(--mono);font-size:.8125rem;line-height:1.5;text-transform:uppercase;margin-top:32px;letter-spacing:.025em}

.contact-section{background:var(--ink);color:var(--paper);border-color:#555d4c;padding:90px 0 76px}
.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end}
.contact h2{font-size:clamp(3.75rem,8.6vw,8.5rem);line-height:.89;letter-spacing:-.01em;text-transform:uppercase;color:var(--sun)}
.contact-copy{font-size:1.1875rem;line-height:1.5;max-width:420px;margin-bottom:28px}
.contact-list{font-family:var(--mono);font-size:.875rem;line-height:1.6;display:grid;gap:16px}
.contact-list .email{font-family:var(--sans);font-size:clamp(1.1rem,2.4vw,2rem);font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere;text-decoration:underline}
.contact-links{display:flex;flex-wrap:wrap;gap:24px;font-family:var(--sans)}
.contact-links a{border-bottom:1px solid #8c9581;padding-bottom:3px}
.contact-links a:hover{color:var(--sun)}
.site-footer{background:var(--ink);color:#c3c9bc;padding:26px 0;font-family:var(--mono);font-size:.75rem;line-height:1.6}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer a:hover{color:var(--sun)}

.project-page .project-hero{padding:55px 0 54px;background:var(--sun);border-color:var(--ink)}
.project-page .kicker{font-family:var(--mono);font-size:.8125rem;line-height:1.5;text-transform:uppercase;display:flex;justify-content:space-between;gap:24px;margin-bottom:38px}
.project-page .project-number{white-space:nowrap}
.project-page .project-hero h1{font-size:clamp(5rem,13vw,13rem);line-height:.85;text-transform:uppercase;letter-spacing:-.015em;max-width:1150px}
.project-page .project-hero .lead{font-family:var(--sans);font-weight:400;font-size:clamp(1.4rem,2.8vw,2.5rem);line-height:1.3;letter-spacing:-.025em;text-transform:none;max-width:820px;margin:34px 0 24px}
.project-page .project-hero .meta{font-size:.8125rem}
.format{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.format span{font-family:var(--mono);font-size:.75rem;line-height:1.5;padding:7px 11px;border:1px solid currentColor}
.project-aak-ceremony .project-hero{background:var(--paper)}
.project-project-xiii .project-hero{background:var(--ink);color:var(--paper);border-color:#515c45}
.project-project-xiii .project-hero h1{color:var(--sun)}
.project-herbarium-maya .project-hero{background:var(--green);color:var(--paper);border-color:var(--green)}
.project-herbarium-maya .project-hero h1{color:var(--lime)}
.question{font-family:var(--display);font-size:clamp(2.7rem,5.7vw,5.8rem);line-height:.98;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:32px;max-width:1050px}
.question em{font-style:normal}
.step strong{color:var(--ink)}
.step p{color:var(--muted)}
.error-page main{padding-block:90px;min-height:calc(100vh - 164px)}
.error-page h1{font-size:clamp(7rem,20vw,18rem);line-height:.85;color:var(--green)}
.error-page .lead{margin-top:25px;font-size:clamp(2.3rem,5vw,4.5rem)}
.error-page .copy{margin-bottom:25px}

@media(min-width:1600px){.hero-title-group{grid-template-columns:minmax(0,1fr) 30%}.wordmark{font-size:23rem}}
@media(max-width:1180px){.nav-right,.nav-actions{gap:18px}.navlinks{gap:16px}.section-grid,.grid{grid-template-columns:160px minmax(0,1fr);gap:40px}.hero-title-group{gap:30px}.hero-symbol{width:128px;margin-bottom:24px}.hero-text{font-size:1.6rem}.contact{gap:40px}}
@media(max-width:1000px){
  html{scroll-padding-top:94px}
  .nav{min-height:76px;gap:18px}
  .nav-right{gap:18px}
  .nav-actions{gap:18px}
  .js .menu-toggle{display:flex}
  .navlinks{position:absolute;inset:76px 0 auto;background:var(--ink);padding:18px var(--gutter) 30px;border-bottom:1px solid #616954;display:grid;grid-template-columns:1fr 1fr;gap:2px 28px;max-height:calc(100svh - 76px);overflow:auto}
  .navlinks a{font-size:1.1875rem;padding-block:16px;border-bottom:1px solid #3d4634}
  .js .navlinks{display:none}
  .js .navlinks[data-open=true]{display:grid}
  html:not(.js) .site-header{position:relative}
  html:not(.js) .nav{padding-bottom:240px}
  .hero-title-group{grid-template-columns:minmax(0,1fr) 30%;gap:22px}
  .hero-text{font-size:1.3125rem}
  .hero-symbol{width:100px;height:56px;margin-bottom:25px}
  .hero-aside .text-link{font-size:.8125rem;margin-top:20px}
  .section-grid,.grid{grid-template-columns:minmax(0,1fr);gap:25px}
  .label{padding:0}
  section{padding:76px 0}
  .practice-grid{gap:32px}
  .project{padding:28px;min-height:400px}
  .project-kicker{font-size:.75rem;margin-bottom:30px}
  .project h3{font-size:4.5rem}
  .field{max-width:100%}
  .contact h2{font-size:6rem}
}
@media(max-width:680px){
  :root{--gutter:22px}
  .nav{min-height:72px;gap:12px}
  .brand{gap:9px;font-size:.75rem}
  .brand-mark{width:36px;height:24px}
  .brand-name span:last-child{font-size:.6875rem}
  .nav-right,.nav-actions{gap:12px}
  .menu-toggle{font-size:.8125rem;gap:5px}
  .lang-switch{padding:2px}
  .lang-switch button{padding:8px 7px;min-width:31px;min-height:34px;font-size:.75rem}
  .navlinks{top:72px}
  .navlinks a{font-size:1.0625rem}
  .hero{padding:28px 0 24px}
  .hero-meta{font-size:.75rem;align-items:flex-start;gap:20px}
  .hero-meta span:last-child{text-align:right}
  .hero-title-group{grid-template-columns:minmax(0,1fr);gap:34px;padding:35px 0 27px}
  .wordmark{font-size:clamp(7rem,39vw,16rem);line-height:.78;letter-spacing:-.025em}
  .studio-word{font-size:.16em;margin-left:.05em}
  .hero-aside{display:grid;grid-template-columns:1fr auto;gap:14px 20px;align-items:center;padding:0}
  .hero-symbol{width:80px;height:44px;grid-column:2;grid-row:1;margin:0}
  .hero-text{font-size:1.3125rem;grid-column:1;grid-row:1;max-width:310px;line-height:1.3}
  .hero-aside .text-link{grid-column:1 / -1;margin:4px 0 0;justify-self:start;font-size:.875rem}
  .hero-bottom{font-size:.75rem;gap:20px}
  .hero-coordinate{display:none}
  section{padding:60px 0}
  .lead{font-size:clamp(2.5rem,10.5vw,4rem);margin-bottom:25px;line-height:1}
  .copy{font-size:1rem;line-height:1.65}
  .copy .intro,.intro{font-size:1.1875rem}
  .practice-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}
  .card{min-height:0;gap:24px;padding-top:22px}
  .card h3{font-size:2.55rem}
  .card p{max-width:100%}
  .section-intro{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:25px}
  .section-intro .lead{font-size:clamp(3.5rem,18vw,4.8rem)}
  .section-intro p{font-size:1.0625rem;justify-self:start}
  .projects-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}
  .project{padding:25px;min-height:360px;gap:32px}
  .project h3{font-size:clamp(3.4rem,14vw,5.3rem)}
  .project-kicker{font-size:.75rem}
  .project p{font-size:1rem}
  .project-meta{font-size:.75rem}
  .field{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
  .tile{padding:20px;min-height:175px}
  .tile:nth-child(n){grid-column:span 1;min-height:175px}
  .tile:nth-child(1){grid-column:1 / -1;min-height:200px}
  .tile span{font-size:2.1rem}
  .tile:nth-child(1) span{font-size:clamp(2.6rem,13vw,3.4rem)}
  .tile span small{font-size:.75rem;line-height:1.45}
  .pulse .lead{font-size:clamp(2.9rem,12vw,4.8rem)}
  .pulse-steps,.sequence{grid-template-columns:1fr;gap:28px;margin-top:32px}
  .pulse-step,.step{padding-top:18px}
  .pulse-step strong,.step strong{margin-bottom:12px}
  .principle{padding:56px 0}
  .quote{font-size:clamp(2.4rem,10vw,4rem);line-height:1}
  .quote small{font-size:.75rem;line-height:1.6;margin-top:26px}
  .contact-section{padding:64px 0 52px}
  .contact{grid-template-columns:1fr;gap:36px}
  .contact h2{font-size:clamp(3.5rem,16vw,6rem)}
  .contact-copy{font-size:1.0625rem;margin-bottom:25px}
  .contact-list .email{font-size:1.5rem}
  .contact-list{font-size:.8125rem}
  .site-footer{padding:25px 0}
  .footer-row{gap:16px}
  .project-page .nav{padding-block:12px;align-items:center}
  .project-page .nav-right{gap:10px;align-items:flex-end}
  .project-page .back{font-size:.75rem}
  .project-page .project-hero{padding:38px 0 40px}
  .project-page .kicker{font-size:.75rem;gap:18px;margin-bottom:30px;align-items:flex-start}
  .project-page .project-hero h1{font-size:clamp(4.2rem,18vw,6.5rem);line-height:.9}
  .project-page .project-hero .lead{font-size:1.4rem;margin:26px 0 22px}
  .project-page .project-hero .meta{font-size:.75rem}
  .format{gap:7px;margin-top:22px}
  .format span{font-size:.75rem;padding:6px 9px}
  .question{font-size:clamp(2.5rem,10.5vw,4rem);margin-bottom:26px}
}
@media(max-width:390px){:root{--gutter:18px}.brand-mark{width:29px}.brand{gap:7px;font-size:.6875rem}.brand-name span:last-child{font-size:.625rem}.nav-right,.nav-actions{gap:8px}.menu-toggle{font-size:.75rem}.project-page .nav-right{flex-direction:column;gap:6px}.hero-aside{gap:12px}.hero-symbol{width:62px}.tile{padding:16px}.tile span{font-size:1.85rem}.hero-meta{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.project:hover{transform:none}}
