@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#18211f;--paper:#f6f5f0;--accent:#d9ef8c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.logo{font-family:Manrope,sans-serif;font-size:37px;font-weight:800;letter-spacing:-2px}.logo span{color:#63764a;margin-left:4px}nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}.nav-cta{border:1px solid #b8beb5;padding:13px 20px;border-radius:3px}.hero{position:relative;min-height:680px;height:calc(100svh - 88px);max-height:980px;color:white;margin:0 18px;overflow:hidden}.hero>img,.shade{position:absolute;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,rgba(7,24,22,.65),rgba(7,24,22,.08)),linear-gradient(0deg,rgba(7,24,22,.55),transparent 35%)}.hero-content{position:relative;padding:105px 6% 130px}.eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:600;margin:0 0 30px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(65px,7.8vw,120px);line-height:1.02;font-weight:500;letter-spacing:-6px;margin:0 0 42px}.hero-bottom{display:flex;gap:70px;align-items:center}.hero-bottom p{font-size:17px;line-height:1.65;color:#e1e8e0}.button{display:inline-flex;gap:52px;justify-content:space-between;align-items:center;background:var(--accent);color:var(--ink);padding:20px 25px;font-size:13px;font-weight:700;border-radius:2px}.button span{font-size:22px}.button:hover{background:#e9ffac}.hero-foot{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:23px;font-size:9px;letter-spacing:2px}.wrap{padding:110px 7%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px}.dark{color:#65715f}h2{font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(38px,4vw,62px);letter-spacing:-2.5px;line-height:1.12;margin:0 0 30px}.body-copy{font-size:18px;line-height:1.8;max-width:590px;color:#647069}.text-link{display:inline-flex;margin-top:20px;gap:55px;border-bottom:1px solid #8d9886;padding-bottom:12px;font-size:14px}.work{padding-top:35px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-head h2{margin:0}.section-head>p{font-size:13px;line-height:1.8;color:#68716b}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.photo{position:relative;border:0;padding:0;cursor:pointer;height:410px;overflow:hidden;text-align:left;color:white;background:#23332a}.photo.wide{grid-column:1/-1;height:550px}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo:hover img{transform:scale(1.035)}.photo-overlay{position:absolute;inset:0;display:flex;align-items:end;justify-content:space-between;padding:32px;background:linear-gradient(0deg,#081b19b0,transparent 60%)}.photo small{display:block;font-size:9px;letter-spacing:2px;margin-bottom:10px}.photo strong{font-size:25px;font-weight:400;letter-spacing:-.5px}.photo b{font-size:25px;font-weight:400;border:1px solid #ffffff70;border-radius:50%;width:42px;height:42px;text-align:center;line-height:40px}.closing{display:grid;grid-template-columns:1fr 1fr;background:#1c2925;color:var(--paper)}.closing-photo{background:url('assets/golf-hole.png') center/cover;min-height:600px}.closing-copy{padding:80px 12%}.closing h2{font-size:clamp(38px,3.7vw,58px)}.closing em{font-style:normal;color:var(--accent)}.closing p:not(.eyebrow){color:#bac6be;line-height:1.8;font-size:16px;margin:30px 0}.closing .button{margin-top:12px}footer{display:flex;align-items:center;gap:35px;flex-wrap:wrap;padding:42px 7%}footer>span{font-size:13px;color:#65715f}footer>a:not(.logo){margin-left:auto;font-size:10px;letter-spacing:1.5px}footer small{width:100%;border-top:1px solid #d8ddd3;padding-top:25px;color:#778174;font-size:11px}dialog{border:0;background:#101815f5;color:white;padding:65px;width:100vw;height:100dvh;max-width:none;max-height:none}dialog::backdrop{background:#101815}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;max-width:90%;text-align:center}dialog img{max-width:100%;max-height:78dvh;object-fit:contain}dialog figcaption{padding:20px;font-size:14px}dialog button{position:absolute;background:transparent;border:1px solid #ffffff70;color:white;width:44px;height:44px;border-radius:50%;cursor:pointer}.close{right:24px;top:20px}.previous{left:16px}.next{right:16px}:focus-visible{outline:3px solid #90ad50;outline-offset:5px}@media(max-width:700px){header{height:76px;padding:0 6%}.logo{font-size:30px}nav{gap:16px}nav>a:nth-child(2),.nav-cta{display:none}.hero{margin:0 9px;min-height:650px;height:calc(90svh - 76px)}.hero-content{padding:100px 7%}.hero h1{font-size:62px;letter-spacing:-3.5px}.hero-bottom{align-items:start;flex-direction:column;gap:12px}.hero-foot{font-size:8px;letter-spacing:1px}.hero-foot>span{display:none}.wrap{padding:70px 7%}.intro{grid-template-columns:1fr;gap:10px}.intro .eyebrow{margin-bottom:15px}.body-copy{font-size:16px}.section-head{display:block}.gallery{grid-template-columns:1fr}.photo,.photo.wide{grid-column:auto;height:340px}.photo-overlay{padding:23px}.closing{grid-template-columns:1fr}.closing-photo{min-height:330px}.closing-copy{padding:55px 7%}h2{letter-spacing:-1.5px}footer{gap:20px}footer>span{display:none}dialog{padding:55px 12px}dialog figure{max-width:100%}dialog .previous,dialog .next{bottom:25px}.work{padding-top:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

.reviews{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:80px;border-top:1px solid #d8ddd3}.reviews .body-copy{max-width:480px}.rating-panel{background:#e9ede2;padding:44px;text-align:center}.rating-label{font-size:11px;letter-spacing:2px;font-weight:600}.rating-number{font-family:Manrope,sans-serif;font-size:86px;letter-spacing:-5px;line-height:1.2;margin-top:24px}.rating-number span{font-size:24px;letter-spacing:-1px;color:#65715f;margin-left:8px}.rating-stars{color:#657b37;font-size:26px;letter-spacing:5px;margin:10px 0}.rating-panel>p:not(.rating-label){font-size:14px;color:#58644f}.rating-panel .button{margin-top:20px}.rating-panel small{display:block;font-size:10px;color:#65715f;margin-top:22px}@media(max-width:700px){.reviews{grid-template-columns:1fr;gap:38px}.rating-panel{padding:32px 22px}}

.mobile-contact{display:none}.contact-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;padding-top:75px;padding-bottom:80px}.contact-intro h1{font-family:Manrope,sans-serif;font-size:clamp(42px,4.7vw,70px);line-height:1.08;font-weight:500;letter-spacing:-3px;margin:0 0 28px}.contact-image{margin:0;position:relative;min-height:630px}.contact-image img{width:100%;height:100%;object-fit:cover;position:absolute}.contact-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:80px 28px 28px;background:linear-gradient(transparent,#14231dc9);color:white;font-size:14px}.contact-details{margin-top:32px}.contact-details>a{display:block;position:relative;padding:22px 30px 22px 0;border-bottom:1px solid #cbd2c5}.contact-details .eyebrow{display:block;margin-bottom:12px;font-size:10px}.contact-details strong{font-size:clamp(16px,1.8vw,25px);font-weight:500;overflow-wrap:anywhere}.contact-arrow{position:absolute;right:0;bottom:23px;font-size:23px}.service-area{margin-top:38px}.service-area .eyebrow{margin-bottom:15px}.service-area h2{font-size:26px;letter-spacing:-.7px;margin-bottom:10px}.service-area>p:last-child{color:#65715f;font-size:14px}@media(max-width:700px){.mobile-contact{display:inline}.contact-intro{grid-template-columns:1fr;gap:45px;padding-top:50px}.contact-intro h1{letter-spacing:-2px}.contact-image{min-height:360px}.contact-details strong{font-size:19px}nav{gap:14px;font-size:12px}}

.hero{height:auto;max-height:none;min-height:850px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);align-items:center;gap:5%;padding:60px 5% 110px}.hero>img,.hero .shade{inset:0}.hero-content{padding:0}.hero h1{font-size:clamp(48px,6vw,94px);letter-spacing:-3px}.hero-bottom{flex-wrap:wrap;gap:25px}.hero-form{position:relative;background:#f6f5f0f5;color:var(--ink);padding:32px;max-width:470px;width:100%;justify-self:end;border-radius:3px}.hero-form h2{font-size:32px;letter-spacing:-1px}.hero-form p{font-size:12px;line-height:1.6}.hero-form .eyebrow{font-size:10px;margin-bottom:18px}.hero-form label{display:block;font-size:12px;margin-top:15px}.hero-form input,.hero-form textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #cbd2c5;background:white;font:inherit;border-radius:2px}.hero-form textarea{resize:vertical}.hero-form .button{margin-top:20px;width:100%;border:0}.hero-form small,.hero-form>a{display:block;font-size:11px;margin-top:14px}.hero-form>a{text-decoration:underline}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:40px;padding:65px 7% 95px}.hero-form{max-width:none}.hero h1{font-size:clamp(42px,9vw,74px)}}

.logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}.logo img{display:block;width:180px;height:80px;object-fit:cover;mix-blend-mode:multiply}header{min-height:98px}footer .logo img{width:205px;height:92px}@media(max-width:700px){header{height:auto;min-height:90px;gap:14px;flex-wrap:wrap;padding-top:5px;padding-bottom:10px}.logo img{width:145px;height:66px}header nav{flex-wrap:wrap;gap:12px}footer .logo img{width:180px;height:80px}}
