@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#102321;--paper:#f7f5ef;--gold:#bb943f;--mint:#dce9e1;--line:#d6d8d1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px Manrope,Arial,sans-serif}.header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);border-bottom:1px solid var(--line);position:sticky;z-index:5;top:0;background:#f7f5efee;backdrop-filter:blur(10px)}.brand{font-weight:800;letter-spacing:1px;color:inherit;text-decoration:none}.brand span{display:inline-grid;place-items:center;width:31px;height:31px;background:var(--ink);color:var(--paper);margin-right:8px;font-size:12px}nav{display:flex;gap:25px}nav a,footer a{color:inherit;text-decoration:none;font-size:13px;font-weight:700}.menu{display:none;border:0;background:none;font-size:25px}.hero{min-height:650px;background:var(--ink);color:white;padding:100px max(8vw,28px);display:grid;grid-template-columns:1.35fr .65fr;align-items:center;overflow:hidden}.hero>div:first-child{max-width:760px}.eyebrow{color:var(--gold);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;margin:0 0 16px}.hero h1,h2{font-family:'Playfair Display',serif;line-height:1.08}.hero h1{font-size:clamp(42px,6vw,82px);margin:0 0 24px}.hero p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:600px;color:#d5ded8}.button{display:inline-block;color:var(--ink);background:var(--gold);padding:15px 22px;font-weight:800;text-decoration:none;font-size:13px;margin-top:18px}.hero-mark{font-family:serif;font-size:430px;line-height:.6;color:#173633;text-align:center}.section{padding:110px max(8vw,28px)}h2{font-size:clamp(36px,4vw,56px);margin:0 0 14px}.intro{max-width:580px;color:#57625f;line-height:1.7}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.card{min-height:235px;padding:28px;background:#e7ece6;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;position:relative;overflow:hidden}.card.with-image:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102321e9,transparent 80%)}.card>*{position:relative}.card span{font-size:11px;color:var(--gold);font-weight:800}.card h3{font:700 24px 'Playfair Display',serif;margin:7px 0}.card p{margin:0;line-height:1.5;font-size:13px;color:#61716a}.card.with-image h3{color:white}.card.with-image p{color:#e8f0eb}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--mint)}.split>p{font-size:21px;line-height:1.7;margin:0}.service{background:#fff}.service>p{max-width:610px;line-height:1.7;color:#57625f}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:44px}.service-grid article{border-top:2px solid var(--gold);padding-top:20px}.service-grid b{color:var(--gold)}.service-grid h3{font:700 26px 'Playfair Display',serif;margin:14px 0 6px}.service-grid p{color:#62706a;font-size:14px}.contact{padding:85px max(8vw,28px);display:flex;justify-content:space-between;background:var(--gold);gap:50px}.contact .eyebrow{color:var(--ink)}.contact-details{display:grid;align-content:center;gap:12px;font-weight:700}.contact-details a{font-size:20px;color:var(--ink);text-decoration:none}.contact-details p{margin:0}footer{padding:25px max(8vw,28px);display:flex;justify-content:space-between;font-size:13px;background:var(--ink);color:white}footer a{color:var(--gold)}
@media(max-width:720px){.header{height:68px}.menu{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;padding:20px 5vw;background:var(--paper);flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{min-height:560px;grid-template-columns:1fr;padding-top:80px}.hero-mark{display:none}.grid,.service-grid{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:16px}.section{padding-top:75px;padding-bottom:75px}.contact{display:block;padding-top:65px;padding-bottom:65px}.contact-details{margin-top:35px}}
