@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#27332f;--deep:#253a32;--cream:#f6f4ef;--paper:#fffefa;--sand:#e7e6dd;--muted:#64716a;--line:#d6d8cf;--accent:#ad967c;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{max-width:1320px;width:calc(100% - 96px);margin:auto}.smallcaps{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.eyebrow{color:#9f856a}.headline{font:normal clamp(42px,5vw,77px)/1.11 var(--serif);letter-spacing:-.035em;margin:20px 0}.headline em{font-weight:400;color:#a48f77}.muted{color:var(--muted);line-height:1.85}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:52px;border:1px solid var(--deep);padding:0 25px;background:var(--deep);color:#fff;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;transition:background .2s}.button:hover{background:#466353}.button.white{background:#fff;color:var(--deep);border-color:#fff}.button.line{background:transparent;color:var(--deep)}.button.line:hover{background:#e5ebe5}.header{position:absolute;top:0;left:0;right:0;z-index:5;color:white;border-bottom:1px solid #ffffff55}.nav{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:28px}.logo{display:flex;align-items:center;gap:13px}.mark{border:1px solid currentColor;width:43px;height:43px;display:grid;place-content:center;font:23px var(--serif);letter-spacing:-3px;padding-right:5px}.logo-name strong{font-size:13px;display:block;letter-spacing:.18em}.logo-name small{display:block;letter-spacing:.32em;font-size:9px;margin-top:5px}.nav-links{display:flex;align-items:center;gap:35px}.nav-links a{font-size:12px}.nav-links a:hover{text-decoration:underline;text-underline-offset:6px}.nav-cta{border:1px solid #ffffffb2;padding:12px 17px;text-transform:uppercase;letter-spacing:.12em;font-size:10px!important}.mobile-toggle{display:none;background:transparent;color:white;border:1px solid #ffffff80;padding:10px 14px}.hero{position:relative;height:min(900px,94vh);min-height:700px;display:flex;align-items:center;color:white;background:var(--deep)}.hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,#111d19dc 0%,#111d1999 41%,#111d1935 80%),url('assets/marsh-exterior.jpg');background-size:cover;background-position:center 53%}.hero-body{position:relative;z-index:1;padding-top:105px}.hero h1{font:normal clamp(52px,6.2vw,97px)/1.06 var(--serif);letter-spacing:-.04em;max-width:840px;margin:25px 0}.hero h1 em{color:#d6c6af}.hero p{max-width:540px;line-height:1.9;color:#f1f1ea;font-size:16px;margin:0 0 33px}.hero-foot{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#f5f1e9;z-index:1}.section{padding:116px 0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.intro-text{font-size:18px;line-height:1.9;color:var(--muted);max-width:690px}.traits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:37px;padding-top:30px;border-top:1px solid var(--line)}.traits strong{display:block;font-size:13px}.traits p{font-size:12px;color:var(--muted);line-height:1.7}.work{background:#ebeae3}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-top p{max-width:390px;line-height:1.75;color:var(--muted);font-size:14px}.feature{display:grid;grid-template-columns:1.3fr .7fr;min-height:560px;background:#fff}.feature img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center}.feature-text{padding:70px 55px;display:flex;flex-direction:column;justify-content:center}.feature-text h3{font:normal clamp(39px,4vw,59px)/1.17 var(--serif);margin:25px 0 22px}.feature-text p{color:var(--muted);line-height:1.9;font-size:15px;margin-bottom:35px}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.mini-grid img{width:100%;height:240px;object-fit:cover}.mini-grid figure{margin:0}.mini-grid figcaption{font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-top:15px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 70px;margin-top:35px}.service{display:flex;gap:25px;padding:29px 0;border-top:1px solid var(--line)}.service span{font:25px var(--serif);color:#a8927a}.service h3{font:normal 27px var(--serif);margin:0 0 10px}.service p{margin:0;line-height:1.8;font-size:13px;color:var(--muted)}.about{background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr 1fr}.about img{height:100%;min-height:570px;width:100%;object-fit:cover}.about article{padding:96px max(48px,calc((100vw - 1320px)/2)) 90px 75px}.about p{line-height:1.9;color:#d7dfd8;max-width:510px}.about .headline{font-size:clamp(37px,3.6vw,59px)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:54px}.step{border-top:1px solid var(--line);padding-top:25px}.step span{font:30px var(--serif);color:var(--accent)}.step h3{font:normal 24px var(--serif);margin:25px 0 12px}.step p{font-size:13px;line-height:1.85;color:var(--muted)}.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.contact aside p{max-width:450px;line-height:1.85;color:var(--muted)}.contact-meta{border-top:1px solid var(--line);padding-top:25px;margin-top:35px;font-size:13px;line-height:2}.form{padding:40px;background:#fff;border:1px solid #ebebe5}.form h3{font:normal 28px var(--serif);margin:0 0 25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid var(--line);background:#fbfbf8;color:var(--ink)}.field textarea{min-height:110px;resize:vertical}.fine{font-size:11px!important;color:var(--muted);line-height:1.7!important}.footer{background:#21332b;color:white;padding:70px 0 30px}.footer-grid{display:flex;align-items:start;justify-content:space-between;gap:40px}.footer-links{display:flex;gap:28px;font-size:12px}.footer-bottom{border-top:1px solid #ffffff30;margin-top:70px;padding-top:24px;font-size:11px;color:#c4ccc5;display:flex;justify-content:space-between}.inner-hero{height:500px;min-height:500px}.inner-hero .hero-body{padding-top:100px}.inner-hero h1{max-width:900px}.project-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.project-intro p{font-size:17px;line-height:1.9;color:var(--muted)}.project-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:48px}.tile{grid-column:span 4;appearance:none;padding:0;background:transparent;border:0;text-align:left;overflow:hidden}.tile.wide{grid-column:span 8}.tile.tall{grid-column:span 4}.tile img{width:100%;height:320px;object-fit:cover;transition:transform .35s}.tile.wide img{height:430px}.tile.tall img{height:430px}.tile:hover img{transform:scale(1.025)}.tile span{display:block;padding:13px 0 8px;font-size:12px;color:var(--muted)}.lightbox{display:none;position:fixed;inset:0;z-index:100;background:#142019ef;align-items:center;justify-content:center;padding:65px 70px;color:#fff}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:1050px;width:100%;text-align:center}.lightbox img{max-height:76vh;max-width:100%;object-fit:contain;margin:auto}.lightbox figcaption{font-size:13px;margin-top:16px}.close,.prev,.next{position:absolute;border:1px solid #ffffff8e;background:#243a31;color:white;width:44px;height:44px;font-size:23px}.close{top:20px;right:20px}.prev{left:12px;top:50%}.next{right:12px;top:50%}.note{font-size:12px;color:var(--muted);line-height:1.8}@media(max-width:1020px){.wrap{width:calc(100% - 56px)}.split,.contact-grid,.project-intro{gap:44px}.feature-text{padding:40px 35px}.about article{padding:65px 35px}.nav-links{gap:19px}.hero{min-height:640px}}@media(max-width:720px){.wrap{width:calc(100% - 36px)}.nav{min-height:77px}.logo-name strong{font-size:11px}.logo-name small{font-size:8px}.mobile-toggle{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:22px;background:#273b32;flex-direction:column;align-items:stretch;gap:20px}.nav-links.open{display:flex}.hero{min-height:650px;height:85vh}.hero-photo{background-image:linear-gradient(90deg,#14251bc7,#14251b66),url('assets/marsh-exterior.jpg');background-position:center}.hero h1{font-size:clamp(44px,10vw,67px)}.hero p{font-size:14px}.hero-foot span:last-child{display:none}.section{padding:78px 0}.split,.feature,.about,.contact-grid,.project-intro{grid-template-columns:1fr;gap:25px}.traits{grid-template-columns:1fr;gap:9px}.section-top{display:block}.section-top p{margin-top:25px}.feature img{min-height:330px;height:350px}.feature-text{padding:40px 30px 48px}.mini-grid{grid-template-columns:1fr 1fr}.mini-grid figure:last-child{display:none}.mini-grid img{height:190px}.services-grid{grid-template-columns:1fr}.about img{min-height:330px;height:360px}.process-grid{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.field.full{grid-column:1}.footer-grid,.footer-bottom{display:grid;gap:30px}.footer-links{flex-wrap:wrap}.inner-hero{height:440px;min-height:440px}.project-gallery{gap:12px}.tile,.tile.wide,.tile.tall{grid-column:span 6}.tile img,.tile.wide img,.tile.tall img{height:220px}.lightbox{padding:65px 25px}.prev,.next{top:auto;bottom:13px}}

/* Portfolio expansion V4 */
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}.portfolio-card{display:block}.portfolio-image{height:380px;overflow:hidden;background:#dedbd1}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.portfolio-card:hover .portfolio-image img{transform:scale(1.035)}.portfolio-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.portfolio-meta h3{font:normal 35px/1.15 var(--serif);margin:10px 0}.portfolio-arrow{font:28px var(--serif)}.portfolio-card p{font-size:14px;line-height:1.8;color:var(--muted);max-width:490px;margin:3px 0 0}.portfolio-footnote{font-size:11px;line-height:1.7;color:var(--muted);margin-top:33px}.process-foot{display:grid;grid-template-columns:260px 1fr;align-items:center;gap:38px;background:#ebeae3;margin-top:52px;padding:24px}.process-foot img{width:100%;height:170px;object-fit:cover}.process-foot h3{font:normal 29px var(--serif);margin:12px 0}.process-foot p{font-size:14px;line-height:1.8;color:var(--muted);max-width:670px}.project-next{background:#ebeae3;padding:90px 0}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px;margin-top:12px;font-size:13px}.project-intro .headline{margin-top:15px}
@media(max-width:720px){.portfolio-grid{grid-template-columns:1fr;gap:42px}.portfolio-image{height:300px}.portfolio-meta h3{font-size:30px}.process-foot{grid-template-columns:1fr;gap:12px;padding:18px}.process-foot img{height:220px}.project-next{padding:70px 0}}
