@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--forest:#183d30;--deep:#123326;--ink:#202d24;--muted:#637067;--paper:#fff;--soft:#f3f4ee;--line:#dce1d7;--lime:#dcf193;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #769c35;outline-offset:5px}p{margin:0 0 24px}h1,h2,h3{line-height:1.1;margin:0;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.045em}h1{font-size:clamp(44px,4.5vw,74px)}h2{font-size:clamp(36px,3.5vw,56px)}h3{font-size:23px;font-weight:500;letter-spacing:-.035em}em{font-weight:400;color:#587b43}button[hidden],[hidden]{display:none!important}.container{max-width:1320px;margin:auto;padding-inline:56px}.topbar{display:flex;justify-content:space-between;padding:9px 56px;background:var(--forest);color:white;font-size:13px;letter-spacing:.025em}.topbar a{font-weight:600}header{padding:21px 56px;display:flex;align-items:center;justify-content:space-between;background:white;gap:24px}.brand{display:block;flex-shrink:0}.logo{width:224px;height:auto}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:500}nav>a:not(.nav-contact){padding:12px 0;position:relative}nav>a[aria-current=page]:after{position:absolute;content:'';height:2px;bottom:4px;left:0;right:0;background:var(--forest)}nav .nav-contact{background:var(--forest);color:white;padding:14px 23px;display:flex;gap:30px}.menu-toggle{display:none}.skip{position:absolute;left:16px;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:5px}.hero{display:grid;grid-template-columns:46% 54%;min-height:670px;background:var(--soft)}.hero-copy{padding:64px 42px 40px 56px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{display:block;font-size:12px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;line-height:1.5;margin-bottom:22px}.hero h1{font-size:clamp(46px,4.7vw,76px);max-width:620px;margin-bottom:28px}.hero h1 em{display:block}.hero-copy>p{max-width:470px;font-size:15px;color:#526055;line-height:1.8;margin-bottom:30px}.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--forest);color:white;padding:17px 24px;font-size:14px;font-weight:550;transition:background .2s}.button:hover,.nav-contact:hover{background:#2f5840}.button>span,.text-link>span{font-size:20px}.text-link{font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--ink);padding:5px 0}.hero-foot{display:flex;gap:15px;margin-top:45px;align-items:center;font-size:12px;color:var(--muted);line-height:1.5}.mini-line{width:34px;height:1px;background:#829376}.hero-photo{position:relative;min-width:0;min-height:650px;overflow:hidden}.hero-photo>img{position:absolute;inset:0;width:100%;height:100%}.photo-label{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;background:#fffef2f0;padding:16px 20px;font-size:11px;letter-spacing:.1em;font-weight:600}.photo-label a{font-size:24px;line-height:1}.service-strip{display:flex;justify-content:space-around;gap:30px;flex-wrap:wrap;padding:22px 50px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:42px}.section-intro{max-width:420px;color:var(--muted);font-size:16px}.section-intro p{margin-bottom:17px}.section-heading>.text-link{flex-shrink:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{display:block;min-width:0}.card>img{width:100%;height:330px;transition:filter .2s}.card:hover>img{filter:brightness(.92)}.card-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0}.card-line .eyebrow{font-size:11px;color:var(--muted);margin-bottom:9px}.card-line>span{border:1px solid var(--line);display:grid;place-items:center;width:39px;height:39px;border-radius:50%;font-size:20px;flex-shrink:0}.card h3{font-size:24px}.service-links{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:22px;padding-top:24px;gap:16px 30px;font-size:14px}.service-links a{display:flex;gap:16px;align-items:center}.about-section{background:var(--soft);padding:80px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.about-grid h2{margin-bottom:26px}.about-grid p{color:var(--muted);font-size:16px}.about-image{position:relative}.about-image>img{width:100%;height:480px}.since{position:absolute;bottom:-22px;right:-22px;background:var(--forest);color:white;padding:22px 30px;text-align:center;font-size:12px;text-transform:uppercase}.since strong{display:block;font:44px/1.2 var(--serif);letter-spacing:-.04em}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding-top:75px}.stats strong{font:52px/1 var(--serif);letter-spacing:-.04em}.stats h3{font:500 14px/1.5 var(--sans);margin:12px 0 9px}.stats p{font-size:12px;color:var(--muted);margin:0;max-width:200px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 36px}.project-grid .card>img{height:410px}.process{background:var(--forest);color:white;text-align:center;padding:82px 0}.process h2{font-size:clamp(40px,4.7vw,68px);margin-bottom:28px}.process em{color:var(--lime)}.process p{max-width:750px;margin:auto;color:#d4dfd8;font-size:17px}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.reasons article{border-top:1px solid var(--line);padding-top:22px}.reason-num{font:italic 20px var(--serif);color:#6e8461}.reasons h3{font-size:20px;margin:18px 0 15px}.reasons p{color:var(--muted);font-size:15px}.team-area{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-bottom:70px}.team{display:flex;gap:26px;align-items:center}.team img{width:48%;height:260px;object-position:center}.team h3{margin-bottom:8px}.team .eyebrow{margin-bottom:12px}.areas h2{font-size:42px;margin-bottom:23px}.areas p{font-size:14px;color:var(--muted)}.original-gallery{padding-bottom:70px}.original-gallery summary{cursor:pointer;border-block:1px solid var(--line);padding:18px 0;font-size:16px;display:flex;justify-content:space-between}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}.gallery img{width:100%;height:auto;max-height:600px;object-fit:contain;background:var(--soft)}.contact{background:var(--deep);color:white;padding:80px 0}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;align-items:center}.contact h2{font-size:45px;max-width:650px;margin-bottom:30px}.contact .eyebrow{color:#b8cead}.button.light{background:var(--lime);color:var(--deep)}.contact-info>a{font-size:17px;overflow-wrap:anywhere;display:block;margin-bottom:22px}.contact-info p{max-width:280px;color:#c0cdc3;font-size:15px}.socials{display:flex;gap:28px;font-size:14px}.socials a{display:flex;gap:12px}footer{background:var(--deep);border-top:1px solid #ffffff26;color:#b4c4b9;padding:24px 56px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.page-title{padding-top:74px;padding-bottom:52px}.page-title h1{font-size:clamp(52px,6vw,90px);margin-bottom:24px}.page-title>p{max-width:720px;font-size:18px;color:var(--muted)}.listing{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-bottom:85px}.listing .card>img{height:300px}.project-list{grid-template-columns:1fr 1fr}.project-list .card>img{height:390px}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:35px;border-bottom:1px solid var(--line);padding-bottom:22px}.filters button{border:1px solid var(--line);border-radius:30px;background:white;padding:10px 23px;font-size:14px;color:var(--ink)}.filters button[aria-pressed=true]{background:var(--forest);color:white;border-color:var(--forest)}.result-count{margin-left:auto;font-size:14px;color:var(--muted)}.empty{grid-column:1/-1;padding:55px 0 80px;border-top:1px solid var(--line)}.empty h2{margin-bottom:20px}.empty p{color:var(--muted)}.detail-heading{padding-top:48px;padding-bottom:45px}.detail-heading>.text-link{margin-bottom:40px}.detail-heading .eyebrow{margin-bottom:16px}.detail-heading h1{max-width:1000px}.detail-image{width:100%;max-height:750px;object-fit:contain;background:var(--soft)}.prose{max-width:780px;margin:40px auto;font-size:18px;white-space:pre-line}.detail-cta{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:55px 0 75px}.detail-cta h2{font-size:38px}
@media(min-width:1600px){.hero-copy{padding-left:max(56px,calc((100vw - 1440px)/2))}.hero{min-height:760px}}
@media(max-width:1100px){.container{padding-inline:32px}header,.topbar{padding-inline:32px}.hero-copy{padding:44px 32px}.hero h1{font-size:51px}.hero-photo{min-height:620px}.hero-copy>p{font-size:15px}.hero-actions{gap:14px}.hero-actions .button{padding:15px 18px;gap:16px}nav{gap:23px}.about-grid{gap:50px}.contact-grid{gap:50px}.section{padding-block:75px}.card>img{height:270px}.card h3{font-size:21px}}
@media(max-width:760px){.topbar{padding:8px 20px;font-size:11px}.topbar>span{max-width:50%}.topbar a{align-self:center}.container{padding-inline:22px}header{padding:18px 22px;flex-wrap:wrap;gap:16px}.logo{width:190px}.menu-toggle{display:flex;gap:12px;align-items:center;background:transparent;border:0;font-size:14px;padding:10px 0}nav{display:none;width:100%;flex-direction:column;gap:6px;align-items:stretch}nav.open{display:flex}nav>a:not(.nav-contact){padding:12px 4px}nav .nav-contact{justify-content:space-between;margin-top:8px}.hero{display:flex;flex-direction:column}.hero-copy{padding:44px 22px 36px}.hero h1{font-size:clamp(44px,10vw,62px);max-width:600px}.hero-copy>p{font-size:16px;max-width:100%}.eyebrow{font-size:11px;margin-bottom:18px}.hero-foot{display:none}.hero-actions{gap:25px}.hero-photo{min-height:380px}.photo-label{left:20px;right:20px;bottom:20px;padding:14px;font-size:10px}.service-strip{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px;text-align:center}.section{padding-block:56px}.section-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:28px}.section-intro{max-width:none}.section-heading h2{font-size:39px}.service-grid{grid-template-columns:1fr;gap:18px}.card>img{height:310px}.card-line{padding:17px 0}.card h3{font-size:23px}.service-links{gap:17px;flex-direction:column}.about-section{padding:50px 0}.about-grid{grid-template-columns:1fr;gap:55px}.about-image>img{height:340px}.since{right:12px}.about-grid h2{font-size:40px}.stats{grid-template-columns:1fr 1fr;gap:30px;padding-top:45px}.stats strong{font-size:44px}.project-grid{grid-template-columns:1fr;gap:20px}.project-grid .card>img{height:320px}.process{padding:58px 0}.process h2{font-size:42px}.process p{font-size:16px}.reasons{grid-template-columns:1fr;gap:14px}.reasons h3{margin-top:10px}.team-area{grid-template-columns:1fr;gap:40px;padding-bottom:40px}.team img{height:220px;width:43%}.team .eyebrow{font-size:10px}.team h3{font-size:22px}.areas h2{font-size:39px}.gallery{grid-template-columns:1fr}.original-gallery{padding-bottom:45px}.contact{padding:55px 0}.contact-grid{grid-template-columns:1fr;gap:45px}.contact h2{font-size:37px}.contact-info>a{font-size:16px}footer{padding:22px;flex-direction:column;gap:8px;font-size:11px}.page-title{padding-top:46px;padding-bottom:30px}.page-title h1{font-size:58px}.page-title>p{font-size:16px}.listing{grid-template-columns:1fr;padding-bottom:50px;gap:18px}.listing .card>img{height:310px}.filters{gap:8px}.filters button{padding:8px 14px;font-size:13px}.result-count{width:100%;margin:5px 0 0}.detail-heading{padding-top:30px}.detail-heading h1{font-size:45px;overflow-wrap:anywhere}.detail-heading>.text-link{margin-bottom:28px}.detail-cta{flex-direction:column;align-items:flex-start;padding:40px 0 50px}.detail-cta h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.text-card-cover{min-height:240px;display:grid;place-items:center;background:var(--forest);color:white;font:32px var(--serif);padding:24px}.hero-copy>p{font-size:16px}.card-line .eyebrow{font-size:12px}.service-strip{font-size:14px;letter-spacing:.04em}.service-links,.text-link,nav{font-size:14px}
/* Revised portfolio and editorial detail layouts. */
.chevron{font-family:Arial,sans-serif;font-size:25px;line-height:1;font-weight:400}.card-line>.chevron{border:0;border-radius:0;width:24px;height:auto}.team img{height:330px;width:45%;object-position:center 45%;object-fit:contain;background:#f3f4ee}.filters{gap:10px}.filters button{border-radius:3px;padding:10px 15px}.detail-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;padding-top:45px;padding-bottom:60px}.detail-copy{padding:25px 0}.breadcrumb{display:inline-block;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:50px}.detail-copy h1{font-size:clamp(40px,4vw,66px);line-height:1.07;margin-bottom:25px}.detail-copy .eyebrow{color:#617854}.detail-summary{font-size:21px;line-height:1.6;max-width:430px;color:var(--muted);margin-bottom:32px}.detail-visual{margin:0;position:relative;background:var(--soft)}.detail-visual>img{width:100%;height:570px;object-fit:contain}.detail-visual figcaption{padding:15px 20px;font-size:13px;letter-spacing:.06em;border-top:1px solid var(--line);text-transform:uppercase}.story-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:90px;padding-top:35px;padding-bottom:85px}.story h2{font-size:40px;margin-bottom:30px}.story p{font-size:17px;line-height:1.85;color:#526055}.detail-notes{border-top:2px solid var(--forest);padding:26px 30px;background:var(--soft);align-self:start}.detail-notes ul{padding:0;margin:0 0 25px;list-style:none}.detail-notes li{display:flex;gap:15px;border-bottom:1px solid var(--line);padding:16px 0;font-size:16px}.detail-notes li>span{color:#789264}.detail-notes p{font-size:15px;color:var(--muted)}.related{padding-bottom:80px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.related-grid .card img{height:260px}.related-grid .card h3{font-size:22px}.related .section-heading{border-top:1px solid var(--line);padding-top:55px}.related h2{font-size:40px}
@media(max-width:900px){.detail-hero{gap:35px}.detail-visual>img{height:450px}.story-layout{gap:35px}.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.detail-hero{grid-template-columns:1fr;gap:25px;padding-top:22px;padding-bottom:25px}.detail-copy{padding:0}.breadcrumb{margin-bottom:30px}.detail-copy h1{font-size:46px}.detail-summary{font-size:19px}.detail-visual>img{height:auto;max-height:560px}.story-layout{grid-template-columns:1fr;gap:25px;padding-top:25px;padding-bottom:40px}.story h2{font-size:34px}.story p{font-size:16px}.detail-notes{padding:24px}.related-grid{grid-template-columns:1fr}.related{padding-bottom:40px}.related h2{font-size:34px}.related .section-heading{padding-top:30px}.team img{height:290px}.filters button{font-size:13px;padding:10px 12px}}
