:root{--ink:#171b18;--muted:#a8aca4;--paper:#f4f3ed;--line:#d9dacf;--max:1240px}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
a:focus-visible{outline:3px solid var(--primary);outline-offset:6px}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:auto;padding-inline:44px}
.header{height:114px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:block;position:relative;width:132px;aspect-ratio:950/690;overflow:hidden;mix-blend-mode:screen;flex-shrink:0}
.brand img{position:absolute;width:173.474%;max-width:none;height:auto;left:-36.842%;top:-69.565%}
nav{display:flex;align-items:center;gap:34px;font-size:13px}
nav>a{padding-block:12px}
.nav-contact{border-bottom:1px solid var(--primary)}
.nav-contact span{margin-left:22px}
.hero{padding-top:65px;padding-bottom:56px;display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:48px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;line-height:1.7;margin:0 0 25px;color:var(--primary);display:flex;align-items:center;gap:12px}
.accent-line{width:26px;height:1px;background:var(--primary)}
h1{font-size:clamp(48px,5.8vw,76px);font-weight:500;letter-spacing:-3.6px;line-height:1.06;margin:0 0 27px}
h1 em{font-family:Georgia,serif;font-weight:400;color:var(--primary)}
.intro{color:#c3c6be;font-size:16px;line-height:1.8}
.actions{display:flex;align-items:center;gap:27px;margin-top:33px}
.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;background:var(--primary);color:#171b18;padding:18px 23px;font-weight:700;font-size:13px;min-height:48px}
.button:hover{background:color-mix(in srgb, var(--primary), white 20%);text-decoration:none}
.text-link{font-size:13px;border-bottom:1px solid #62665e;padding-bottom:5px}
.location{font-size:9px;color:var(--muted);letter-spacing:1.8px;margin:40px 0 0}
.location span{color:var(--primary);font-size:19px;vertical-align:middle;margin-right:8px}
.hero-visual{position:relative;padding-top:22px}
.hero-visual:before{content:"";position:absolute;top:0;right:-14px;width:46%;height:70%;border:1px solid color-mix(in srgb, var(--primary), transparent 45%);z-index:-1}
.hero-visual img{width:100%;height:408px;object-fit:cover;object-position:69% center;filter:brightness(.85)}
.photo-caption{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:var(--muted);padding:18px 0;line-height:1.6}
.photo-caption span:first-child{letter-spacing:1.8px;color:var(--primary)}
.principles{display:grid;grid-template-columns:repeat(3,1fr);padding-block:28px;border-top:1px solid #3a3e36;gap:20px;font-size:12px;color:#c9cdc3}
.principles b{font-size:10px;color:var(--primary);font-weight:400;margin-right:14px}
.section{padding-block:92px}
h2{font-size:clamp(32px,3.2vw,43px);line-height:1.15;letter-spacing:-1.5px;font-weight:500;margin:0}
h3{font-size:25px;line-height:1.3;letter-spacing:-.6px;font-weight:500}
.about{max-width:none;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-inline:max(44px,calc((100% - var(--max))/2 + 44px))}
.about .eyebrow{color:color-mix(in srgb, var(--primary), black 45%)}
.about-copy{font-size:16px;line-height:1.8;color:#4e554b}
.about-copy p:first-child{margin-top:0}
.dark-link{display:inline-block;color:var(--ink);margin-top:12px}
.dark-link span{margin-left:26px}
.approach{background:#e9eae2;color:var(--ink)}
.approach .eyebrow{color:color-mix(in srgb, var(--primary), black 45%)}
.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:44px}
.section-heading>p{color:#5b6256;font-size:14px;line-height:1.8}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.cards article{border-top:1px solid #b7bbaa;padding-top:25px}
.card-number{font-size:9px;letter-spacing:1.8px;color:#676f5e}
.cards p{color:#596050;font-size:14px;line-height:1.8;max-width:290px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:75px}
.contact-heading>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.8;margin:25px 0 30px}
.contact-details>div{padding:22px 0;border-bottom:1px solid #3a3e36}
.contact-details>div:first-child{padding-top:0}
.detail-label{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-bottom:11px}
.contact-details a:not(.map-link){display:flex;justify-content:space-between;gap:16px;font-size:25px}
.contact-details a span{color:var(--primary)}
.contact-details a.email{font-size:17px;overflow-wrap:anywhere}
.contact-details address{font-style:normal;font-size:17px;line-height:1.6}
.map-link{display:inline-block;font-size:12px;color:var(--primary);margin-top:14px}
.footer{border-top:1px solid #3a3e36}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:35px}
.footer p,.footer-inner>a:last-child{font-size:11px;color:var(--muted)}
.skip-link{position:absolute;top:-100px;left:20px;background:var(--primary);color:var(--ink);padding:15px;z-index:10}
.skip-link:focus{top:10px}

@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:80px}
}

@media(max-width:900px){.wrap{padding-inline:28px}
.hero{gap:28px}
h1{font-size:54px;letter-spacing:-2px}
.actions{flex-wrap:wrap;gap:20px}
.hero-visual img{height:380px}
.about{padding-inline:28px;gap:40px}
.contact{gap:40px}
.contact-details a.email{font-size:15px}
nav{gap:20px}
.photo-caption{flex-direction:column;gap:5px}
}

@media(max-width:650px){.wrap{padding-inline:24px}
.header{height:auto;min-height:100px;flex-wrap:wrap;gap:22px;padding-block:24px}
nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}
.nav-contact span{margin-left:8px}
.hero{grid-template-columns:1fr;padding-top:36px;gap:38px;padding-bottom:28px}
h1{font-size:57px}
.hero-visual{padding-top:0}
.hero-visual:before{top:-12px;right:-8px}
.hero-visual img{height:280px;object-position:center}
.photo-caption{flex-direction:row;font-size:8px}
.principles{grid-template-columns:1fr;gap:20px;padding-block:27px}
.section{padding-block:60px}
.about,.contact{grid-template-columns:1fr;gap:32px}
.about{padding-inline:24px}
.section-heading{display:block;margin-bottom:30px}
.section-heading>p{margin-top:24px}
.cards{grid-template-columns:1fr;gap:24px}
.cards h3{margin-block:18px 12px}
.cards p{max-width:none}
.contact-details a.email{font-size:16px}
.footer-inner{flex-wrap:wrap;gap:24px}
.footer p{margin:0}
.footer-inner>a:last-child{width:100%}
.eyebrow{font-size:9px}
.location{margin-top:30px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}
