:root{--sage:#788174;--deep:#273028;--cream:#f5f0e8;--paper:#fcfaf6;--clay:#bf8063;--line:rgba(39,48,40,.17);--serif:'Italiana',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--deep);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.nav{height:92px;display:flex;align-items:center;gap:42px;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(252,250,246,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font-family:var(--serif);font-size:25px;letter-spacing:.16em;text-transform:uppercase;line-height:1}.brand span{display:block;font:500 8px/1.6 var(--sans);letter-spacing:.34em;margin-top:6px}.nav nav{display:flex;gap:28px;margin-left:auto;font-size:13px}.nav nav a:hover,.text-link:hover,.person a:hover{text-decoration:underline;text-underline-offset:4px}.nav-cta,.button{display:inline-flex;background:var(--deep);color:white;padding:13px 23px;border:1px solid var(--deep);font-size:13px;font-weight:600}.menu{display:none;margin-left:auto;background:none;border:0;font:600 13px var(--sans)}.hero{display:grid;grid-template-columns:46% 54%;min-height:calc(100vh - 92px)}.hero-copy{padding:9vw 7vw 7vw 8vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600;margin:0 0 22px;color:#596357}.hero h1{font:400 clamp(56px,7vw,112px)/.88 var(--serif);letter-spacing:-.035em;margin:0 0 34px}.lead{font-size:18px;max-width:550px;color:#4e574f}.actions{display:flex;gap:25px;align-items:center;margin-top:25px}.text-link{font-size:14px;font-weight:600}.hero-image{position:relative;min-height:620px}.hero-image img{height:100%}.award{position:absolute;right:0;bottom:0;background:var(--clay);color:white;padding:26px 35px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.award strong{font:400 23px/1.5 var(--serif);letter-spacing:.03em}.intro{padding:140px 8vw;text-align:center;background:var(--cream)}.intro h2,.section-head h2,.feature h2,.about h2,.award-band h2,.contact h2{font:400 clamp(42px,5.5vw,76px)/1 var(--serif);margin:0}.intro h2{max-width:1000px;margin:0 auto 28px}.intro>p:last-child{max-width:650px;margin:0 auto;font-size:17px}.services,.team,.contact{padding:130px 7vw}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:65px}.section-head .eyebrow{grid-column:1/-1;margin:0}.section-head>p:last-child{max-width:480px;margin:auto 0 5px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service-grid article{padding:35px 28px 20px;border-right:1px solid var(--line)}.service-grid article:last-child{border:0}.service-grid span{font-size:11px;color:#687069}.service-grid h3{font:400 27px/1.1 var(--serif);margin:38px 0 20px}.service-grid p{font-size:14px;color:#5b635c}.feature{display:grid;grid-template-columns:1.15fr .85fr;background:var(--sage);color:white}.feature-image img{height:100%;min-height:650px}.feature-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}.feature-copy .eyebrow{color:#e1e7df}.feature-copy p:not(.eyebrow){font-size:17px;margin:30px 0}.team{background:#eef0eb}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 24px}.person img,.portrait-placeholder{aspect-ratio:4/5}.person img{object-fit:cover;object-position:center}.portrait-placeholder{display:grid;place-items:center;background:var(--sage);color:#fff;font:400 65px var(--serif)}.person h3{font:400 27px var(--serif);margin:20px 0 2px}.person p{margin:0 0 12px;color:#60685f;font-size:14px}.person a{font-size:13px;font-weight:600}.about{display:grid;grid-template-columns:1fr .7fr;gap:9vw;background:var(--deep);color:white;padding:130px 9vw;align-items:center}.about p:not(.eyebrow){font-size:16px;color:#d7ddd5}.about blockquote{font:400 27px/1.3 var(--serif);border-left:2px solid var(--clay);margin:35px 0;padding-left:24px}.about img{aspect-ratio:4/5}.button.light{background:white;color:var(--deep);border-color:white}.award-band{padding:110px 8vw;text-align:center;background:var(--clay);color:white}.award-band>p{text-transform:uppercase;letter-spacing:.22em;font-size:11px}.award-band div{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:40px}.award-band span{border:1px solid rgba(255,255,255,.45);padding:14px 20px;font-size:13px}.contact-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:50px}.contact-grid>div{padding:34px 25px;border-right:1px solid var(--line)}.contact-grid h3{font:400 23px var(--serif)}.contact-grid a{text-decoration:underline;text-underline-offset:4px}footer{padding:60px 7vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:30px;background:var(--cream);border-top:1px solid var(--line)}footer p,footer small{font-size:12px;margin:0;color:#636a63}@media(max-width:850px){.nav{height:76px;padding:0 22px}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.nav nav.open{display:flex}.nav-cta{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:90px 7vw}.hero-image{min-height:500px}.section-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.feature,.about{grid-template-columns:1fr}.feature-image img{min-height:450px}.team-grid{grid-template-columns:1fr 1fr}.contact-grid,footer{grid-template-columns:1fr}.contact-grid>div{border-right:0;border-bottom:1px solid var(--line)}footer{align-items:start}}@media(max-width:520px){.brand{font-size:20px}.hero h1{font-size:58px}.actions{align-items:flex-start;flex-direction:column}.intro,.services,.team,.contact,.about{padding:85px 24px}.service-grid,.team-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line)}.feature-copy{padding:85px 24px}.section-head{margin-bottom:40px}.hero-image{min-height:420px}.award{padding:18px 22px}.contact-grid{margin-top:0}}
