:root{--ink:#17342f;--forest:#123c35;--forest-2:#1d5249;--cream:#f7f2e8;--paper:#fffdf8;--gold:#d8a94b;--sage:#9db8a8;--line:#deddd4;--muted:#66746f;--shadow:0 24px 60px rgba(23,52,47,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,92px);border-bottom:1px solid rgba(23,52,47,.1);background:rgba(255,253,248,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;font-family:"Playfair Display",serif;font-size:22px;font-weight:700}.brand-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--gold)}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:#9a6b18}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:0;border-radius:999px;background:var(--forest);color:white;font:700 15px "DM Sans",sans-serif;cursor:pointer;transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px);background:var(--forest-2)}.button-small{min-height:40px;padding:0 18px;font-size:13px}.hero{min-height:610px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:48px;padding:70px clamp(24px,8vw,130px);background:linear-gradient(135deg,#fbf8f0,#eef3ed)}.hero-copy{max-width:680px}.eyebrow{margin:0 0 14px;color:#8b661d;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}.hero h1,.section-heading h2,.offer h2{font-family:"Playfair Display",serif;line-height:1.04;margin:0}.hero h1{font-size:clamp(50px,6vw,84px);letter-spacing:-.035em}.hero-text{font-size:19px;color:var(--muted);max-width:590px;margin:25px 0 30px}.hero-actions{display:flex;align-items:center;gap:25px}.text-link{font-weight:700}.trust-row{display:flex;gap:23px;margin-top:48px;color:var(--muted);font-size:13px}.trust-row span:before{content:"✓";color:#8c6b21;font-weight:700;margin-right:7px}.hero-art{height:460px;position:relative}.arch{position:absolute;border-radius:220px 220px 18px 18px}.arch-back{inset:20px 0 0 80px;background:#d9e4d9}.arch-front{inset:60px 40px 0 20px;background:var(--forest);overflow:hidden;box-shadow:var(--shadow)}.surface{position:absolute;bottom:62px;left:13%;right:13%;height:12px;background:#d6ae5b;border-radius:10px}.vase{position:absolute;bottom:74px;left:43%;width:94px;height:120px;border-radius:15px 15px 48px 48px;background:#f3e6c9}.stem{position:absolute;width:3px;background:#9eb89b;bottom:108px;transform-origin:bottom}.stem.one{height:126px;left:38px;transform:rotate(-18deg)}.stem.two{height:145px;left:55px;transform:rotate(22deg)}.leaf{position:absolute;width:53px;height:24px;border-radius:80% 10% 80% 10%;background:#aac2a6}.l1{bottom:177px;left:4px;transform:rotate(25deg)}.l2{bottom:220px;left:58px;transform:rotate(-20deg)}.sparkle{position:absolute;color:var(--gold);font-size:28px}.s1{top:65px;left:80px}.s2{top:130px;right:62px;font-size:18px}.floating-card{position:absolute;right:-18px;bottom:34px;background:white;padding:18px 22px;border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column}.floating-card span{font-size:12px;color:var(--muted)}.promo-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--forest);color:white;padding:22px clamp(24px,8vw,130px)}.promo-strip div{display:flex;align-items:center;gap:16px}.promo-strip strong{font-size:14px}.promo-strip a{color:#f4d99d;text-decoration:underline;font-weight:700;font-size:13px}.promo-tag{border:1px solid var(--gold);border-radius:999px;padding:5px 10px;color:#f4d99d;text-transform:uppercase;font-size:10px;letter-spacing:.12em;white-space:nowrap}.calculator-section{padding:100px clamp(24px,7vw,110px);background:var(--paper)}.section-heading{text-align:center;max-width:720px;margin:0 auto 50px}.section-heading h2{font-size:clamp(38px,4.5vw,58px)}.section-heading>p:last-child{color:var(--muted);font-size:16px}.calculator-shell{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.4fr .8fr;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:var(--shadow);overflow:hidden}.planner{padding:42px}fieldset{border:0;margin:0 0 38px;padding:0}legend{font-family:"Playfair Display",serif;font-size:22px;font-weight:700;margin-bottom:18px}legend span{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:9px;border-radius:50%;background:#e8efe9;color:var(--forest);font:700 13px "DM Sans"}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-option input,.segmented input,.check-grid input{position:absolute;opacity:0;pointer-events:none}.service-option span{display:block;height:100%;min-height:88px;border:1px solid var(--line);border-radius:13px;padding:14px;cursor:pointer;transition:.15s}.service-option strong,.service-option small{display:block}.service-option small{color:var(--muted);margin-top:5px;font-size:12px}.service-option input:checked+span{border:2px solid var(--forest);background:#f1f5f1;padding:13px}.hours-control{display:flex;align-items:center;justify-content:center;gap:20px;margin:6px 0}.hours-control button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--ink);font-size:24px;cursor:pointer}.hours-control div{text-align:center;width:110px}.hours-control strong{display:block;font:700 44px "Playfair Display";line-height:1}.hours-control span{font-size:12px;color:var(--muted)}input[type=range]{width:100%;accent-color:var(--forest)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.segmented{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;padding:4px}.segmented span{display:grid;place-items:center;padding:9px 5px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;text-align:center}.segmented input:checked+span{background:var(--forest);color:white}.field-note{color:var(--muted);font-size:12px;margin:-12px 0 12px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check-grid span{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;font-size:13px}.check-grid input:checked+span{border-color:var(--forest);background:#eef4ef}.check-grid b{color:#8b661d}.quote-card{background:var(--forest);color:white;padding:46px 38px;display:flex;flex-direction:column}.eyebrow.light{color:#dcb85f}.quote-card h3{font:600 30px "Playfair Display";margin:0}.price{display:flex;align-items:flex-start;margin:17px 0 0}.price span{font:600 26px "Playfair Display";margin-top:9px}.price strong{font:700 60px "Playfair Display";line-height:1}.vat-note{margin:6px 0 25px;color:#bed0c9;font-size:12px}.quote-lines{border-top:1px solid rgba(255,255,255,.18);margin-bottom:20px}.quote-lines div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:13px}.quote-lines span{color:#bed0c9}.quote-lines strong{text-align:right}.promo-result{background:#f6e4b6;color:var(--forest);padding:13px;border-radius:10px;font-size:12px;margin-bottom:17px}.hidden{display:none}.button-gold{background:var(--gold);color:var(--forest);width:100%;margin-top:auto}.button-gold:hover{background:#e3bd67}.button-outline{background:transparent;border:1px solid rgba(255,255,255,.45);width:100%;margin-top:10px}.microcopy{text-align:center;color:#bed0c9;font-size:11px;margin:12px 0 0}.services,.steps{padding:95px clamp(24px,8vw,130px)}.compact{margin-bottom:42px}.service-cards,.step-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-cards article{padding:34px;min-height:230px;background:#edf3ee;border-radius:18px}.service-cards article:nth-child(2){background:#f4ead4}.service-cards article:nth-child(3){background:#e7ebe6}.service-cards article>span{color:#9c7c35;font-size:12px}.service-cards h3,.step-grid h3{font:600 26px "Playfair Display";margin:38px 0 8px}.service-cards p,.step-grid p{color:var(--muted);margin:0}.offer{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;padding:90px clamp(24px,10vw,160px);background:var(--cream)}.offer h2{font-size:clamp(38px,4.5vw,58px)}.offer-copy>p{color:var(--muted)}.offer ul{list-style:none;padding:0;margin:28px 0;border-top:1px solid #d6cfbf}.offer li{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #d6cfbf}.offer li span{color:var(--muted)}.fine-print{font-size:11px}.offer-badge{justify-self:center;width:270px;height:270px;border-radius:50%;background:var(--forest);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 14px #e1ca91,0 0 0 16px var(--forest)}.offer-badge span{text-transform:uppercase;letter-spacing:.12em;font-size:12px}.offer-badge strong{font:700 92px "Playfair Display";line-height:.9;color:#f1cc72}.offer-badge small{margin-top:12px;color:#bfd1ca}.step-grid article{text-align:center;padding:15px}.step-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;margin:auto;background:var(--forest);color:var(--gold);font-weight:700}.step-grid h3{margin:16px 0 5px}footer{padding:35px clamp(24px,8vw,130px);display:flex;align-items:center;gap:28px;background:#0c2c27;color:white}footer p{color:#b6c8c2;margin-right:auto}footer>a{color:#f1cc72}@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:50px}.hero-art{height:350px}.calculator-shell{grid-template-columns:1fr}.quote-card{min-height:520px}.offer{grid-template-columns:1fr}.offer-badge{margin:25px auto}.service-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.topbar{height:68px}.button-small{display:none}.hero{padding:50px 22px}.hero h1{font-size:48px}.hero-art{height:290px}.arch-back{left:45px}.arch-front{right:10px}.floating-card{right:0}.trust-row{flex-wrap:wrap;gap:10px 20px}.promo-strip,.promo-strip div{align-items:flex-start;flex-direction:column}.calculator-section,.services,.steps{padding:72px 18px}.planner,.quote-card{padding:30px 20px}.service-grid,.check-grid{grid-template-columns:1fr}.segmented{grid-template-columns:1fr 1fr}.service-cards,.step-grid{grid-template-columns:1fr}.offer{padding:72px 24px}.offer li{gap:18px}.offer li span{text-align:right}footer{flex-direction:column;text-align:center}footer p{margin:0}.hero-actions{align-items:flex-start;flex-direction:column}}

.offer li{gap:24px;align-items:center}.offer li strong{flex:1}.offer li span{flex:1;text-align:right}@media(max-width:600px){.offer li{flex-direction:column;align-items:flex-start;gap:4px}.offer li span{text-align:left}}

.offer-details{color:#000;margin:28px 0;padding:24px;background:#fffdf8;border:1px solid #d6cfbf;border-radius:14px}
.offer-details h3{color:#000;font-family:"DM Sans",sans-serif;font-size:clamp(24px,3vw,30px);line-height:1.3;margin:0 0 20px;font-weight:700}
.offer-details p{color:#000;font-size:18px;line-height:1.65;margin:14px 0}
.offer-copy>.eyebrow{color:#000;font-size:15px}
@media(max-width:600px){.offer-details{padding:20px}.offer-details p{font-size:18px}}

#packageHours{display:block;width:100%;padding:14px;margin:12px 0;border:1px solid #17342f;border-radius:8px;background:white;color:#000;font:inherit;font-size:18px}
.offer-details .package-total{padding:16px;background:#f6e4b6;border-radius:10px}
.package-total strong{font-size:36px}

/* High-contrast text for readability. */
body{color:#000}
.hero-text,.eyebrow,.trust-row,.section-heading>p:last-child,.service-option small,.field-note,.range-labels,.offer-copy>p,.offer li span,.step-grid p,.service-cards p,.check-grid b{color:#000}
.hero,.planner,.steps,.offer,.topbar{color:#000}
.quote-card,.promo-strip,footer,.offer-badge{color:#fff}
.quote-card .vat-note,.quote-card .quote-lines span,.quote-card .microcopy,.quote-card .eyebrow,.offer-badge small,footer p{color:#fff}
.promo-result,.promo-result a,.button-gold{color:#000}

#regularEligibility{color:#000;background:#fff;border:2px solid #17342f;border-radius:12px;padding:20px;margin-top:20px}
#regularEligibility h3,#regularEligibility h4,#regularEligibility strong{color:#000;font-size:21px;font-weight:700;line-height:1.4}
#regularEligibility p{color:#000;font-size:18px;line-height:1.65;margin:12px 0 0}
