@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#263c34;--paper:#f2f1e9;--lime:#d5e991;--muted:#657168}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8da945;outline-offset:5px}.skip{position:absolute;top:-80px}.skip:focus{top:90px;z-index:20;background:white;padding:10px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:fixed;inset:0 0 auto;background:#f2f1e9ed;backdrop-filter:blur(15px);z-index:10;border-bottom:1px solid #263c3422}.brand{font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-1.5px;font-weight:800;display:flex;align-items:center}.brand span{font-weight:400}.brand i{width:9px;height:9px;background:#94ad57;border-radius:50%;margin:7px 0 0 5px}nav{display:flex;gap:30px;font-size:13px}.contact{font-size:12px;border-bottom:1px solid;padding-bottom:7px}.hero{min-height:850px;height:100svh;max-height:1150px;padding:135px 5% 30px;position:relative;overflow:hidden}.topline,.hero-bottom{font-size:10px;letter-spacing:1.7px;display:flex;justify-content:space-between}.hero-copy{position:relative;z-index:2;width:51%;padding-top:75px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 30px}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-4px;line-height:1.04;margin:0}h1{font-size:clamp(65px,7.5vw,118px)}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#799345}.intro{font-size:15px;line-height:1.7;margin:25px 0 28px}.button{display:inline-block;background:var(--ink);color:var(--paper);padding:17px 24px;border:0;border-radius:3px;font-size:12px}.button:hover{background:#49614b}.scene{position:absolute;left:43%;right:0;top:15%;height:75%;perspective:900px}.orb{position:absolute;border-radius:50%;width:74%;aspect-ratio:1;background:#e4e8d3;left:12%;top:11%}svg{width:100%;height:100%;position:relative;filter:drop-shadow(0 30px 20px #33422a13);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s}.model{animation:float 6s ease-in-out infinite;transform-origin:center}.energy{opacity:0;transition:opacity .7s}.shell{transition:opacity .7s,transform .7s}.scene.mode-1 .energy,.scene.mode-2 .energy{opacity:1}.scene.mode-1 .shell{opacity:.35}.scene.mode-2 .shell{transform:translateY(-16px)}.scene-label{position:absolute;left:19%;top:12%;font-size:9px;letter-spacing:1.6px;display:flex;gap:10px;align-items:center}.live-dot{width:6px;height:6px;border-radius:50%;background:#7f9850}.scene-controls{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);display:flex;background:#ffffff70;border:1px solid #263c3420;padding:5px;border-radius:30px;white-space:nowrap}.scene-controls button{border:0;background:none;padding:10px 15px;font-size:11px;border-radius:25px;color:var(--ink)}.scene-controls button.active{background:var(--ink);color:white}.illustration{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted)}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;border-top:1px solid #263c3425;padding-top:18px}.studio,.expertise,.method{padding:120px 7%}.studio{background:#e4e7db;display:grid;grid-template-columns:1fr 3fr;gap:40px}.studio h2,h2{font-size:clamp(43px,5vw,75px)}.studio-text{margin:40px 0 0 33%;max-width:530px;font-size:16px;line-height:1.8}.studio-text p:first-child{font-size:21px;line-height:1.6}.people{border-top:1px solid #263c3430;margin-top:30px;padding-top:25px;display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:70px}.section-head h2{width:66%}.service{display:grid;grid-template-columns:9% 1fr 15%;width:100%;background:none;border:0;border-top:1px solid #263c3430;text-align:left;padding:30px 0;color:var(--ink);gap:15px}.service:last-child{border-bottom:1px solid #263c3430}.num,.tag{font-size:10px;letter-spacing:1px;padding-top:8px}.tag{text-align:right}.service strong{font-size:clamp(22px,2.5vw,37px);font-weight:400;letter-spacing:-1px}.detail{display:block;max-width:510px;line-height:1.7;font-size:14px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .5s,margin .5s}.service.active .detail{max-height:140px;opacity:1;margin-top:22px}.vision{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:600px;align-items:center;gap:8%;padding:70px 7%}.vision p:not(.eyebrow){max-width:390px;line-height:1.8;color:#d1d9ca;font-size:15px;margin:28px 0}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:8px}.line-art{height:420px;position:relative;border:1px solid #d5e99130;background:repeating-linear-gradient(0deg,transparent,transparent 39px,#d5e9910a 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#d5e9910a 40px)}.house-outline{position:absolute;width:52%;height:42%;left:22%;top:36%;border:1px solid var(--lime);transform:skewY(-13deg)}.house-outline:before{content:'';position:absolute;width:100%;height:65%;border:1px solid var(--lime);transform:skewX(38deg);top:-66%;left:-26%}.house-outline:after{content:'';position:absolute;width:27%;height:65%;right:15%;bottom:0;border:1px solid #d5e99170}.sun{position:absolute;width:60px;height:60px;border:1px solid var(--lime);border-radius:50%;top:40px;right:40px;box-shadow:0 0 50px #d5e99120}.line-art>span{position:absolute;bottom:20px;left:20px;font-size:9px;letter-spacing:2px}.method h2{margin-bottom:70px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps article{border-top:1px solid #263c3440;padding-top:25px}.steps span{font-size:10px;letter-spacing:1.5px}.steps h3{font-size:28px;letter-spacing:-1px;margin-top:35px}.steps p{font-size:14px;line-height:1.8;color:var(--muted)}.contacts{background:var(--lime);padding:100px 7%}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18%;margin-top:70px}form label{display:block;font-size:11px;margin-bottom:12px}select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #263c3460;padding:12px 0 16px;margin-bottom:30px;border-radius:0;color:var(--ink)}textarea{resize:vertical}.form-note{font-size:10px;line-height:1.7;max-width:300px}.contact-info{display:flex;flex-direction:column;align-items:start;gap:18px}.contact-info>a{font-size:clamp(18px,2vw,30px);letter-spacing:-.5px}.contact-info .address{font-size:15px;line-height:1.8;margin-top:25px}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer>span{font-size:10px;color:var(--muted)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-9px)}}@media(min-width:1600px){.hero-copy{padding-top:110px}}@media(max-width:900px){nav{gap:15px}.contact{font-size:10px}header{padding:0 5%;height:80px}.brand{font-size:22px}.hero{min-height:800px}.hero-copy{padding-top:70px}.scene{left:38%;top:20%}.studio{display:block}.studio>div{margin-top:40px}.studio-text{margin-left:20%}.tag{display:none}.service{grid-template-columns:9% 1fr}.vision{gap:5%}.line-art{height:350px}.contact-grid{gap:9%}footer{flex-wrap:wrap}}@media(max-width:600px){header{height:75px}.brand{font-size:20px}nav{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:17px 23px;border-radius:40px;width:max-content;box-shadow:0 6px 25px #0002;gap:22px}nav a{font-size:11px}.contact{max-width:100px;font-size:10px;line-height:1.5;text-align:right}.hero{height:auto;min-height:950px;padding-top:100px}.topline{font-size:8px;letter-spacing:1px}.topline span:last-child{display:none}.hero-copy{padding-top:38px;width:100%}.eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:23px}h1{font-size:65px;letter-spacing:-3.5px;line-height:1.01}.intro{font-size:13px;margin-top:20px}.hero-copy .button{font-size:11px;padding:14px 18px}.scene{left:3%;right:0;top:490px;height:390px}.scene-label{left:9%;top:5%}.orb{top:3%;width:70%;left:17%}.scene-controls{bottom:0}.illustration{bottom:-18px}.hero-bottom{font-size:8px;letter-spacing:.9px}.studio,.expertise,.method{padding:75px 6%}h2,.studio h2{font-size:44px;letter-spacing:-2.5px}.studio-text{margin:30px 0 0;font-size:14px}.studio-text p:first-child{font-size:18px}.people{font-size:11px}.section-head{display:block;margin-bottom:40px}.section-head h2{width:100%}.service{padding:25px 0;gap:10px}.service strong{font-size:23px;letter-spacing:-.8px}.detail{font-size:13px}.vision{grid-template-columns:1fr;padding:50px 6% 65px;gap:45px}.line-art{height:290px;order:2}.steps{grid-template-columns:1fr;gap:25px}.method h2{margin-bottom:45px}.steps h3{margin-top:22px}.contacts{padding:70px 6%}.contact-grid{grid-template-columns:1fr;gap:40px;margin-top:40px}.contact-info>a{font-size:24px}.contact-info .address{margin-top:10px}footer{padding:35px 6% 100px;align-items:start;flex-direction:column;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Continuous architectural story */
.energy-story{height:390svh;position:relative}.story-sticky{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 70% 55%,#e3e7d7 0%,#f2f1e9 65%)}.story-top{position:absolute;top:125px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px;z-index:3}.story-canvas{position:absolute;inset:10% -6% -6% 18%;z-index:2}.story-canvas canvas{display:block;width:100%;height:100%}.scene-fallback{position:absolute;inset:40% 20%;font-size:30px;opacity:.15;display:none}.story-type{position:absolute;top:21%;left:5%;font-family:Manrope,sans-serif;font-size:clamp(100px,17vw,275px);font-weight:500;line-height:.82;letter-spacing:-.085em;color:#263c340a;z-index:1;pointer-events:none}.story-type i{font-family:Georgia,serif;font-weight:400}.story-copy{position:absolute;left:5%;top:30%;width:39%;z-index:3;pointer-events:none}.story-copy h1{font-size:clamp(48px,5.8vw,88px);letter-spacing:-4px;line-height:1.02}.story-copy h1 em{color:#799345}.story-copy>p:last-child{font-size:13px;line-height:1.8;max-width:330px;margin-top:28px}.story-copy .eyebrow{font-size:9px;margin-bottom:25px}.story-side{position:absolute;right:3%;top:38%;display:flex;flex-direction:column;align-items:center;gap:20px;z-index:4;font-size:9px;letter-spacing:1px}.story-side>span:first-child{writing-mode:vertical-rl}.vertical-line{width:1px;height:100px;background:#263c3425}.vertical-line i{display:block;width:1px;height:100%;background:#749044;transform:scaleY(var(--progress,0));transform-origin:top}.story-bottom{position:absolute;left:5%;right:5%;bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;z-index:4}.story-bottom>a{padding-bottom:5px;border-bottom:1px solid #263c3460;font-size:11px;letter-spacing:0}.story-chapters{display:flex;gap:25px;font-size:9px;letter-spacing:.4px}.story-chapters span{opacity:.4;transition:opacity .4s}.story-chapters .active{opacity:1}.story-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#263c3410;z-index:4}.story-progress i{display:block;background:#799345;height:100%;transform:scaleX(var(--progress,0));transform-origin:left}.story-copy.changing{animation:copy-in .6s both}@keyframes copy-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.studio{position:relative;z-index:3}.vision{overflow:hidden}.line-art{transform:translateY(calc(var(--vision-shift,0)*1px));transition:transform .15s}.expertise .section-head h2{max-width:850px}.service:hover strong{color:#789249}footer>span:last-child{font-size:10px}header{transition:height .3s,background .3s}body.scrolled header{height:76px;background:#f2f1e9f2}@media(max-width:900px){.story-copy{width:44%;top:27%}.story-copy h1{font-size:57px}.story-canvas{inset:12% -18% -2% 8%}.story-chapters{gap:14px}.story-caption{display:none}.story-bottom{justify-content:space-between}}@media(max-width:600px){.energy-story{height:350svh}.story-sticky{min-height:640px}.story-top{top:100px;font-size:8px;letter-spacing:1px}.story-top span:last-child{display:none}.story-copy{left:6%;top:19%;width:88%}.story-copy h1{font-size:49px;letter-spacing:-2.5px;max-width:355px}.story-copy .eyebrow{font-size:8px;margin-bottom:18px}.story-copy>p:last-child{font-size:11px;margin-top:16px;max-width:290px}.story-type{top:38%;font-size:27vw;left:2%;color:#263c3408}.story-canvas{inset:32% -24% 8% -24%}.story-side{right:4%;top:49%;font-size:8px;gap:12px}.vertical-line{height:60px}.story-bottom{bottom:88px;left:6%;right:6%;gap:15px;align-items:end}.story-bottom>a{font-size:10px;max-width:80px}.story-chapters{flex-direction:column;gap:8px;font-size:8px}.story-progress{bottom:75px}body.scrolled header{height:75px}}@media(prefers-reduced-motion:reduce){.energy-story{height:100svh}.story-copy.changing{animation:none}}
.projects{padding:110px 7%;background:#e4e7db}.projects-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:20px 8%;margin-bottom:80px}.projects-intro>.eyebrow{grid-column:1/-1}.projects-intro>p:last-child{font-size:16px;line-height:1.8;max-width:400px;align-self:end;margin-bottom:4px}.project-feature{display:grid;grid-template-columns:1.6fr 1fr;gap:7%;align-items:center}.projects figure{margin:0}.projects img{width:100%;height:auto;display:block;object-fit:cover}.project-feature img{aspect-ratio:1.25;object-position:55% center}.projects figcaption{font-size:9px;letter-spacing:1.3px;padding-top:17px;line-height:1.6}.project-copy h3{font-size:clamp(35px,4vw,60px);letter-spacing:-2px}.project-copy>p:not(.eyebrow):not(.photo-credit),.project-card>p:not(.eyebrow):not(.photo-credit){font-size:14px;line-height:1.8;color:#526259}.project-copy dl{margin:30px 0}.project-copy dl div{border-top:1px solid #263c3430;padding:15px 0}.project-copy dt{font-size:10px;color:#526259;margin-bottom:8px}.project-copy dd{font-size:12px;margin:0;line-height:1.6}.project-source{font-size:11px;display:inline-block;border-bottom:1px solid #263c3460;padding-bottom:6px;line-height:1.5}.photo-credit{font-size:9px!important;line-height:1.7;color:#637166;margin-top:16px}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:100px}.project-card:nth-child(2){padding-top:110px}.project-card img{aspect-ratio:1.22;object-position:center}.project-card h3{font-size:32px;letter-spacing:-1.2px}.project-card>.eyebrow{margin:30px 0 15px;font-size:9px}.project-card>p{max-width:470px}.project-source:hover{color:#657e39;border-color:currentColor}@media(max-width:900px){nav{gap:18px}.project-feature{gap:5%}.project-pair{gap:6%}.project-copy h3{font-size:38px}}@media(max-width:600px){.projects{padding:75px 6%}.projects-intro{display:block;margin-bottom:40px}.projects-intro>p:last-child{font-size:14px;margin-top:25px}.project-feature,.project-pair{display:block}.project-copy{margin-top:35px}.project-copy h3{font-size:40px}.project-pair{margin-top:65px}.project-card:nth-child(2){padding-top:60px}.project-card h3{font-size:30px}.projects figcaption{font-size:8px}.project-card>.eyebrow{margin-top:25px}nav{gap:17px;padding:17px 20px}nav a{font-size:10px}}
