:root{--green:#005747;--deep:#043e34;--ink:#173b32;--muted:#5b6b65;--gold:#b99947;--line:#dce5e0;--pale:#f3f7f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:white;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #bf9940;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.04;letter-spacing:-.045em}em{font-weight:400;color:var(--green)}.topbar{background:var(--deep);color:#fff;display:flex;justify-content:space-between;padding:9px 6%;font-size:12px;letter-spacing:1.3px}.topbar a{font-size:14px;letter-spacing:1px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;font-family:Georgia,serif;font-size:25px;line-height:1.1;letter-spacing:2px}.brand img{object-fit:contain;width:91px;height:78px;flex-shrink:0}.brand-sub{display:block;font:11px Arial,sans-serif;letter-spacing:4px;margin-top:6px}.header nav{display:flex;gap:32px;align-items:center;font-size:14px}.header nav a:not(.nav-cta):hover,.text-link:hover{color:#00846b}.nav-cta{border-bottom:1px solid var(--green);padding:10px 0}.nav-cta span{margin-left:18px}.menu-toggle{display:none}.mobile-nav{background:var(--pale);padding:20px 6%}.mobile-nav a{display:block;padding:8px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;padding:42px 4% 46px 8%;gap:5%}.hero-copy{padding-top:39px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:12px}.line{width:30px;height:1px;background:var(--gold)}h1{font-size:clamp(54px,5.6vw,88px);margin-top:28px}h1 em{font-style:italic}.intro{max-width:470px;font-size:17px;line-height:1.8;color:var(--muted);margin:25px 0 29px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{background:var(--green);color:#fff;padding:16px 23px;display:inline-flex;gap:28px;align-items:center;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#08725d}.button span{font-size:22px;font-weight:400;line-height:1}.text-link{font-size:14px;display:flex;gap:16px}.hero-note{margin-top:46px;border-left:2px solid #c0a255;padding-left:17px}.hero-note span{font-size:11px;letter-spacing:1.6px;font-weight:600}.hero-note p{font-size:13px;color:var(--muted);margin-top:4px}.hero-image{position:relative;min-height:560px;overflow:hidden;background:#e8edea}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:center}.image-caption{position:absolute;bottom:32px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;color:white;z-index:1;border-top:1px solid #ffffff80;padding-top:15px;gap:16px}.image-caption>span:first-child{font-size:11px;letter-spacing:2px}.caption-mark{font:38px Georgia,serif}.hero-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#073d3290)}.image-credit{position:absolute;top:14px;right:14px;color:#fff;background:#173b3299;padding:3px 9px;font-size:12px;z-index:1}.service-strip{display:flex;justify-content:center;gap:5%;align-items:center;border-block:1px solid var(--line);padding:23px 4%;font-size:12px;letter-spacing:1.8px}.service-strip span:nth-child(even){color:var(--gold);font-size:18px}.section{padding:94px 8%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:43px}.section h2{font-size:clamp(38px,4vw,58px);margin-top:20px}.section-heading>p{color:var(--muted);font-size:16px;padding-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:35px 30px 33px 0}.service+.service{border-left:1px solid var(--line);padding-left:30px}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:#80958d}.service-top span{font-size:13px}.service-top svg{width:38px;height:38px;fill:none;stroke:var(--green);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.service h3{font:30px/1.2 Georgia,serif;letter-spacing:-.8px;margin-bottom:18px}.service p{font-size:15px;color:var(--muted);line-height:1.8;min-height:110px}.service>a{font-size:14px;display:flex;justify-content:space-between;margin-top:28px}.service>a:hover{text-decoration:underline}.additional{margin-top:28px;display:flex;align-items:center;gap:35px}.additional>span{font-size:11px;letter-spacing:1.5px;flex-shrink:0}.additional p{font-size:14px;color:var(--muted)}.additional b{color:var(--gold);padding:0 10px}.approach{background:var(--pale);display:grid;grid-template-columns:1fr 1fr;gap:10%}.approach-title>p:not(.eyebrow){color:var(--muted);max-width:440px;margin-top:27px;font-size:16px}.signature{margin-top:29px}.signature>span{font:italic 30px Georgia,serif}.signature>p{font-size:11px;letter-spacing:1.5px;margin-top:4px}.steps article{display:flex;gap:24px;padding:29px 0;border-bottom:1px solid #cedbd3}.steps article:first-child{padding-top:12px}.steps article>span{font:italic 24px Georgia,serif;color:var(--gold)}.steps h3{font-size:20px;font-weight:500;margin-bottom:9px}.steps p{font-size:15px;color:var(--muted)}.area{text-align:center;padding-block:76px}.area .eyebrow{justify-content:center}.area h2{font-size:clamp(33px,3.4vw,48px)}.area>p:not(.eyebrow){margin-top:26px;font-size:16px}.area p span{color:#adbdB3;margin:0 14px}.area small{display:block;margin-top:16px;font-size:13px;color:var(--muted)}.contact{background:var(--deep);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.contact .eyebrow{color:#b7d3c9}.contact h2{font-size:clamp(48px,4.6vw,68px);margin-bottom:26px}.contact em{color:#d6c185}.contact p:not(.eyebrow){color:#cfddd8;font-size:15px}.light{background:white;color:var(--deep);margin-top:30px}.light:hover{background:#e7eee9}.contact-details{border-left:1px solid #ffffff35;padding-left:17%;display:flex;flex-direction:column;align-items:flex-start}.contact-details>p{font-size:11px!important;letter-spacing:2px}.contact-details h3{font:31px Georgia,serif;margin:20px 0 17px}.contact-details>a{font-size:25px;line-height:1.5}.contact-details .email{font-size:16px;border-bottom:1px solid #ffffff60;margin-top:12px;overflow-wrap:anywhere}.contact-details>span{color:#b8cec5;font-size:13px;margin-top:29px}footer{display:flex;justify-content:space-between;align-items:center;padding:30px 6%;gap:20px;font-size:12px}footer p{color:var(--muted)}.footer-brand{font-family:Georgia,serif;font-size:15px;letter-spacing:1.2px}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}
@media(min-width:1600px){.hero,.section{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}.hero{gap:50px}}
@media(max-width:1050px){.header nav{gap:18px}.nav-cta{max-width:170px}.hero{padding-left:6%;gap:4%;min-height:600px}.hero-image{min-height:530px}.hero-copy{padding-top:15px}.hero-note{margin-top:30px}.section{padding:70px 6%}.service p{min-height:155px}.contact-details{padding-left:10%}.additional{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:760px){.topbar{justify-content:center;padding:8px 5%}.topbar>span{font-size:10px;letter-spacing:1px}.topbar>a{display:none}.header{height:88px;padding:0 5%}.brand{font-size:21px;gap:10px}.brand img{width:64px;height:61px}.brand-sub{font-size:9px;letter-spacing:3.5px}.header nav{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--green);font-size:14px;padding:10px}.hero{display:flex;flex-direction:column;padding:30px 5% 25px;gap:30px}.hero-copy{padding:0 2%}.eyebrow{font-size:11px;letter-spacing:1.5px}h1{font-size:60px;margin-top:24px}.intro{font-size:16px;margin:22px 0 24px}.hero-actions{gap:22px}.button{padding:15px 19px;gap:22px}.hero-note{margin-top:29px}.hero-image{min-height:370px;width:100%}.service-strip{gap:15px;padding:18px 5%;justify-content:space-between}.service-strip span{font-size:9px;letter-spacing:.7px;text-align:center}.service-strip span:nth-child(even){font-size:13px}.section{padding:57px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:23px;font-size:15px}.section h2{font-size:42px}.service-grid{display:block}.service,.service+.service{padding:28px 0;border-left:none}.service+.service{border-top:1px solid var(--line)}.service h3 br{display:none}.service h3{font-size:30px}.service-top{margin-bottom:15px}.service p{min-height:0;max-width:500px}.service>a{margin-top:21px}.additional p{line-height:2}.additional b{padding:0 5px}.approach{display:block}.steps{margin-top:38px}.steps article{gap:20px}.area h2{font-size:38px}.area>p:not(.eyebrow){line-height:2.2}.area p span{margin:0 5px}.contact{display:block}.contact h2{font-size:49px}.contact p br{display:none}.contact-details{border-left:none;border-top:1px solid #ffffff35;padding:30px 0 0;margin-top:43px}.contact-details .email{font-size:16px}.contact-details>span{margin-top:20px}footer{flex-direction:column;align-items:flex-start;padding:27px 7%;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Project gallery is revealed when approved project photos are supplied. */
[hidden]{display:none!important}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project-card{margin:0}.project-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--pale)}.project-card figcaption{padding:16px 0;font-size:16px}.project-card figcaption span{display:block;color:var(--muted);font-size:14px;margin-top:4px}@media(max-width:760px){.project-grid{grid-template-columns:1fr;gap:22px}}@media(max-width:370px){.brand{font-size:18px;gap:7px}.brand-sub{letter-spacing:2.5px}.menu-toggle{padding:7px;gap:6px}.header{padding-inline:4%}}
/* Architectural linework supports the portfolio without covering the photos. */
.hero{position:relative;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:url('assets/floor-plan.svg') no-repeat -230px 70px/850px auto;opacity:.055;z-index:-1;pointer-events:none}.hero-image>img{object-position:center 52%}.projects{position:relative;isolation:isolate;background:#f2f6f4;overflow:hidden}.projects:before{content:"";position:absolute;inset:0;background:url('assets/floor-plan.svg') repeat-y center top/1200px auto;opacity:.075;z-index:-1;pointer-events:none}.project-intro{max-width:550px;margin:-15px 0 38px;color:var(--muted);font-size:16px}.project-grid{display:block}.project-story{margin:0 0 52px;padding:30px;background:#fff;border:1px solid #dbe5df;box-shadow:0 12px 35px #123e3206}.project-story:last-child{margin-bottom:0}.project-story-heading{display:grid;grid-template-columns:45px 1fr 1fr;gap:18px;align-items:start;margin-bottom:26px}.project-number{font:italic 25px Georgia,serif;color:var(--gold)}.project-story h3{font:32px/1.15 Georgia,serif;letter-spacing:-.6px}.project-story-heading p{font-size:15px;color:var(--muted);line-height:1.7}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.project-pair figure{margin:0;min-width:0}.project-pair a{display:block;background:#edf1ee;overflow:hidden}.project-pair img{display:block;width:100%;height:470px;object-fit:contain}.project-pair figcaption{padding:14px 0 0;font-size:12px;letter-spacing:1.7px;color:var(--green)}.header nav{gap:22px}.contact{position:relative;isolation:isolate}.contact:before{content:"";position:absolute;inset:0;background:url('assets/floor-plan.svg') no-repeat right center/800px auto;filter:brightness(0) invert(1);opacity:.065;z-index:-1;pointer-events:none}@media(max-width:1050px){.header nav{gap:14px;font-size:13px}.project-pair img{height:380px}.project-story-heading{grid-template-columns:35px 1fr}.project-story-heading p{grid-column:2}.project-story{padding:24px}}@media(max-width:760px){.project-story{padding:18px;margin-bottom:25px}.project-story h3{font-size:28px}.project-story-heading{gap:12px;margin-bottom:22px}.project-pair{gap:22px;grid-template-columns:1fr}.project-pair img{height:auto;max-height:540px}.project-intro{margin-top:-10px}.hero:before{background-size:650px auto}.projects:before{background-size:800px auto}.contact:before{background-position:center bottom}.project-pair figcaption{font-size:12px}}

.project-pair figcaption small{display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:5px}.project-pair figcaption a{display:inline;background:none;text-decoration:underline}
/* Full-bleed project sequence inspired by the supplied motion reference. */
.cinematic-hero{position:relative;isolation:isolate;height:min(860px,calc(100svh - 100px));min-height:650px;overflow:hidden;background:#093b31;color:#fff}.hero-scenes,.hero-scene{position:absolute;inset:0}.hero-scene{opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 1.2s;overflow:hidden}.hero-scene.active{opacity:1;visibility:visible}.hero-scene>img{width:100%;height:100%;object-fit:cover;object-position:center 57%;transform:scale(1.055);transition:transform 8s linear}.hero-scene.active>img{transform:scale(1)}.hero-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,26,21,.85),rgba(0,26,21,.42) 48%,rgba(0,26,21,.08)),linear-gradient(0deg,rgba(0,20,16,.65),transparent 50%)}.hero-scene[data-scene="2"]>img{object-position:50% 60%}.hero-scene[data-scene="3"]>img{object-position:50% 65%}.scene-copy{position:absolute;z-index:1;left:8%;right:8%;bottom:220px;max-width:800px;transform:translateY(18px);transition:transform 1.2s ease}.active .scene-copy{transform:translateY(0)}.scene-copy .eyebrow{font-size:12px;letter-spacing:2.8px;color:#e1ebe5;margin-bottom:25px}.scene-copy h1,.scene-copy h2{font-size:clamp(58px,7vw,106px);font-weight:400;line-height:1.02;letter-spacing:-.05em;margin:0 0 26px;color:white}.scene-copy em{color:#e4ce94;font-style:italic}.scene-copy>p:last-child{font-size:17px;line-height:1.8;color:#eef2ef}.cinematic-actions{position:absolute;left:8%;bottom:131px;display:flex;align-items:center;gap:30px;z-index:2}.cinematic-actions .button{background:#fff;color:#074b3c;padding:17px 25px}.cinematic-actions .button:hover{background:#e3eee7}.cinematic-work{display:flex;gap:22px;font-size:14px;color:white;border-bottom:1px solid #ffffff80;padding:10px 0}.cinematic-bottom{position:absolute;bottom:27px;left:8%;right:8%;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;z-index:2}.scene-controls{display:flex;gap:10px;align-items:center}.scene-choice{padding:12px 0;background:none;border:0;color:#fff;cursor:pointer;min-width:60px;min-height:44px;font-size:12px;text-align:left;opacity:.55}.scene-choice:before{content:"";display:block;height:2px;background:#fff;margin-bottom:9px}.scene-choice.selected{opacity:1}.scene-choice.selected:before{background:#e4ce94}.scene-play{background:#002b2280;border:1px solid #ffffff60;color:#fff;padding:9px 13px;margin-left:12px;min-height:44px;cursor:pointer;font-size:13px}.scene-credit{font-size:12px;color:#e4eae6;margin-bottom:12px}.cinematic-hero a:focus-visible,.cinematic-hero button:focus-visible{outline:3px solid #f0d389;outline-offset:5px}@media(max-width:760px){.cinematic-hero{height:calc(100svh - 114px);min-height:640px;max-height:850px}.scene-copy{left:7%;right:7%;bottom:237px}.scene-copy h1,.scene-copy h2{font-size:clamp(49px,11vw,78px);margin-bottom:23px}.scene-copy .eyebrow{font-size:10px;letter-spacing:1.6px;max-width:270px}.scene-copy>p:last-child{font-size:15px;max-width:350px}.scene-copy p br{display:none}.hero-scene:after{background:linear-gradient(0deg,rgba(0,25,19,.9),rgba(0,25,19,.44) 65%,rgba(0,25,19,.2))}.cinematic-actions{left:7%;right:7%;bottom:145px;gap:21px;flex-wrap:wrap}.cinematic-actions .button{padding:14px 18px;gap:16px;font-size:13px}.cinematic-work{font-size:13px;gap:13px}.cinematic-bottom{left:7%;right:7%;bottom:18px;align-items:flex-start;flex-direction:column;gap:6px}.scene-choice{min-width:44px}.scene-play{margin-left:5px}.scene-credit{font-size:11px;margin:0}.hero-scene>img{object-position:60% center}}@media(prefers-reduced-motion:reduce){.hero-scene,.hero-scene>img,.scene-copy{transition:none!important;transform:none!important}}

@media(min-width:761px){.project-pair figure:last-child:nth-child(odd){grid-column:1/-1}.project-pair figure:last-child:nth-child(odd) img{max-height:600px;height:auto;max-width:100%;margin:auto}}
