:root{--green:#142C2A;--cypress:#223C39;--gold:#C3AE85;--ivory:#F5F2EB;--charcoal:#292D2B}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--charcoal);background:var(--ivory);line-height:1.75}h1,h2,h3,.brand{font-family:'Playfair Display',Georgia,serif;line-height:1.2;font-weight:500}h1{font-size:clamp(2.7rem,5vw,5rem)}h2{font-size:clamp(2rem,3.5vw,3.2rem)}h3{font-size:1.5rem}a{color:inherit}header{background:var(--green);color:var(--ivory);border-bottom:1px solid #39534d}nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;gap:20px}.brand{font-size:1.7rem;text-decoration:none;letter-spacing:.09em;display:flex;align-items:center;gap:13px}.brand small{display:block;font:500 .56rem Montserrat,Arial,sans-serif;letter-spacing:.37em;color:var(--gold)}.monogram{border:1px solid var(--gold);color:var(--gold);width:43px;height:43px;display:grid;place-items:center;font-size:1.6rem}.navlinks{display:flex;gap:24px;align-items:center}.navlinks a{text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.navlinks a:hover{color:var(--gold)}.navlinks .navcta{border:1px solid var(--gold);padding:10px 15px;color:var(--gold)}.hero{background:var(--green);color:var(--ivory);padding:90px 28px 105px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:650px;height:650px;right:-250px;top:-200px;border:1px solid #45615a;border-radius:50%;box-shadow:0 0 0 80px #1b3632,0 0 0 81px #45615a;opacity:.5}.wrap{max-width:1120px;margin:auto;position:relative;z-index:1}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.22em;font-weight:600;color:#a58d62}.hero .eyebrow{color:var(--gold)}.hero h1{max-width:850px;margin:30px 0}.gold{color:var(--gold)}.hero p{max-width:680px;font-size:1.15rem;color:#e3e8e2}.button{display:inline-block;text-decoration:none;background:var(--gold);color:var(--green);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;padding:16px 24px;margin-top:22px}.button.outline{background:transparent;border:1px solid var(--gold);color:var(--gold)}section{padding:82px 28px}.section-light{background:var(--ivory)}.section-white{background:white}.section-dark{background:var(--cypress);color:var(--ivory)}.lead{font-size:1.15rem;max-width:780px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:35px}.grid.three{grid-template-columns:repeat(3,1fr)}.panel{padding:32px;border:1px solid #d6d7d0;background:white}.panel h3{margin-top:0}.panel a{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#536c61}.section-dark .panel{background:#1b3834;border-color:#45615a}.section-dark .panel a{color:var(--gold)}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.portrait{margin:0;background:#e5e6de;border:1px solid #d3d1c6;overflow:hidden}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 27%}.portrait figcaption{padding:14px 18px;background:#fff;color:var(--green);font-family:'Playfair Display',Georgia,serif;font-size:1.15rem}.portrait figcaption span{display:block;color:#61706b;font-family:Montserrat,Arial,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-top:3px}footer{background:var(--green);color:var(--ivory);padding:48px 28px}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer small{color:#c4d0c9}.pagehero{background:var(--green);color:var(--ivory);padding:75px 28px}.pagehero h1{margin:14px 0}.metric{border-top:2px solid var(--gold);padding-top:15px}.metric strong{font-family:Georgia,serif;font-size:2.4rem;color:var(--green);font-weight:400}.contact-note{padding:26px;background:#e9e7de;border-left:3px solid var(--gold)}.contact-form{display:grid;gap:14px}.contact-form label{font-size:.8rem;font-weight:600}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;padding:12px;margin-top:5px;border:1px solid #bbbfb9;background:#fff;font:inherit}.contact-form button{border:0;cursor:pointer;text-align:left;max-width:300px}.fine{font-size:.8rem;color:#626964}.section-dark .fine{color:#c9d2cd}@media(max-width:760px){.navlinks{gap:10px;flex-wrap:wrap;justify-content:flex-end}.navlinks a{font-size:.65rem}.navlinks .navcta{display:none}nav{align-items:flex-start}.grid,.grid.three,.split{grid-template-columns:1fr}.hero{padding:65px 24px}.hero:after{opacity:.2}section{padding:60px 24px}}

/* Explicit three-line tagline; each thought stays together on all screen sizes. */
.hero h1.hero-tagline{max-width:none;font-size:clamp(1.65rem,5.1vw,4.9rem);line-height:1.3}
.hero-tagline span,.footer-tagline span{display:block;white-space:nowrap}
.footer-tagline{font-family:'Playfair Display',Georgia,serif;line-height:1.55;margin-bottom:14px}
.footer-tagline span:last-child{color:var(--gold)}
.footer-address{font-style:normal;font-size:.79rem;color:#c4d0c9;line-height:1.9;margin-top:12px}
.footer-address a{color:inherit;text-decoration:none}
.footer-address a:hover,.contact-details a:hover{text-decoration:underline}
.contact-details{margin-top:26px;padding-top:18px;border-top:1px solid #d6d7d0}
.contact-details p{margin:14px 0}
.contact-details a{color:var(--green)}
@media(max-width:760px){.hero h1.hero-tagline{font-size:clamp(1.28rem,5vw,2.5rem)}}
@media(max-width:380px){.hero h1.hero-tagline{font-size:4.6vw}}
