@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--pine:#203d37;--pine-dark:#142c27;--sage:#a8b8a8;--sage-light:#e7ece4;--paper:#f7f6f0;--white:#fffefb;--clay:#bc765b;--ink:#25342e;--muted:#718078;--line:#d9e0d7;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.nav{position:absolute;z-index:20;inset:0 0 auto;padding:22px 0;color:#fff}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{flex:0 0 auto;white-space:nowrap;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:.04em}.brand-mark{width:34px;height:34px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:20px;font-style:italic}.brand-text{line-height:1.05}.brand-text small{display:block;font-size:8px;letter-spacing:.22em;font-weight:500;margin-top:4px;opacity:.75}.nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.3vw,34px);flex:1;min-width:0;font-size:10px;letter-spacing:.13em}.nav-links a{white-space:nowrap;opacity:.83;transition:opacity .2s}.nav-links a:hover,.nav-links a[aria-current=page]{opacity:1}.nav-link-cta{flex:0 0 auto;min-width:82px;white-space:nowrap;text-align:center;padding:10px 16px;border:1px solid rgba(255,255,255,.68);border-radius:99px;font-size:10px;letter-spacing:.13em;transition:background .25s,color .25s,transform .25s}.nav-link-cta:hover{background:#fff;color:var(--pine);transform:translateY(-2px)}.menu-toggle{display:none;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.55);border-radius:50%;width:40px;height:40px;font-size:18px}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(860px,94svh);min-height:max(710px,min(860px,94svh));display:flex;align-items:flex-end;padding:170px 0 94px;background:#263c35;color:#fff}.hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.82);animation:image-settle 1.2s ease both}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(16,39,33,.82) 0%,rgba(20,43,37,.58) 44%,rgba(17,35,31,.16) 100%),linear-gradient(0deg,rgba(16,39,33,.48),transparent 48%)}.hero:after{content:"";position:absolute;z-index:-1;width:38vw;height:38vw;right:-12vw;bottom:-20vw;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.02)}.hero-content{max-width:690px;animation:rise .95s cubic-bezier(.2,.8,.2,1) both}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#e7eee6}.eyebrow:before{content:"";display:inline-block;vertical-align:middle;width:28px;height:1px;margin:0 12px 3px 0;background:#bdc9b7}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(52px,7.2vw,94px);font-weight:500;line-height:.99;letter-spacing:-.055em;text-wrap:balance;max-width:720px;margin:23px 0}.hero h1 em{font-weight:500;color:#d9dec6}.hero p{max-width:510px;color:rgba(255,255,255,.83);font-size:15px;line-height:1.8;margin:0}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 19px;border-radius:3px;border:1px solid rgba(255,255,255,.65);font-size:10px;letter-spacing:.15em;text-transform:uppercase;transition:background .25s,color .25s,transform .25s}.button:hover{background:#fff;color:var(--pine);transform:translateY(-2px)}.text-link{font-size:11px;letter-spacing:.08em;color:#f0f3e9}.text-link span{display:inline-block;margin-left:6px;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.scroll-note{position:absolute;right:max(24px,calc((100vw - var(--max))/2));bottom:42px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:8px;color:rgba(255,255,255,.78)}.ticker{background:var(--pine);color:#e8eee7;padding:14px 0;overflow:hidden}.ticker-track{display:flex;gap:38px;width:max-content;animation:marquee 30s linear infinite}.ticker-track span{white-space:nowrap;text-transform:uppercase;letter-spacing:.19em;font-size:9px}.ticker-track b{font-weight:400;color:#c5aa8b}.section{padding:110px 0}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}.section-label{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--clay);font-weight:700}.section h2{font:500 clamp(38px,5vw,62px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.045em;text-wrap:balance;margin:17px 0}.intro-copy p{max-width:650px;color:var(--muted);margin:0 0 17px}.intro-copy .text-link{display:inline-block;color:var(--pine);margin-top:10px}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:58px}.feature-card{position:relative;min-height:250px;overflow:hidden;background:var(--sage-light)}.feature-card img{width:100%;height:100%;min-height:250px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.feature-card:hover img{transform:scale(1.045)}.feature-caption{position:absolute;left:20px;bottom:18px;background:rgba(255,254,251,.92);padding:11px 14px;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.services{background:var(--white)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-head h2{max-width:620px;margin-bottom:0}.section-head p{max-width:410px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:26px 26px 30px 0;margin-right:26px;border-right:1px solid var(--line);transition:transform .3s}.service-card:last-child{border:0;margin-right:0}.service-card:hover{transform:translateY(-5px)}.service-number{font:italic 17px 'Playfair Display',Georgia,serif;color:var(--clay)}.service-card h3{font:500 23px 'Playfair Display',Georgia,serif;margin:24px 0 8px}.service-card p{font-size:13px;color:var(--muted);margin:0;max-width:310px}.projects{background:#e9ece5}.project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}.project-card{position:relative;min-height:390px;overflow:hidden;background:#ccd4c8}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.project-card:hover img{transform:scale(1.045)}.project-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(20,42,36,.78))}.project-copy{position:absolute;z-index:2;left:25px;bottom:22px;color:white}.project-copy small{font-size:9px;letter-spacing:.18em;text-transform:uppercase}.project-copy h3{font:500 29px 'Playfair Display',Georgia,serif;margin:4px 0}.project-copy span{font-size:11px;color:rgba(255,255,255,.82)}.quote-band{background:var(--pine);color:white;padding:76px 0}.quote-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.quote-inner p{max-width:700px;font:500 clamp(27px,3.7vw,46px)/1.23 'Playfair Display',Georgia,serif;margin:0}.quote-inner .button{flex:0 0 auto}.page-hero{min-height:560px;padding:175px 0 78px}.page-hero h1{font-size:clamp(49px,6.6vw,82px);max-width:800px}.page-hero p{max-width:570px}.studio-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.studio-layout img{height:510px;width:100%;object-fit:cover}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px}.principle{padding:24px;background:var(--white);border-top:2px solid var(--sage)}.principle h3{font:500 20px 'Playfair Display',Georgia,serif;margin:0 0 8px}.principle p{font-size:12px;color:var(--muted);margin:0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.contact-card{background:var(--white);padding:32px}.contact-card h2{margin-top:0}.contact-card label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin:16px 0}.contact-card input,.contact-card textarea{width:100%;display:block;border:1px solid var(--line);background:#fff;padding:13px;margin-top:7px;font:14px 'DM Sans',sans-serif;color:var(--ink)}.contact-card textarea{min-height:115px;resize:vertical}.contact-card button{background:var(--pine);color:white;border:0;padding:14px 20px;font:10px 'DM Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase}.demo-note{font-size:10px;color:var(--muted);margin:12px 0 0}.contact-details{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;color:var(--muted);font-size:13px}.contact-details strong{color:var(--ink)}.footer{background:var(--pine-dark);color:#e8eee7;padding:40px 0 25px}.footer-inner{display:flex;justify-content:space-between;align-items:end;gap:24px}.footer .brand-mark{width:29px;height:29px}.footer-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:9px;letter-spacing:.1em}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.14);padding-top:17px;margin-top:30px;font-size:9px;color:rgba(255,255,255,.62)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes image-settle{from{transform:scale(1.04);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:940px){.nav-inner{gap:15px}.nav-links{display:none;position:absolute;top:calc(100% + 9px);left:24px;right:24px;padding:17px;background:rgba(20,44,39,.96);border:1px solid rgba(255,255,255,.16);border-radius:8px;align-items:flex-start;flex-direction:column;gap:14px}.nav-links.open{display:flex}.menu-toggle{display:grid;place-items:center}.nav-link-cta{margin-left:auto}.hero{min-height:max(690px,min(850px,92svh));padding-bottom:80px}.section{padding:82px 0}.intro-grid,.studio-layout,.contact-grid{grid-template-columns:1fr;gap:32px}.studio-layout img{height:400px}.section-head{display:block}.section-head p{margin-top:18px}.quote-inner{align-items:flex-start;flex-direction:column}.principles{grid-template-columns:1fr 1fr}}@media(max-width:620px){.container{width:min(calc(100% - 34px),var(--max))}.nav{padding-top:15px}.brand{font-size:13px}.brand-mark{width:31px;height:31px}.nav-link-cta{padding:9px 12px;min-width:65px;font-size:9px}.menu-toggle{width:36px;height:36px}.hero{min-height:max(690px,90svh);padding:150px 0 66px}.hero h1{font-size:clamp(48px,13vw,67px)}.hero p{font-size:14px}.hero-image{object-position:60% center}.scroll-note{display:none}.section{padding:68px 0}.feature-row,.service-grid,.project-grid,.principles{grid-template-columns:1fr}.service-card{padding:23px 0;margin:0;border-right:0;border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}.project-card{min-height:310px}.project-card:nth-child(2){min-height:250px}.studio-layout img{height:320px}.contact-card{padding:22px}.footer-inner,.footer-bottom{display:block}.footer-nav{margin-top:23px}.footer-bottom span{display:block;margin-top:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,.hero-content,.ticker-track{animation:none}.ticker-track{transform:none}.reveal{opacity:1;transform:none;transition:none}.feature-card img,.project-card img,.service-card,.button,.text-link span{transition:none}}
