:root{--pine:#1E3A2F;--pine-deep:#15291E;--pine-mid:#28503E;--amber:#E0A33E;--amber-hover:#CB8C24;--bone:#F4EFE3;--bone-soft:#FBF9F2;--ink:#23201A;--ink-soft:#5C564A;--sage:#9CAE94;--line:rgba(35,32,26,.12);--line-light:rgba(244,239,227,.18);--shadow:0 18px 50px -20px rgba(21,41,30,.45);--maxw:1120px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bone);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.08;font-weight:600;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--amber)}em{font-style:italic}.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:var(--pine-deep);padding:10px 16px;border-radius:8px;font-weight:600;z-index:200}.skip:focus{left:16px;top:16px}.btn{display:inline-flex;align-items:center;gap:.5em;justify-content:center;font-weight:600;font-size:1rem;padding:.95em 1.6em;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap}.btn-primary{background:var(--amber);color:var(--pine-deep);box-shadow:0 8px 24px -8px #e0a33eb3}.btn-primary:hover{background:var(--amber-hover);transform:translateY(-2px)}.btn-primary[disabled]{opacity:.7;cursor:default;transform:none}.btn-ghost{background:transparent;color:var(--bone);border-color:var(--line-light)}.btn-ghost:hover{border-color:var(--bone);background:#f4efe314}.btn-dark{background:var(--pine);color:var(--bone)}.btn-dark:hover{background:var(--pine-deep);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--pine);border-color:#1e3a2f52}.btn-outline:hover{background:var(--pine);color:var(--bone);transform:translateY(-2px)}.btn:focus-visible{outline:3px solid var(--amber);outline-offset:3px}header.site{position:sticky;top:0;z-index:80;background:#15291eeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line-light)}.nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:var(--bone);flex:none}.brand .mark{width:34px;height:34px;flex:none}.brand b{font-family:Fraunces,serif;font-weight:600;font-size:1.18rem;letter-spacing:-.01em}.brand small{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);font-weight:600;margin-top:-2px}.nav-links{display:flex;align-items:center;gap:26px;margin-left:auto}.nav-links a{color:#f4efe3d1;font-size:.94rem;font-weight:500;position:relative;padding:4px 0;transition:color .15s ease}.nav-links a:hover,.nav-links a.active{color:var(--bone)}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--amber);border-radius:2px}.nav-actions{display:flex;align-items:center;gap:16px;flex:none}.nav-phone{color:var(--bone);font-weight:600;display:flex;align-items:center;gap:7px;font-size:.95rem;white-space:nowrap}.nav-phone svg{width:16px;height:16px;stroke:var(--amber)}.nav-actions .btn{padding:.58em 1.2em;font-size:.9rem}.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:8px;color:var(--bone)}.nav-toggle svg{width:26px;height:26px;stroke:var(--bone);stroke-width:2}@media(max-width:980px){.nav-links{position:fixed;inset:70px 0 auto;flex-direction:column;align-items:stretch;gap:0;background:var(--pine-deep);border-bottom:1px solid var(--line-light);padding:8px 0 16px;margin:0;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;max-height:calc(100vh - 70px);overflow:auto}.nav-links.open{transform:none;opacity:1;pointer-events:auto}.nav-links a{padding:14px 24px;font-size:1.02rem;border-bottom:1px solid rgba(244,239,227,.07)}.nav-links a.active:after{display:none}.nav-links a.active{color:var(--amber)}.nav-toggle{display:inline-flex}.nav-phone span{display:none}}@media(max-width:560px){.nav-actions .btn{display:none}.nav-phone{font-size:.9rem}}.hero{position:relative;color:var(--bone);overflow:hidden;background:url(/photos/hero-rv-field.jpg) center 42% / cover no-repeat}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(102deg,#14281eed,#14281ebd 46%,#14281e5c)}.hero-inner{padding:124px 0 132px;position:relative;z-index:1}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(2.5rem,6vw,4.6rem);max-width:15ch;font-weight:600}.hero h1 em{color:var(--amber)}.hero p.lead{font-size:clamp(1.05rem,2vw,1.3rem);max-width:46ch;margin:22px 0 32px;color:#f4efe3d9}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.trust-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.chip{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;background:#f4efe314;border:1px solid var(--line-light);padding:.5em 1em;border-radius:999px;color:#f4efe3eb}.chip svg{width:15px;height:15px;stroke:var(--amber);flex:none}@media(max-width:680px){.hero{background:url(/photos/hero-rv-field.jpg) center / cover no-repeat}.hero:after{background:linear-gradient(to top,#14281ef7 6%,#14281ed1 52%,#14281e8c)}.hero-inner{padding:92px 0 84px}}.strip{background:var(--amber);color:var(--pine-deep)}.strip .wrap{display:flex;flex-wrap:wrap;gap:8px 40px;justify-content:center;padding:18px 24px;font-weight:600;font-size:.95rem}.strip span{display:inline-flex;align-items:center;gap:9px}.strip svg{width:18px;height:18px;stroke:var(--pine-deep)}section{padding:84px 0}.sec-head{max-width:60ch;margin-bottom:48px}.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}.sec-head h2{font-size:clamp(1.9rem,4vw,2.9rem);margin:14px 0 16px}.sec-head h2 em{color:var(--amber)}.sec-head p{color:var(--ink-soft);font-size:1.08rem}.bg-soft{background:var(--bone-soft)}.offer-grid{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:stretch}@media(max-width:820px){.offer-grid{grid-template-columns:1fr;gap:28px}}.offer-photo{border-radius:22px;min-height:440px;box-shadow:var(--shadow);background-size:cover;background-position:center}@media(max-width:820px){.offer-photo{min-height:260px}}.offer-copy h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:14px 0 18px}.offer-copy h2 em{color:var(--amber)}.offer-copy p{color:var(--ink-soft);font-size:1.08rem;margin-bottom:22px}.price-card{background:var(--pine);color:var(--bone);border-radius:22px;padding:40px;box-shadow:var(--shadow);position:relative;overflow:hidden}.price-card:before{content:"";position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(224,163,62,.35),transparent 70%)}.price-card .tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--sage);font-weight:600}.price-card .amt{font-family:Fraunces,serif;font-size:3.4rem;font-weight:600;line-height:1;margin:10px 0 4px}.price-card .amt sup{font-size:1.3rem;vertical-align:super;color:var(--amber)}.price-card .per{color:#f4efe3b3;font-size:.95rem}.price-card ul{list-style:none;margin:26px 0 30px;display:grid;gap:13px}.price-card li{display:flex;gap:11px;font-size:.97rem;color:#f4efe3eb}.price-card li svg{width:19px;height:19px;stroke:var(--amber);flex:none;margin-top:2px}.price-card .btn{width:100%}.amen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}.amen{background:var(--bone-soft);padding:30px 26px;transition:background .2s ease}.amen:hover{background:#fff}.amen .ic{width:42px;height:42px;border-radius:11px;background:#1e3a2f14;display:grid;place-items:center;margin-bottom:16px}.amen .ic svg{width:22px;height:22px;stroke:var(--pine);fill:none;stroke-width:1.7}.amen h3{font-size:1.12rem;font-weight:600;margin-bottom:6px}.amen p{font-size:.92rem;color:var(--ink-soft);line-height:1.5}.feature{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.feature+.feature{margin-top:72px}.feature.flip .feature-media{order:2}.feature-media{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}.feature-media img{width:100%;height:100%;object-fit:cover}.feature-body h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin:12px 0 16px}.feature-body h2 em{color:var(--amber)}.feature-body p{color:var(--ink-soft);font-size:1.06rem;margin-bottom:16px}.feature-list{list-style:none;display:grid;gap:12px;margin-top:8px}.feature-list li{display:flex;gap:11px;align-items:flex-start;font-size:1rem;color:var(--ink)}.feature-list svg{width:20px;height:20px;stroke:var(--pine);flex:none;margin-top:3px;stroke-width:2;fill:none}@media(max-width:820px){.feature{grid-template-columns:1fr;gap:26px}.feature.flip .feature-media{order:0}}.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:900px){.gal-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:460px){.gal-grid{grid-template-columns:1fr}}.gal-item{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/2;box-shadow:0 14px 32px -18px #15291e8c;cursor:pointer;border:0;padding:0;background:none;width:100%;display:block}.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gal-item:hover img,.gal-item:focus-within img{transform:scale(1.06)}.gal-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-weight:600;font-size:.95rem;text-align:left;background:linear-gradient(to top,rgba(15,29,21,.85),transparent)}.gal-item.tall{aspect-ratio:3/4}@media(max-width:900px){.gal-item.tall{aspect-ratio:3/2}}.lightbox{position:fixed;inset:0;z-index:120;background:#0f1d15f0;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:84vh;border-radius:12px;box-shadow:0 30px 80px -30px #000000b3}.lightbox .lb-cap{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:var(--bone);font-weight:600}.lightbox button{position:absolute;background:#f4efe31f;border:1px solid var(--line-light);color:var(--bone);width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:1.5rem;transition:background .15s ease}.lightbox button:hover{background:#f4efe33d}.lb-close{top:24px;right:24px}.lb-prev{left:24px;top:50%;transform:translateY(-50%)}.lb-next{right:24px;top:50%;transform:translateY(-50%)}.lightbox svg{width:22px;height:22px;stroke:var(--bone);stroke-width:2;fill:none}.map-embed{border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--pine-mid)}.map-embed iframe{display:block;width:100%;height:380px;border:0}.map-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;background:var(--pine)}.map-bar .a{font-weight:600;color:var(--bone);font-size:.95rem}.map-bar .a span{display:block;color:var(--sage);font-weight:500;font-size:.85rem;margin-top:2px}.map-bar a.dir{color:var(--amber);font-weight:600;font-size:.9rem;white-space:nowrap}.map-bar a.dir:hover{text-decoration:underline}.loc{position:relative;color:var(--bone);background:url(/photos/hilltop-wide.jpg) center/cover no-repeat}.loc:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0f1d15eb,#14281edb)}.loc>.wrap{position:relative;z-index:1}.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}@media(max-width:820px){.loc-grid{grid-template-columns:1fr;gap:36px}}.loc .eyebrow{margin-bottom:14px}.loc h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:18px}.loc h2 em{color:var(--amber)}.loc p{color:#f4efe3d1;font-size:1.08rem;margin-bottom:18px}.loc-stats{display:flex;gap:36px;flex-wrap:wrap;margin-top:30px}.loc-stat .n{font-family:Fraunces,serif;font-size:2.2rem;font-weight:600;color:var(--amber);line-height:1}.loc-stat .l{font-size:.85rem;color:var(--sage);margin-top:6px}.lead-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}@media(max-width:820px){.lead-grid{grid-template-columns:1fr;gap:32px}}.lead-copy h2{font-size:clamp(1.9rem,4vw,2.6rem);margin:14px 0 16px}.lead-copy p{color:var(--ink-soft);font-size:1.06rem;margin-bottom:24px}.lead-copy .or{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-weight:600;flex-wrap:wrap}.lead-copy .or a{color:var(--pine);text-decoration:underline}.contact-list{display:grid;gap:18px;margin-top:30px}.contact-list .ci{display:flex;gap:14px;align-items:flex-start}.contact-list .ci .ic{width:42px;height:42px;border-radius:11px;background:#1e3a2f14;display:grid;place-items:center;flex:none}.contact-list .ci .ic svg{width:20px;height:20px;stroke:var(--pine);fill:none;stroke-width:1.8}.contact-list .ci h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:3px;font-weight:600}.contact-list .ci p{margin:0;font-size:1.02rem;color:var(--ink);font-weight:500}.contact-list .ci a{color:var(--pine);font-weight:600}form.lead-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow)}.field{margin-bottom:18px}.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:7px;letter-spacing:.02em}.field input,.field select,.field textarea{width:100%;padding:.85em 1em;border:1.5px solid var(--line);border-radius:11px;font-family:inherit;font-size:1rem;color:var(--ink);background:var(--bone-soft);transition:border .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px #e0a33e40;background:#fff}.field textarea{resize:vertical;min-height:90px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:480px){.row2{grid-template-columns:1fr}}form.lead-form .btn{width:100%;margin-top:6px}.form-note{font-size:.8rem;color:var(--ink-soft);text-align:center;margin-top:14px}.form-error{display:none;background:#c0392b14;border:1px solid rgba(192,57,43,.4);color:#8c281d;border-radius:11px;padding:12px 14px;font-size:.92rem;font-weight:500;margin-bottom:16px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-success{display:none;text-align:center;padding:20px 0}.form-success.show{display:block}.form-success svg{width:54px;height:54px;stroke:var(--pine);fill:none;stroke-width:1.6;margin:0 auto 14px}.form-success h3{font-size:1.4rem;margin-bottom:8px}.form-success p{color:var(--ink-soft)}.cta-band{background:var(--pine);color:var(--bone);text-align:center}.cta-band h2{font-size:clamp(2rem,5vw,3.2rem);max-width:18ch;margin:0 auto 18px}.cta-band h2 em{color:var(--amber)}.cta-band p{color:#f4efe3d1;font-size:1.1rem;max-width:46ch;margin:0 auto 30px}.cta-band .hero-cta{justify-content:center}footer.site{background:var(--pine-deep);color:#f4efe3b3;padding:56px 0 36px;font-size:.92rem}.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}.foot-brand{max-width:30ch}.foot-brand .brand{margin-bottom:14px}.foot-col h4{color:var(--bone);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:14px;font-weight:600}.foot-col a,.foot-col p{display:block;margin-bottom:9px;color:#f4efe3b3}.foot-col a:hover{color:var(--amber)}.foot-bottom{border-top:1px solid var(--line-light);margin-top:40px;padding-top:22px;font-size:.82rem;color:#f4efe380;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
