/* Useful interactions, with a little extra motion in the SBC identity. */
.fleet-planner{background:#f3f5ef;border-block:1px solid #e2e6dc}
.planner-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:0;border:1px solid #dce3d2;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 16px 50px #0b0b0b06}
.planner-controls{padding:40px}.planner-services{border:0;margin:0;padding:0;min-width:0}.planner-services legend,.planner-setting>label{display:block;font-size:12px;font-weight:700;line-height:1.6;margin-bottom:20px}.planner-services legend>span,.planner-setting>label>span{font-size:9px;color:#598900;margin-right:9px}.planner-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.planner-service{position:relative;border:1px solid #dce1d4;display:flex;flex-direction:column;gap:19px;align-items:flex-start;border-radius:8px;padding:22px 16px;font-size:11px;font-weight:600;line-height:1.6;cursor:pointer;transition:border-color .25s,background .25s,transform .25s}.planner-service:hover{border-color:#729d34;transform:translateY(-3px)}.planner-service>input{position:absolute;width:1px;height:1px;opacity:0}.planner-service:has(input:focus-visible){outline:3px solid #598900;outline-offset:4px}.planner-service:has(input:checked){background:#f1f8e7;border-color:#639b16;box-shadow:inset 0 0 0 1px #639b16}.planner-service>.icon{width:26px;height:26px;color:#52782a}.planner-check{display:none;position:absolute;top:11px;right:10px;color:#497c13}.planner-check .icon{width:14px;height:14px}.planner-service:has(input:checked) .planner-check{display:block}.planner-settings{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #e2e6da;margin-top:30px;padding-top:30px}.planner-setting>label{margin-bottom:12px}.planner-setting small{display:block;font-size:9px;color:#777;line-height:1.8;margin-top:12px}.fleet-stepper{display:flex;align-items:center;gap:6px;height:49px}.fleet-stepper button{border:1px solid #dce1d4;background:#f4f7ef;width:34px;height:38px;border-radius:5px;font-size:21px;flex-shrink:0;color:#333}.fleet-stepper button:hover{background:var(--lime)}.fleet-stepper button:disabled{cursor:default;opacity:.4}.fleet-stepper input{border:0;border-bottom:2px solid #84d400;background:#fff;text-align:center;width:76px;max-width:100%;font-family:'Bebas Neue',Impact,sans-serif;font-size:34px;line-height:1.2;appearance:textfield;-moz-appearance:textfield;color:#0b0b0b}.fleet-stepper input::-webkit-inner-spin-button,.fleet-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fleet-stepper>span{font-size:10px;color:#666;margin-left:6px}.planner-setting select{width:100%;height:49px;padding:0 13px;background:#fafbf8;border:1px solid #dce1d4;border-radius:6px;color:#222;font-size:12px}.planner-preview{background:#0b0b0b;color:#fff;padding:36px;position:relative;isolation:isolate;overflow:hidden}.planner-preview:after{content:'';position:absolute;right:-25px;bottom:0;width:70%;height:160px;z-index:-1;background:url('/assets/brand/brand-wave.svg') no-repeat right bottom;background-size:contain;opacity:.12}.planner-preview-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.planner-preview-top .eyebrow{font-size:9px;letter-spacing:.13em;color:#aad862;margin:0}.planner-preview-top>.icon{color:var(--lime);width:29px;height:29px}.planner-preview h3{color:#fff;font-size:38px;margin-bottom:13px}.plan-description{font-size:11px;color:#aaa;line-height:1.9;min-height:42px;margin-bottom:20px}.planner-numbers{display:flex;align-items:center;gap:28px;border-block:1px solid #ffffff24;padding:18px 0;margin-bottom:15px}.planner-numbers strong{font-family:'Bebas Neue',Impact,sans-serif;font-size:55px;font-weight:400;line-height:1.05;display:block;color:#fff}.planner-numbers div:last-child strong{color:var(--lime)}.planner-numbers span:not(.plan-times){display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#c2c2c2;margin-top:7px}.plan-times{font-size:20px;color:#6b6b6b}.plan-summary{font-size:10px;color:#d8d8d8;line-height:1.8;min-height:36px;margin-bottom:18px}.planner-preview>.button{width:100%;justify-content:space-between}.plan-note{font-size:9px;line-height:1.8;color:#999;margin:14px 0 0}.plan-updated .planner-numbers strong{animation:plan-change .32s ease-out}
.coverage-guide{max-width:430px;margin-top:25px}.coverage-guide>label{display:block;font-size:11px;font-weight:700;margin:15px 0 8px}.coverage-guide>label>span{font-weight:400;color:#777}.coverage-guide select,.coverage-guide input{background:#fff;color:#222;border:1px solid #d3dcc8;border-radius:6px;padding:13px 14px;min-width:0;width:100%;font-size:12px}.coverage-input-row{display:flex;gap:8px}.coverage-input-row input{flex:1;min-width:0;text-transform:uppercase}.coverage-input-row .button{flex-shrink:0;font-size:10px;gap:12px;padding:13px 18px}.coverage-guide [data-coverage-answer]{font-size:10px!important;line-height:1.9;margin:13px 0 0;min-height:56px;color:#666;max-width:none!important}.area-tags span{transition:background .3s,border-color .3s,transform .3s}.area-tags .area-active{background:#84d400;border-color:#609900;transform:translateY(-3px);color:#0b0b0b;box-shadow:0 4px 15px #84d40020}
.gallery-search{display:flex;align-items:center;gap:15px;margin-bottom:25px;border-bottom:1px solid #dce1d5;padding:0 0 18px}.gallery-search label{color:#588a19;display:flex}.gallery-search .icon{width:22px;height:22px}.gallery-search input{width:min(450px,65%);border:0;background:transparent;outline-offset:8px;padding:8px 0;color:#222;font-size:14px}.gallery-search>span{font-size:10px;color:#888;margin-left:auto}.gallery-empty{text-align:center;padding:60px 25px}.gallery-empty h3{margin:20px 0 12px}.gallery-empty p{font-size:13px;color:#777}.dialog-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-top:1px solid #ffffff25}.dialog-navigation button{background:#ffffff0b;border:1px solid #ffffff35;border-radius:6px;color:#fff;font-size:11px;padding:9px 14px;display:flex;align-items:center;gap:9px}.dialog-navigation button:hover{background:var(--lime);color:#0b0b0b}.dialog-navigation button:disabled{opacity:.4;cursor:default}.dialog-navigation .icon{width:15px;height:15px}.dialog-navigation [data-gallery-prev] .icon{transform:rotate(180deg)}.dialog-navigation>span{font-size:10px;color:#ccc}.media-dialog:has(.dialog-navigation:not([hidden])) .dialog-content img{max-height:calc(85dvh - 150px)}.dialog-content img{margin-inline:auto}.dialog-content figcaption{max-width:850px}.gallery-grid .project-card[hidden]{display:none!important}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:90;pointer-events:none;background:transparent}.reading-progress:after{content:'';display:block;height:100%;background:#84d400;transform-origin:left;transform:scaleX(var(--reading-progress,0))}.site-header{transition:box-shadow .3s}.site-header.header-scrolled{box-shadow:0 6px 25px #00000012}.back-to-top{position:fixed;z-index:45;right:24px;bottom:25px;border:1px solid #84d40077;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;background:#0b0b0b;color:#84d400;box-shadow:0 5px 25px #0003}.back-to-top .icon{transform:rotate(-90deg);width:19px;height:19px}.back-to-top:hover{background:#84d400;color:#0b0b0b}.quick-contact{display:none}.button .icon{transition:transform .25s}.button:hover .icon{transform:translate(3px,-2px)}.home-service,.service-card,.feature-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.service-card:hover,.feature-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0b0b0b0c;border-color:#b4ce90}.service-card-image img{transition:transform .65s var(--ease)}.service-card-image{overflow:hidden}.service-card:hover .service-card-image img{transform:scale(1.035)}.reveal-ready{transition-delay:var(--reveal-delay,0ms)}.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-description,.hero-copy>.hero-actions{animation:soft-rise .65s both var(--ease)}.hero-copy>h1{animation-delay:.08s}.hero-copy>.hero-description{animation-delay:.16s}.hero-copy>.hero-actions{animation-delay:.24s}.page-hero::before{animation:hero-settle 1.1s var(--ease) both}.page-hero h1{animation:soft-rise .65s .08s both var(--ease)}.dialog-content figure{animation:soft-rise .25s var(--ease)}.status-dot{animation:status-glow 3s ease-in-out infinite}
@keyframes soft-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes plan-change{from{transform:translateY(4px);opacity:.5}to{transform:translateY(0);opacity:1}}
@keyframes status-glow{0%,100%{box-shadow:0 0 0 3px #84d40015}50%{box-shadow:0 0 0 6px #84d40008}}
@media(max-width:1100px){.planner-controls{padding:30px}.planner-preview{padding:30px}.planner-layout{grid-template-columns:1.2fr 1fr}.planner-service-grid{gap:8px}.planner-service{padding:20px 12px;font-size:10px}.planner-settings{gap:18px}.fleet-stepper{gap:4px}.fleet-stepper input{width:65px}.fleet-stepper>span{font-size:9px;margin-left:3px}}
@media(max-width:850px){.planner-layout{grid-template-columns:1fr 1fr}.planner-controls{padding:25px}.planner-service-grid{grid-template-columns:1fr;gap:9px}.planner-service{flex-direction:row;align-items:center;padding:14px;gap:14px}.planner-service>.icon{width:22px;height:22px}.planner-service>span:not(.planner-check){padding-right:15px}.planner-check{top:19px;right:13px}.planner-settings{grid-template-columns:1fr;gap:20px;margin-top:22px;padding-top:22px}.planner-preview{display:flex;flex-direction:column;justify-content:center;padding:27px}.planner-preview h3{font-size:34px}.gallery-search>span{display:none}.gallery-search input{width:calc(100% - 40px)}}
@media(max-width:680px){.planner-layout{grid-template-columns:1fr;border-radius:10px}.planner-controls{padding:25px 20px}.planner-services legend,.planner-setting>label{font-size:11px}.planner-service-grid{grid-template-columns:1fr}.planner-service{padding:16px;gap:16px;font-size:11px}.planner-service>.icon{width:24px;height:24px}.planner-check{top:22px;right:16px}.planner-settings{grid-template-columns:1fr 1fr;gap:17px}.fleet-stepper{height:49px;gap:3px;flex-wrap:wrap}.fleet-stepper button{width:29px;height:34px}.fleet-stepper input{width:60px;font-size:31px}.fleet-stepper>span{display:none}.planner-setting select{font-size:12px;padding:0 8px}.planner-setting small{font-size:8px}.planner-preview{padding:28px 24px}.planner-preview h3{font-size:39px}.planner-numbers strong{font-size:62px}.planner-numbers{gap:32px}.plan-description{min-height:0}.plan-summary{font-size:10px;min-height:0}.coverage-guide{max-width:none}.coverage-guide select,.coverage-guide input{font-size:16px}.coverage-input-row .button{font-size:10px;padding:13px}.coverage-guide [data-coverage-answer]{font-size:11px!important}.gallery-search{gap:13px;padding-bottom:15px;margin-bottom:22px}.gallery-search input{font-size:16px;min-width:0}.gallery-empty{padding:35px 20px}.dialog-navigation{gap:12px;padding:13px}.dialog-navigation button{padding:10px;font-size:10px;gap:6px}.dialog-navigation>span{font-size:9px}.back-to-top{display:none}.quick-contact{position:fixed;bottom:0;left:0;right:0;z-index:48;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#ffffffef;border-top:1px solid #d4ddc8;box-shadow:0 -8px 25px #0000000a;backdrop-filter:blur(12px);animation:soft-rise .25s var(--ease)}.quick-contact a{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:700;border:1px solid #ccd6bf;border-radius:6px;min-height:43px;background:#fff;color:#0b0b0b}.quick-contact a:last-child{background:#84d400;border-color:#84d400}.quick-contact .icon{width:17px;height:17px}.has-quick-contact{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.site-footer{position:relative;z-index:1}.gallery-toolbar{scroll-margin-top:110px}}
@media(max-width:360px){.planner-settings{grid-template-columns:1fr}.fleet-stepper>span{display:block}.planner-numbers{gap:24px}.quick-contact{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.page-hero::before{transform:none}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .page-hero::before{transform:none}

/* Service discovery and deliberate, device-local enquiry drafts. */
.service-finder{background:#f8f9f5}
.finder-choices{border:0;padding:0;margin:0 0 25px;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.finder-choices legend{font-size:12px;font-weight:600;margin-bottom:18px}
.finder-choice{display:flex;align-items:center;gap:14px;padding:23px 20px;position:relative;border:1px solid #d7ddce;border-radius:9px;background:#fff;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s}
.finder-choice input{position:absolute;width:1px;height:1px;opacity:0}
.finder-choice:has(input:checked){background:#edf6df;border-color:#649b1e;box-shadow:inset 0 0 0 1px #649b1e}
.finder-choice:has(input:focus-visible){outline:3px solid #598900;outline-offset:4px}
.finder-choice-number{color:#5a821f;font-size:10px;align-self:flex-start;padding-top:3px}
.finder-choice strong{display:block;font-size:13px;font-weight:700;line-height:1.5}
.finder-choice small{display:block;font-size:10px;line-height:1.7;color:#6c7263;margin-top:5px}
.finder-choice-arrow{margin-left:auto;color:#4f711f}.finder-choice-arrow .icon{width:18px;height:18px}
.finder-panel{display:grid;grid-template-columns:1fr 1.1fr;background:#0b0b0b;border-radius:12px;overflow:hidden;animation:finder-enter .4s var(--ease) both}
.finder-panel+.finder-panel{margin-top:20px}.finder-panel[hidden]+.finder-panel{margin-top:0}
.finder-photo{min-width:0;position:relative;overflow:hidden;min-height:430px}
.finder-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.finder-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000a);pointer-events:none}
.finder-photo>span{position:absolute;bottom:27px;left:27px;right:27px;z-index:1;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;color:#fff}
.finder-photo>span .icon{color:#84d400;width:21px;height:21px}
.finder-copy{padding:46px;color:#bfbfbf;display:flex;flex-direction:column;justify-content:center}
.finder-copy .eyebrow{color:#a8cb77;font-size:9px;margin-bottom:16px}
.finder-copy h3{color:#fff;font-size:43px;margin-bottom:17px}
.finder-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;max-width:350px}
.finder-copy .checklist{padding:0;margin:0 0 28px;list-style:none}
.finder-copy .checklist li{font-size:11px;line-height:1.7;display:flex;align-items:flex-start;gap:10px;padding:7px 0}
.finder-copy .checklist .icon{color:#84d400;width:16px;height:16px;margin-top:2px}
.finder-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.finder-actions .button{font-size:11px;padding:15px 20px;gap:20px}
.finder-detail{font-size:10px;color:#dedede;display:flex;align-items:center;gap:10px;padding-block:10px}
.finder-detail:hover{color:#84d400}.finder-detail .icon{width:15px;height:15px}
.service-comparison{margin-top:24px;border:1px solid #d7ddce;border-radius:9px;background:#fff;overflow:hidden}
.service-comparison summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 25px;cursor:pointer;font-size:12px;font-weight:600;list-style:none}
.service-comparison summary::-webkit-details-marker{display:none}.service-comparison summary>span{display:flex;align-items:center;gap:13px}
.service-comparison summary .icon{width:19px;height:19px;color:#598900}.service-comparison summary>.icon{transition:transform .25s}
.service-comparison[open] summary>.icon{transform:rotate(180deg)}.service-comparison[open] summary{border-bottom:1px solid #e0e4d9}
.comparison-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}.comparison-table-wrap:focus-visible{outline-offset:-4px}
.service-comparison-table{border-collapse:collapse;width:100%;min-width:700px;text-align:left;font-size:11px;line-height:1.8}
.service-comparison-table caption{text-align:left;padding:20px 25px;color:#74796c;font-size:11px}
.service-comparison-table th,.service-comparison-table td{padding:19px 25px;border-bottom:1px solid #e8ebe2;vertical-align:top}
.service-comparison-table thead{background:#f1f5e9}.service-comparison-table thead th{font-weight:700;color:#364b16}
.service-comparison-table tbody th{font-weight:600;width:19%}.service-comparison-table td{width:27%}.service-comparison-table tr:last-child>*{border-bottom:0}
.service-comparison-table a{color:#437109;text-decoration:underline;text-underline-offset:4px}.service-comparison-table a .icon{width:13px;height:13px;margin-left:5px}
.comparison-footnote{padding:16px 25px;margin:0;font-size:11px;background:#f8faf3;border-top:1px solid #e8ebe2}.comparison-footnote a{text-decoration:underline;text-underline-offset:4px}
.draft-tools{border-top:1px solid #deded5;margin-top:23px;padding-top:18px}.draft-actions{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.draft-button{border:0;background:none;padding:6px 0;font-size:11px;font-weight:600;color:#477515;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.draft-button .icon{width:14px;height:14px;margin-left:7px}.draft-delete{color:#666}
.draft-tools p{font-size:10px;line-height:1.9;color:#707066;margin:9px 0 0}
.draft-restore{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#eff6e4;border:1px solid #c2d5a2;border-radius:7px;padding:17px 20px;margin-bottom:24px;animation:soft-rise .3s var(--ease)}
.draft-restore strong{display:block;font-size:12px}.draft-restore p{font-size:10px;line-height:1.7;margin:4px 0 0;color:#64714f}.draft-restore .draft-button{flex-shrink:0}
.quote-form-ready .quote-step:not([hidden]){animation:soft-rise .28s var(--ease) both}
.hero-clip-controls button[aria-pressed=true]:before{background:#84d40033}
.hero-clip-controls button[aria-pressed=true]:after{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#84d400;transform-origin:left;transform:scaleX(var(--clip-progress,0));transition:transform .25s linear}
.hero-index [data-hero-index]{color:#84d400;margin:0}
.faq-item[open]>div{animation:soft-rise .25s var(--ease)}
@keyframes finder-enter{from{opacity:.35;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.finder-choice:hover{border-color:#8aa664}.finder-panel:hover .finder-photo img{transform:scale(1.035)}.home-service:hover .service-image-icon{transform:rotate(-7deg) scale(1.05)}.service-image-icon{transition:transform .3s var(--ease)}}
@media(max-width:1100px){.finder-copy{padding:32px}.finder-choice{padding:20px 16px;gap:11px}.finder-choice strong{font-size:12px}.finder-choice-arrow{display:none}.finder-copy h3{font-size:37px}.finder-photo{min-height:420px}}
@media(max-width:850px){.finder-choices{gap:8px}.finder-choice{padding:17px 13px;gap:8px}.finder-choice-number{display:none}.finder-choice small{font-size:9px}.finder-panel{grid-template-columns:.85fr 1.15fr}.finder-copy{padding:28px}.finder-copy h3{font-size:34px}.finder-photo>span{left:20px;right:20px;font-size:10px}.finder-actions{gap:5px 18px}}
@media(max-width:680px){.finder-choices{grid-template-columns:1fr;gap:9px;margin-bottom:20px}.finder-choice{padding:16px;gap:14px}.finder-choice-number{display:block}.finder-choice-arrow{display:block}.finder-choice strong{font-size:12px}.finder-choice small{font-size:10px;margin-top:3px}.finder-panel{grid-template-columns:1fr}.finder-photo{min-height:230px}.finder-copy{padding:30px 24px}.finder-copy h3{font-size:38px}.finder-copy>p:not(.eyebrow){font-size:12px}.finder-copy .checklist li{font-size:11px}.finder-photo>span{bottom:20px;font-size:10px}.finder-actions{gap:8px 20px}.service-comparison summary{padding:19px 17px;font-size:11px;gap:10px}.service-comparison summary>span{gap:9px}.service-comparison-table caption{padding:17px}.service-comparison-table td,.service-comparison-table th{padding:17px}.comparison-footnote{padding:17px;font-size:10px}.draft-restore{padding:15px;align-items:flex-start;flex-direction:column;gap:8px}.draft-actions{gap:6px 15px}.draft-tools p{font-size:10px}.draft-button{font-size:11px}}
.motion-paused .finder-photo img,.motion-paused .service-image-icon{transform:none!important}
