@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f5f3ed;--ink:#292c27;--muted:#77796f;--orange:#c8673d;--line:#d8d8ce;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{height:91px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand img{width:49px;height:49px;object-fit:contain;border-radius:3px}.brand>span{font-family:Manrope,Arial,sans-serif;font-size:12px;letter-spacing:2px;font-weight:700;line-height:1.5}.brand b{display:block;font-size:10px;font-weight:500;letter-spacing:4px}nav{display:flex;gap:38px;font-size:12px}nav a{border-bottom:1px solid transparent;padding:8px 0}nav a:hover{border-color:var(--orange)}.header-cta{font-size:12px;border-bottom:1px solid var(--ink);padding:10px 0;min-width:105px;display:flex;justify-content:space-between}.menu{display:none}.hero{height:calc(100svh - 91px);min-height:650px;max-height:1000px;position:relative;color:#fff;margin:0 18px;overflow:hidden}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero-image{object-position:50% 54%}.hero-shade{background:linear-gradient(180deg,rgba(18,25,20,.26),rgba(20,27,22,.05) 28%,rgba(13,22,17,.7) 100%)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.7}.hero-top{position:absolute;top:34px;left:4%;right:4%;display:flex;justify-content:space-between}.hero-location{font-size:9px;letter-spacing:1.5px}.hero-content{position:absolute;bottom:100px;left:5%;right:5%}h1{font-size:clamp(55px,6.5vw,103px);font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-3px;margin:0 0 36px}em{font-weight:400;font-family:var(--serif)}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font-size:13px;line-height:1.7;margin:0;color:#e9e9e4}.circle-link{display:flex;align-items:center;gap:25px;font-size:12px}.circle-link b{width:61px;height:61px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:400;transition:.3s}.circle-link:hover b{background:var(--orange);border-color:var(--orange);transform:rotate(45deg)}.hero-caption{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:18px;font-size:8px;letter-spacing:1.6px}.wrap{max-width:1440px;padding-left:6%;padding-right:6%;margin:auto}.intro{display:grid;grid-template-columns:1fr 1.9fr;gap:70px;padding-top:125px;padding-bottom:125px}.orange{color:var(--orange)}.small-label{font-size:12px;line-height:1.7;color:var(--muted);margin-top:25px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,3.5vw,55px);line-height:1.15;letter-spacing:-1.6px;margin:22px 0 28px}h2 em{color:#777e70}.body-copy{max-width:620px;font-size:14px;line-height:1.9;color:#666b61}.text-link{font-size:12px;display:inline-flex;gap:45px;align-items:center;padding:16px 0 11px;border-bottom:1px solid #9eaa95;margin-top:15px}.text-link span{font-size:21px}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head p{font-size:12px;line-height:1.8;color:var(--muted);padding-bottom:16px}.work{padding-bottom:100px}.filters{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:19px 0 32px}.filters button{border:0;background:none;color:var(--muted);font-size:12px;padding:10px 0 17px;border-bottom:2px solid transparent}.filters button.active{color:var(--ink);border-bottom-color:var(--orange)}sup{font-size:8px;margin-left:5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.project{padding:0;border:0;background:none;text-align:left;color:var(--ink);min-width:0}.project-wide{grid-column:1/-1}.project-image{overflow:hidden;position:relative;height:440px}.project-wide .project-image{height:570px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.035)}.view{position:absolute;bottom:20px;right:20px;color:white;background:#242722bb;padding:12px 18px;font-size:10px;backdrop-filter:blur(10px)}.project-label{display:grid;grid-template-columns:1fr auto;align-items:center;padding-top:20px}.project-label h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:0 0 9px}.project-label span{font-size:8px;letter-spacing:1.4px;color:var(--muted);grid-row:2}.project-label b{grid-column:2;grid-row:1/3;font-size:24px;font-weight:400}.image-note{font-size:10px;color:var(--muted);margin-top:25px}.services{background:#e9e9e0;padding:100px 0}.service-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:90px}.service-intro p{max-width:270px;font-size:13px;line-height:1.8;color:var(--muted)}.service-list details{border-top:1px solid #c8ccbf;padding:25px 0}.service-list details:last-child{border-bottom:1px solid #c8ccbf}.service-list summary{display:flex;align-items:center;gap:24px;list-style:none;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}summary>span{font-size:9px;color:var(--muted)}summary h3{font-family:var(--serif);font-weight:400;font-size:25px;margin:0}summary b{margin-left:auto;font-size:23px;font-weight:400}details[open] summary b{transform:rotate(45deg)}.detail{padding:10px 25px 0 40px;font-size:13px;line-height:1.9;color:#676e60}.detail>span{font-size:8px;letter-spacing:1px}.inline-link{display:block;margin-top:15px;text-decoration:underline}.immersive{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center;padding-top:125px;padding-bottom:125px}.immersive-image{height:640px;position:relative}.immersive-image img{width:100%;height:100%;object-fit:cover}.image-stamp{position:absolute;bottom:25px;left:25px;color:white;display:flex;gap:18px;align-items:center;font-size:9px;letter-spacing:2px;line-height:1.8;background:#242722a0;padding:18px 22px;backdrop-filter:blur(10px)}.cross{font-size:32px;font-weight:400}.immersive-copy>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:405px}.dimension-tabs{display:flex;margin-top:30px;gap:10px}.dimension-tabs button{border:1px solid var(--line);background:none;padding:12px 22px;font-size:11px;color:var(--ink)}.dimension-tabs button.active{background:var(--ink);border-color:var(--ink);color:white}.dimension-info{min-height:120px}.dimension-info h3{font-family:var(--serif);font-weight:400;font-size:23px;margin:22px 0 10px}.dimension-info p{font-size:12px;line-height:1.8;color:var(--muted);max-width:390px}.process{border-top:1px solid var(--line);padding-top:70px;padding-bottom:110px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:40px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{font-size:9px;letter-spacing:1px;color:var(--orange)}.steps h3{font-family:var(--serif);font-weight:400;font-size:25px}.steps p{font-size:12px;color:var(--muted);line-height:1.8;max-width:230px}.contact{background:#292e27;color:var(--paper);padding:95px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact .eyebrow{color:#b3bca8}.contact h2{font-size:49px}.contact h2 em{color:#b9c0b0}.contact p{font-size:13px;line-height:1.9;color:#b2bbab}.contact-meta{display:grid;gap:9px;margin-top:40px}.contact-meta span{font-size:8px;letter-spacing:1.5px;color:#9da793;margin-top:16px}.contact-meta strong{font-size:12px;font-weight:400}form h3{font-family:var(--serif);font-size:27px;font-weight:400;margin:0 0 30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{font-size:10px;color:#c3cabb;display:block;margin-bottom:24px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #67705e;background:transparent;color:#f5f3ed;padding:13px 0;font-size:12px;outline-offset:4px;border-radius:0}input::placeholder,textarea::placeholder{color:#9da594}select option{background:#292e27}textarea{resize:vertical}.submit{background:var(--paper);color:var(--ink);border:0;width:100%;padding:19px 20px;display:flex;justify-content:space-between;font-size:12px}.form-note{font-size:10px!important;line-height:1.7!important}#brief-result{border:1px solid #839075;padding:15px}#brief-result a{text-decoration:underline}footer{min-height:135px;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>span,footer>a:last-child{font-size:10px;color:var(--muted)}dialog{border:0;padding:0;width:min(1050px,92vw);max-height:90svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#151a16ce;backdrop-filter:blur(7px)}dialog>img{width:100%;max-height:62svh;object-fit:contain;background:#1d211c;display:block}.close{position:absolute;right:15px;top:15px;border:0;border-radius:50%;background:var(--paper);width:38px;height:38px;font-size:26px;z-index:1}.dialog-copy{padding:30px 40px}.dialog-copy h2{font-size:36px;margin:12px 0}.dialog-copy p{font-size:13px;line-height:1.8;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1600px){header{padding-left:6%;padding-right:6%}.hero-content{left:7%;right:7%}}@media(max-width:900px){nav{gap:18px}.hero-location{display:none}.intro,.service-layout,.immersive,.contact-grid{gap:40px}.hero{min-height:620px}.project-wide .project-image{height:430px}.project-image{height:350px}.immersive-image{height:530px}summary h3{font-size:21px}.contact h2{font-size:39px}.steps{gap:20px}.steps h3{font-size:22px}footer p{display:none}}@media(max-width:640px){header{height:77px;padding:0 6%}.brand img{width:39px;height:39px}.brand>span{font-size:10px}.brand b{font-size:8px}.header-cta{margin-left:auto;margin-right:23px;min-width:72px;font-size:10px}.menu{display:block;background:none;border:0;font-size:21px;color:var(--ink);padding:3px}nav{display:none;position:absolute;top:77px;left:0;right:0;padding:25px 6%;background:var(--paper);box-shadow:0 12px 18px #0001}nav.open{display:flex;flex-direction:column;gap:12px}.hero{margin:0 8px;height:calc(90svh - 77px);min-height:580px;max-height:780px}.hero-image{object-position:58% 50%}.hero-top{top:25px;left:6%}.hero-top .eyebrow{font-size:7px;letter-spacing:1.3px}.hero-content{bottom:100px;left:6%;right:6%}h1{font-size:57px;letter-spacing:-2px;line-height:1.05;margin-bottom:25px}.hero-bottom{align-items:start;gap:25px;flex-direction:column}.hero-bottom p{font-size:11px}.circle-link{gap:18px;font-size:10px}.circle-link b{width:43px;height:43px;font-size:20px}.hero-caption{left:6%;right:6%;font-size:7px;line-height:1.7}.hero-caption span:last-child{max-width:130px;text-align:right}.intro{grid-template-columns:1fr;gap:13px;padding-top:70px;padding-bottom:70px}.small-label{display:none}h2{font-size:36px}.body-copy{font-size:13px}.section-head{display:block}.section-head p{font-size:11px}.work{padding-bottom:65px}.filters{gap:19px}.filters button{font-size:10px}.project-grid{grid-template-columns:1fr;gap:28px}.project-wide{grid-column:auto}.project-wide .project-image,.project-image{height:320px}.project-label h3{font-size:24px}.services{padding:65px 0}.service-layout{grid-template-columns:1fr;gap:35px}.service-intro p{max-width:100%}.service-list summary{gap:18px}summary h3{font-size:22px}.detail{padding-left:32px}.immersive{grid-template-columns:1fr;gap:38px;padding-top:65px;padding-bottom:65px}.immersive-image{height:420px}.immersive-copy h2{margin-top:15px}.process{padding-top:50px;padding-bottom:65px}.steps{grid-template-columns:1fr 1fr;gap:28px 23px;margin-top:25px}.steps h3{font-size:24px;line-height:1.2}.steps p{font-size:11px}.contact{padding:65px 0}.contact-grid{grid-template-columns:1fr;gap:45px}.contact h2{font-size:39px}.contact-meta{margin-top:22px}.form-row{gap:18px}footer{padding-top:30px;padding-bottom:30px;display:grid;grid-template-columns:1fr auto;min-height:145px;gap:22px}footer>span{grid-row:2}footer>a:last-child{grid-column:2;grid-row:2}.dialog-copy{padding:25px}.dialog-copy h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Motion direction — cinematic photography, precise architectural accents. */
.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--orange);z-index:50;pointer-events:none}.hero-image{opacity:0;transform:scale(1.055);transition:opacity 1.4s ease,transform 8s cubic-bezier(.2,.5,.3,1);will-change:opacity,transform}.hero-image.active{opacity:1;transform:scale(1)}.hero-image:first-child{opacity:1}.hero.has-scenes .hero-image:first-child:not(.active){opacity:0}.hero-image:nth-child(2){object-position:center 48%}.hero-image:nth-child(3){object-position:center 55%}.hero-shade{background:linear-gradient(180deg,#131b1745,#17221b10 30%,#111a13b8 100%)}.hero-content{bottom:158px}.title-line{display:block;overflow:hidden;padding:0 8px 7px;margin-left:-8px}.title-line>span{display:block;animation:title-rise 1.35s cubic-bezier(.22,1,.36,1) both}.title-line:nth-child(2)>span{animation-delay:.18s}h1{font-size:clamp(65px,7.7vw,116px);line-height:1.02;margin-bottom:23px}.hero-top{animation:soft-in 1.3s .2s both}.hero-bottom{animation:soft-in 1.5s .55s both}.hero-drafting{position:absolute;inset:100px 4% 105px;pointer-events:none;border:1px solid #ffffff18;border-radius:45% 45% 0 0;max-width:600px;left:auto;width:42%;animation:draft-in 2.2s .5s both}.draft-corner{position:absolute;right:-8px;bottom:-8px;height:15px;width:15px;border:1px solid #ffffff80;border-radius:50%}.draft-coordinate{position:absolute;right:-26px;top:50%;writing-mode:vertical-rl;font-size:7px;letter-spacing:2px;color:#ffffff88}.scene-controls{position:absolute;left:5%;bottom:79px;display:flex;align-items:center;gap:25px}.scene-choice{color:#fff9;background:transparent;border:0;padding:12px 0 14px;position:relative;font-size:10px;min-width:110px;text-align:left;transition:color .3s}.scene-choice>span{font-size:8px;margin-right:10px;color:#ffffff66}.scene-choice i{position:absolute;bottom:0;left:0;width:100%;height:1px;background:#ffffff35}.scene-choice i::after{content:'';position:absolute;inset:0;background:#e4d9c7;transform:scaleX(0);transform-origin:left}.scene-choice.active{color:#fff}.scene-choice.active i::after{animation:scene-progress 7s linear forwards}.motion-toggle{border:1px solid #ffffff55;background:#0001;color:white;border-radius:50%;height:32px;width:32px;font-size:11px}.scroll-cue{display:flex;gap:15px;align-items:center}.scroll-cue i{font-size:16px;font-style:normal;animation:scroll-nudge 2s ease-in-out infinite}.design-ribbon{padding:29px 0 27px;border-bottom:1px solid var(--line);overflow:hidden}.ribbon-track{display:flex;width:max-content;animation:ribbon-drift 36s linear infinite}.ribbon-track>span{white-space:nowrap;font-family:var(--serif);font-size:29px;color:#7c8275;padding-right:45px}.ribbon-track b{display:inline-block;margin:0 35px;color:var(--orange);font-size:22px;font-weight:400}.intro{padding-top:100px}.motion-ready .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.visible{opacity:1;transform:none}.project .view{transform:translateY(7px);opacity:0;transition:.35s}.project:hover .view,.project:focus-visible .view{transform:none;opacity:1}.project:hover .project-label b{transform:translate(3px,-3px)}.project-label b{transition:transform .3s}.steps article{transition:border-color .3s,transform .3s}.steps article:hover{border-color:var(--orange);transform:translateY(-4px)}.text-link{position:relative;transition:color .3s}.text-link:hover{color:var(--orange)}.submit{transition:background .3s}.submit:hover{background:#d9dfcf}.motion-paused *{animation-play-state:paused!important}.motion-paused .hero-image{transition:opacity .3s!important;transform:scale(1)!important}@keyframes title-rise{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes soft-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes draft-in{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(-30px)}}@keyframes scene-progress{to{transform:scaleX(1)}}@keyframes scroll-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}@keyframes ribbon-drift{to{transform:translateX(-50%)}}@media(min-width:1600px){.scene-controls{left:7%}}@media(max-width:900px){.hero-drafting{width:50%}.hero-content{bottom:165px}.scene-choice{min-width:95px}.scene-controls{gap:18px}}@media(max-width:640px){h1{font-size:66px;letter-spacing:-2.5px}.hero-content{bottom:168px;left:6%;right:6%}.hero-bottom{gap:20px}.scene-controls{left:6%;right:6%;bottom:79px;gap:16px}.scene-choice{min-width:0;flex:1;font-size:9px}.scene-choice>span{margin-right:5px;font-size:7px}.motion-toggle{flex:0 0 30px;height:30px}.hero-drafting{top:95px;bottom:110px;width:70%;right:9%}.draft-coordinate{font-size:6px}.hero-caption .scroll-cue{max-width:none;font-size:6px}.ribbon-track>span{font-size:23px}.ribbon-track b{margin:0 20px}.design-ribbon{padding:21px 0}.intro{padding-top:65px}.project .view{opacity:1;transform:none}.hero{min-height:650px}.title-line{padding-bottom:8px}}@media(prefers-reduced-motion:reduce){.hero-image{transition:none;transform:none}.title-line>span,.hero-top,.hero-bottom,.hero-drafting,.ribbon-track,.scroll-cue i,.scene-choice.active i::after{animation:none}.hero-drafting{opacity:1}.motion-ready .reveal{opacity:1;transform:none;transition:none}.scene-choice.active i::after{transform:scaleX(1)}.motion-toggle{display:none}}

nav .team-link{color:var(--orange);display:inline-flex;align-items:center;gap:8px}nav .team-link span{font-size:14px}@media(min-width:901px){nav{gap:28px}}

.hero-image:first-child{object-position:55% 52%}.hero-image:nth-child(2){object-position:50% 54%}.hero-image:nth-child(3){object-position:center 48%}.filters{overflow-x:auto;scrollbar-width:thin}.filters button{white-space:nowrap;flex-shrink:0}@media(max-width:640px){.hero-image:first-child{object-position:45% 50%}.filters{gap:18px}.project[data-img="terrace-sunset"] .project-image img{object-position:56% center}}
