.landing{--lg-pine:#1f3a2e;--lg-pine-dark:#142720;--lg-cream:#f6f1e4;--lg-cream-2:#efe7d3;--lg-sage:#7a9e5a;--lg-sage-soft:#b8c5a0;--lg-amber:#c97c3d;--lg-amber-dark:#a8632c;--lg-text:#223027;--lg-muted:#5c6d61;--lg-border:#e0d6bd;--lg-panel:#fffdf8;background:var(--lg-cream);color:var(--lg-text);font-family:var(--font-sans), -apple-system, sans-serif;min-height:100vh;line-height:1.5}.landing *{box-sizing:border-box}.landing a{color:inherit;text-decoration:none}.landing h1,.landing h2,.landing h3{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.01em;color:var(--lg-pine);font-weight:600}.landing .nav{z-index:20;-webkit-backdrop-filter:blur(10px);background:#f6f1e4bf;justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:16px 32px;display:flex;position:sticky;top:0}.landing .nav-links{align-items:center;gap:28px;display:flex}.landing .nav-links a{color:var(--lg-text);font-size:14.5px;font-weight:500}.landing .nav-links a:hover{color:var(--lg-sage)}.landing .nav-links a.nav-link-hide-mobile{display:inline}@media (max-width:720px){.landing .nav-links a.nav-link-hide-mobile{display:none}}.landing .brand{font-family:var(--font-serif), serif;color:var(--lg-pine);font-size:21px;font-weight:600}.landing .brand em{color:var(--lg-sage);font-style:normal}.landing a.btn,.landing button.btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;border-radius:999px;padding:11px 22px;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s,background-color .15s;display:inline-block}.landing a.btn:hover,.landing button.btn:hover:not(:disabled){transform:translateY(-1px)}.landing a.btn:focus-visible,.landing button.btn:focus-visible{outline:2px solid var(--lg-sage);outline-offset:2px}.landing a.btn-primary,.landing a.btn-primary:hover,.landing a.btn-primary:visited,.landing a.btn-primary:active,.landing button.btn-primary{background:var(--lg-amber);color:#fff;box-shadow:0 4px 14px #c97c3d59}.landing a.btn-primary:hover,.landing button.btn-primary:hover:not(:disabled){background:var(--lg-amber-dark)}.landing button.btn-primary:disabled{opacity:.6;cursor:not-allowed}.landing a.btn-outline,.landing a.btn-outline:hover,.landing a.btn-outline:visited,.landing a.btn-outline:active{border-color:var(--lg-pine);color:var(--lg-pine);background:0 0}.landing a.btn-outline:hover{background:#1f3a2e0f}.landing a.btn-ghost,.landing a.btn-ghost:hover,.landing a.btn-ghost:visited,.landing a.btn-ghost:active{color:var(--lg-pine);text-underline-offset:3px;background:0 0;text-decoration:underline}.landing .hero{padding:88px 32px 0;position:relative;overflow:hidden}.landing .hero-inner{text-align:center;z-index:1;max-width:800px;margin:0 auto;position:relative}.landing .hero-blob{z-index:0;pointer-events:none;background:radial-gradient(600px 340px at 20% 20%,#7a9e5a47,#0000 65%),radial-gradient(520px 320px at 85% 10%,#c97c3d29,#0000 60%);height:640px;position:absolute;inset:-20% -10% auto}.landing .eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--lg-sage);margin-bottom:18px;font-size:13px;font-weight:600;display:inline-block}.landing .hero h1{margin:0 0 20px;font-size:clamp(34px,5.4vw,58px);line-height:1.08}.landing .hero h1 em{color:var(--lg-amber);font-style:italic}.landing .hero p.lead{color:var(--lg-muted);max-width:560px;margin:0 auto 32px;font-size:18px;line-height:1.6}.landing .cta-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:56px;display:flex}.landing .stat-bar{z-index:1;background:var(--lg-panel);border:1px solid var(--lg-border);border-radius:16px;grid-template-columns:repeat(4,1fr);max-width:900px;margin:0 auto;display:grid;position:relative;transform:translateY(40px);box-shadow:0 12px 32px #1f3a2e14}.landing .stat{text-align:center;border-right:1px solid var(--lg-border);padding:24px 12px}.landing .stat:last-child{border-right:none}.landing .stat .num{font-family:var(--font-serif), serif;color:var(--lg-pine);font-size:26px;font-weight:700;display:block}.landing .stat .label{color:var(--lg-muted);margin-top:2px;font-size:12.5px}@media (max-width:720px){.landing .stat-bar{grid-template-columns:repeat(2,1fr);transform:translateY(24px)}.landing .stat:nth-child(2){border-right:none}}.landing section{max-width:1180px;margin:0 auto;padding:120px 32px 80px}.landing section.tight-top{padding-top:80px}.landing section .kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--lg-sage);margin:0 0 10px;font-size:13px;font-weight:600}.landing section h2{margin:0 0 14px;font-size:clamp(26px,3.4vw,36px)}.landing section .section-sub{color:var(--lg-muted);max-width:620px;margin:0 0 44px;font-size:15.5px}.landing .band{background:var(--lg-cream-2)}.landing .split{grid-template-columns:1.1fr .9fr;align-items:start;gap:56px;display:grid}@media (max-width:800px){.landing .split{grid-template-columns:1fr}}.landing .card{background:var(--lg-panel);border:1px solid var(--lg-border);border-radius:14px;padding:28px}.landing .fact-list{color:var(--lg-muted);font-size:14.5px;line-height:2}.landing .fact-list b{color:var(--lg-text)}.landing .amenity-row{border-bottom:1px solid var(--lg-border);grid-template-columns:220px 1fr;align-items:center;gap:40px;padding:36px 0;display:grid}.landing .amenity-row:last-child{border-bottom:none}.landing .amenity-row:nth-child(2n){grid-template-columns:1fr 220px}.landing .amenity-row:nth-child(2n) .amenity-visual{order:2}.landing .amenity-visual{aspect-ratio:1;background:var(--lg-cream-2);border-radius:20px;width:100%;max-width:220px;padding:34px}.landing .amenity-text h3{margin:0 0 10px;font-size:21px}.landing .amenity-text p{color:var(--lg-muted);max-width:460px;margin:0;font-size:15px;line-height:1.6}@media (max-width:640px){.landing .amenity-row,.landing .amenity-row:nth-child(2n){text-align:center;grid-template-columns:1fr}.landing .amenity-row:nth-child(2n) .amenity-visual{order:0}.landing .amenity-visual,.landing .amenity-text p{margin:0 auto}}.landing .gallery-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;display:grid}.landing .gallery-tile{aspect-ratio:4/3;background:var(--lg-panel);border:1px solid var(--lg-border);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex}.landing .gallery-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1f3a2e1a}.landing .gallery-tile .gallery-icon{width:44px;height:44px}.landing .gallery-tile .gallery-caption{color:var(--lg-muted);text-align:center;font-size:12.5px}.landing .map-frame{border:1px solid var(--lg-border);border-radius:16px;height:360px;overflow:hidden}.landing .map-frame iframe{border:0;width:100%;height:100%;display:block}.landing .location-pin-row{color:var(--lg-muted);align-items:center;gap:8px;margin-bottom:10px;font-size:14.5px;display:flex}.landing .contact-form{background:var(--lg-panel);border:1px solid var(--lg-border);border-radius:16px;padding:32px}.landing .contact-form input,.landing .contact-form textarea,.landing .contact-form select{border:1.5px solid var(--lg-border);background:var(--lg-cream);width:100%;color:var(--lg-text);border-radius:10px;margin-bottom:14px;padding:12px 14px;font-family:inherit;font-size:14.5px}.landing .contact-form input:focus,.landing .contact-form textarea:focus,.landing .contact-form select:focus{border-color:var(--lg-sage);outline:none}.landing .contact-form label{color:var(--lg-text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.landing footer{background:var(--lg-pine);color:#f6f1e4bf}.landing footer .footer-inner{grid-template-columns:1.4fr 1fr 1fr;gap:40px;max-width:1180px;margin:0 auto;padding:64px 32px 32px;display:grid}@media (max-width:720px){.landing footer .footer-inner{grid-template-columns:1fr;gap:28px}}.landing footer h4{color:var(--lg-cream);font-family:var(--font-serif), serif;margin:0 0 16px;font-size:15px}.landing footer .brand{color:var(--lg-cream)}.landing footer .brand em{color:var(--lg-sage-soft)}.landing footer p,.landing footer a{color:#f6f1e4ad;font-size:13.5px;line-height:2}.landing footer a:hover{color:var(--lg-cream)}.landing footer .footer-bottom{text-align:center;color:#f6f1e480;border-top:1px solid #f6f1e424;padding:20px 32px;font-size:12.5px}
