/* Shared Range-inspired Andromeda theme. Home retains its cinematic composition. */
.range-site{--serif:'Libre Baskerville',Georgia,serif;--sans:'Manrope',Arial,sans-serif;font-family:var(--sans);-webkit-font-smoothing:antialiased}
.range-site .shell{width:min(1296px,calc(100% - 100px))}
.range-site header.nav{width:100%;height:83px;padding:0 5%;margin:0;border:0;border-bottom:1px solid #ffffff30;border-radius:0;box-shadow:none;color:#fff;background:#29413c5c;backdrop-filter:blur(12px);z-index:20}
.range-site .nav .brand-logo,.range-site footer .brand-logo{width:105px;height:67px;object-fit:contain;filter:brightness(0) invert(1)}
.range-site .nav .links{display:flex;gap:29px;font:400 13px/1.5 var(--sans)}
.range-site .nav .links a{position:relative;padding:10px 0;color:#fff;white-space:nowrap}
.range-site .nav .links a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:#dce7c9;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.range-site .nav .links a:hover:after,.range-site .nav .links a[aria-current=page]:after{transform:scaleX(1)}
.range-site .nav .button{background:transparent;color:#fff;border:1px solid #ffffff90;border-radius:40px;padding:10px 27px;min-height:44px;font:400 13px/1.5 var(--serif);box-shadow:none}
.range-site .nav .button:hover{background:#f5f8ed;color:#203e34;transform:none}
.range-site .nav .phone{display:none}.range-site .menu{color:#fff}.range-site .nav-action{gap:16px}
.range-site footer{background:#162d26;color:#c3cfc4;padding:45px 0}
.range-site .footer-inner{gap:24px;font-size:11px}
.range-site .footer-links{gap:20px;flex-wrap:wrap;line-height:1.8}
.range-site .footer-links a:hover{color:#dce7c9}
.range-site .footer-social a{color:#d3e0bd;border-color:#ffffff40}
.range-site .footer-contact{border-color:#ffffff25;padding-top:22px;line-height:1.8}
.range-site .range-back-top{position:fixed;right:25px;bottom:100px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#243f34;color:#fff;border:1px solid #ffffff30;font-size:25px;z-index:15;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s}
.range-site .range-back-top.is-visible{visibility:visible;opacity:1;transform:none}
.range-site :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #93a66f;outline-offset:5px}
/* Supporting pages use the same white, sage and forest surfaces as the homepage. */
.range-inner{--ink:#203e34;--ink2:#2d4d40;--cream:#fff;--paper:#f5f7f1;--sand:#e7ecdf;--muted:#607067;--line:#dbe2d7;--lime:#d8e7b9;background:#fff;color:#203e34}
.range-inner header.nav{position:relative;background:#203e34;backdrop-filter:blur(12px)}
.range-inner main{min-height:calc(100svh - 440px)}
.range-inner .breadcrumbs{padding-top:33px;font-size:11px;color:#6a796f;line-height:1.8}
.range-inner .breadcrumbs a{text-underline-offset:4px}
.range-inner .service-page{padding-bottom:95px}
.range-inner .service-heading{max-width:1050px;padding:65px 0 48px}
.range-inner .eyebrow{font:500 10px/1.7 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:#566e5b}
.range-inner .eyebrow:before{display:none}
.range-inner .service-heading h1{font:400 clamp(2.3rem,4.2vw,3.8rem)/1.23 var(--serif);font-variation-settings:'wght' 400;letter-spacing:-.05em;text-wrap:balance;margin:21px 0 24px;max-width:1020px}
.range-inner .service-heading h1 em{font-style:normal;font-weight:400;color:#728060}
.range-inner .service-heading p{max-width:760px;font-size:15px;line-height:1.9;color:#607067;margin:0}
.range-inner .service-hero{max-height:520px;width:100%;height:auto;object-fit:cover;border-radius:0;margin-bottom:18px}
.range-inner .project-note{color:#708073;font-size:11px;line-height:1.8}
.range-inner .service-body{max-width:850px;border-top:1px solid #dbe2d7;padding-top:30px;margin-top:14px;font-size:15px;line-height:1.85}
.range-inner .service-body h2{font:400 clamp(1.5rem,2.5vw,2.2rem)/1.35 var(--serif);font-variation-settings:'wght' 400;letter-spacing:-.04em;color:#203e34;margin:44px 0 18px;text-wrap:balance}
.range-inner .service-body p,.range-inner .service-body li{color:#607067;line-height:1.9}
.range-inner .service-body li+li{margin-top:10px}
.range-inner .service-body :is(ul,ol){padding-left:22px}
.range-inner .service-body a{color:#365c40;text-underline-offset:4px}
.range-inner .service-body a:hover{color:#182f21}
.range-inner .button{border-radius:40px;box-shadow:none;font-weight:500;padding:14px 24px;min-height:46px;transition:background .25s,transform .25s}
.range-inner .button.lime{background:#d8e7b9;color:#203e34}
.range-inner .button.dark{background:#203e34;color:#fff}
.range-inner .button.light{background:transparent;color:#203e34;border:1px solid #8e9f8b}
.range-inner .button:hover{background:#c6d8a1;transform:translateY(-1px);color:#203e34}
.range-inner .text-link{color:#365c40;font-size:13px;font-weight:500}
/* Enquiries and quotations share the same quiet input surfaces. */
.range-inner .service-body:has(.contact-page-grid){max-width:none;padding-top:40px}
.range-inner .contact-page-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,100px)}
.range-inner .contact-page-grid>div{min-width:0}
.range-inner .contact-list{margin-top:20px}
.range-inner .contact-list li{font-size:13px;font-weight:400;border-color:#dbe2d7;overflow-wrap:anywhere}
.range-inner .contact-list span{color:#587148;font-size:10px}
.range-inner .form{padding:30px;border:1px solid #dbe2d7;border-radius:0;background:#f5f7f1;box-shadow:none;min-width:0}
.range-inner .contact-page-grid .form{padding-top:30px}
.range-inner .field{border:0;padding:0;margin-bottom:20px;min-width:0}
.range-inner .field label{font:500 10px/1.6 var(--sans);color:#496150;letter-spacing:.09em;margin-bottom:8px}
.range-inner .field :is(input,select,textarea){background:#fff;color:#203e34;border:1px solid #c6d1c1;border-radius:0;font:400 14px/1.6 var(--sans);padding:12px 14px;outline-offset:3px}
.range-inner .field :is(input,textarea)::placeholder{color:#72806f}
.range-inner .field select{appearance:auto}
.range-inner .consent,.range-inner .form-footer small,.range-inner .form-fallback{color:#607067;font-size:12px;line-height:1.8}
.range-inner .consent input{accent-color:#456c3b;flex-shrink:0}
.range-inner .quotation-fields{border:1px solid #c6d1c1;border-radius:0;padding:20px;gap:6px;margin:24px 0;background:#edf2e6}
.range-inner .quotation-fields legend{font:400 16px/1.4 var(--serif);padding:0 10px;color:#203e34}
.range-inner .quotation-note{font-size:12px;color:#607067}
.range-inner .notice[data-state=success]{background:#dce7c9;color:#203e34}
.range-inner .notice[data-state=error]{background:#fbe5df;color:#812e23}
/* Equipment catalogue keeps its semantic, scrollable table. */
.range-inner .pricing-page .service-heading{padding:55px 0 30px}
.range-inner .pricing-page .service-heading h1{font-size:clamp(2.1rem,3.8vw,3.5rem)}
.range-inner .pricing-info{border-color:#dbe2d7;padding:20px 0;font-size:12px;gap:18px 45px}
.range-inner .pricing-info strong{color:#203e34;font-size:13px}
.range-inner .pricing-note{font-size:12px;line-height:1.85;margin:22px 0 28px}
.range-inner .equipment-filters{background:#f0f4e9;border:1px solid #dbe2d7;padding:24px;gap:18px}
.range-inner .equipment-filters label{font-size:11px;color:#496150}
.range-inner .equipment-filters :is(input,select){background:#fff;color:#203e34;border:1px solid #c6d1c1;border-radius:0;font-size:13px;min-height:44px}
.range-inner #equipment-count{font:400 12px/1.7 var(--sans);color:#607067}
.range-inner .equipment-table-wrap{border-color:#dbe2d7}
.range-inner .equipment-table{font-size:12px;color:#203e34}
.range-inner .equipment-table caption{background:#f5f7f1;color:#607067;font-size:12px}
.range-inner .equipment-table thead th{background:#203e34;color:#edf3e2;padding:16px;font-size:11px}
.range-inner .equipment-table td,.range-inner .equipment-table tbody th{border-color:#e1e7dd;padding:17px 16px}
.range-inner .equipment-table tbody tr:nth-child(even){background:#f6f8f2}
.range-inner .equipment-table tbody tr:hover{background:#eaf0e0}
.range-inner .equipment-table :is(.equipment-spec,time,.equipment-price small){color:#607067}
.range-inner .equipment-table .text-link{color:#365c40;font-size:11px}
.range-inner .pricing-help{background:#203e34;color:#fff;padding:40px;margin-top:50px}
.range-inner .pricing-help p{color:#c4d0c0}
.range-inner .pricing-help .text-link{color:#dce7c9}
/* Finance results use the same sage output surface as the homepage calculator. */
.range-inner .emi-grid{gap:24px;margin-top:20px}
.range-inner .emi-panel{background:#f5f7f1;border:1px solid #dbe2d7;border-radius:0;padding:36px}
.range-inner .emi-panel h2{font-size:25px;letter-spacing:-.04em;line-height:1.4}
.range-inner .emi-field label{color:#496150;font-size:12px;font-weight:500}
.range-inner .emi-field input{background:#fff;color:#203e34;border:1px solid #c6d1c1;border-radius:0;font-size:14px}
.range-inner .emi-field small,.range-inner .emi-note{color:#607067;font-size:12px;line-height:1.85}
.range-inner .emi-results{background:#dce5cd}
.range-inner .emi-monthly{font:400 clamp(2rem,3.4vw,3.1rem)/1.3 var(--serif);letter-spacing:-.04em;color:#203e34}
.range-inner .emi-breakdown div{border-color:#adbd9e;font-size:13px;padding:17px 0}
.range-inner #emiError{color:#9d3327}
.range-inner .emi-schedule{background:#fff}
.range-inner .emi-table-wrap :is(th,td){border-color:#dbe2d7;font-size:12px}
.range-inner .emi-table-wrap thead{background:#f0f4e9}
.range-inner .service-heading.is-entering{animation:page-intro .75s cubic-bezier(.2,.65,.3,1) both}
@keyframes page-intro{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.range-site .shell{width:calc(100% - 60px)}.range-site .nav .links{gap:17px;font-size:11px}.range-site .nav .button{font-size:12px;padding:10px 20px}.range-inner .contact-page-grid{gap:40px}}
@media(max-width:850px){.range-site header.nav{height:83px;padding:0 25px}.range-site .nav .brand-logo{width:100px;height:63px}.range-site .nav .links{display:none}.range-site .nav .links[data-open=true]{display:flex;position:absolute;left:0;right:0;top:83px;padding:24px 30px;background:#203e34;border:0;gap:14px;font-size:14px;flex-direction:column;box-shadow:0 14px 22px #102a2920}.range-site .menu{display:block}.range-inner .service-heading{padding:45px 0 35px}.range-inner .service-heading h1{font-size:clamp(2.2rem,5.7vw,3rem)}.range-inner .contact-page-grid{grid-template-columns:1fr;gap:35px}.range-inner .service-body:has(.contact-page-grid){padding-top:25px}.range-inner .service-body{max-width:none}.range-inner .pricing-page .service-heading{padding-top:40px}.range-inner .emi-panel{padding:28px}.range-site .footer-inner{row-gap:24px}}
@media(max-width:520px){.range-site .shell{width:calc(100% - 40px)}.range-site header.nav{padding:0 16px}.range-site .nav .button{font-size:11px;padding:10px 17px}.range-site .nav-action{gap:7px}.range-inner .breadcrumbs{padding-top:25px;font-size:10px}.range-inner .service-heading{padding:32px 0 30px}.range-inner .service-heading h1{font-size:2rem;line-height:1.3;letter-spacing:-.045em;overflow-wrap:anywhere}.range-inner .service-heading p,.range-inner .service-body{font-size:14px}.range-inner .service-page{padding-bottom:60px}.range-inner .service-body h2{font-size:1.55rem;margin-top:34px}.range-inner .form,.range-inner .contact-page-grid .form{padding:22px 18px}.range-inner .quotation-fields{padding:16px 12px}.range-inner .contact-list li{font-size:12px}.range-inner .contact-list span{width:90px}.range-inner .pricing-page .service-heading h1{font-size:2rem}.range-inner .equipment-filters{padding:18px}.range-inner .pricing-help{padding:28px 22px}.range-inner .emi-panel{padding:26px 20px}.range-inner .emi-panel h2{font-size:23px}.range-inner .emi-breakdown div{font-size:12px}.range-site footer{padding:35px 0}.range-site .footer-links{gap:12px 20px}.range-site .range-back-top{width:40px;height:40px;right:16px;bottom:94px}}
@media(prefers-reduced-motion:reduce){.range-site *, .range-site *:before,.range-site *:after{scroll-behavior:auto!important}.range-inner .service-heading.is-entering{animation:none}.range-site .range-back-top{transition:none}}
