:root{--ink:#202125;--charcoal:#202124;--cream:#f5f2ed;--white:#fff;--muted:#6f6d69;--line:#d5d0c8;--bronze:#a58a6f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.topbar{height:88px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(248,246,242,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(32,33,37,.12);backdrop-filter:blur(14px)}.brand-mark{position:relative;display:block;width:245px;height:76px;overflow:hidden}.brand-mark img{position:absolute;width:475px;max-width:none;left:50%;top:48%;transform:translate(-50%,-50%);mix-blend-mode:multiply}nav{display:flex;gap:36px;font-size:13px}nav a{transition:color .2s}nav a:hover{color:var(--bronze)}.header-contact{justify-self:end;border:1px solid #a49483;padding:12px 18px;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.menu-button{display:none;background:none;border:0;font:inherit}.hero{position:relative;min-height:720px;background:var(--charcoal);color:#fff;overflow:hidden}.hero-photo{position:absolute;top:0;right:0;bottom:0;width:56%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.04)}.hero:after{content:"";display:none}.hero-copy{position:relative;z-index:2;width:44%;padding:115px 4vw 65px 5vw;margin-left:0}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:600;color:var(--bronze)}.hero h1,.about h2,.regions h2,.question-heading h2,.contact h2{font-family:"Libre Caslon Display",serif;font-weight:400;letter-spacing:-.025em;line-height:1.06}.hero h1{font-size:clamp(3.2rem,5.2vw,5.6rem);margin:28px 0}.hero-copy>p:not(.eyebrow){max-width:510px;font-size:18px;color:#dedbd6}.button{display:inline-flex;align-items:center;gap:52px;margin-top:24px;padding:16px 22px;background:var(--bronze);color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:11px}.button span,.text-link span,.email span{transition:transform .2s}.button:hover span,.text-link:hover span,.email:hover span{transform:translateX(5px)}.principles{display:flex;gap:18px;align-items:center;margin-top:74px;text-transform:uppercase;letter-spacing:.25em;font-size:10px;color:#c9c4bd}.principles i{width:28px;height:1px;background:#77736e}.section{padding:90px 5vw}.section-intro{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;text-transform:uppercase;letter-spacing:.2em;font-size:11px}.section-intro p{margin:0}.service-list article{display:grid;grid-template-columns:90px minmax(250px,.8fr) 1.2fr;gap:28px;align-items:center;padding:31px 0;border-bottom:1px solid var(--line)}.number{font-family:"Libre Caslon Display",serif;color:var(--bronze);font-size:3.2rem}.service-list h2{font-family:"Libre Caslon Display",serif;font-size:1.8rem;font-weight:400;margin:0}.service-list p{margin:0;color:var(--muted);max-width:560px}.about{display:grid;grid-template-columns:1.1fr .9fr;background:var(--charcoal);color:#fff}.about-image{min-height:620px;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.about-copy{padding:95px 7vw;display:flex;flex-direction:column;justify-content:center}.about h2{font-size:clamp(2.8rem,4vw,4.6rem);margin:28px 0}.about-copy>p:not(.section-label){color:#d0ccc6;max-width:570px}.text-link{display:inline-flex;align-self:flex-start;gap:40px;margin-top:30px;padding-bottom:7px;border-bottom:1px solid var(--bronze);text-transform:uppercase;letter-spacing:.16em;font-size:11px}.regions{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw}.regions h2,.question-heading h2{font-size:clamp(2.7rem,4.2vw,4.6rem);margin:26px 0}.regions-copy>p:last-child{color:var(--muted);max-width:500px}.region-list{display:flex;flex-direction:column}.region-list span{font-family:"Libre Caslon Display",serif;font-size:1.65rem;padding:15px 0;border-bottom:1px solid var(--line)}.questions{background:#e9e5df;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.question-heading h2{max-width:620px}.question-list{border-top:1px solid #c5beb5}.question-list p{font-family:"Libre Caslon Display",serif;font-size:1.45rem;margin:0;padding:18px 0;border-bottom:1px solid #c5beb5}.contact{margin:5vw;background:var(--charcoal);color:#fff;padding:75px 6vw}.contact h2{font-size:clamp(2.8rem,4.5vw,5rem);max-width:900px;margin:28px 0 44px}.email{display:inline-flex;align-items:center;gap:35px;font-family:"Libre Caslon Display",serif;font-size:clamp(1.5rem,2.8vw,2.8rem);padding-bottom:7px;border-bottom:1px solid var(--bronze)}.contact-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:90px;padding-top:28px;border-top:1px solid #4b4b4c;color:#cbc8c3;font-size:14px}.contact-meta p{margin:0}.contact-meta strong{color:#fff}footer{display:flex;justify-content:space-between;padding:26px 5vw;font-size:12px;color:var(--muted)}.reveal{opacity:1;transform:none}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.topbar{height:76px;grid-template-columns:1fr auto}.brand-mark{width:205px;height:65px}.brand-mark img{width:400px}.header-contact{display:none}.menu-button{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:24px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{min-height:680px}.hero-photo{width:100%;opacity:.46;object-position:62% center}.hero-copy{width:100%;padding:105px 5vw 55px}.hero h1{font-size:clamp(2.8rem,12vw,4.2rem)}.principles{gap:10px;flex-wrap:wrap}.service-list article{grid-template-columns:62px 1fr}.service-list article p{grid-column:2}.number{font-size:2.4rem}.about{grid-template-columns:1fr}.about-image{min-height:420px}.about-copy{padding:75px 5vw}.regions,.questions{grid-template-columns:1fr}.contact{margin:0;padding:75px 5vw}.contact-meta{grid-template-columns:1fr;margin-top:65px}.email{font-size:clamp(1.2rem,5.6vw,2rem);word-break:break-word}footer{gap:18px;flex-direction:column}}
