:root{--ink:#15312f;--muted:#566763;--teal:#116354;--lime:#dce8b3;--line:#dce3df;--soft:#f3f6f3;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif;background:white}a{color:inherit;text-decoration:none}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba912d;outline-offset:5px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}p{margin:0 0 20px}h1,h2,h3{font-weight:400;margin:0;line-height:1.15}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(44px,4.5vw,72px);letter-spacing:-2px}h1 em{font-weight:400;color:var(--teal)}h2{font-size:clamp(34px,3.2vw,49px);letter-spacing:-1.2px}h3{font-size:25px;letter-spacing:-.5px}header{min-height:106px;padding:20px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.brand{display:inline-flex;flex-direction:column;line-height:1}.wordmark{font-family:Georgia,serif;font-size:48px;font-weight:bold;letter-spacing:-2px}.brand-dot{color:var(--teal)}.brand-sub{font-size:10px;letter-spacing:1.55px;margin-top:8px}.brand img{width:185px;max-height:72px;object-fit:contain}nav{display:flex;gap:37px;align-items:center;font-size:14px}nav a:hover,.text-link:hover{color:var(--teal)}.nav-contact{border:1px solid var(--line);padding:11px 20px}.nav-contact span{margin-left:22px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:625px;padding:28px 3% 28px 6%;gap:5%}.hero-copy{padding:57px 0 20px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;margin-bottom:26px;color:var(--teal)}.hero-intro{color:var(--muted);font-size:18px;line-height:1.8;max-width:475px;margin:28px 0}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 23px;border:1px solid var(--teal);color:#fff;background:var(--teal);font-size:14px;cursor:pointer;transition:background .2s}.button:hover{background:#0b463c}.text-link{font-size:14px;border-bottom:1px solid #b6c7be;padding-bottom:4px;font-weight:600}.hero-foot{margin-top:45px;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:12px}.mini-line{width:28px;height:1px;background:var(--teal)}.hero-image{position:relative;min-height:520px;overflow:hidden;background:#285750}.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(7,33,29,.8))}.image-caption{position:absolute;bottom:32px;left:34px;right:24px;color:#fff;z-index:1}.image-caption span{font-size:11px;letter-spacing:2px}.image-caption p{font-family:Georgia,serif;font-size:29px;margin:7px 0 0}.disciplines{display:flex;justify-content:space-between;background:var(--ink);color:white;padding:25px 9%;font-size:14px;gap:20px}.disciplines span{padding-right:20px}.section{padding:95px 8%}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:9%}.about-copy{color:var(--muted)}.about-copy .lead{font-size:23px;color:var(--ink);line-height:1.5}.about-copy .text-link{display:inline-block;margin-top:10px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:46px}.section-top>p{max-width:340px;color:var(--muted);margin:0}.services{background:var(--soft)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-card{background:white;border:1px solid var(--line);padding:35px 37px;display:flex;flex-direction:column;align-items:flex-start}.service-number{width:100%;display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:30px;color:var(--teal)}.service-number span{font:11px Arial,sans-serif;letter-spacing:1.3px;color:var(--muted)}.service-card h3{max-width:370px;line-height:1.25;min-height:63px}.service-card p{color:var(--muted);margin-top:18px}.service-card ul{padding-left:20px;margin:0 0 28px;color:var(--muted)}.service-card li{padding:4px 0}.service-card li::marker{color:var(--teal)}.service-card .text-link{margin-top:auto}.approach{display:grid;grid-template-columns:1fr 1fr;gap:9%}.approach-heading>p:last-child{color:var(--muted);margin-top:25px;max-width:410px}.values article{display:flex;gap:26px;border-top:1px solid var(--line);padding:23px 0 6px}.values article>span{font-family:Georgia,serif;color:var(--teal);font-size:21px}.values h3{font-size:20px;margin:0 0 10px}.values p{color:var(--muted);font-size:15px}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact .eyebrow{color:var(--lime)}.contact-info>p:not(.eyebrow){color:#c9d6d0;margin-top:25px;max-width:370px}.contact dl{margin:30px 0 0}.contact dl>div{margin-bottom:20px}.contact dt{color:#aabeb3;font-size:12px;letter-spacing:1px;margin-bottom:4px}.contact dd{margin:0;font-size:16px;overflow-wrap:anywhere}.contact dd a:hover{text-decoration:underline}form{background:#fff;color:var(--ink);padding:34px}.form-note{font-size:13px;color:var(--muted);line-height:1.6;margin:13px 0 23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:14px;display:block;margin-bottom:18px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #c8d4ce;border-radius:0;background:white;color:var(--ink);font-size:15px;margin-top:7px;min-width:0}textarea{resize:vertical}form .button{width:100%}form .form-note:last-of-type{margin:12px 0 0}#form-status{font-size:14px;margin:12px 0 0}footer{padding:42px 6% 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px}.footer-top p{font-size:14px;color:var(--muted);margin:0}.back-top{font-size:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.footer-bottom div{display:flex;gap:25px}.skip{position:fixed;left:20px;top:-70px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}@media(min-width:1550px){body{max-width:1800px;margin:auto}.hero{min-height:700px}.hero-copy{padding-top:85px}}@media(max-width:900px){header{padding:17px 5%;min-height:90px}nav{gap:20px}.hero{gap:4%;padding:20px 4% 28px 5%;min-height:580px}.hero-copy{padding-top:32px}h1{font-size:48px}.hero-image{min-height:480px}.hero-actions{gap:18px}.section{padding:70px 6%}.section-top{align-items:flex-start}.service-card{padding:25px}.about,.approach,.contact{gap:6%}.disciplines{padding:22px 6%;font-size:12px}.form-row{grid-template-columns:1fr;gap:0}.image-caption p{font-size:25px}form{padding:26px}}@media(max-width:650px){html{scroll-padding-top:95px}.wordmark{font-size:38px}.brand-sub{font-size:8px}.menu-toggle{display:flex;gap:12px;align-items:center;background:transparent;border:1px solid var(--line);padding:8px 12px;font-size:14px;color:var(--ink)}nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;border-bottom:1px solid var(--line);padding:20px 6%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:13px 0}.nav-contact{border:0}.hero{grid-template-columns:1fr;padding:22px 6% 26px;gap:30px}.hero-copy{padding:14px 0 0}h1{font-size:48px;letter-spacing:-1.5px}.eyebrow{margin-bottom:20px;font-size:11px}.hero-intro{font-size:17px;margin:23px 0}.hero-foot{margin-top:28px;font-size:11px}.hero-image{min-height:340px}.image-caption{left:25px;bottom:25px}.disciplines{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:12px;padding:23px 6%}.section{padding:58px 6%}.about,.approach,.contact{grid-template-columns:1fr;gap:30px}.about-copy .lead{font-size:21px}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card h3{min-height:0}.service-card{padding:27px}.contact{gap:25px}.footer-top{align-items:flex-start;flex-wrap:wrap}.footer-top p{flex-basis:100%;order:2}.footer-bottom{flex-direction:column;font-size:11px}.footer-bottom div{gap:20px}.form-row{grid-template-columns:1fr}h2{font-size:36px}.hero-actions{gap:19px}.button{padding:14px 18px;gap:17px}.text-link{font-size:13px}form{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand img{width:190px;height:107px;max-height:none;display:block;object-fit:contain}header{padding-top:10px;padding-bottom:10px}html{scroll-padding-top:145px}@media(max-width:650px){.brand img{width:140px;height:79px}header{min-height:99px}html{scroll-padding-top:115px}}

/* Real project hero and client experience */
.hero-image{margin:0;border:1px solid var(--line);background:#e8eeea}
.hero-image img{object-position:center}
.hero-image:after{inset:47% 0 0;background:linear-gradient(transparent,rgba(7,33,29,.88))}
.image-caption p{margin-bottom:2px}
.image-caption small{font-size:12px;letter-spacing:.5px;color:#dce8e2}
.about-copy strong{color:var(--ink)}
.section-top>p{max-width:390px}
.clients{background:#fff}
.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.client-grid article{min-height:235px;border:1px solid var(--line);background:#fff;padding:25px 20px 20px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}
.client-grid img{width:100%;height:135px;object-fit:contain}
.client-grid p{margin:17px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}
.client-grid .private-clients{background:var(--ink);color:#fff;align-items:flex-start;justify-content:center;text-align:left;padding:28px}
.private-clients span{font-family:Georgia,serif;font-size:26px;line-height:1.2}
.client-grid .private-clients p{color:#c9d6d0;font-size:15px}
.approach{background:var(--soft)}
@media(max-width:1050px){nav{gap:18px}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){nav{gap:14px}}
@media(max-width:650px){.client-grid{grid-template-columns:1fr 1fr}.client-grid article{min-height:210px;padding:20px 14px}.client-grid img{height:115px}}
@media(max-width:390px){.client-grid{grid-template-columns:1fr}}
