/* Service-led draft, sharing the existing brand and navigation foundation. */
.ql-site .ql-hero{padding:88px 0 94px}
.ql-site .ql-hero .inner{max-width:900px}
.ql-site .ql-hero h1{max-width:22ch;text-wrap:balance;color:#fff}
.ql-site .ql-hero .lede{max-width:690px;font-size:20px;line-height:1.65;color:#e3e9f3}
.ql-site .ql-hero .eyebrow{color:#9bbcff}
.ql-site .ql-hero .btn.pale{background:transparent;color:#fff;border:1px solid #67748a}
.ql-heading{max-width:760px;margin-bottom:38px}
.ql-heading h2{font-size:clamp(30px,3.5vw,43px);line-height:1.15}
.ql-heading p{max-width:660px;color:#526075;margin-bottom:0}
.dark .ql-heading p{color:#d2dceb}
/* White cards retain dark text when their surrounding section is navy. */
.dark .ql-service h3,.dark .ql-workflow strong{color:var(--ink)}
.dark .ql-workflow-note{color:#d2dceb}
.ql-section h2{line-height:1.14}
.ql-section .ql-lead{font-size:20px;line-height:1.7}
.ql-prose>:last-child{margin-bottom:0}
.ql-prose a:not(.btn){color:#1b4fd1;text-underline-offset:4px}
.dark .ql-prose a:not(.btn){color:#a9c6ff}
.ql-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ql-service{display:flex;flex-direction:column;min-width:0;padding:25px 23px 23px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ql-service:hover{border-color:#2563eb;box-shadow:0 9px 28px #1e26320c}
.ql-service-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:#65748a;margin-bottom:30px}
.ql-service-top>:last-child{color:#2563eb;font-size:24px;line-height:1}
.ql-service h3{font-size:21px;line-height:1.25;max-width:18ch;margin-bottom:14px}
.ql-service p{font-size:15px;line-height:1.65;color:#526075;margin-bottom:26px}
.ql-service-link{font-size:13px;color:#1b4fd1;font-weight:800;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ql-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.ql-three article{min-width:0;border-top:1px solid var(--line);padding-top:25px}
.ql-three h3{font-size:21px;line-height:1.25;margin-bottom:14px}
.ql-three p{font-size:16px;margin:0;color:#526075}
.dark .ql-three article{border-color:#445167}
.dark .ql-three p{color:#d2dceb}
.ql-number{display:block;font-size:14px;color:var(--blue);font-weight:800;margin-bottom:26px}
.dark .ql-number{color:var(--blue-lt)}
.ql-crm-features{row-gap:42px}
.ql-workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.ql-workflow li{min-width:0;padding:22px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ql-workflow span{display:block;color:var(--blue);font-size:13px;font-weight:800;margin-bottom:16px}
.ql-workflow strong{display:block;font-size:16px;line-height:1.5;color:var(--ink)}
.ql-workflow-note{margin:23px 0 0;color:#526075;max-width:72ch}
@media(max-width:800px){.ql-workflow{grid-template-columns:1fr;gap:10px}.ql-workflow li{display:flex;align-items:center;gap:20px;padding:17px 20px}.ql-workflow span{margin:0;flex:0 0 24px}}
.ql-steps{padding-left:23px;margin:0}
.ql-steps li{padding-left:9px;margin-bottom:25px}
.ql-steps strong{display:block;margin-bottom:6px}
.ql-contact-email{margin-top:25px}
.ql-calculator{color:var(--ink);display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.ql-calculator-intro{padding:46px 38px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
.ql-calculator-intro h2{font-size:clamp(29px,3vw,39px);line-height:1.15}
.ql-calculator-intro p{font-size:16px;color:#526075}
/* Calculator panels stay readable when their outer band is navy. */
.dark .ql-calculator .eyebrow{color:var(--blue)}
.dark .ql-calculator-intro h2{color:var(--ink)}
.dark .ql-results strong{color:#1b4fd1}
.ql-calculator-note{border-left:3px solid var(--blue);padding-left:17px;margin-top:20px}
.ql-text-link{color:#1b4fd1;font-weight:800;text-underline-offset:5px;font-size:15px;margin-top:auto;padding-top:25px}
.ql-calculator-panel{padding:40px;background:var(--soft);border-left:1px solid var(--line)}
.ql-slider{margin-bottom:26px;min-width:0}
.ql-slider-label{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:15px;font-weight:700}
.ql-slider label{max-width:32ch;line-height:1.5}
.ql-slider output{font-size:18px;white-space:nowrap;font-weight:800;font-variant-numeric:tabular-nums}
.ql-slider p{font-size:13px;line-height:1.55;color:#5d6a7d;margin:4px 0 8px}
.ql-slider input{--fill:25%;display:block;appearance:none;-webkit-appearance:none;width:100%;height:7px;margin:17px 0;background:linear-gradient(to right,var(--blue) var(--fill),#d8e0eb var(--fill));border-radius:20px;cursor:pointer;touch-action:pan-y}
.ql-slider input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:23px;height:23px;border-radius:50%;border:2px solid var(--blue);background:#fff;box-shadow:0 2px 5px #161d2820}
.ql-slider input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;border:2px solid var(--blue);background:#fff}
.ql-slider input:focus-visible{outline:3px solid #1b4fd1;outline-offset:7px}
.ql-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}
.ql-results>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 18px}
.ql-results>div:last-child{background:#e8efff;border-color:#bfcff5}
.ql-results span{display:block;font-size:12px;line-height:1.5;color:#495970;margin-bottom:12px}
.ql-results strong{display:block;font-size:32px;letter-spacing:-.05em;line-height:1.1;color:#1b4fd1;font-variant-numeric:tabular-nums}
.ql-results strong small{display:block;margin-top:9px;font-size:12px;letter-spacing:0;font-weight:600;color:#526075}
.ql-result-note{font-size:12px;color:#526075;margin:16px 0}
.ql-calculation{font-size:12px;color:#526075}
.ql-calculation summary{cursor:pointer;font-weight:700;color:#1e2632;padding:9px 0}
.ql-calculation p{margin:8px 0 0}
.ql-reset{background:none;border:0;padding:12px 0 3px;font:inherit;font-size:12px;color:#1b4fd1;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.ql-narrow{max-width:860px}
.ql-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 32px}
.ql-choices label{display:flex;gap:13px;align-items:center;padding:19px;border:1px solid var(--line);border-radius:11px;font-size:15px;font-weight:700;cursor:pointer;background:#fff}
.ql-choices label:has(input:checked){background:#edf3ff;border-color:#2563eb}
.ql-choices input{appearance:auto;width:19px;height:19px;flex-shrink:0;margin:0;accent-color:#2563eb}
.ql-site fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
.ql-site legend{font-size:20px;font-weight:800;letter-spacing:-.03em}
.ql-shortlist{background:var(--soft);border-radius:16px;padding:30px;border:1px solid var(--line)}
.ql-shortlist h2{font-size:24px}
.ql-shortlist .small{margin:22px 0 0}
.ql-preview-note{font-size:13px;border:1px dashed #64748b;padding:15px;border-radius:9px;color:#475569}
#ql-enquiry>label,.ql-form-grid>label{display:block;font-size:15px;font-weight:700;margin-bottom:24px}
#ql-enquiry input:not([type=checkbox]),#ql-enquiry textarea{display:block;width:100%;border:1px solid #9cabc0;border-radius:8px;padding:13px;font:inherit;font-size:16px;margin-top:9px;box-shadow:none;color:#1e2632;background:#fff}
.ql-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ql-optional{font-weight:400;font-size:13px;color:#526075}
#ql-enquiry-status{background:#edf3ff;border-radius:10px;padding:18px;margin-top:22px}
.ql-faq details{border-top:1px solid var(--line);padding:22px 0}
.ql-faq details:last-child{border-bottom:1px solid var(--line)}
.ql-faq summary{cursor:pointer;font-size:20px;line-height:1.45;font-weight:700;letter-spacing:-.03em}
.ql-faq details>div{padding:18px 0 0;color:#526075;max-width:70ch}
.ql-faq p:last-child{margin-bottom:0}
.ql-site a:focus-visible,.ql-site button:focus-visible,.ql-site input:focus-visible,.ql-site textarea:focus-visible,.ql-site summary:focus-visible{outline:3px solid #2563eb;outline-offset:5px}
.ql-site button.btn{font-family:inherit;border:0;cursor:pointer}
@media(max-width:1100px){.ql-services{grid-template-columns:repeat(2,minmax(0,1fr))}.ql-calculator-intro{padding:35px 28px}.ql-calculator-panel{padding:32px 28px}}
@media(max-width:800px){.ql-three{grid-template-columns:1fr;gap:28px}.ql-three article{padding-top:20px}.ql-number{margin-bottom:12px}.ql-site .ql-hero{padding:58px 0 65px}.ql-site .ql-hero .lede{font-size:18px}.ql-calculator{grid-template-columns:1fr}.ql-calculator-panel{border-left:0;border-top:1px solid var(--line)}.ql-calculator-intro .ql-text-link{padding-top:5px}.ql-calculator-intro{padding:30px}.ql-calculator-note{margin-top:4px}.ql-section .side{margin-bottom:24px}}
@media(max-width:500px){.ql-results{grid-template-columns:1fr}.ql-services,.ql-choices,.ql-form-grid{grid-template-columns:1fr}.ql-service{padding:24px}.ql-service-top{margin-bottom:20px}.ql-service h3{max-width:none}.ql-service p{margin-bottom:20px}.ql-calculator-intro,.ql-calculator-panel{padding:25px 21px}.ql-slider-label{gap:10px;font-size:14px}.ql-slider output{font-size:16px}.ql-results{gap:8px}.ql-results>div{padding:17px 12px}.ql-results strong{font-size:clamp(20px,7vw,29px)}.ql-results span{min-height:36px}.ql-shortlist{padding:24px}.ql-faq summary{font-size:18px}.ql-section .ql-lead{font-size:18px}.ql-site .mark-name{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ql-service{transition:none}}

/* Let all service links remain reachable when the mobile menu is expanded. */
@media(max-width:800px){.ql-site .nav.open .has-sub.open .sub{max-height:none}}

/* Single-offer presentation. Shared calculator rules above remain unchanged. */
.so-site .ql-hero .inner{max-width:960px}
.so-site .ql-hero h1{max-width:22ch}
.so-site .ql-hero .lede{max-width:740px}
.so-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.so-feature{min-width:0;padding:28px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink)}
.so-feature-number{display:block;font-size:13px;font-weight:800;color:#1b4fd1;margin-bottom:28px}
.so-feature h3{font-size:21px;line-height:1.25;color:var(--ink);margin-bottom:14px}
.so-feature p{font-size:15px;line-height:1.65;color:#526075;margin:0}
.so-included-note{max-width:78ch;margin:27px 0 0;color:#526075;font-size:15px}
.so-price-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding:42px;border:1px solid var(--line);border-radius:20px;background:#fff}
.so-price-panel h2{font-size:clamp(48px,6vw,78px);line-height:1.1;color:var(--ink);margin:14px 0 18px}
.so-price-panel h2 span{font-size:20px;font-weight:500;letter-spacing:0;color:#526075}
.so-price-panel h3{font-size:22px;color:var(--ink)}
.so-price-setup{font-weight:800;color:#1b4fd1}
.so-price-panel p:last-child{margin-bottom:0}
.so-checks{padding-left:22px;margin:20px 0 26px}
.so-checks li{padding-left:5px;margin-bottom:14px}
.so-about{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;align-items:start}
.so-about img{display:block;width:150px;height:auto;border-radius:18px}
.so-site footer>.wrap{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}
.so-footer-links{display:flex;flex-wrap:wrap;gap:12px 22px}
.so-site .nav{gap:24px}
@media(max-width:1100px){.so-features{grid-template-columns:repeat(2,minmax(0,1fr))}.so-site .nav{gap:17px}}
@media(max-width:800px){.so-price-panel{grid-template-columns:1fr;gap:32px;padding:30px}.so-site .nav{gap:0}.so-site .nav.open>a{padding:17px 0}.so-site .nav.open>.cta{padding:14px 20px;margin-top:12px}.so-site .ql-hero{padding:56px 0 64px}}
@media(max-width:600px){.so-features{grid-template-columns:1fr;gap:14px}.so-feature{padding:25px}.so-feature-number{margin-bottom:20px}.so-about{grid-template-columns:1fr;gap:24px}.so-about img{width:130px}.so-price-panel{padding:26px 22px}.so-site footer>.wrap{gap:20px}.so-footer-links{gap:12px 18px}.so-price-panel h2 span{display:block;font-size:18px;margin-top:6px}}

/* Keep the Services dropdown and its hover bridge inside landscape tablet widths. */
@media(min-width:801px) and (max-width:1100px){.ql-site .has-sub .sub,.ql-site .has-sub.open:after{left:auto;right:0}}
