@charset "UTF-8";

@font-face{font-family:Archivo;src:url("assets/fonts/archivo-latin.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("assets/fonts/bodoni-moda-italic-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{--layout-unit:min(1vw,16.8px);--paper:#fdfcf7;--ink:#12120f;--brown:#392115;--rule:#96938a;--muted:#4b4a44;--gutter:calc(3.55 * var(--layout-unit))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;overflow-x:clip}
body{margin:0;min-width:0;width:100%;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0;border-radius:0}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
button:disabled{cursor:default}
::selection{background:var(--accent);color:var(--paper)}
.page-shell{padding:0 var(--gutter);max-width:1680px;margin:0 auto}
.skip-link{position:fixed;top:-70px;left:15px;z-index:10;background:var(--paper);padding:14px;opacity:0;pointer-events:none}
.skip-link:focus{top:10px;opacity:1;pointer-events:auto}
.site-header{position:relative;height:calc(6.45 * var(--layout-unit));min-height:65px;max-height:108px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,var(--rule) 0 78.3%,transparent 78.3% 79.5%,var(--rule) 79.5% 100%) left bottom / 100% 1px no-repeat}
.brand{display:flex;align-items:center;gap:calc(1.65 * var(--layout-unit));font-size:calc(1.35 * var(--layout-unit));letter-spacing:calc(.54 * var(--layout-unit))}
.brand-mark{width:calc(3.8 * var(--layout-unit));max-width:60px;min-width:35px;height:auto;color:var(--brown)}
nav{display:flex;align-items:center;gap:calc(3.05 * var(--layout-unit));padding-right:calc(3.1 * var(--layout-unit));font-size:calc(1.08 * var(--layout-unit))}
nav a,.nav-button{position:relative;padding:10px 0;background:none;color:#34342f}
nav a::after,.nav-button::after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
nav a:hover::after,.nav-button:hover::after{transform:scaleX(1)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 20.5%;gap:1.2%;height:calc(32.45 * var(--layout-unit));max-height:545px;min-height:320px}
.hero{position:relative;overflow:hidden}
.hero-art{position:absolute;inset:0 0 0 42%;overflow:hidden;container-type:inline-size}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:60% 25%;mask-image:var(--portrait-mask);mask-size:100% auto;mask-repeat:no-repeat}
.hero-art::after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,var(--paper) 0%,transparent 22%);pointer-events:none}
.portrait-pixels{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(11,calc(100cqw / 14))}
.portrait-fragment{background-image:url("assets/art/seurat-aman-jean.webp");background-size:1400% 1100%;background-repeat:no-repeat;box-shadow:inset -1px -1px 0 #fdfcf7b8}
.hero-copy{position:relative;z-index:2;padding-top:calc(4.7 * var(--layout-unit));pointer-events:none}
h1,h2,p{margin:0}
h1{font-size:calc(5.05 * var(--layout-unit));font-weight:500;line-height:.94;letter-spacing:calc(-.255 * var(--layout-unit))}
.hero-copy p{margin-top:calc(1.3 * var(--layout-unit));font-size:calc(1.59 * var(--layout-unit));line-height:1.19;letter-spacing:calc(-.025 * var(--layout-unit));color:var(--muted)}
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:.8em;background:var(--brown);color:var(--paper);padding:calc(1.02 * var(--layout-unit)) calc(2.02 * var(--layout-unit));font-size:calc(1.25 * var(--layout-unit));line-height:1.1;transition:background .2s;pointer-events:auto}
.primary-button:hover{background:#603b27}
.hero-copy .primary-button{margin-top:calc(2.08 * var(--layout-unit))}
.arrow{display:inline-block;transition:transform .22s}
a:hover .arrow,button:hover .arrow{transform:translate(2px,-2px)}
.approach{position:relative;padding:calc(1.72 * var(--layout-unit)) calc(.4 * var(--layout-unit)) calc(1.3 * var(--layout-unit)) calc(1.65 * var(--layout-unit));display:flex;flex-direction:column}
.eyebrow{text-transform:uppercase;font-size:calc(.96 * var(--layout-unit));letter-spacing:calc(.17 * var(--layout-unit));line-height:1.35;font-weight:400}
.eyebrow>span{margin:0 calc(.55 * var(--layout-unit))}
.approach h2{font-size:calc(2.83 * var(--layout-unit));line-height:.95;letter-spacing:calc(-.11 * var(--layout-unit));font-weight:500;margin-top:calc(7.05 * var(--layout-unit))}
.approach-links{margin-top:auto}
.approach-links [data-dialog]{background:none;display:flex;align-items:center;gap:calc(1.3 * var(--layout-unit));width:100%;text-align:left;border-top:1px solid #aaa79e;padding:calc(1 * var(--layout-unit)) 0;font-size:calc(1.21 * var(--layout-unit));color:#393a35}
.approach-links [data-dialog]:last-child{padding-bottom:calc(.6 * var(--layout-unit))}
.approach-links [data-dialog]:hover{text-decoration:underline;text-underline-offset:3px}
.projects{display:grid;grid-template-columns:50% 25.4% 24.6%;height:calc(22.85 * var(--layout-unit));max-height:384px;min-height:225px;position:relative;margin-left:calc(-.3 * var(--layout-unit));isolation:isolate}
.projects-intro{background:var(--brown);color:var(--paper);padding:calc(1.36 * var(--layout-unit)) calc(1.05 * var(--layout-unit));position:relative;overflow:hidden}
.projects-intro>.eyebrow,.projects-intro>h2,.projects-intro>.section-description{position:relative;z-index:1}
.projects-intro h2{font-size:calc(5.05 * var(--layout-unit));line-height:.98;letter-spacing:calc(-.22 * var(--layout-unit));font-weight:400;margin-top:calc(2.6 * var(--layout-unit));white-space:nowrap}
.projects-intro h2 em{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;font-size:1.12em;letter-spacing:calc(-.06 * var(--layout-unit));line-height:.8}
.section-description{font-size:calc(1.59 * var(--layout-unit));line-height:1.3;margin-top:calc(1.28 * var(--layout-unit));color:#dfd3c8;letter-spacing:calc(-.015 * var(--layout-unit))}
.mosaic{display:grid;pointer-events:none;position:absolute}
.project-mosaic{top:0;left:var(--project-mosaic-offset);width:calc(8 * var(--mosaic-column));height:calc(4 * var(--mosaic-row));grid-template-columns:repeat(8,var(--mosaic-column));grid-template-rows:repeat(4,var(--mosaic-row))}
.project-card{background:var(--paper);border:0;display:block;position:relative;text-align:left;padding:0;overflow:hidden;transition:background .2s}
.project-card:hover{background:#f2efe6}
.card-number{position:absolute;top:calc(1.53 * var(--layout-unit));left:calc(1.5 * var(--layout-unit));font-size:calc(1 * var(--layout-unit));letter-spacing:calc(.14 * var(--layout-unit))}
.card-arrow{position:absolute;top:calc(1.3 * var(--layout-unit));right:calc(1.3 * var(--layout-unit));font-size:calc(2 * var(--layout-unit));line-height:1}
.project-art{position:absolute;display:block;transition:transform .5s cubic-bezier(.2,.65,.3,1)}
.project-art img{width:100%;height:100%;object-fit:cover;display:block}
.project-art::after{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,transparent calc(100% - 1px),#fdfcf788 0),linear-gradient(to bottom,transparent calc(100% - 1px),#fdfcf788 0);background-size:25% 20%}
.architecture{top:calc(3.6 * var(--layout-unit));right:calc(2.6 * var(--layout-unit));width:calc(10.3 * var(--layout-unit));height:calc(12.2 * var(--layout-unit));clip-path:polygon(25% 0,50% 0,50% 12.5%,75% 12.5%,75% 20%,100% 20%,100% 80%,75% 80%,75% 100%,25% 100%,25% 80%,0 80%,0 20%,25% 20%)}
.architecture img{object-position:55% center}
.project-card:hover .project-art{transform:scale(1.05) rotate(-2deg)}
.project-caption{position:absolute;left:calc(1.5 * var(--layout-unit));right:calc(.7 * var(--layout-unit));bottom:calc(2.2 * var(--layout-unit));display:flex;flex-direction:column;gap:calc(.3 * var(--layout-unit))}
.project-name{font-size:calc(2.43 * var(--layout-unit));line-height:1;letter-spacing:calc(-.12 * var(--layout-unit))}
.project-description{font-size:calc(1.18 * var(--layout-unit));line-height:1.25;letter-spacing:calc(-.025 * var(--layout-unit));color:#383832}
.project-stack{display:grid;grid-template-rows:63.4% 1fr;gap:calc(.45 * var(--layout-unit));padding-left:calc(.45 * var(--layout-unit))}
.aegillis .project-caption{left:calc(1.05 * var(--layout-unit));bottom:calc(1.3 * var(--layout-unit));z-index:1}
.aegillis .card-number{left:calc(.75 * var(--layout-unit))}
.iridescent{width:calc(9.7 * var(--layout-unit));height:calc(9.4 * var(--layout-unit));right:calc(1.7 * var(--layout-unit));top:calc(2.5 * var(--layout-unit));clip-path:polygon(25% 0,50% 0,50% 22%,100% 22%,100% 100%,50% 100%,50% 78%,25% 78%,25% 56%,0 56%,0 13%,25% 13%)}
.iridescent::after{background-size:25% 22%}
.community-card{position:relative;background:var(--brown);color:var(--paper);border:0;padding:calc(1.6 * var(--layout-unit)) calc(1.7 * var(--layout-unit));text-align:left;display:flex;flex-direction:column;justify-content:center;gap:calc(.45 * var(--layout-unit));transition:background .2s}
.community-card:hover{background:#563521}
.community-card>span:first-child{font-size:calc(2 * var(--layout-unit))}
.community-card>span:first-child .arrow{font-size:calc(1.7 * var(--layout-unit));margin-left:calc(.65 * var(--layout-unit))}
.community-card>span:nth-child(2){font-size:calc(1.19 * var(--layout-unit));color:#ddd2c8}
/* The reference uses individual rules with open ends, not closed card frames. */
.hero::after{content:"";position:absolute;right:0;bottom:0;top:0;left:63.5%;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);pointer-events:none;z-index:3}
.approach::before{content:"";position:absolute;left:0;top:0;bottom:calc(.6 * var(--layout-unit));width:1px;background:var(--rule)}
.approach::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule)}
.projects-intro::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule)}
.aediris::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rule)}
.aediris::after{content:"";position:absolute;right:0;top:calc(.6 * var(--layout-unit));bottom:0;width:1px;background:var(--rule)}
.aegillis::before{content:"";position:absolute;right:0;top:calc(.6 * var(--layout-unit));bottom:0;width:1px;background:var(--rule)}
.aegillis::after{content:"";position:absolute;right:0;left:0;bottom:0;height:1px;background:var(--rule)}
.community-card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule)}
.community-card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rule)}
.mission{position:relative;background:var(--brown);color:var(--paper);overflow:hidden;isolation:isolate}
.mission-mosaic{width:calc(11 * var(--mosaic-column));height:calc(4 * var(--mosaic-row));top:0;left:var(--mission-mosaic-offset);grid-template-columns:repeat(11,var(--mosaic-column));grid-template-rows:repeat(4,var(--mosaic-row));z-index:-1}
.mission-content{max-width:1680px;margin:auto;padding:calc(11.35 * var(--layout-unit)) var(--gutter) 0;display:grid;grid-template-columns:1fr 35.5%;gap:calc(8 * var(--layout-unit))}
.mission-copy .eyebrow{font-size:calc(1 * var(--layout-unit));letter-spacing:calc(.17 * var(--layout-unit))}
.mission-copy h2{font-size:calc(4.62 * var(--layout-unit));line-height:.97;letter-spacing:calc(-.18 * var(--layout-unit));font-weight:400;margin-top:calc(1.5 * var(--layout-unit))}
.mission-copy>p:not(.eyebrow){font-size:calc(1.59 * var(--layout-unit));line-height:1.23;color:#e1d6cc;letter-spacing:calc(-.025 * var(--layout-unit));margin-top:calc(1.25 * var(--layout-unit))}
.text-link{background:none;padding:0 0 calc(.6 * var(--layout-unit));color:var(--paper);border-bottom:1px solid #cbb9a9;font-size:calc(1.4 * var(--layout-unit));margin-top:calc(1.72 * var(--layout-unit));display:flex;gap:calc(1.3 * var(--layout-unit));align-items:center}
.mission-principles{padding-top:calc(1.73 * var(--layout-unit))}
.mission-principles details{border-top:1px solid #b8a494}
.mission-principles summary{padding:calc(1.62 * var(--layout-unit)) 0 calc(1.85 * var(--layout-unit));display:flex;align-items:center;gap:calc(2.85 * var(--layout-unit));cursor:pointer;list-style:none}
.mission-principles summary::-webkit-details-marker{display:none}
.mission-principles summary>span:first-child{font-size:calc(1.28 * var(--layout-unit));letter-spacing:calc(.1 * var(--layout-unit))}
.mission-principles summary>span:nth-child(2){font-size:calc(1.02 * var(--layout-unit));line-height:1.4;text-transform:uppercase;letter-spacing:calc(.145 * var(--layout-unit))}
.detail-symbol{margin-left:auto;opacity:0;transition:opacity .2s,transform .2s;font-size:16px}
summary:hover .detail-symbol,summary:focus-visible .detail-symbol,details[open] .detail-symbol{opacity:1}
details[open] .detail-symbol{transform:rotate(45deg)}
.mission-principles details>p{padding:0 0 calc(1.8 * var(--layout-unit)) calc(4.6 * var(--layout-unit));color:#dfd3c8;font-size:calc(1.25 * var(--layout-unit));line-height:1.5}
.together{width:100%;height:calc(25.8 * var(--layout-unit));overflow:hidden;margin-top:calc(2.3 * var(--layout-unit));user-select:none;line-height:.9}
.together>span{display:block;width:100%;text-align:center;font-family:Impact,Haettenschweiler,'Arial Narrow',sans-serif;font-weight:900;font-size:calc(26.15 * var(--layout-unit));letter-spacing:calc(-.7 * var(--layout-unit));transform:scaleY(1.17);transform-origin:center top}
footer{max-width:1680px;margin:auto;padding:calc(2 * var(--layout-unit)) var(--gutter);border-top:1px solid #ffffff30;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.04em;color:#d8c7b9}
footer>a{letter-spacing:.25em}
footer>a span{margin-left:10px}
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--rule);padding:46px;max-width:540px;width:calc(100% - 32px);max-height:85dvh;overflow-y:auto}
dialog::backdrop{background:#26170fb3;backdrop-filter:blur(5px)}
.dialog-close{position:absolute;right:15px;top:9px;font-size:30px;background:none;width:40px;height:40px}
dialog .eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}
dialog h2{font-size:43px;line-height:1.04;font-weight:400;letter-spacing:-1.8px;margin:28px 0 20px}
#dialog-body{font-size:16px;color:var(--muted);line-height:1.6}
#dialog-body p+p{margin-top:14px}
#contribution-form{margin-top:25px}
#contribution-form label{font-size:14px}
textarea{display:block;background:#f5f2e9;width:100%;resize:vertical;border:1px solid var(--rule);padding:12px;margin-top:10px;font-size:14px;line-height:1.5;border-radius:0}
textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.form-note{font-size:12px;line-height:1.4;color:#66635b;margin:10px 0 20px}
dialog .primary-button{font-size:14px;padding:13px 20px}
.form-status{font-size:13px;margin-top:12px;color:#45643b}
body:has(dialog[open]){overflow:hidden}
@media(min-width:1680px){:root{--gutter:60px}.site-header{height:108px}.intro{height:545px}.hero-copy{padding-top:79px}h1{font-size:85px;letter-spacing:-4px}.hero-copy p,.section-description{font-size:27px}.approach h2{font-size:47px}.brand{font-size:23px;letter-spacing:9px}.eyebrow{font-size:16px}.projects{height:384px}.projects-intro h2{font-size:85px}.project-name{font-size:40px}.project-description{font-size:20px}.mission-content{padding-top:190px}.mission-copy h2{font-size:78px}.mission-copy>p:not(.eyebrow){font-size:27px}}
@media(max-width:760px){:root{--gutter:22px}.site-header{height:76px}.brand{gap:12px;font-size:12px;letter-spacing:4px}.brand-mark{width:34px;min-width:34px}nav{gap:18px;padding-right:0;font-size:11px}.intro{height:auto;min-height:0;grid-template-columns:1fr;gap:0}.hero{height:470px}.hero-art{inset:0 -10px 0 28%;opacity:.87}.hero-art img{object-position:62% 25%}.hero-art::after{background:linear-gradient(90deg,var(--paper),transparent 47%)}.hero-copy{padding-top:63px}h1{font-size:clamp(46px,calc(7.5 * var(--layout-unit)),57px);letter-spacing:-2.7px;line-height:.96}.hero-copy p{font-size:16px;line-height:1.25;margin-top:20px;max-width:245px}.primary-button{font-size:13px;padding:13px 17px}.hero-copy .primary-button{margin-top:25px}.approach{padding:21px 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.5px}.eyebrow>span{margin:0 6px}.approach>.eyebrow{grid-column:1/-1}.approach h2{font-size:32px;letter-spacing:-1px;line-height:.96;margin-top:0}.approach-links{margin-top:0}.approach-links [data-dialog]{font-size:12px;padding:10px 0;gap:16px}.approach-links [data-dialog]:last-child{padding-bottom:0}.projects{height:auto;min-height:0;grid-template-columns:1fr 1fr;margin:0}.projects-intro{grid-column:1/-1;min-height:250px;padding:22px 18px}.projects-intro h2{font-size:clamp(35px,calc(6.7 * var(--layout-unit)),50px);letter-spacing:-2px;margin-top:37px}.projects-intro h2 em{letter-spacing:-.5px}.section-description{font-size:15px;margin-top:17px}.aediris{min-height:285px}.project-stack{gap:5px;padding-left:5px}.card-number{font-size:10px;top:15px;left:14px}.card-arrow{font-size:22px;top:12px;right:13px}.architecture{width:105px;height:133px;top:38px;right:24px}.project-caption{left:14px;right:9px;bottom:25px;gap:5px}.project-name{font-size:25px;letter-spacing:-1px}.project-description{font-size:11px;letter-spacing:-.2px;line-height:1.3}.aegillis .project-caption{left:12px;bottom:15px}.aegillis .card-number{left:12px}.iridescent{width:90px;height:92px;top:26px;right:17px}.community-card{padding:16px 13px;gap:7px}.community-card>span:first-child{font-size:21px}.community-card>span:first-child .arrow{font-size:18px;margin-left:9px}.community-card>span:nth-child(2){font-size:11px}.mission-content{padding-top:95px;grid-template-columns:1fr;gap:45px}.mission-copy .eyebrow{font-size:10px;letter-spacing:1.6px}.mission-copy h2{font-size:46px;letter-spacing:-2px;margin-top:19px}.mission-copy>p:not(.eyebrow){font-size:16px;line-height:1.35;margin-top:18px}.text-link{font-size:14px;margin-top:22px;padding-bottom:7px;gap:15px}.mission-principles{padding:0}.mission-principles summary{padding:20px 0;gap:29px}.mission-principles summary>span:first-child{font-size:12px;letter-spacing:1px}.mission-principles summary>span:nth-child(2){font-size:10px;letter-spacing:1.4px}.detail-symbol{opacity:1}.mission-principles details>p{font-size:14px;padding:0 20px 20px 45px}.together{margin-top:39px;height:calc(26 * var(--layout-unit))}footer{padding:23px 22px;font-size:9px;gap:15px}footer>span:nth-child(2){display:none}}
@media(max-width:420px){:root{--gutter:16px}.brand{font-size:10px;letter-spacing:3px;gap:9px}.brand-mark{min-width:29px;width:29px}nav{gap:12px;font-size:10px}nav>a:nth-child(3){display:none}.hero{height:420px}.hero-copy{padding-top:51px}h1{font-size:45px;letter-spacing:-2.5px}.hero-art{left:23%;opacity:.78}.hero-copy p{font-size:15px}.projects-intro{padding-left:14px}.projects-intro h2{font-size:36px;letter-spacing:-1.7px}.section-description{font-size:14px}.architecture{right:14px}.iridescent{right:12px;width:80px}.project-description{font-size:10px}.mission-copy h2{font-size:43px}dialog{padding:35px 25px}dialog h2{font-size:36px}}
@media(max-width:760px){
  .intro,.projects{max-height:none}
  .site-header{background:linear-gradient(var(--rule),var(--rule)) left bottom / 100% 1px no-repeat}
  .hero::after{border-right:0;left:0}
  .hero-art{left:auto;right:-10px;width:calc(470px * 14 / 11)}
  .approach::before{display:none}
  .approach::after{right:55%}
  .hero-art::after{z-index:2;background:linear-gradient(90deg,var(--paper) 0%,rgba(253,252,247,.97) 50%,rgba(253,252,247,.65) 80%,rgba(253,252,247,.15) 100%)}
}
@media(max-width:420px){
  .hero-art{width:calc(420px * 14 / 11)}
  .site-header{height:99px;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px}
  .brand{font-size:11px}
  nav{width:100%;justify-content:space-between;font-size:11px;gap:16px}
  nav a,.nav-button{padding:5px 0}
  nav>a:nth-child(3){display:block}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
