@font-face{font-family:display;src:url(../media/BalooBhai2_VariableFont_wght-s.p.3qbll3_26kga7.ttf)format("truetype");font-display:swap;font-weight:400 800}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:111.2%;descent-override:56.11%;line-gap-override:0.0%;size-adjust:96.95%}.display_837312b3-module___g-1fG__className{font-family:display,display Fallback}.display_837312b3-module___g-1fG__variable{--font-display:"display", "display Fallback"}
@font-face{font-family:sans;src:url(../media/PlusJakartaSans_VariableFont_wght-s.p.07wcpaq0qx7tm.ttf)format("truetype");font-display:swap;font-weight:200 800;font-style:normal}@font-face{font-family:sans;src:url(../media/PlusJakartaSans_Italic_VariableFont_wght-s.p.3v5q-utgq6rvh.ttf)format("truetype");font-display:swap;font-weight:200 800;font-style:italic}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:98.16%;descent-override:20.99%;line-gap-override:0.0%;size-adjust:105.75%}.sans_93d3694f-module__I8Ww6a__className{font-family:sans,sans Fallback}.sans_93d3694f-module__I8Ww6a__variable{--font-sans:"sans", "sans Fallback"}
:root{--bg:#f6f2ec;--paper:#efe8de;--ink:#2a2521;--ink-soft:#4a433d;--muted:#7a7169;--line:#ddd4c7;--dark:#262422;--brown:#5c4735;--accent:#8a6a4a;--heading:var(--ink);--text-scale:1;--heading-scale:1;--radius:2px;--gutter:clamp(16px, 4vw, 48px);--max:1180px;--display:var(--font-display), "Helvetica Neue", Arial, sans-serif;--body:var(--font-sans), "Helvetica Neue", Arial, sans-serif;--ui:var(--font-sans), "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:100px}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:calc(15px * var(--text-scale));-webkit-font-smoothing:antialiased;margin:0;line-height:1.75;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3{color:var(--heading);font-family:var(--display);letter-spacing:.005em;margin:0 0 .5em;font-weight:500;line-height:1.12}p{margin:0 0 1em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site{flex-direction:column;min-height:100vh;display:flex}.site main{flex:1}.container{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));padding:0 var(--gutter);margin:0 auto}.container.narrow{max-width:calc(760px + 2 * var(--gutter))}.section{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,6vw,80px)}.section+.section{padding-top:0}.center{text-align:center}.empty{color:var(--muted);font-style:italic}.site-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{align-items:center;gap:24px;height:76px;display:flex}.logo{flex-direction:column;margin-right:auto;line-height:1;display:flex}.logo-name{font-family:var(--display);letter-spacing:.14em;font-size:26px;font-weight:500}.logo-sub{font-family:var(--ui);letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:9px}.main-nav{font-family:var(--ui);letter-spacing:.04em;gap:clamp(18px,2.4vw,34px);font-size:13px;display:flex}.main-nav a{color:var(--ink-soft);padding:6px 0;transition:color .2s;position:relative}.main-nav a:hover,.main-nav a.active{color:var(--ink)}.main-nav a.active:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:0;left:0;right:0}.header-actions{gap:4px;display:flex}.icon-btn{background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:inline-grid}.icon-btn:hover{background:var(--paper)}.menu-btn{display:none}.search-bar{border-top:1px solid var(--line);background:var(--bg)}.search-inner{height:60px;color:var(--muted);align-items:center;gap:12px;display:flex}.search-inner input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:17px}.btn{font-family:var(--ui);letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--dark);border-radius:var(--radius);align-items:center;gap:10px;padding:12px 20px;font-size:11px;font-weight:500;line-height:1.2;transition:background .2s,color .2s,transform .2s;display:inline-flex}.btn svg{transition:transform .2s}.btn:hover svg{transform:translate(3px)}.btn-solid{background:var(--dark);color:#fff}.btn-solid:hover{background:#000}.btn-solid:disabled{opacity:.6;cursor:default}.btn-outline{color:var(--ink);background:0 0}.btn-outline:hover{background:var(--dark);color:#fff}.btn-outline.on-dark{color:#fff;border-color:#ffffffb3}.btn-outline.on-dark:hover{color:var(--ink);background:#fff}.btn-text{letter-spacing:.08em;text-transform:none;border:0;padding:4px 0;font-size:13px}.text-link{font-family:var(--ui);color:var(--ink);border-bottom:1px solid #0000;align-items:center;gap:6px;font-size:13px;display:inline-flex}.text-link:hover{border-bottom-color:currentColor}.img-frame{background:var(--paper);position:relative;overflow:hidden}.img-frame img{object-fit:cover;transition:transform .6s}.img-frame.natural img{width:100%;height:auto;display:block}.img-frame.square{aspect-ratio:1}.img-frame.landscape{aspect-ratio:4/3}.img-frame.portrait{aspect-ratio:4/5}.img-frame.tall{aspect-ratio:3/4}.img-empty{background:repeating-linear-gradient(45deg,#ebe3d7 0 10px,#e5dccf 10px 20px);position:absolute;inset:0}.page-title{font-size:calc(clamp(34px, 5vw, 52px) * var(--heading-scale))}.page-head{padding-top:clamp(40px,6vw,72px)}.page-head>p{max-width:620px;color:var(--ink-soft)}.section-title{font-size:calc(clamp(26px, 3vw, 32px) * var(--heading-scale));margin-bottom:24px}.eyebrow-title{font-family:var(--ui);letter-spacing:.28em;text-transform:uppercase;text-align:center;margin-bottom:36px;font-size:13px;font-weight:500}.lede{font-family:var(--display);font-size:calc(20px * var(--heading-scale));color:var(--ink-soft)}.italic-sub{font-family:var(--display);font-style:italic;font-size:calc(19px * var(--heading-scale));color:var(--ink-soft);line-height:1.35}.meta{font-family:var(--ui);font-size:calc(13px * var(--text-scale));color:var(--muted);white-space:pre-wrap}.quote{text-align:center;max-width:760px;margin:0 auto}.quote p{font-family:var(--display);font-style:italic;font-size:calc(clamp(22px, 3vw, 30px) * var(--heading-scale));line-height:1.35}.quote p:before{content:"“"}.quote p:after{content:"”"}.quote cite{font-style:normal;font-family:var(--ui);font-size:calc(13px * var(--text-scale));letter-spacing:.08em;color:var(--muted)}.quote.boxed{background:var(--paper);max-width:none;padding:clamp(28px,5vw,48px)}.home-hero{aspect-ratio:1478/720;background:#ece3d4;align-items:center;width:100%;max-height:780px;display:flex;position:relative;overflow:hidden}.home-hero-media{position:absolute;inset:0}.home-hero-media img{object-fit:cover;object-position:center}.home-hero-content{z-index:2;width:40%;max-width:none;margin:0;padding:48px 0 48px clamp(24px,5vw,96px);position:relative}.home-hero h1{font-size:calc(clamp(36px, 4.2vw, 76px) * var(--heading-scale));line-height:1.04}.hero-kicker{font-family:var(--ui);letter-spacing:.08em;font-size:calc(14px * var(--text-scale));color:var(--ink-soft);margin:20px 0 32px}.featured-grid{grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,32px);display:grid}.featured-card h3{font-size:calc(24px * var(--heading-scale));margin:16px 0 6px}.featured-card p{font-size:calc(14px * var(--text-scale));color:var(--ink-soft);margin-bottom:10px;line-height:1.6}.featured-card:hover img,.row-card:hover img{transform:scale(1.03)}.material-band{--heading:#fff;background:var(--brown);color:#fff;align-items:center;min-height:clamp(420px,38vw,620px);display:flex;position:relative;overflow:hidden}.material-media{position:absolute;inset:0}.material-media img{object-fit:cover;object-position:center}.material-band:after{content:"";background:linear-gradient(90deg,#1c140ebd 0%,#1c140ea8 38%,#1c140e2e 68%,#1c140e00 100%);position:absolute;inset:0}.material-text{z-index:1;padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px);position:relative}.material-text>*{max-width:520px}.material-text h2{font-size:calc(clamp(32px, 4vw, 48px) * var(--heading-scale));color:#fff}.material-text p{color:#ffffffe6;text-shadow:0 1px 12px #00000059;margin-bottom:28px}.about-intro{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid}.about-intro p{color:var(--ink-soft)}.about-intro .btn{margin-top:8px}.approach-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.approach-item svg{width:52px;height:52px;color:var(--accent);margin:0 auto 12px}.approach-item p{font-size:calc(14px * var(--text-scale));line-height:1.5}.timeline{max-width:820px;margin:0 auto;padding:0;list-style:none}.timeline-title{text-align:left}.timeline li{grid-template-columns:1fr 24px 1fr;align-items:start;padding-bottom:22px;display:grid;position:relative}.timeline li:before{content:"";background:var(--ink);width:1px;position:absolute;top:12px;bottom:-12px;left:50%}.timeline li:last-child:before{display:none}.tl-year{font-family:var(--display);font-size:calc(19px * var(--text-scale));font-variant-numeric:lining-nums;text-align:right;padding-right:12px;line-height:1.5}.tl-dot{background:var(--ink);border-radius:50%;width:9px;height:9px;margin:9px auto 0}.tl-text{color:var(--ink-soft);padding-left:12px;line-height:1.75}.banner{--heading:#fff;color:#fff;background:var(--brown);align-items:flex-end;min-height:320px;display:flex;position:relative;overflow:hidden}.banner img{object-fit:cover}.banner:after{content:"";background:linear-gradient(90deg,#2a2119c7 0%,#2a211959 70%,#2a211933);position:absolute;inset:0}.banner-content{z-index:1;padding-top:72px;padding-bottom:48px;position:relative}.banner h1{font-size:calc(clamp(40px, 6vw, 64px) * var(--heading-scale))}.banner p{opacity:.92;max-width:560px}.rows{gap:clamp(36px,5vw,64px);display:grid}.row-card{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(24px,4vw,56px);display:grid}.row-card h2{font-size:calc(clamp(28px, 3.4vw, 38px) * var(--heading-scale));text-transform:none}.row-body>p:not(.italic-sub):not(.meta){color:var(--ink-soft)}.row-body .btn{margin-top:8px}.project-hero{background:var(--paper)}.project-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,64px);padding-top:clamp(32px,5vw,64px);padding-bottom:clamp(32px,5vw,64px);display:grid}.project-hero h1{font-size:calc(clamp(40px, 6vw, 68px) * var(--heading-scale))}.project-subtitle{font-family:var(--display);font-size:calc(clamp(20px, 2.4vw, 26px) * var(--heading-scale));color:var(--ink-soft);line-height:1.3}.project-hero-text>p:last-child{color:var(--ink-soft)}.project-hero-img{aspect-ratio:4/3.4}.tab-list{border-bottom:1px solid var(--line);scrollbar-width:none;gap:clamp(12px,3vw,40px);margin-top:8px;display:flex;overflow-x:auto}.tab-list::-webkit-scrollbar{display:none}.tab-list button{font-family:var(--ui);letter-spacing:.04em;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:16px 2px 14px;font-size:13px}.tab-list button.active{color:var(--ink);border-bottom-color:var(--ink)}.tab-panel{padding:clamp(28px,4vw,48px) 0}.tab-body{max-width:760px}.tab-body.with-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);max-width:none;display:grid}.tab-body p{color:var(--ink-soft)}.tab-media{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.tab-media.count-1{grid-template-columns:1fr;justify-self:end;width:min(100%,360px)}.gallery{grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.5vw,16px);display:grid}.project-nav{border-top:1px solid var(--line);justify-content:space-between;gap:16px;display:flex;padding-top:28px!important}.chips{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.chip{font-family:var(--ui);border:1px solid var(--line);border-radius:var(--radius);background:#fff8;padding:7px 16px;font-size:13px}.chip:hover{border-color:var(--ink)}.chip.active{background:var(--dark);border-color:var(--dark);color:#fff}.journal-list{gap:32px;display:grid}.journal-item{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:clamp(18px,3vw,36px);padding-bottom:32px;display:grid}.journal-item:last-child{border-bottom:0}.journal-img{align-self:start}.journal-img:not(.natural){aspect-ratio:3/4}.journal-item h2{font-size:calc(clamp(22px, 2.6vw, 28px) * var(--heading-scale));margin-bottom:6px}.journal-item>div>p:not(.meta):not(.journal-cat),.journal-entry>p:not(.meta){color:var(--ink-soft);font-size:calc(14.5px * var(--text-scale))}.journal-entry{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.journal-item h2+.journal-entry{border-top:0;margin-top:14px;padding-top:0}.journal-entry h3{font-family:var(--body);font-weight:700;font-size:calc(16.5px * var(--heading-scale));margin:0 0 4px;line-height:1.45}.journal-cat{font-family:var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:11px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,56px) clamp(24px,3vw,40px);display:grid}.article-card .meta{margin:16px 0 6px}.article-card h2{font-size:calc(clamp(24px, 2.6vw, 30px) * var(--heading-scale));margin-bottom:8px}.article-excerpt{color:var(--ink-soft);font-size:calc(14.5px * var(--text-scale))}.article-card:hover img{transform:scale(1.03)}.article-head .text-link{margin-bottom:20px}.article-head .lede{margin-top:8px}.article-cover-wrap{margin:clamp(24px,4vw,40px) auto}.article-cover{aspect-ratio:16/8}.article-body{font-size:calc(16px * var(--text-scale));line-height:1.85}.article-body p{color:var(--ink-soft);margin-bottom:1.3em}.article-body h2{font-size:calc(clamp(24px, 3vw, 30px) * var(--heading-scale));margin:1.6em 0 .6em}.para-heading{color:var(--heading);font-family:var(--display);font-weight:500;font-size:calc(clamp(19px, 2.2vw, 22px) * var(--heading-scale));margin:1.2em 0 .4em;line-height:1.25}.para-heading:first-child{margin-top:0}.contact{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}.contact-main>p{color:var(--ink-soft);max-width:520px}.contact-links{flex-wrap:wrap;gap:16px 40px;margin:28px 0 36px;padding:0;list-style:none;display:flex}.contact-links a{font-family:var(--ui);font-size:calc(14px * var(--text-scale));color:var(--ink-soft);word-break:break-all;align-items:center;gap:10px;display:flex}.contact-links a:hover{color:var(--ink)}.contact-form{gap:14px;max-width:560px;display:grid}.contact-form input,.contact-form textarea,.search-page-form input{width:100%;font:inherit;border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);resize:vertical;background:#fffdf9;padding:13px 14px;font-size:15px}.contact-form input:focus,.contact-form textarea:focus,.search-page-form input:focus{border-color:var(--ink);outline:none}.contact-form .btn{justify-self:start}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-error{color:#9b2c2c;margin:0;font-size:14px}.form-success{background:var(--paper);max-width:560px;padding:28px}.search-page-form{gap:10px;margin-bottom:16px;display:flex}.search-group{margin-top:36px}.search-hit{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;align-items:center;gap:16px;padding:12px 0;display:grid}.search-hit h3{font-size:calc(21px * var(--heading-scale));margin:0}.search-hit p{font-size:calc(14px * var(--text-scale));color:var(--muted);margin:0}.site-footer{background:var(--bg);border-top:1px solid var(--line);margin-top:24px}.footer-inner{font-family:var(--ui);letter-spacing:.04em;color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-top:20px;padding-bottom:20px;font-size:12px;display:grid}.footer-social{align-items:center;gap:10px;display:flex}.footer-social a:not(.footer-contact){border:1px solid var(--line);border-radius:50%;place-items:center;width:32px;height:32px;transition:border-color .2s,transform .2s;display:grid}.footer-social a:not(.footer-contact):hover{border-color:currentColor;transform:translateY(-1px)}.footer-contact{color:var(--ink-soft);border-bottom:1px solid var(--line);margin-left:6px;transition:color .2s,border-color .2s}.footer-contact:hover{color:var(--ink);border-color:var(--ink)}.footer-copy,.footer-tag{margin:0}.footer-tag{text-align:right}@media (max-width:1024px){.home-hero{aspect-ratio:auto;flex-direction:column;align-items:stretch;max-height:none}.home-hero-media{width:100%;height:min(72vw,540px);position:relative;inset:auto}.home-hero-media img{object-position:78% center}.home-hero-content{width:100%;padding:24px var(--gutter) 48px}.home-hero h1{font-size:calc(clamp(36px, 7vw, 60px) * var(--heading-scale))}}@media (max-width:960px){.menu-btn{display:inline-grid}.main-nav{padding:12px var(--gutter);background:var(--bg);font-family:var(--display);letter-spacing:0;opacity:0;visibility:hidden;flex-direction:column;gap:0;font-size:28px;transition:opacity .25s,transform .25s,visibility .25s;position:fixed;inset:76px 0 0;transform:translateY(-8px)}.main-nav.open{opacity:1;visibility:visible;transform:none}.main-nav a{border-bottom:1px solid var(--line);padding:14px 0}.main-nav a.active:after{display:none}.featured-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:800px){.about-intro,.row-card,.project-hero-inner,.tab-body.with-media{grid-template-columns:1fr}.material-media img{object-position:70% center}.material-band:after{background:linear-gradient(#1c140e8c 0%,#1c140ec7 100%)}.about-portrait{max-width:420px}.approach-grid{grid-template-columns:repeat(2,1fr);row-gap:32px}.gallery{grid-template-columns:repeat(2,1fr)}.footer-inner{text-align:center;grid-template-columns:1fr;justify-items:center;gap:8px}.footer-tag{text-align:center}}@media (max-width:560px){body{font-size:calc(14.5px * var(--text-scale))}.header-inner{height:64px}html{scroll-padding-top:88px}.main-nav{inset:64px 0 0}.logo-name{font-size:22px}.timeline li{grid-template-columns:1fr 20px 1.6fr}.timeline li:before{left:calc(38.4615% + 2.30769px)}.tl-year{font-size:calc(16px * var(--text-scale))}.journal-item{grid-template-columns:96px 1fr}.article-grid{grid-template-columns:1fr}.search-page-form,.project-nav{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
