/* Super-Sites: solid lime, strong green and a little personality. */
:root{--lime:#c5f65b;--lime-hover:#d4ff7b;--paper:#f8f9f0;--ink:#123b2a;--muted:#4e6355;--accent-text:#285b37;--green-dark:#123b2a;--pale-green:#eaf1df;--line:#cbd6c3}
body{background:var(--paper);color:var(--ink)}
.site-header{background:var(--paper);border-bottom:1px solid var(--ink);box-shadow:none}
.header-row{height:84px}
.mark{background:var(--lime);color:var(--ink);border:1.5px solid var(--ink);border-radius:8px;box-shadow:2px 2px 0 var(--ink);transform:rotate(-4deg)}
.wordmark{font-weight:800;letter-spacing:-.055em}
.button{background:var(--lime);color:var(--ink);border:1.5px solid var(--ink);border-radius:5px;box-shadow:3px 3px 0 var(--ink);transition:transform .18s,box-shadow .18s}
.button:hover{background:var(--lime-hover);color:var(--ink);transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.button.light{background:var(--paper);color:var(--ink)}
.button.outline{background:transparent;box-shadow:none;color:var(--ink)}
.menu-toggle{background:transparent;border:1px solid var(--ink);border-radius:5px;min-height:44px;color:var(--ink)}
.hero-shell{background:var(--lime);color:var(--ink);border-bottom:1px solid var(--ink)}
.hero{grid-template-columns:1.02fr 1fr;gap:42px;padding:66px 0 54px;align-items:center}
.hero-copy{min-width:0}
.hero .eyebrow{font-size:11px;letter-spacing:.09em;color:var(--ink);margin-bottom:25px}
.hero h1{font-size:clamp(58px,5.7vw,82px);font-weight:800;line-height:1.06;letter-spacing:-.065em;color:var(--ink)}
.hero h1 span{display:block}
.hero h1 .hero-highlight{display:table;background:var(--ink);color:var(--lime);padding:0 12px 9px;margin-top:12px;border-radius:3px;transform:rotate(-2deg);-webkit-text-fill-color:currentColor}
.hero .intro{max-width:440px;font-size:18px;line-height:1.65;color:var(--ink);margin-top:30px}
.hero .actions{gap:26px;margin-top:28px}
.hero .button{background:var(--ink);color:var(--lime);box-shadow:3px 3px 0 var(--paper)}
.hero .button:hover{background:#205038;box-shadow:4px 4px 0 var(--paper)}
.hero .text-link{color:var(--ink);font-size:14px;gap:12px}
.hero .text-link:hover{color:#1f5436}
.hero-shell .value-strip{padding:24px 0;border-top:1px solid var(--ink);border-bottom:0;background:transparent;gap:28px}
.hero-shell .value-strip>div{gap:18px}
.hero-shell .value-strip>div+div{border-color:#123b2a60;padding-left:28px}
.hero-shell .value-strip strong{font-size:29px;color:var(--ink)}
.hero-shell .value-strip span{color:var(--ink)}
.device-stage{min-height:0;padding:53px 35px 84px 0;max-width:590px;width:100%;margin:0;isolation:isolate}
.device-stage:before{inset:15px 0 12px 30px;border:0;background:#20543b;border-radius:7px 65px 7px 7px;filter:none}
.device-label{position:absolute;top:24px;left:53px;right:27px;color:var(--lime);display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.02em}
.device-label>span:last-child{font-size:25px;line-height:1;transform:rotate(-22deg)}
.demo-desktop{background:var(--paper);border:2px solid var(--ink);border-radius:8px;box-shadow:6px 6px 0 #092a1d;transform:none}
.demo-browser{background:var(--paper);border-bottom:1px solid var(--ink);color:var(--ink);padding:10px 12px}
.demo-dots{color:var(--ink);letter-spacing:2px}
.demo-example-label{color:var(--ink);border-color:var(--ink);background:var(--lime);border-radius:3px;font-size:8px}
.demo-nav{background:white;color:var(--ink);padding:18px 20px}
.demo-nav strong{color:var(--ink)}
.demo-symbol{background:var(--lime);color:var(--ink)}
.demo-review{background:#eaf2dd;padding:13px 18px;gap:14px}
.demo-stars{color:#285b37}
.demo-content{background:var(--paper);padding:25px 18px 28px;grid-template-columns:.95fr 1.05fr;gap:15px}
.demo-message{display:block}
.demo-message>strong{color:var(--ink);font-size:29px}
.demo-message p{color:var(--muted)}
.demo-booking{background:white;border:1px solid #a5b89c;border-radius:5px;box-shadow:none;padding:12px}
.demo-days>span,.demo-times>span{border-radius:3px}
.demo-footer{background:white;padding-inline:18px}
.demo-phone{right:-5px;bottom:30px;width:133px;min-height:254px;background:var(--paper);border:5px solid var(--ink);border-radius:23px;box-shadow:5px 6px 0 #092a1d;color:var(--ink);transform:rotate(6deg);animation:phone-settle 1.2s ease-out 1;padding:22px 11px 20px}
.demo-phone>strong{font-size:24px;margin-top:19px}
.phone-submit{background:var(--ink);color:var(--lime)}
.device-caption{color:var(--lime);bottom:33px;left:53px;font-size:10px;gap:7px}
.device-caption>span:last-child{display:none}
.caption-dot{background:var(--lime)}
.section{padding-block:82px}
.section.white{background:#fff}
.section-top h2,h2{letter-spacing:-.05em}
.service-item{background:transparent;border:0;border-top:2px solid var(--ink);border-radius:0;padding:26px 0 0;box-shadow:none}
.service-item .number{color:var(--accent-text);margin-bottom:25px}
.service-item h3{font-size:25px}
.service-item p{font-size:15px;line-height:1.75}
.capabilities{background:var(--ink);color:var(--paper);border:0}
.capabilities .eyebrow{color:var(--lime)}
.capabilities .section-top p,.capability-grid p,.capability-next p{color:#d8e4d2}
.capability-grid article{padding:23px 0 0;border:0;border-top:1px solid #8ba58e;border-radius:0;background:transparent;box-shadow:none}
.capability-grid article>span{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:var(--ink);width:32px;height:32px;border-radius:50%;font-size:12px}
.capability-grid h3{color:var(--paper)}
.capability-next{border-color:#8ba58e}
.capabilities .button{box-shadow:3px 3px 0 #97b188}
.price-card{border:1px solid var(--ink);border-radius:7px;background:white;box-shadow:none}
.price-card.featured{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--lime)}
.price-card.featured p,.price-card.featured li{color:var(--paper)}
.price-card.featured .price,.price-card.featured .eyebrow{color:var(--lime)}
.showcase-preview{border:1px solid var(--ink);border-radius:7px;box-shadow:4px 4px 0 #e2eacb;transition:transform .18s,box-shadow .18s}
.showcase-preview:hover{transform:translateY(-3px);box-shadow:4px 7px 0 var(--lime)}
.showcase-browser{background:var(--paper);color:var(--ink);border-bottom-color:var(--line)}
.showcase-open{background:var(--lime);color:var(--ink);border:1px solid var(--ink);border-radius:4px;box-shadow:2px 2px 0 var(--ink)}
.person-block{background:var(--lime);border:1px solid var(--ink);border-radius:6px;box-shadow:5px 5px 0 var(--ink)}
.person-block .care-promise{color:var(--ink)}
.cta{background:var(--lime);color:var(--ink);border-top:1px solid var(--ink)}
.cta p,.cta h2{color:var(--ink)}
.cta .button{background:var(--ink);color:var(--lime)}
.site-footer{background:var(--ink);color:var(--paper)}
.site-footer p,.footer-bottom{color:#d0dfc8}
.site-footer .wordmark{color:var(--paper)}
.page-intro{background:#eaf2dc;border-bottom:1px solid var(--line)}
.form-panel,.quote-summary{border-radius:6px;box-shadow:none}
.quote-summary{border-top-color:var(--lime)}
.support-controls{box-shadow:none;filter:none}
.support-controls button{border-color:#8da384;background:var(--ink);color:var(--paper)}
.support-controls #support-toggle{border-radius:6px 0 0 6px}
.support-controls #support-dismiss{border-radius:0 6px 6px 0}
.support-panel{border-radius:6px}
.faq summary{color:var(--ink)}
@media(min-width:1450px){.hero{padding-block:84px 65px}.hero h1{font-size:84px}}
@media(max-width:1100px){.hero{gap:28px}.hero h1{font-size:clamp(46px,5.7vw,64px)}.hero .intro{font-size:17px}.hero .actions{gap:21px}.demo-content{gap:10px;padding:21px 13px}.demo-message>strong{font-size:25px}.demo-booking{padding:10px}.demo-nav{padding-inline:14px}.demo-phone{width:120px;min-height:240px}.demo-phone>strong{font-size:21px}.demo-review-copy q{font-size:9px}}
@media(max-width:900px){.header-row{height:76px}.nav{top:76px;background:var(--paper)}.hero{grid-template-columns:1fr 1fr;gap:25px;padding-top:50px}.hero h1{font-size:46px}.hero .intro{font-size:16px}.hero .actions{gap:22px}.hero .button{font-size:13px;padding:14px 18px}.demo-message{display:none}.demo-content{grid-template-columns:1fr}.device-stage{padding-right:18px}.demo-review{display:grid;gap:9px;padding:12px}.demo-review-rating{display:flex;align-items:center;gap:10px}.demo-review-copy q{font-size:10px}.demo-phone{right:-2px;width:114px}.demo-phone>strong{font-size:20px}.device-label,.device-caption{left:48px;font-size:9px}.hero-shell .value-strip{gap:17px}.hero-shell .value-strip>div{align-items:start;gap:6px}.hero-shell .value-strip>div+div{padding-left:20px}.hero-shell .value-strip strong{font-size:26px}.section{padding-block:68px}.quote-summary{top:96px}}
@media(max-width:700px){.hero{grid-template-columns:1fr;gap:36px;padding:40px 0 30px}.hero h1{font-size:clamp(46px,10.4vw,64px)}.hero h1 .hero-highlight{margin-top:10px;padding:1px 10px 7px}.hero .intro{max-width:470px;margin-top:25px;font-size:16px}.hero .eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:21px}.hero .actions{gap:23px;margin-top:25px}.hero .text-link{font-size:13px}.device-stage{max-width:480px;justify-self:center;padding:51px 30px 76px 0}.device-stage:before{inset:12px 0 10px 24px;border-radius:6px 50px 6px 6px}.device-label{left:44px;top:22px;font-size:10px}.device-caption{bottom:30px;left:44px;font-size:9px}.demo-desktop{box-shadow:4px 4px 0 #092a1d}.demo-message{display:block}.demo-content{grid-template-columns:.94fr 1.06fr;padding:20px 12px 24px;gap:9px}.demo-message>strong{font-size:24px}.demo-message p{font-size:8px}.demo-nav{padding:14px 12px}.demo-booking{padding:9px}.demo-label{font-size:7px}.demo-month{font-size:8px}.demo-days>span{font-size:6px}.demo-days b{font-size:11px}.demo-times>span{font-size:7px}.demo-review{display:flex;gap:10px;padding:12px}.demo-review-rating{display:grid;gap:5px}.demo-review-copy q{font-size:9px}.demo-stars{font-size:14px}.demo-phone{bottom:22px;right:1px;width:115px;min-height:232px;padding:20px 10px 18px}.demo-phone>strong{font-size:21px}.phone-date{margin-top:14px}.hero-shell .value-strip{gap:10px;padding:22px 0}.hero-shell .value-strip>div+div{padding-left:13px}.hero-shell .value-strip strong{font-size:25px}.hero-shell .value-strip strong>span{display:block;margin-left:0;font-size:10px}.hero-shell .value-strip>div>span{font-size:10px}.section{padding-block:56px}.support-controls button{min-height:44px;padding:9px 12px;font-size:12px}.support-widget{right:12px;bottom:12px}.quote-mobile{top:76px}.price-card.featured{box-shadow:4px 4px 0 var(--lime)}}
@media(max-width:380px){.hero .actions{gap:22px}.hero .button{padding:13px 15px;font-size:12px}.hero .text-link{font-size:12px}.device-stage{padding-right:21px}.demo-message>strong{font-size:21px}.demo-booking{padding:7px}.demo-review{display:grid;gap:7px}.demo-review-rating{display:flex;gap:8px}.demo-review-copy>span{font-size:7px}.demo-content{gap:7px;padding-inline:10px}.demo-browser{padding-inline:8px}.demo-example-label{font-size:7px}.hero-shell .value-strip strong{font-size:22px}.hero-shell .value-strip>div+div{padding-left:10px}.support-controls #support-toggle{gap:7px}}
@media(prefers-reduced-motion:reduce){.button,.showcase-preview{transition:none}.demo-phone{animation:none}.button:hover,.showcase-preview:hover{transform:none}}

/* Sales comes first: a full-width quote invitation and one shared contact form. */
.sales-bar{background:var(--ink);color:var(--paper);padding:23px 0;border-bottom:1px solid var(--ink)}
.sales-bar-row{display:flex;align-items:center;justify-content:space-between;gap:25px}
.sales-bar-copy{display:flex;gap:19px;align-items:center;min-width:0}
.sales-arrow{width:49px;height:49px;flex-shrink:0;display:grid;place-items:center;border:1px solid #7f9b66;border-radius:50%;font-size:30px;color:var(--lime);transform:rotate(-8deg)}
.sales-bar h2{font-size:25px;line-height:1.2;letter-spacing:-.035em;color:var(--paper);margin:0 0 7px}
.sales-bar p{color:#e2ebd9;font-size:13px;line-height:1.5;margin:0}
.sales-bar-actions{display:flex;gap:14px;align-items:center;flex-shrink:0}
.sales-bar .button{font-size:13px;gap:16px;padding:14px 18px;white-space:nowrap;box-shadow:3px 3px 0 #78935d}
.sales-bar .sales-secondary{background:transparent;border-color:var(--lime);color:var(--lime);box-shadow:none}
.sales-bar .sales-secondary:hover{background:#23513b}
.hero-price-line{font-size:15px;line-height:1.8;color:var(--ink);margin-top:18px}
.hero-price-line strong{font-weight:850}
.hero-shell .value-strip{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:24px}
.hero-shell .value-strip>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.hero-shell .value-strip strong{font-size:32px;line-height:1.25}
.hero-shell .value-strip strong>span{display:inline;font-size:13px;margin:0;font-weight:600}
.hero-shell .value-strip>div>span{font-size:13px;line-height:1.55}
.sitecare-included{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:22px 25px;margin-bottom:26px;border:1px solid var(--ink);border-radius:6px;background:var(--lime);font-size:13px}
.sitecare-included strong{margin-right:auto;font-size:15px}
.sitecare-included>span:before{content:'✓';margin-right:7px;font-weight:800}
.showcase-caption{display:flex;align-items:center;gap:13px;padding:19px 2px 0}
.showcase-caption h3{font-size:22px;letter-spacing:-.04em;margin:0;flex:1}
.showcase-caption h3 a{text-decoration:none}
.showcase-caption h3 a:hover{text-decoration:underline}
.showcase-number{font-size:11px;font-weight:800;border:1px solid var(--line);border-radius:3px;padding:5px 7px}
.showcase-card:last-child{grid-column:auto;display:block;padding:0;background:transparent;border-radius:0}
.showcase-card:last-child .showcase-viewport{aspect-ratio:1.55}
.contact-open{position:fixed;width:100%;overflow:hidden;left:0;right:0}
.contact-dialog{color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-top:9px solid var(--lime);border-radius:10px;padding:29px 32px;width:min(590px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;overscroll-behavior:contain;box-shadow:7px 7px 0 #123b2a55}
.contact-dialog::backdrop{background:#09291ed9}
.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}
.dialog-heading .eyebrow{font-size:10px;margin-bottom:12px}
.contact-dialog h2{font-size:37px;line-height:1.1;margin:0 0 15px;letter-spacing:-.05em}
.contact-dialog>p{font-size:14px;line-height:1.65;margin-bottom:21px;color:var(--muted)}
.dialog-close{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:4px;background:var(--lime);color:var(--ink);font-size:28px;line-height:1}
.dialog-close:hover{background:var(--lime-hover)}
.contact-dialog label{font-size:13px}
.contact-dialog input,.contact-dialog select,.contact-dialog textarea{font-size:16px}
.contact-dialog .form-row{gap:16px}
.contact-dialog .form-row>label{min-width:0}
[data-enquiry-form] .contact-preference{border:0;padding:0;margin:16px 0 19px;display:flex;flex-wrap:wrap;gap:10px 20px}
.contact-preference legend{font-size:13px;font-weight:750;padding:0;margin-bottom:11px}
[data-enquiry-form] .contact-preference label{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:650;margin:0;cursor:pointer}
[data-enquiry-form] .contact-preference input{appearance:auto;display:inline-block;flex-shrink:0;width:19px;height:19px;margin:0;accent-color:var(--ink)}
[data-enquiry-form] textarea{min-height:83px}
[data-enquiry-form] textarea.availability-input{min-height:63px}
.field-note{font-size:11px;color:var(--muted);line-height:1.5;margin:-9px 0 13px}
.contact-dialog .form-privacy{font-size:11px;line-height:1.6}
.contact-dialog form>.button{width:100%;margin-top:3px}
.form-status:empty{display:none}
.form-status{scroll-margin-block:20px}
.another-enquiry{background:transparent;border:0;border-bottom:1px solid currentColor;padding:8px 0;cursor:pointer}
.support-controls>a.button{border-radius:6px 0 0 6px;box-shadow:none;gap:9px;background:var(--ink);color:var(--paper);border-color:#8da384;font-size:13px;padding:12px 15px}
.support-controls>a.button:hover{background:#285b37;transform:none}
.support-controls #support-dismiss{border-left:0}
@media(max-width:1100px){.sales-bar-row{gap:18px}.sales-arrow{display:none}.sales-bar h2{font-size:23px}.sales-bar .button{padding:13px 15px;font-size:12px;gap:10px}}
@media(max-width:800px){.sales-bar-row{align-items:flex-start;flex-direction:column;gap:16px}.sales-bar-actions{width:100%}.sales-bar-actions .button{flex:1}.sales-bar-copy p{font-size:13px}.hero-shell .value-strip strong{font-size:27px}.hero-shell .value-strip{gap:16px}.sitecare-included strong{flex-basis:100%}}
@media(max-width:600px){.sales-bar{padding:21px 0 23px}.sales-bar h2{font-size:24px}.sales-bar-actions{gap:12px}.sales-bar .button{font-size:12px;padding:12px 10px;white-space:normal;text-align:center;line-height:1.35;min-height:49px}.sales-bar .button span{display:none}.hero-price-line{font-size:14px}.hero-shell .value-strip{grid-template-columns:1fr 1fr;gap:20px 14px}.hero-shell .value-strip>div+div{padding-left:15px}.hero-shell .value-strip>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #123b2a60;padding:17px 0 0;flex-direction:row;align-items:center;gap:24px}.hero-shell .value-strip>div:last-child strong{font-size:22px}.hero-shell .value-strip strong{font-size:30px}.hero-shell .value-strip strong>span{font-size:11px}.hero-shell .value-strip>div>span{font-size:11px}.sitecare-included{padding:19px;gap:11px 19px;font-size:12px}.showcase-grid{gap:30px}.showcase-caption h3{font-size:23px}.showcase-card:last-child .showcase-viewport{aspect-ratio:1.4}.contact-dialog{padding:23px 20px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.contact-dialog h2{font-size:32px}.contact-dialog .form-row{grid-template-columns:1fr;gap:0}.dialog-heading .eyebrow{font-size:9px}.contact-dialog .contact-preference{gap:15px;flex-direction:column}.support-controls>a.button{font-size:12px;padding:10px 12px}.contact-dialog .form-status{font-size:13px}}
@media(prefers-reduced-motion:reduce){.contact-dialog{scroll-behavior:auto}}

.contact-notes{margin:4px 0 18px}.contact-notes summary{cursor:pointer;font-size:13px;font-weight:700;padding:7px 0}.contact-notes[open] summary{margin-bottom:14px}
