@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');:root{--navy:#102d3a;--teal:#176876;--sand:#f5f2ec;--ink:#18313a;--muted:#52646a;--line:#d8e0df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif;background:white}a{color:inherit}header{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.bar{max-width:1200px;margin:auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font:700 20px/1.2 'Libre Baskerville',Georgia,serif;color:var(--navy)}.brand small{display:block;font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-top:5px}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-weight:700;font-size:14px}nav a:hover,.textlink:hover{color:var(--teal)}.phone{background:var(--navy);color:white;padding:10px 16px;border-radius:3px;text-decoration:none;font-weight:700;font-size:14px}.wrap{max-width:1200px;margin:auto;padding:0 28px}.hero{background:var(--sand);overflow:hidden}.hero-grid{min-height:570px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:65px}.eyebrow{color:var(--teal);font-size:12px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.hero h1,.pagehero h1{font:400 clamp(38px,5.4vw,76px)/1.12 'Libre Baskerville',Georgia,serif;color:var(--navy);letter-spacing:-.035em;margin:20px 0}.hero p,.pagehero p{font-size:19px;max-width:640px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{display:inline-block;text-decoration:none;background:var(--teal);color:white;padding:14px 22px;border-radius:3px;font-weight:700}.btn.alt{background:transparent;color:var(--navy);border:1px solid var(--navy)}.portrait{position:relative;align-self:end;max-width:430px}.portrait img{width:100%;height:470px;object-fit:cover;object-position:center top;display:block}.portrait span{position:absolute;bottom:18px;left:-22px;background:white;padding:12px 18px;font-size:13px;box-shadow:0 12px 35px #102d3a22}.section{padding:80px 0}.section h2,.cta h2{font:400 clamp(28px,3vw,43px)/1.2 'Libre Baskerville',Georgia,serif;color:var(--navy);margin:10px 0 20px}.intro{max-width:700px;color:var(--muted);font-size:18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.card{border:1px solid var(--line);padding:25px;min-height:205px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.card:hover{border-color:var(--teal);transform:translateY(-3px)}.card h3{font:400 23px/1.3 'Libre Baskerville',Georgia,serif;margin:0;color:var(--navy)}.card p{color:var(--muted);margin:12px 0}.card b{color:var(--teal);font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:35px}.panel{background:var(--sand);padding:36px}.panel h3{font:400 27px/1.3 'Libre Baskerville',Georgia,serif;margin-top:0}.textlink{font-weight:700;color:var(--teal)}.cta{background:var(--navy);color:white;padding:64px 0}.cta h2{color:white}.cta p{color:#d6e4e5;max-width:650px}.cta .btn{background:white;color:var(--navy)}.pagehero{background:var(--sand);padding:85px 0 75px}.pagehero h1{max-width:950px}.content{max-width:780px}.content h2{font:400 30px/1.25 'Libre Baskerville',Georgia,serif;margin-top:42px}.content li{margin-bottom:10px}.area-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.area-links a{border:1px solid var(--line);padding:7px 12px;text-decoration:none;font-size:14px}.area-links a:hover{border-color:var(--teal)}footer{padding:45px 0;background:#0d2530;color:#d5e1e3;font-size:14px}footer a{color:inherit}footer .foot{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer p{margin:7px 0}footer .legal{color:#a8bec3;font-size:12px;max-width:800px;margin-top:28px}.mobile{display:none}@media(max-width:800px){.bar{padding:14px 20px;flex-wrap:wrap}.brand{font-size:17px}nav{order:3;width:100%;overflow:auto;gap:18px}.phone{padding:8px 10px;font-size:12px}.hero-grid{grid-template-columns:1fr;gap:15px;padding-top:55px}.portrait{justify-self:center}.portrait img{height:330px;width:300px}.portrait span{left:0}.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.section{padding:55px 0}}@media(max-width:560px){.wrap{padding:0 20px}.grid{grid-template-columns:1fr}.pagehero{padding:55px 0}.hero h1{font-size:40px}.hero p,.pagehero p{font-size:17px}.portrait{justify-self:start}.portrait img{height:280px;width:260px}nav a{white-space:nowrap}}
.property-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.property-gallery figure{margin:0}.property-gallery img{width:100%;height:220px;object-fit:cover;display:block}.property-gallery figcaption{font-size:13px;color:var(--muted);padding-top:8px}@media(max-width:700px){.property-gallery{grid-template-columns:1fr}.property-gallery img{height:240px}}.photo{width:100%;height:440px;object-fit:cover;display:block}.caption{font-size:12px;color:var(--muted);margin:7px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}.step{border-top:2px solid var(--teal);padding-top:18px}.step strong{color:var(--teal);font-size:13px;letter-spacing:.12em}.step h3{font:400 23px/1.35 'Libre Baskerville',Georgia,serif;margin:8px 0}.step p{color:var(--muted);margin:0}.feature{background:#edf3f2}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px;padding-left:20px}.feature-list li{padding-bottom:8px}.contact-strip{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:25px}.contact-strip a{font-weight:700}.small{font-size:14px!important;color:var(--muted)}.quote{font:400 clamp(23px,3vw,32px)/1.4 'Libre Baskerville',Georgia,serif;color:var(--navy)}.cta .btn.alt{background:transparent;color:white;border-color:white}.hero-grid{grid-template-columns:1.05fr .95fr}.hero .portrait{max-width:450px}.hero .portrait img{height:500px}.section .split{align-items:center}a:focus-visible,summary:focus-visible{outline:3px solid #e5a83c;outline-offset:3px}
@media(max-width:800px){.steps{grid-template-columns:repeat(2,1fr)}.photo{height:350px}}@media(max-width:560px){.steps,.feature-list{grid-template-columns:1fr}.photo{height:270px}.hero .portrait img{height:300px}.actions .btn{width:100%}}
