@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#142e2d;--ink:#233b36;--gold:#b59a62;--sand:#f4f0e7;--cream:#fcfbf7;--muted:#6e7970;--line:#dedfd4;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 var(--sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b59a62;outline-offset:4px}button:disabled{cursor:wait;opacity:.6}.demo-ribbon{background:var(--green);color:#e8dfc9;display:flex;justify-content:center;align-items:center;gap:9px;font-size:9px;letter-spacing:1.5px;padding:7px 15px;min-height:30px}.ribbon-note{letter-spacing:.2px;color:#bfcbc1;font-size:10px;margin-left:14px}.demo-dot{width:5px;height:5px;border-radius:50%;background:#d8b875}.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:25px;background:var(--cream)}.brand{display:flex;align-items:center;gap:10px}.brand img{width:78px;height:auto}.brand span{font-size:11px;line-height:1.3;letter-spacing:1.7px}.brand b{font-size:17px;font-weight:500;letter-spacing:4px}.site-header nav{display:flex;gap:32px;font-size:12px}.site-header nav button{border:0;background:none;padding:0;color:inherit;font-size:inherit}.nav-cta{border-bottom:1px solid var(--gold);font-size:12px;padding:7px 0}.nav-cta span{margin-left:18px}.hero{min-height:610px;height:72vh;max-height:800px;position:relative;background:#354a41 url('estate-hero.jpg') center center/cover;color:white;display:flex;align-items:center;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,29,25,.86),rgba(14,33,27,.53) 45%,rgba(15,34,28,.07) 85%),linear-gradient(0deg,#0d241d55,transparent 40%)}.hero-content{position:relative;width:100%;padding:55px 7% 35px;z-index:1}.eyebrow{font-size:9px;letter-spacing:2.7px;font-weight:700;text-transform:uppercase;color:#947b46;margin:0 0 22px}.eyebrow.light{color:#dbc795}.hero h1{font:clamp(48px,5.7vw,86px)/1.04 var(--serif);font-weight:400;margin:0;letter-spacing:-1.6px}.hero h1 em{font-style:normal;color:#e5dac0}.hero-desc{font-size:14px;line-height:1.9;color:#e0e4d9;margin:26px 0 30px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;padding:14px 23px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-1px)}.btn.cream{background:#f3eddd;color:var(--green)}.btn.green{background:var(--green);color:white}.btn.outline{background:transparent;border-color:#c9cfbf;color:var(--green)}.btn.ghost{background:transparent;color:var(--muted);padding-left:0}.btn.full{width:100%}.hero-note{display:flex;gap:13px;align-items:center;font-size:8px;letter-spacing:1.5px;margin-top:48px;color:#d8decf}.hero-note i{width:25px;height:1px;background:#bbc5b280}.hero-caption{position:absolute;right:5%;bottom:35px;text-align:right;font-size:12px;color:#f5efdf;line-height:1.7}.intro{max-width:1240px;margin:auto;padding:70px 6% 55px;display:grid;grid-template-columns:1fr 1fr;gap:30px 70px}.intro h2,.booking-title h2,.why h2,.faq h2{font:44px/1.1 var(--serif);font-weight:400;margin:0;letter-spacing:-.5px}.intro>p{color:var(--muted);font-size:14px;line-height:1.9;padding-top:25px;margin:0}.intro-points{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:25px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.3px}.booking-section{background:var(--sand);padding:68px max(5%,calc((100vw - 1250px)/2)) 80px}.booking-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.booking-title h2{font-size:52px}.booking-title h2 em{font-weight:400;font-style:normal;color:#728475}.booking-title>p{color:var(--muted);font-size:13px;line-height:1.8;padding-right:15px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}.booking-main{min-width:0}.steps{display:flex;list-style:none;margin:0 0 22px;padding:0;gap:0}.steps li{flex:1;position:relative}.steps li:after{content:'';position:absolute;top:14px;left:33px;right:6px;border-top:1px solid #cbd0c1}.steps li:last-child:after{display:none}.steps button{background:none;border:0;padding:0;text-align:left;color:#849080;display:flex;flex-direction:column;gap:7px;font-size:10px}.steps i{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;border:1px solid #b9c2b0;border-radius:50%;width:28px;height:28px;font-size:10px;font-style:normal;background:var(--sand)}.steps .active i,.steps .done i{background:var(--green);color:white;border-color:var(--green)}.steps .active button{color:var(--green);font-weight:700}.step-card{background:var(--cream);padding:30px;border:1px solid #e3e2d7;border-radius:6px;box-shadow:0 6px 20px #2b423704}.step-heading{display:flex;gap:13px;align-items:center;margin-bottom:26px}.section-icon{width:42px;height:42px;background:#edece1;color:#7d886e;display:flex;align-items:center;justify-content:center;border-radius:50%}.section-icon svg{width:23px}.step-heading h3{font:30px/1.2 var(--serif);font-weight:400;margin:0 0 6px}.step-heading p{font-size:12px;margin:0;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;min-width:0}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #d7ddce;border-radius:4px;background:#fffefa;color:var(--ink);padding:12px 13px;min-height:46px;outline:0;font-size:13px;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a68c54;box-shadow:0 0 0 2px #b59a6220}.field textarea{min-height:90px;resize:vertical}.field small{font-size:10px;line-height:1.5;font-weight:400;color:var(--muted)}.error{color:#a44132;font-size:10px;font-weight:400;line-height:1.5;min-height:0}.field.has-error input,.field.has-error select{border-color:#b54c3a}.req{color:#9a7744;font-size:10px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#eeeee4;border-radius:5px;padding:4px;gap:4px;margin-bottom:26px}.segmented button{background:transparent;border:1px solid transparent;color:#687467;min-height:43px;border-radius:3px;font-size:12px;padding:8px}.segmented button.active{background:var(--cream);border-color:#d8d9c8;color:var(--green);box-shadow:0 1px 4px #22321a09}.help{background:#eeefe5;border-left:2px solid #b7a06d;padding:12px 14px;font-size:11px;color:#6e795f;line-height:1.7;margin:20px 0}.actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:23px;margin-top:28px;gap:18px}.actions .btn.green{margin-left:auto}.estimate{position:sticky;top:25px;background:var(--green);color:white;border-radius:6px;padding:27px 24px;box-shadow:0 10px 30px #13271b13}.estimate .eyebrow{color:#cdb780;font-size:8px;margin-bottom:15px}.estimate h3{font:28px var(--serif);margin:0 0 5px;font-weight:400}.estimate .property-note{font-size:11px;color:#b4c3b3;line-height:1.7;margin:0 0 24px;word-break:break-word}.estimate-line{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.7;margin:16px 0}.estimate-line span:first-child{color:#cfdbca}.estimate-line small{display:block;color:#9daf9a;font-size:9px}.estimate-total{border-top:1px solid #bdc4ac40;padding-top:18px;margin-top:25px;display:flex;justify-content:space-between;align-items:center}.estimate-total small{font-size:10px;color:#c4cebb}.estimate-total strong{font:38px var(--serif);font-weight:400}.estimate .tiny{font-size:9px;color:#aaba9f;line-height:1.7;margin-top:18px}.estimate .scope-count{font-size:10px;display:flex;gap:7px;align-items:center;color:#d9d9bb;border-top:1px solid #bdc4ac30;margin-top:22px;padding-top:17px}.estimate svg{width:13px}.estimate .included{font-size:10px;line-height:1.9;color:#aabb9f}.estimate .empty-estimate{padding:25px 0;text-align:center;border:1px dashed #bdc4ac50;color:#bdcdb9;font-size:11px}.estimate .empty-estimate svg{width:45px;display:block;margin:0 auto 10px;color:#c5ad73}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.addon{position:relative;border:1px solid #dfe1d2;border-radius:5px;padding:17px 16px;background:#fffefa;min-height:180px;display:flex;flex-direction:column;transition:.2s}.addon.selected{border-color:#a68b53;box-shadow:inset 0 0 0 1px #a68b53;background:#faf6e9}.addon-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.addon svg{width:27px;height:27px;color:#7c8d71}.add-toggle{border:1px solid #cfd6c3;border-radius:50%;background:transparent;color:#68775e;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:18px}.selected .add-toggle{color:#fff;background:#897340;border-color:#897340}.addon h4{font-size:12px;margin:0 0 6px;line-height:1.5}.addon p{font-size:10px;color:var(--muted);line-height:1.7;margin:0 0 15px}.addon-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:8px}.addon-price{font-size:13px;color:#6f6039}.qty{display:flex;align-items:center;border:1px solid #d9ddcd;border-radius:3px;overflow:hidden}.qty button{height:28px;min-width:26px;background:transparent;border:0;color:#68775e}.qty span{font-size:11px;min-width:20px;text-align:center}.guest{margin-top:14px;border:1px solid #dfe1d2;border-radius:5px;padding:20px;background:#fffefa}.guest.selected{border-color:#a68b53;background:#faf6e9}.guest .row{display:flex;align-items:center;justify-content:space-between;gap:15px}.guest h4{margin:0;font-size:13px}.guest p{font-size:11px;color:var(--muted);margin:7px 0 0}.guest .field{margin-top:16px}.subheading{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;margin:27px 0 14px;color:#8d7c50}.billing-panel{padding:19px;background:#f1eee3;border:1px solid #e0ddcc;border-radius:5px;margin:18px 0 22px}.check{display:flex;align-items:start;gap:9px;font-size:11px;color:#65735f;line-height:1.7;margin:20px 0}.check input{flex:none;width:16px;height:16px;min-height:0;accent-color:#826b36;margin:3px 0 0}.mini{font-size:10px;color:var(--muted);line-height:1.8}.review-block{border-bottom:1px solid var(--line);padding:15px 0}.review-block:first-child{padding-top:0}.review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.review-top strong{font-size:11px;letter-spacing:1px;text-transform:uppercase}.edit{border:0;background:none;color:#8d7644;text-decoration:underline;font-size:10px}.review-block p{font-size:12px;color:#6d7867;margin:3px 0;overflow-wrap:anywhere}.review-items .estimate-line{font-size:12px;color:var(--ink);margin:10px 0}.review-items .estimate-line span:first-child{color:var(--ink)}.review-items .estimate-line small{color:var(--muted)}.review-amount{display:flex;justify-content:space-between;align-items:center;font:26px var(--serif);margin:20px 0}.payment-note{display:flex;align-items:center;gap:8px;font-size:10px;color:#65745e;justify-content:center;margin-top:15px}.payment-note svg{width:13px}.payment-note b{color:#6657a1;font-size:13px}.why{background:#ebeadd;padding:75px 8%;position:relative;text-align:center}.why h2{font-size:54px}.why>p:not(.eyebrow){font-size:13px;color:#6e7965;max-width:580px;margin:23px auto}.feature-list{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px auto;max-width:700px}.feature-list span{font-size:10px;padding:9px 13px;border:1px solid #cfd1bf;border-radius:30px}.text-link{border-bottom:1px solid #a88c51;font-size:12px;padding:7px 0}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;padding:80px 8%;max-width:1400px;margin:auto}.faq h2{font-size:40px}.faq>div>p:not(.eyebrow){color:var(--muted);font-size:13px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:13px}.faq summary::after{content:'+';font-size:18px;color:#96804b}.faq details[open] summary::after{content:'−'}.faq details p{font-size:12px;color:var(--muted);line-height:1.8;padding-right:30px}footer{background:var(--green);color:#d9ddce;padding:42px 6% 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px}.footer-brand{font:24px var(--serif);letter-spacing:1px}.footer-brand span{display:block;font:11px var(--sans);letter-spacing:0;color:#aebfa5;margin-top:9px}footer>div:nth-child(2){display:flex;flex-direction:column;gap:7px;font-size:12px}.footer-bottom{width:100%;border-top:1px solid #d1d4be30;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#8fa488;font-size:9px}.footer-bottom button{border:0;background:none;color:inherit;font-size:inherit;padding:0}dialog{width:95vw;max-width:700px;max-height:92vh;border:0;border-radius:8px;padding:0;background:var(--cream);color:var(--ink);box-shadow:0 20px 100px #0f2b2130}dialog::backdrop{background:#0b231fbb;backdrop-filter:blur(4px)}.modal-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 24px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.modal-top button{background:none;border:0;color:var(--ink);font-size:18px;padding:5px}.modal-body{padding:30px}.modal-body h2{font:38px var(--serif);font-weight:400;margin:0 0 15px}.modal-body p{color:var(--muted);font-size:12px}.modal-body table{width:100%;border-collapse:collapse;font-size:12px}.modal-body td,.modal-body th{text-align:left;border-bottom:1px solid var(--line);padding:12px 0}.modal-body td:last-child,.modal-body th:last-child{text-align:right}.checkout{display:grid;grid-template-columns:1fr 1fr;min-height:320px}.checkout-summary{padding:28px;background:#f0ede4}.checkout-summary h3{font:26px var(--serif);margin:5px 0 18px}.checkout-summary .total{font:44px var(--serif);margin:8px 0}.checkout-summary p{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.checkout-panel{padding:28px;display:flex;flex-direction:column}.stripe-word{color:#635bff;font-size:25px;font-weight:700;letter-spacing:-1px}.demo-badge{display:inline-block;font-size:8px;letter-spacing:1px;background:#e9e3cf;color:#7b693d;padding:4px 7px;margin-left:8px;border-radius:3px;vertical-align:middle}.checkout-panel h3{font-size:14px;font-weight:500;margin:22px 0 12px}.demo-card{background:#f0eff8;border:1px solid #e0deed;border-radius:6px;padding:17px;color:#8c88a3;margin:10px 0 15px}.demo-card strong{font-size:11px;font-weight:400;display:block}.demo-card span{font-size:16px;letter-spacing:2px;display:block;margin-top:12px}.checkout-panel .btn{margin-top:auto;font-size:11px;justify-content:center;gap:8px}.checkout-panel p{font-size:10px;color:var(--muted);line-height:1.8}.success{text-align:center;padding:35px 30px}.success .checkmark{display:flex;align-items:center;justify-content:center;margin:0 auto 20px;width:62px;height:62px;border:1px solid #afbc9d;border-radius:50%;font-size:28px;background:#eaf0e2;color:#748d5f}.success h2{font:42px var(--serif);font-weight:400;margin:5px 0 15px}.success p{font-size:13px;color:var(--muted)}.success .actions{justify-content:center;border:0;flex-wrap:wrap}.success .actions .btn{margin:0}.success .reference{background:#eeeee3;padding:15px;font-size:11px;margin:20px auto;max-width:360px}.quote-status{background:#eee7d5;padding:18px;font-size:12px;color:#7c6536;border-radius:5px}.mobile-estimate{display:none}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;background:var(--green);color:white;padding:13px 20px;border-radius:5px;max-width:90vw;font-size:12px;box-shadow:0 4px 20px #0002;display:none}.fade-in{animation:fade .25s ease-out}@keyframes fade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.booking-layout{grid-template-columns:minmax(0,1fr) 285px;gap:22px}.estimate{padding:23px 20px}.site-header nav{gap:20px}.step-card{padding:24px}.hero{min-height:560px}.hero h1{font-size:66px}.booking-section{padding-left:5%;padding-right:5%}.addon{padding:14px}}@media(max-width:820px){.site-header nav{display:none}.booking-layout{grid-template-columns:1fr}.estimate{position:static;grid-row:2;padding:24px}.estimate .included,.estimate .scope-count,.estimate .tiny{display:none}.estimate h3{font-size:24px}.estimate-total strong{font-size:34px}.estimate .estimate-lines{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.estimate .property-note{margin-bottom:5px}.estimate-line{margin:10px 0}.booking-title h2{font-size:45px}.booking-title>p{max-width:220px}.intro{gap:25px 35px;padding:55px 6%}.intro h2{font-size:38px}.intro-points{font-size:10px;gap:15px}.faq{gap:35px;padding:60px 6%}.hero{height:67vh;min-height:520px}.hero h1{font-size:62px}.hero-caption{font-size:10px}.why h2{font-size:48px}}@media(max-width:540px){.ribbon-note{display:none}.demo-ribbon{font-size:8px;min-height:27px}.site-header{padding:16px 5%;gap:10px}.brand img{width:55px}.brand span{font-size:9px;letter-spacing:1px}.brand b{font-size:13px;letter-spacing:2.5px}.nav-cta{font-size:10px;white-space:nowrap}.nav-cta span{margin-left:8px}.hero{min-height:555px;height:74vh;max-height:680px;background-position:63% center}.hero-content{padding:40px 7% 65px}.hero-shade{background:linear-gradient(90deg,#0b211fd9,#0b211f88 80%),linear-gradient(0deg,#0b211f77,transparent)}.hero h1{font-size:52px;letter-spacing:-.5px}.hero-desc{font-size:12px;line-height:1.9;margin:24px 0}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero-note{font-size:6px;gap:8px;margin-top:35px}.hero-note i{width:15px}.hero-caption{display:none}.intro{display:block;padding:45px 7%}.intro h2{font-size:35px}.intro>p{padding-top:20px;font-size:13px}.intro-points{display:grid;gap:14px;margin-top:25px;font-size:11px}.booking-section{padding:45px 5% 50px}.booking-title{display:block;margin-bottom:30px}.booking-title h2{font-size:42px}.booking-title>p{max-width:none;font-size:12px;margin-top:20px}.booking-title>p br{display:none}.steps{margin-bottom:19px}.steps button{font-size:9px}.step-card{padding:22px 18px}.step-heading{gap:10px}.step-heading h3{font-size:27px}.step-heading p{font-size:11px}.section-icon{width:35px;height:35px;flex:none}.fields{gap:17px 12px}.field.full-mobile{grid-column:1/-1}.field input,.field select{font-size:16px;padding:11px 10px}.field textarea{font-size:16px}.field{font-size:11px}.segmented button{font-size:11px;padding:8px 6px}.actions{gap:12px}.actions .btn{padding:12px 14px;gap:16px;font-size:11px}.option-grid{gap:10px}.addon{padding:13px 12px;min-height:190px}.addon h4{font-size:11px}.addon p{font-size:9px}.addon-price{font-size:12px}.addon svg{width:23px}.estimate .estimate-lines{display:block}.why{padding:50px 7%}.why h2{font-size:39px}.why>p:not(.eyebrow){font-size:12px}.faq{display:block;padding:50px 7%}.faq h2{font-size:36px}.faq-items{margin-top:30px}.faq summary{font-size:12px}.faq details p{font-size:11px}.footer-brand{font-size:22px}footer{padding:35px 7% 20px}.footer-bottom{display:grid;gap:10px}.modal-body{padding:23px}.checkout{grid-template-columns:1fr}.checkout-summary{padding:24px}.checkout-panel{padding:24px}.checkout-summary .total{font-size:36px}.checkout-panel h3{margin-top:12px}.demo-card{margin:0 0 10px}.success{padding:28px 22px}.success h2{font-size:35px}.success .actions{display:grid}.success .actions .btn{justify-content:center}.steps li:after{right:3px}.check input{width:18px;height:18px}.btn{min-height:48px}.booking-title .eyebrow{font-size:8px}.feature-list span{font-size:9px;padding:7px 10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.field-label{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.req{font-weight:400;font-size:8px;letter-spacing:.2px;white-space:nowrap}
