:root{--ink:#17241e;--evergreen:#173f32;--calendar-green:#009640;--footer-green:#08733a;--moss:#78906d;--river:#477d91;--mist:#edf2ef;--cream:#faf8f1;--white:#fff;--radius:18px;--shadow:0 16px 40px rgba(23,36,30,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{display:block;max-width:100%}a{color:inherit}h1,h2{font-family:Georgia,serif;line-height:1.08;margin:.2em 0}h1{font-size:clamp(2.6rem,8vw,5.5rem);max-width:13ch}h2{font-size:clamp(2rem,5vw,3.4rem)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.78rem;color:var(--river)}.button{display:inline-flex;background:var(--evergreen);color:#fff;text-decoration:none;padding:.85rem 1.2rem;border-radius:999px;font-weight:800}.button.small{padding:.6rem 1rem}.site-header{min-height:76px;padding:12px clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(250,248,241,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(23,36,30,.1)}.brand img{width:195px;height:65px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:24px}.site-nav a{text-decoration:none;font-weight:700}.menu-button{display:none;border:0;background:var(--evergreen);color:#fff;padding:.65rem .9rem;border-radius:99px;font-weight:800}.hero{min-height:600px;display:grid;place-items:center;position:relative;background:url('../images/hero-background.jpg') center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,24,.9),rgba(9,31,24,.32))}.hero-content{position:relative;width:min(1160px,90%);color:#fff;padding:70px 0}.hero-content .eyebrow{color:#b8d4c2}.hero-logo{width:190px;height:90px;object-fit:contain;margin-bottom:20px}.lead{font-size:1.25rem}.hero .button{background:#fff;color:var(--evergreen)}.section{padding:clamp(65px,9vw,110px) clamp(20px,6vw,90px)}.section-heading{max-width:720px;margin-bottom:35px}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.work-grid figure{margin:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.work-grid .wide{grid-column:span 2}.work-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#dfe7e2}.work-grid figcaption{padding:14px;font-size:.9rem}.section-tint{background:var(--mist)}.pricing-list{max-width:900px}.pricing-list details{background:#fff;border-radius:14px;margin:12px 0;box-shadow:0 7px 20px rgba(23,36,30,.07)}.pricing-list summary{cursor:pointer;padding:20px;font-weight:850;display:flex;justify-content:space-between;gap:20px}.price-content{padding:0 20px 20px;border-top:1px solid #e3e8e5}.about{display:grid;grid-template-columns:minmax(220px,380px) minmax(0,650px);align-items:center;justify-content:center;gap:clamp(30px,6vw,80px)}.about img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);background:#dfe7e2}.booking{background:#fff}.calendly-inline-widget{border-radius:var(--radius);overflow:hidden}.site-footer{padding:45px clamp(20px,6vw,90px);background:var(--footer-green);color:#fff;display:grid;grid-template-columns:2fr 1fr;gap:30px}.site-footer img{width:195px;height:85px;object-fit:contain}.contact-links{display:grid;gap:7px}.copyright{grid-column:1/-1;opacity:.7;border-top:1px solid rgba(255,255,255,.2);padding-top:18px}
@media(max-width:760px){.menu-button{display:block}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:var(--cream);flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.site-nav.open{display:flex}.hero{min-height:520px}.hero-logo{width:150px}.work-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.work-grid figure,.work-grid .wide{min-width:82%;scroll-snap-align:start}.about{grid-template-columns:1fr}.about img{max-width:340px}.site-footer{grid-template-columns:1fr}}

/* Calendly: reserve enough height to prevent an internal scrollbar. */
.calendly-inline-widget{min-width:320px;width:100%;height:760px;overflow:hidden}
.calendly-inline-widget iframe{width:100%!important;height:100%!important;overflow:hidden!important}
@media(max-width:760px){.booking{padding-left:0;padding-right:0}.booking .section-heading{padding-left:20px;padding-right:20px}.calendly-inline-widget{height:1080px;border-radius:0}}

.price-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(120px,.7fr) minmax(95px,.5fr);gap:18px;align-items:start;padding:14px 0;border-top:1px solid #e8eeea}
.price-row:first-child{border-top:0}
.price-row strong{text-align:right;color:var(--evergreen)}
@media(max-width:760px){.price-row{grid-template-columns:1fr;gap:4px}.price-row strong{text-align:left}.pricing-list summary{align-items:flex-start;flex-direction:column;gap:6px}}

/* Mobile-first accessibility and conversion updates. */
body{overflow-x:hidden}
:focus-visible{outline:3px solid #f4c95d;outline-offset:3px}
.skip-link{position:absolute;left:16px;top:12px;z-index:100;transform:translateY(-160%);background:#fff;color:var(--evergreen);padding:.75rem 1rem;border-radius:999px;font-weight:800;text-decoration:none;box-shadow:var(--shadow)}
.skip-link:focus{transform:translateY(0)}
.hero{min-height:540px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.button.secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.7)}
.trust-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:22px 0 0;padding:0}
.trust-list li{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:.35rem .7rem;background:rgba(255,255,255,.1);font-size:.92rem;font-weight:700}
.compact-section{padding-top:45px;padding-bottom:45px;background:var(--cream)}
.benefit-grid{display:grid;gap:14px}
.benefit-grid article{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:0 7px 20px rgba(23,36,30,.07)}
.benefit-card{display:grid;grid-template-columns:clamp(76px,28%,118px) minmax(0,1fr);align-items:start;gap:16px}
.benefit-card-media{display:grid;place-items:center;width:100%;max-width:118px;aspect-ratio:1;border-radius:14px;background:var(--mist);overflow:hidden}
.benefit-card-image{width:100%;height:100%;object-fit:contain}
.benefit-grid h3{margin:.1rem 0 .4rem;font-size:1.1rem}
.benefit-grid p{margin:0}
.tour-section{background:var(--cream);padding-top:35px}
.tour-viewer{position:relative;min-height:320px;border-radius:var(--radius);overflow:hidden;background-color:#dfe7e2;background-size:auto 100%;background-repeat:repeat-x;background-position:50% 50%;box-shadow:var(--shadow);cursor:grab;touch-action:none;user-select:none}
.tour-viewer::before{content:"360 photo placeholder: add a 2:1 panoramic JPG at images/sample-360-view.jpg";position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--evergreen);font-weight:850;background:linear-gradient(135deg,#edf2ef,#dfe7e2);z-index:0}
.tour-viewer.has-panorama::before{opacity:0}
.tour-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block}
.tour-viewer.is-dragging{cursor:grabbing}
.tour-viewer-overlay{position:absolute;left:14px;bottom:14px;z-index:2;pointer-events:none}
.tour-viewer-overlay span{display:inline-flex;border-radius:999px;background:rgba(9,31,24,.8);color:#fff;padding:.45rem .75rem;font-weight:800;font-size:.88rem}
.tour-controls{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;gap:8px}
.tour-controls button{min-width:42px;min-height:42px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(9,31,24,.82);color:#fff;font:inherit;font-weight:900;cursor:pointer}
.tour-controls button:last-child{padding:0 14px}
.pricing-summary-title{display:inline-flex;align-items:center;gap:12px;min-width:0;color:var(--ink);font-size:inherit}
.pricing-summary-icon{flex:0 0 1.45em;width:1.45em;height:1.45em;object-fit:contain}
.pricing-summary-price{white-space:nowrap;font-size:.8rem;color:var(--river)}
.work-grid{display:grid;grid-template-columns:1fr;gap:16px;overflow:visible;padding-bottom:0;align-items:start}
.work-grid figure,.work-grid .wide{min-width:0;grid-column:auto}
.work-grid figure{background:transparent;box-shadow:none;border-radius:0;line-height:0}
.work-grid figcaption{display:none}
.work-grid img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow)}
.site-footer{grid-template-columns:1fr}
.footer-brand p{max-width:32rem}
.contact-links a{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.contact-icon{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);font-weight:900;font-family:Arial,sans-serif}
.legal-links{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1}
.legal-links button,.modal-close{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:999px;padding:.65rem .9rem;font:inherit;font-weight:800;cursor:pointer}
.policy-modal{width:min(880px,calc(100% - 28px));max-height:min(760px,calc(100% - 28px));border:0;border-radius:18px;padding:0;background:transparent;color:var(--ink)}
.policy-modal::backdrop{background:rgba(9,31,24,.72)}
.modal-card{background:#fff;border-radius:18px;padding:clamp(22px,4vw,42px);box-shadow:var(--shadow);max-height:min(760px,calc(100vh - 28px));overflow:auto}
.modal-card h2{font-size:clamp(2rem,5vw,3rem)}
.modal-card h3{margin:1.35rem 0 .25rem}
.modal-close{float:right;color:var(--evergreen);border-color:#d9e3dd;background:var(--mist)}
.mobile-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;background:rgba(250,248,241,.96);border:1px solid rgba(23,36,30,.12);border-radius:18px;box-shadow:var(--shadow)}
.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;text-decoration:none;font-weight:900}
.mobile-cta a:first-child{background:#fff;color:var(--evergreen)}
.mobile-cta a:last-child{background:var(--evergreen);color:#fff}
@media(min-width:640px){.benefit-grid{grid-template-columns:repeat(2,1fr)}.work-grid{grid-template-columns:repeat(2,1fr);align-items:start}.work-grid .wide{grid-column:span 2}.tour-viewer{min-height:430px}}
@media(min-width:1100px){.benefit-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:900px){.work-grid{grid-template-columns:repeat(4,1fr);align-items:start}.work-grid .wide{grid-column:span 2}.site-footer{grid-template-columns:2fr 1.3fr}.hero{min-height:600px}}
@media(min-width:900px){.mobile-cta{display:none}}
@media(max-width:760px){body{padding-bottom:82px}.work-grid{display:grid;grid-template-columns:1fr;overflow:visible;scroll-snap-type:none}.work-grid figure,.work-grid .wide{min-width:0;scroll-snap-align:none}.section{padding-left:20px;padding-right:20px}.hero-content{padding:56px 0}.hero-logo{width:145px;height:72px}.hero-actions .button{width:100%;justify-content:center}.trust-list{display:grid}.about img{max-width:none}.booking{padding-left:0;padding-right:0}.price-content{padding-left:16px;padding-right:16px}.calendly-inline-widget{height:1040px}.tour-viewer{min-height:260px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
