:root{--ink:#1e2c25;--pine:#193e32;--cream:#f5f1e9;--lime:#c8ee58;--orange:#ec824b;--muted:#66736d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'League Spartan',serif}.site-header{height:76px;position:absolute;z-index:3;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;color:white}.logo{font-weight:700;letter-spacing:.16em;text-decoration:none;color:inherit;font-size:17px}.logo span{color:var(--lime);font-size:24px;vertical-align:-2px}.site-header nav{display:flex;gap:30px}.site-header nav a,.header-cta{color:inherit;text-decoration:none;font-size:16px;font-weight:600}.site-header nav a.active{font-weight:800;border-bottom:3px solid #fff200;padding-bottom:2px;line-height:1.15;display:inline-block}.header-cta{border-bottom:1px solid var(--lime);padding-bottom:4px}.header-cta span{color:var(--lime);padding-left:8px}.hero{height:760px;min-height:700px;display:grid;grid-template-columns:repeat(3,1fr);position:relative;color:white;overflow:hidden}.hero-panel{position:relative;background-size:cover;background-position:center;isolation:isolate;border-radius:28px;overflow:hidden;transition:transform .5s ease}.hero-panel:before{content:"";background:linear-gradient(180deg,rgba(10,25,18,.24),rgba(10,25,18,.72));position:absolute;inset:0;z-index:-1}.hero-panel:hover{transform:none}.hero-panel.farm:hover,.hero-panel.home:hover,.hero-panel.business:hover{transform-origin:center center}@media(max-width:850px){.hero-panel:hover{transform:none;z-index:auto}}.farm{background-image:none}.home{background-image:none}.business{background-image:none}.panel-copy{position:absolute;left:11%;right:9%;bottom:57px}.panel-copy p{font-size:16px;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:var(--lime)}.panel-copy h2{font:600 30px/1.06 'League Spartan',serif;margin:10px 0 22px}.text-link{color:white;font-size:16px;text-decoration:none;border-bottom:1px solid #ffffff88;padding-bottom:5px}.text-link b{color:var(--lime);margin-left:8px}.hero-card{position:absolute;z-index:1;text-align:center;width:min(610px,88%);top:50%;left:50%;transform:translate(-50%,-43%);padding:52px 55px;background:rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.35);box-shadow:0 24px 60px rgba(0,0,0,.24);border-radius:24px}.eyebrow{font-size:16px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}.hero-card .eyebrow{color:#d9e7d9}.eyebrow span{background:var(--orange);width:21px;height:2px;display:inline-block;vertical-align:middle;margin-right:9px}.hero-card h1,.section-intro h2,.process h2,.calculator h2,.quote h2{font:600 53px/1.05 'League Spartan',serif;letter-spacing:-.035em;margin:17px 0}.hero-card h1 em,h2 em{color:var(--lime);font-style:italic}.hero-card p{font-size:16px;line-height:1.55;color:#d9e4df;max-width:460px;margin:0 auto 26px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:15px 20px;text-decoration:none;border:0;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer}.button span{font-size:18px}.primary{background:var(--lime);color:var(--ink)}.scroll-note{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:16px;letter-spacing:.16em;font-weight:700;z-index:1}.scroll-note i{display:block;height:25px;width:1px;background:var(--lime);margin:9px auto 0}.section-pad{padding:110px 7%}.value-section{display:grid;grid-template-columns:30% 1fr;gap:8%;align-items:start}.section-intro{position:sticky;top:30px}.section-intro h2,.process h2,.calculator h2,.quote h2{font-size:43px}.section-intro h2 em,.process h2 em,.calculator h2 em,.quote h2 em{color:var(--orange)}.subcopy{color:var(--muted);font-size:18px;line-height:1.7;max-width:275px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.value-card{min-height:408px;border:1px solid #d9d8d0;padding:26px;display:flex;flex-direction:column;background:#faf8f3}.card-number{font:600 16px 'League Spartan',serif;color:var(--orange);margin-bottom:34px}.icon{font-size:48px;color:var(--pine);line-height:1}.value-card h3{font:600 22px/1.15 'League Spartan',serif;margin:27px 0 10px}.value-card p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}.modal-trigger{margin-top:auto;background:transparent;border:0;border-bottom:1px solid #adb5af;text-align:left;padding:12px 0 2px;font:700 16px 'League Spartan',serif;cursor:pointer;color:inherit}.modal-trigger b{float:right;color:var(--orange);font-size:16px}.dark{background:var(--pine);color:white;border:0}.dark .card-number{color:var(--lime)}.stats{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:3px 8px}.stats strong{font:600 38px 'League Spartan',serif;color:var(--lime)}.stats strong small{font-size:18px}.stats span{font-size:16px;text-transform:uppercase;letter-spacing:.06em;color:#d2dfd4}.dark .modal-trigger{border-color:#5d7a6c;color:white}.reviews{background:#e8e3d9;padding:90px 9%;overflow:hidden}.review-top{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:auto}.arrows button{background:transparent;border:1px solid #bfc4ba;width:37px;height:37px;margin-left:6px;font-size:17px;cursor:pointer}.review-window{max-width:1100px;margin:30px auto 0;overflow:hidden}.review-track{display:flex;transition:transform .5s ease}.review{min-width:100%;text-align:center;padding:0 12%;}.stars{color:#e7a640;letter-spacing:5px;font-size:18px}.review blockquote{font:600 31px/1.35 'League Spartan',serif;margin:22px 0}.review p{font-size:16px;line-height:1.6;color:var(--muted)}.review p b{color:var(--ink)}.dots{text-align:center;margin-top:27px}.dots button{width:6px;height:6px;border:0;border-radius:10px;background:#abb2a9;margin:4px;padding:0}.dots button.active{width:22px;background:var(--orange)}.process{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f4f0e8}.process-card,.calculator{padding:48px;background:white}.process-card{background:var(--pine);color:white}.process-card .eyebrow{color:#bfd1c5}.process-card ol{list-style:none;margin:34px 0 0;padding:0}.process-card li{display:grid;grid-template-columns:38px 1fr;border-top:1px solid #ffffff2e;padding:15px 0}.process-card li>b{font-size:16px;color:var(--lime)}.process-card h3{margin:0 0 4px;font-size:16px}.process-card li p{margin:0;color:#c7d3cc;font-size:16px}.calculator{background:#dcecc8}.calc-copy{font-size:16px;line-height:1.6;max-width:420px}.bill{display:flex;justify-content:space-between;align-items:baseline;margin:29px 0 9px}.bill span,.results span{font-size:16px;font-weight:600}.bill strong{font:600 25px 'League Spartan',serif}input[type=range]{width:100%;accent-color:var(--pine)}.range-labels{display:flex;justify-content:space-between;color:#5d7063;font-size:16px;margin-top:7px}.results{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:31px 0 27px}.results div{background:#edf5df;padding:15px}.results span{display:block;color:#526358;margin-bottom:6px}.results strong{font:600 21px 'League Spartan',serif}.whatsapp{background:#1a9e60;color:white;width:100%;font-size:16px}.quote{display:grid;grid-template-columns:1fr 1fr;background:#f3b97f}.quote form{order:1}.quote .quote-copy{order:2;padding:92px 14%}.quote-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;max-width:350px}.quote-illustration{margin-top:52px}.quote-illustration img{max-width:300px;height:auto;width:auto}form{padding:75px 14%;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fffdf8}form label{font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}form input,form select{display:block;width:100%;padding:11px 0 9px;border:0;border-bottom:1px solid #cdd1c9;outline:none;background:transparent;font:14px 'League Spartan',serif;color:var(--ink)}form .button,form .form-note,form .form-success{grid-column:1/-1}.form-note{font-size:16px;color:#6a766f;margin:0;text-align:center}.form-success{font-size:16px;color:#16713f;text-align:center;margin:0}.footer-main{padding:60px 7%;background:var(--ink);color:#e7eee8;display:grid;grid-template-columns:2.1fr 1fr 1fr 1.2fr;gap:45px}.footer-main>div>p{font-size:16px;line-height:1.6;color:#b8c7bd;max-width:290px}.footer-main h4{font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin:3px 0 17px}.footer-main a:not(.logo){display:block;color:#dbe4dd;text-decoration:none;font-size:16px;margin:0 0 10px}.locations{line-height:1.8!important}.certs{font-weight:700;letter-spacing:.1em;font-size:16px;color:white;margin-top:22px}.certs span{color:var(--lime);padding:0 6px}.legal{background:#15231e;color:#92a69a;font-size:16px;padding:16px 7%;display:flex;justify-content:space-between}.legal a{color:inherit;margin-left:20px;text-decoration:none}.floating-wa{position:fixed;z-index:5;right:22px;bottom:22px;width:min(420px,calc(100vw - 32px));height:74px;border-radius:20px;background:#21ae68;color:white;text-align:center;padding:0 20px;font-size:21px;font-weight:800;text-decoration:none;box-shadow:0 5px 16px #10261a55;display:flex;align-items:center;justify-content:center;line-height:1}.floating-wa:before{content:'◔';display:inline-block;line-height:1;margin-right:10px}.modal{display:none;position:fixed;z-index:10;inset:0;background:#142a21bb;padding:20px;align-items:center;justify-content:center}.modal.show{display:flex}.modal-box{background:var(--cream);max-width:570px;width:100%;padding:46px;position:relative;box-shadow:0 20px 50px #0005}.modal-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:30px;cursor:pointer}.modal-box h2{font:600 35px 'League Spartan',serif;margin:0 0 14px}.modal-box p{font-size:16px;line-height:1.7;color:var(--muted)}.modal-box ul{padding-left:18px;color:var(--ink);font-size:16px;line-height:2}
@media(max-width:850px){.site-header{padding:0 6%;height:64px}.site-header nav{display:none}.hero{height:auto;min-height:0;display:block;padding-top:64px}.hero-panel{height:280px}.panel-copy{bottom:28px;left:8%}.panel-copy h2{font-size:26px}.hero-card{top:50%;padding:35px 25px}.hero-card h1{font-size:38px}.scroll-note{display:none}.value-section{display:block;padding:70px 6%}.section-intro{position:static;margin-bottom:38px}.value-grid{grid-template-columns:1fr}.value-card{min-height:310px}.reviews{padding:65px 6%}.review{padding:0 2%}.review blockquote{font-size:25px}.process{grid-template-columns:1fr;padding:0}.process-card,.calculator{padding:40px 6%}.quote{grid-template-columns:1fr}.quote-copy{padding:62px 8%}.quote-illustration{display:none}form{padding:48px 8%}.footer-main{grid-template-columns:1fr 1fr;padding:50px 7%;gap:32px}.footer-main>div:first-child{grid-column:1/-1}.legal{display:block;line-height:2}.legal a{margin-left:0;margin-right:15px}.floating-wa{right:15px;bottom:15px}}@media(max-width:470px){.header-cta{font-size:16px}.logo{font-size:16px}.hero-card{width:92%;padding:30px 20px}.hero-card p{font-size:16px}.section-intro h2,.process h2,.calculator h2,.quote h2{font-size:36px}.review blockquote{font-size:22px}.results{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}form{grid-template-columns:1fr}}

/* Reference-inspired landing hero */
body{background:#fff;font-family:'League Spartan',serif}.site-header{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 32px;background:#fff;color:#0617a8;z-index:10;box-shadow:0 20px 45px rgba(0,0,0,.08)}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{color:inherit;text-decoration:none;font-size:16px;font-weight:700;letter-spacing:.01em;transition:opacity .2s ease}.site-header nav a.active{font-weight:800;border-bottom:3px solid #fff200;padding-bottom:2px;line-height:1.15;display:inline-block}.site-header nav a:hover{opacity:.78}.header-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;background:#0617a8;color:#fff;text-decoration:none;font-size:16px;font-weight:700;box-shadow:0 14px 30px rgba(6,23,168,.16)}.logo{display:flex;align-items:center;gap:14px;letter-spacing:0;color:inherit;font-size:18px;line-height:1.1;font-weight:800}.logo img{width:60px;height:60px;object-fit:cover;border-radius:16px}.logo-name{display:flex;flex-direction:column;line-height:1.1}.logo small{display:block;color:#0f2c5d;font:normal 16px/1.3 'Amsterdam Two',serif;margin-top:3px}.logo-mark{display:grid;place-items:center;width:72px;height:57px;border-radius:48% 52% 50% 46%;font-size:47px;color:#ffdd00;text-shadow:2px 2px 0 #0a18d8}.logo-name{display:block}.logo small{display:block;color:#fb2424;font:normal 16px/1.2 'Amsterdam Two',serif;margin:3px 0 0 7px}.hero{width:min(1240px,82%);height:652px;min-height:0;margin:130px auto 0;display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.hero-panel{overflow:hidden}.hero-panel:before{background:rgba(13,18,20,.12)}.farm{background-image:none;background-position:center}.home{background-image:none;background-position:center}.business{background-image:none;background-position:center}.panel-label{display:none !important}.hero-card{top:auto;bottom:48px;transform:translateX(-50%);width:min(760px,70%);padding:24px 30px;background:rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.35);box-shadow:0 24px 60px rgba(0,0,0,.24);border-radius:24px;color:#ffffff;text-shadow:none}.hero-card h1{font:600 39px/.95 'League Spartan',serif;letter-spacing:.004em;color:#ffffff;margin:0 0 9px}.hero-card h1 em{color:#ffffff;font-style:normal}.hero-card p{max-width:700px;color:#ffffff;font-size:21px;line-height:1.4;margin:0 auto 15px}.hero-card .primary{position:absolute;left:0;top:142px;background:#1115f3;color:#fff;border-radius:17px;padding:12px 20px;font-size:23px;box-shadow:0 2px 0 #040080}.hero-card .primary:after{content:' →';padding-left:9px}.scroll-note{display:none}.floating-wa{width:auto;height:58px;right:calc(9% + 4px);bottom:28px;border-radius:17px;padding:12px 16px;background:#fff600;color:#1115f3;font-size:0;box-shadow:none}.floating-wa:before{content:'';font:700 22px 'League Spartan',serif;color:#121212;margin-right:9px}.floating-wa:after{content:'◔';font:26px serif;color:#15bf74}.footer-main .logo{font-size:19px}.footer-main .logo-mark{width:45px;height:38px;font-size:33px}.footer-main .logo small{font-size:16px}.footer-main .logo-name{color:#fff}.footer-main .logo small{color:#ff8f8f}
@media(max-width:850px){.site-header{padding:16px 20px;gap:16px}.site-header nav{display:none}.header-cta{display:none}.hero{width:100%;height:760px;display:grid;padding:0;grid-template-columns:1fr 1fr}.hero-panel{height:auto}.business{display:none}.panel-label{top:32px;font-size:18px;width:150px}.hero-card{bottom:48px;width:90%}.hero-card h1{font-size:30px}.hero-card p{font-size:16px}.hero-card .primary{position:static;margin-top:5px;font-size:17px}.floating-wa{right:14px;bottom:14px}.hero-card .primary:after{content:''}}
@media(max-width:470px){.site-header{padding:14px 18px;flex-wrap:wrap;justify-content:center;row-gap:12px}.logo{font-size:16px}.logo-mark{width:40px;height:35px;font-size:28px}.logo small{font-size:16px;margin-left:0}.hero{height:640px;grid-template-columns:1fr}.home{display:none}.hero-card{bottom:35px}.hero-card h1{font-size:24px;line-height:1.08}.hero-card p{font-size:15px;line-height:1.35}.panel-label{top:28px}.floating-wa:before{font-size:17px}.floating-wa{padding:9px 13px}.section-intro h2,.process h2,.calculator h2,.quote h2{font-size:32px;line-height:1.06}.section-intro .section-lede{font-size:17px;line-height:1.4}.review blockquote{font-size:20px}.value-card.dark .stats strong{font-size:28px;line-height:.92}.#process .process-card li>b,#process .process-card h3{font-size:22px;line-height:1.12}}

@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-Thin.ttf') format('truetype');font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-ExtraLight.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:'League Spartan';src:url('assets/fonts/LeagueSpartan-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:'Amsterdam Two';src:url('assets/fonts/amsterdam-two-ttf.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}body,.button,input,select,textarea{font-family:'League Spartan',serif}.site-header{font-family:'League Spartan',serif}.logo img{width:68px;height:62px;object-fit:contain;mix-blend-mode:multiply}.logo{gap:5px;font-family:'League Spartan',serif;font-weight:800}.logo-name{font-weight:800}.logo small{font-family:'Amsterdam Two',serif;font-weight:400}.hero{width:100%;height:50vh;min-height:500px;margin:0}.hero-card h1,.hero-card p,.panel-label{font-family:'League Spartan',serif}.hero-card h1{font-weight:900;font-size:clamp(28px,3vw,39px)}.hero-card .primary{font-family:'League Spartan',serif;font-weight:800}.floating-wa{display:none}.footer-main .logo img{width:46px;height:42px}.footer-main .logo-name{font-family:'League Spartan',serif}.footer-main .logo small{font-family:'Amsterdam Two',serif}@media(max-width:850px){.hero{width:100%;height:600px;min-height:0}}@media(max-width:470px){.logo img{width:45px;height:42px}.hero{height:560px}}

/* Keep the message clear and the calls to action separate. */
.hero-card{bottom:105px;padding:24px 32px;background:rgba(255,255,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.35);box-shadow:0 24px 60px rgba(0,0,0,.24);border-radius:24px}.hero-card .primary{display:none}.hero-quote{position:absolute;left:6.8%;bottom:27px;z-index:3;background:#1019eb;color:#fff;text-decoration:none;border-radius:17px;padding:14px 21px;font:800 22px 'League Spartan',serif;box-shadow:0 2px 0 #040080}@media(max-width:850px){.hero-card{bottom:95px;padding:14px 18px}.hero-quote{left:18px;bottom:18px;font-size:18px;padding:11px 15px}}@media(max-width:470px){.hero-card{bottom:88px;padding:12px 14px}.hero-quote{left:14px;bottom:14px;font-size:16px;padding:10px 13px}}

/* PAGE COLOURS & POINTER GLOW: change --mouse-x / --mouse-y only through script.js. */
:root{--ink:#08216c;--pine:#0617a8;--cream:#fff;--lime:#0617a8;--orange:#fff200;--muted:#52648a;--mouse-x:50%;--mouse-y:25%}html,body{min-height:100%;background:#fff}body{background:radial-gradient(520px circle at var(--mouse-x) var(--mouse-y),rgba(32,111,255,.10),rgba(255,255,255,0) 70%),#fff;color:var(--ink)}main{min-height:100vh;background:radial-gradient(520px circle at var(--mouse-x) var(--mouse-y),rgba(32,111,255,.07),rgba(255,255,255,0) 70%)}.logo small{font-style:normal;transform:none}.value-section,.reviews,.process,.quote{background:transparent}.value-card,.calculator,form,.quote-copy{background:rgba(255,255,255,.78);border-color:rgba(6,23,168,.14)}.dark,.process-card{background:#0617a8}.reviews{border-top:1px solid rgba(6,23,168,.09);border-bottom:1px solid rgba(6,23,168,.09)}.quote{border-top:1px solid rgba(6,23,168,.12)}.results div{background:#f2f6ff}.whatsapp{background:#0617a8}.footer-main{background:#fff;color:#08216c;border-top:1px solid rgba(6,23,168,.15)}.footer-main .logo-name,.footer-main a:not(.logo),.footer-main>div>p{color:#08216c}.footer-main h4,.certs{color:#0617a8}.footer-main .logo small{color:#d10000}.legal{background:#f5f8ff;color:#52648a}.legal a{color:#0617a8}.hero{background:none}.panel-label:before,.eyebrow span{background:#fff200}.dark .card-number,.stats strong,.process-card li>b{color:#fff200}.calculator{background:rgba(255,255,255,.78)}

/* HOME PANELS & TYPE: white panel spacing; League Spartan everywhere except the requested logo tagline. */
.hero{background:#fff}.hero-card,.hero-card *,.panel-label,.panel-label *,.value-section,.value-section *,.reviews,.reviews *,.process,.process *,.quote,.quote *,.footer-main,.footer-main *,.legal,.legal *{font-family:'League Spartan',serif!important}.logo small,.footer-main .logo small{font-family:'Amsterdam Two',serif!important}

/* BRAND & HERO CONTROLS: main colours and hero-label appearance. */
.logo-name{color:#0617a8}.hero{gap:24px;padding:0 24px;background:none}.panel-label{display:none !important;top:44px;width:auto;min-width:172px;padding:12px 24px 10px;border:1px solid rgba(6,23,168,.17);border-radius:8px;background:rgba(255,255,255,.92);box-shadow:0 7px 20px rgba(2,12,60,.25);color:#0617a8;font:700 19px 'League Spartan',serif;letter-spacing:.01em}.panel-label:before{content:'';display:block;width:30px;height:4px;margin:0 auto 7px;border-radius:3px;background:#fff200}.hero-panel:before{background:linear-gradient(180deg,rgba(4,14,40,.08),rgba(4,14,40,.28))}@media(max-width:850px){.hero{gap:16px;padding:0 16px}.panel-label{top:30px;min-width:138px;padding:9px 16px 8px;font-size:16px}.panel-label:before{width:24px;height:3px;margin-bottom:5px}}@media(max-width:470px){.panel-label{top:25px}}

/* Final styling override to ensure hero spacing and heading updates prevail */
.section-intro h2{font-size:58px;line-height:.96;margin:14px 0 16px;letter-spacing:-.045em}.section-intro .section-lede{margin:0 0 14px;font-size:22px;line-height:1.2;font-weight:700;color:var(--ink)}.section-intro .section-lede+.subcopy{margin-top:0}@media(max-width:850px){.section-intro h2{font-size:48px}}@media(max-width:470px){.section-intro h2{font-size:40px}.section-intro .section-lede{font-size:19px}}
.value-card .excellence-list{margin:2px 0 0;padding-left:18px;color:var(--muted);font-size:16px;line-height:1.45}.value-card .excellence-list li{margin:0 0 10px}.value-card.dark .stats strong span{font-style:normal}
.hero {
  margin:56px auto 0 !important;
  height:540px !important;
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) minmax(360px,1.45fr) !important;
  align-items:center !important;
  gap:20px !important;
}
.hero-copy {
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:12px !important;
}
.hero-card {
  position:static !important;
  transform:none !important;
  width:auto !important;
  padding:22px 26px !important;
  background:transparent !important;
  color:#0617a8 !important;
  backdrop-filter:blur(8.4px) !important;
  -webkit-backdrop-filter:blur(8.4px) !important;
  box-shadow:0 18px 45px rgba(6,23,168,.12) !important;
  border-radius:20px !important;
}
.hero-card h1 {
  font:700 30px/1.08 'League Spartan',serif !important;
  letter-spacing:.004em !important;
  color:#0617a8 !important;
  margin:0 0 8px !important;
}
.hero-card p {
  color:#0617a8 !important;
  font-size:16px !important;
  line-height:1.4 !important;
  margin:0 !important;
}
.hero-panel {
  position:relative !important;
  grid-column:2 !important;
  height:540px !important;
}
.hero-quote {
  display:none !important;
}
.logo {
  font-size:16px !important;
}
.logo .logo-name small {
  font:normal 16px/1.2 'Amsterdam Two',serif !important;
}
.site-header {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:9999;
}

@media (max-width:850px) {
  .hero {
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .hero-copy {
    order:1;
  }

  .hero-panel.business {
    order:2;
    grid-column:auto !important;
    width:100%;
    height:520px !important;
    min-height:520px;
  }

  #process {
    display:flex !important;
    flex-direction:column !important;
  }

  #process .calculator {
    order:1;
  }

  #process .process-card {
    order:2;
  }
}

@media (max-width:470px) {
  h1, h2, h3 {
    letter-spacing: -0.04em;
  }

  .hero-card h1 {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  .section-intro h2,
  .process h2,
  .calculator h2,
  .quote h2,
  .service-area-copy h2 {
    font-size: 32px !important;
    line-height: 1.06 !important;
  }

  .value-grid .value-card h3,
  #process .process-card li > b,
  #process .process-card h3 {
    font-size: 22px !important;
    line-height: 1.12 !important;
  }

  #process .process-card {
    width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

/* Rounded panels in the Why Power with Us card grid. */
.value-grid .value-card {
  border-radius: 20px;
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

/* Match the value-card panel radius in the process section. */
#process .process-card,
#process .calculator {
  border-radius: 20px;
  overflow: hidden;
}

#process .results > div {
  border-radius: 20px;
}

#quote .button.primary {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 18px 20px;
  border-radius: 20px;
  background: #fff200;
  color: #0617a8;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 800;
  text-align: center;
  box-shadow: none;
}

#quote .button.primary span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Emphasize process-step numbers and titles without enlarging their descriptions. */
#process .process-card li > b,
#process .process-card h3 {
  font-size: 28px;
  line-height: 1.1;
}

.whatsapp {
  border-radius: 16px;
  animation: whatsapp-pulse 2s ease-in-out infinite;
}

.whatsapp img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

@keyframes whatsapp-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 204, 0, 0.58);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 0 0 10px rgba(255, 204, 0, 0), 0 0 20px rgba(255, 204, 0, 0.8);
  }
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp {
    animation: none;
  }
}

.value-grid .value-card:hover {
  transform: translateY(-8px);
  border-color: rgba(6, 23, 168, 0.35);
  box-shadow: 0 18px 32px rgba(6, 23, 168, 0.16);
}

.value-card.dark .metrics-intro {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 16px;
  line-height: 1.45;
}

.value-card.dark .stats strong {
  font-size: 36px;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

/* Keep the animated number from inheriting the general .stats span text size. */
.value-card.dark .stats strong [data-count] {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.value-card.dark .stats strong small {
  font-size: 20px;
  letter-spacing: 0;
}

/* Keep each metric and its description on one row. */
.value-card.dark .stats {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: baseline;
  column-gap: 12px;
  row-gap: 14px;
}

.value-card.dark .stats strong {
  white-space: nowrap;
}

.value-card.dark .stats > span {
  min-width: 0;
  line-height: 1.2;
}

.value-card.dark .stats {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.value-card.dark .stat-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
}

.value-card.dark .stat-row strong {
  white-space: nowrap;
}

.value-card.dark .stat-row > span {
  min-width: 0;
  line-height: 1.2;
}

/* Wrap cards instead of compressing them on smaller screens. */
.value-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.value-grid .value-card {
  min-width: 0;
}

.value-card .partners-intro {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

/* A fixed icon area gives all three card headings the same starting height. */
.value-grid .value-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  color: #0617a8;
}

.value-grid .value-icon svg,
.value-grid .value-icon img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.value-grid .value-card h3 {
  margin-top: 18px;
}

.value-grid .value-card.dark .value-icon {
  color: #fff200;
}

/* Highlight only the emphasized “US” in the Why Power with Us heading. */
.section-intro h2 em {
  display: inline-block;
  padding: 0.06em 0.16em 0 0.06em;
  line-height: 0.82;
  vertical-align: 0.05em;
  position: relative;
  z-index: 0;
  isolation: isolate;
}

.section-intro h2 em::before {
  content: "";
  position: absolute;
  inset: -0.04em -0.08em;
  z-index: -1;
  border-radius: 10px;
  background: rgba(6, 23, 168, 0.24);
  filter: blur(7px);
}

/* Keep the pointer glow in viewport coordinates so it follows the cursor site-wide. */
body {
  background: #fff;
}

main {
  background: none;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  background: radial-gradient(520px circle at var(--mouse-x) var(--mouse-y), rgba(32, 111, 255, 0.2), rgba(255, 255, 255, 0) 70%);
}

.menu-toggle{display:none;border:0;background:transparent;padding:6px;width:36px;height:36px;flex:0 0 36px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;margin:4px auto;background:var(--pine);transition:transform .2s ease,opacity .2s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:600px){.site-header{padding:10px 16px;gap:8px;justify-content:space-between}.site-header .logo{margin:0;min-width:0;gap:7px}.site-header .logo img{width:42px;height:38px}.site-header .logo-name{font-size:12px;line-height:1.05;white-space:nowrap}.site-header .logo-name small{font-size:8px;line-height:1.1;margin-top:2px}.site-header .menu-toggle{display:block}.site-header nav.is-open{display:flex;position:absolute;top:58px;left:16px;right:16px;z-index:4;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#fff;border:1px solid #dce4f7;box-shadow:0 12px 24px rgba(6,23,168,.12)}.site-header nav.is-open a{padding:10px 12px;border:0}}
.site-header{position:fixed!important;top:0;left:0}
.site-header nav.is-open a.active{border:0;border-left:5px solid #fff200;padding-left:7px}

.brand-carousel {
  width: 100%;
  margin-top: 22px;
  overflow: hidden;
  border-block: 1px solid rgba(6, 23, 168, 0.12);
  padding: 13px 0;
}

.brand-track {
  display: flex;
  width: max-content;
  animation: brand-scroll 22s linear infinite;
}

.brand-carousel:hover .brand-track {
  animation-play-state: paused;
}

.brand-logo {
  display: grid;
  place-items: center;
  flex: 0 0 132px;
  width: 132px;
  height: 46px;
  padding: 7px 12px;
}

.brand-logo img {
  display: block;
  width: 108px;
  height: 40px;
  object-fit: contain;
}

@keyframes brand-scroll {
  to { transform: translateX(-50%); }
}

.value-grid .value-card.dark:hover {
  box-shadow: 0 18px 32px rgba(6, 23, 168, 0.28);
}

@media (prefers-reduced-motion: reduce) {
  .value-grid .value-card {
    transition: none;
  }

  .value-grid .value-card:hover {
    transform: none;
  }

  .brand-track {
    animation: none;
  }
}

/* Hero image carousel. */
.hero-panel.business {
  background-image: none;
}

.hero-slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  background: none;
  transform: translateX(100%);
  transition: transform 1600ms cubic-bezier(.05, .85, .15, 1);
}

.hero-slide.is-active {
  z-index: 2;
  transform: translateX(0);
}

.hero-slide.is-leaving {
  z-index: 1;
  transition: none;
  transform: translateX(0);
}

.hero-caption {
  position: absolute;
  z-index: 3;
  right: 32px;
  bottom: 24px;
  left: 32px;
  max-width: 500px;
  width: fit-content;
  padding: 14px 18px;
  border-radius: 10px;
  background: rgba(0, 0, 0, .48);
  color: #fff;
  transition: opacity 500ms ease;
}

.hero-caption h2 {
  margin: 0 0 6px;
  font: 700 24px/1.08 'League Spartan', serif;
}

.hero-caption p {
  max-width: 470px;
  margin: 0;
  font: 400 15px/1.35 'League Spartan', serif;
}

.hero-caption.is-changing {
  opacity: 0;
}

/* The hero now uses one image instead of the retired image panels. */
.hero-panel.farm,
.hero-panel.home {
  display: none;
  background-image: none;
}

.hero-panel.business {
  display: block;
  height: 520px;
  min-height: 520px;
}

.service-area {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  gap: 32px;
  align-items: center;
  padding: 86px 7%;
  border-top: 1px solid rgba(6, 23, 168, .12);
}

.service-area-copy h2 {
  margin: 14px 0 18px;
  font: 600 53px/1.05 'League Spartan', serif;
  letter-spacing: -.035em;
  color: var(--ink);
}

.service-area-copy h2 em {
  color: var(--orange);
}

.service-area-copy > p:not(.eyebrow):not(.service-area-location) {
  max-width: 440px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.55;
}

.service-area-location {
  margin: 24px 0;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.5;
}

.service-area-location strong {
  color: #0617a8;
}

.service-area-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #0617a8;
  color: #fff;
  text-decoration: none;
}

.service-area-map {
  min-height: 300px;
  overflow: hidden;
  border: 1px solid rgba(6, 23, 168, .14);
  border-radius: 20px;
  background: #eef3ff;
}

.service-area-map iframe {
  display: block;
  width: 100%;
  height: 300px;
  border: 0;
}

.service-area-list {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

@media (max-width: 850px) {
  .hero-panel.business {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide {
    transition: none;
  }

  .hero-caption {
    transition: none;
  }
}

@media (max-width: 850px) {
  .service-area {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 70px 7%;
  }

  .service-area-copy h2 {
    font-size: 42px;
  }

  .service-area-map {
    order: 2;
  }

  .service-area-list {
    order: 3;
  }
}

/* Slightly deepen emphasized text for readability on white backgrounds. */
h1 em,
h2 em,
.service-area-copy h2 em {
  color: #ffea04 !important;
}

@media (max-width: 850px) {
  .section-intro .subcopy {
    max-width: none;
  }
}

/* Keep the home hero clear of the header and tighten section spacing. */
.hero {
  margin-top: 100px !important;
}

.section-pad {
  padding-block: 55px !important;
}

.reviews {
  padding-block: 45px !important;
}

.service-area {
  padding-block: 43px !important;
}

#quote form {
  padding-block: 37.5px !important;
}

.quote-copy {
  padding-block: 46px !important;
}

@media (max-width: 850px) {
  .hero {
    margin-top: 80px !important;
  }

  .value-section {
    padding-block: 35px !important;
  }

  .reviews {
    padding-block: 32.5px !important;
  }

  #process {
    padding-block: 0 !important;
  }

  .service-area {
    padding-block: 35px !important;
  }

  #quote form {
    padding-block: 24px !important;
  }
}

