/* cwaf-scrollfix-css */
html{scroll-behavior:auto !important}
/* cwaf-trustbar-css */
.cwaf-trustbar{background:#0e2117;color:#dfe6df;font-family:"Public Sans",sans-serif;font-size:13px;border-bottom:1px solid rgba(224,167,46,.22);position:relative;z-index:5;}.cwaf-trustbar-inner{max-width:1320px;margin:0 auto;padding:8px 26px;display:flex;justify-content:space-between;align-items:center;gap:18px;}.cwaf-trustbar .tb-pts{display:flex;gap:24px;flex-wrap:wrap;align-items:center;}.cwaf-trustbar .tb-pts span{white-space:nowrap;letter-spacing:.01em;}.cwaf-trustbar .tb-pts i{color:#e0a72e;font-style:normal;font-weight:900;margin-right:6px;}.cwaf-trustbar .tb-tel{color:#fff;text-decoration:none;white-space:nowrap;font-weight:600;}.cwaf-trustbar .tb-tel strong{color:#e0a72e;margin-left:4px;}@media(max-width:1024px){.cwaf-trustbar .tb-pts span:nth-child(n+3){display:none;}}@media(max-width:640px){.cwaf-trustbar-inner{padding:7px 16px;font-size:12px;gap:10px;}.cwaf-trustbar .tb-pts span:nth-child(n+2){display:none;}.cwaf-trustbar .tb-pts{gap:0;}}@media(max-width:560px){.cwaf-trustbar .tb-pts{display:none;}.cwaf-trustbar-inner{justify-content:center;gap:0;min-width:0;}.cwaf-trustbar .tb-tel{min-width:0;}}.trust-marquee{overflow:hidden;max-width:100%;}
/* cwaf-auclink-css */
.cwaf-auclink{max-width:860px;margin:36px auto;padding:18px 22px;background:#F4F7F5;
 border:1px solid #e3eae6;border-left:4px solid #E0A72E;border-radius:6px}
.cwaf-auclink p{margin:0;line-height:1.55}
.cwaf-auclink strong{color:#143024}
.cwaf-auclink-go{margin-top:8px!important}
.cwaf-auclink-go a{font-weight:700;color:#85620E;text-decoration:none}
.cwaf-auclink-go a:hover{text-decoration:underline}
@media(max-width:560px){.cwaf-auclink{margin:26px 14px;padding:16px 18px}}
/* cwaf-fidx-css */
.cwaf-fidx{background:#0e2117;color:#9aa6bd;padding:52px 0 46px;font-family:'Public Sans',system-ui,sans-serif;border-top:1px solid rgba(255,255,255,.07)}
.cwaf-fidx .fidx-wrap{max-width:1240px;margin:0 auto;padding:0 26px}
.cwaf-fidx .fidx-title{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#e0a72e;margin:0 0 30px}
/* 5 columns x 9 groups = 2 rows. Three columns would give even rows too, but it
   forces THREE rows and made the block taller than the version Conor complained
   about — the wrong direction. Row height is set by the tallest group in the
   row, so fewer rows is what actually shortens this. */
.cwaf-fidx .fidx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 26px;align-items:start}
.cwaf-fidx .fidx-col{border-bottom:1px solid rgba(255,255,255,.08)}
.cwaf-fidx .fidx-col summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 26px 13px 0;position:relative}
.cwaf-fidx .fidx-col summary::-webkit-details-marker{display:none}
.cwaf-fidx .fidx-col summary::after{content:"";position:absolute;right:6px;top:50%;width:7px;height:7px;border-right:2px solid #7c8aa3;border-bottom:2px solid #7c8aa3;transform:translateY(-70%) rotate(45deg);transition:transform .18s}
.cwaf-fidx .fidx-col[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.cwaf-fidx .fidx-col summary:hover .fidx-h{color:#e0a72e}
.cwaf-fidx .fidx-h{font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9aa6bd;line-height:1.35;transition:color .15s}
.cwaf-fidx .fidx-n{font-size:10.5px;font-weight:700;color:#5f6c82;background:rgba(255,255,255,.06);border-radius:999px;padding:2px 7px;line-height:1.5}
.cwaf-fidx .fidx-col[open] .fidx-h{color:#e0a72e}
.cwaf-fidx .fidx-col ul{padding-bottom:14px}
/* min-height + bottom alignment so a heading that wraps to two lines ("Trucks,
   bus & specialist vehicles") keeps its rule and its first link level with the
   columns either side. Without it that one column sat ~16px lower than the rest. */

.cwaf-fidx .fidx-col ul{list-style:none;padding:0;margin:0}
.cwaf-fidx .fidx-col li{margin:0 0 7px;line-height:1.4}
.cwaf-fidx .fidx-col a{color:#9aa6bd;text-decoration:none;font-size:13px}
.cwaf-fidx .fidx-col a:hover{color:#e0a72e;text-decoration:underline}
.cwaf-fidx .fidx-col span[aria-current]{color:#e0a72e;font-size:13px;font-weight:600}
@media(max-width:1180px){.cwaf-fidx .fidx-grid{grid-template-columns:repeat(2,1fr);gap:8px 24px}}
@media(max-width:760px){.cwaf-fidx .fidx-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:520px){.cwaf-fidx{padding:40px 0 34px}}
/* cwaf-mobile-cta-css */
.cwaf-mcta{display:none;}
@media (max-width:900px){
	.cwaf-mcta{
		display:flex;position:fixed;left:0;right:0;bottom:0;z-index:998;
		background:#0e2117;border-top:1px solid rgba(255,255,255,.14);
		box-shadow:0 -6px 24px rgba(0,0,0,.28);
		font-family:'Public Sans',system-ui,-apple-system,sans-serif;
		padding-bottom:env(safe-area-inset-bottom);
	}
	.cwaf-mcta.is-hidden{display:none;}
	.cwaf-mcta a{
		flex:1 1 50%;display:flex;align-items:center;justify-content:center;gap:8px;
		padding:15px 10px;font-size:15px;font-weight:700;line-height:1;
		text-decoration:none;letter-spacing:.01em;
	}
	.cwaf-mcta .mcta-call{color:#fff;}
	.cwaf-mcta .mcta-call:active{background:rgba(255,255,255,.08);}
	.cwaf-mcta .mcta-quote{background:#e0a72e;color:#0e2117;}
	.cwaf-mcta .mcta-quote:active{background:#c9942a;}
	.cwaf-mcta i{font-style:normal;font-size:16px;line-height:1;}
	body{padding-bottom:62px;}
}
/* cwaf-cvf-css */
.cwaf-cvf-enquire{background:#0e2117;padding:56px 20px;}
.cwaf-cvf-wrap{max-width:760px;margin:0 auto;}
.cwaf-cvf-h2{color:#fff;font-size:30px;line-height:1.2;margin:0 0 10px;}
.cwaf-cvf-sub{color:#c7d2c9;font-size:16px;line-height:1.6;margin:0 0 26px;}
.cwaf-cvf-panel{background:#fff;border-radius:10px;padding:26px;}
.cwaf-cvf-elig{background:#f6f7f5;border:1px solid #e3e7e2;border-radius:10px;padding:24px;margin:34px 0;}
.cwaf-cvf-elig h3{margin:6px 0 4px;font-size:22px;}
.cwaf-cvf-elig-lbl{display:block;margin:14px 0 5px;font-size:14px;font-weight:600;}
.cwaf-cvf-elig select{width:100%;padding:11px 12px;border:1px solid #c9d0c9;border-radius:7px;background:#fff;font-size:15px;}
.cwaf-cvf-elig button{margin-top:18px;background:#e0a72e;color:#0e2117;border:0;border-radius:7px;padding:13px 22px;font-size:15px;font-weight:700;cursor:pointer;}
.cwaf-cvf-elig button:hover{background:#c9942a;}
.cwaf-cvf-elig [data-elig-result]{margin-top:18px;padding:16px 18px;background:#fff;border-left:4px solid #e0a72e;border-radius:0 7px 7px 0;font-size:15px;line-height:1.6;}
.cwaf-cvf-elig-cta{display:inline-block;margin-top:10px;font-weight:700;color:#0e2117;}
.cwaf-cvf-elig button:focus-visible,.cwaf-cvf-elig select:focus-visible{outline:3px solid #0e2117;outline-offset:2px;}
@media (max-width:600px){.cwaf-cvf-h2{font-size:24px;}.cwaf-cvf-panel{padding:18px;}}
/* cwaf-search-css */
.cwaf-srch{position:relative;font-family:'Public Sans',system-ui,sans-serif}
/* padding is !important because the theme's global input rule overrode
   padding-left:34px down to 15px, which put the placeholder text directly
   underneath the magnifier icon on mobile. Everything else here can lose a
   specificity fight harmlessly; this one cannot. */
.cwaf-srch-i{width:100%;box-sizing:border-box;font-family:inherit;font-size:16px;line-height:1.4;
 padding:9px 12px 9px 34px!important;border:1px solid #cfdad2;border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6560' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 10px 50%/15px 15px;color:#16261e}
.cwaf-srch-i:focus{outline:2px solid #e0a72e;outline-offset:1px;border-color:#e0a72e}
.cwaf-srch-r{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10000;background:#fff;
 border:1px solid #dde5df;border-radius:10px;box-shadow:0 16px 38px rgba(20,48,31,.16);overflow:hidden;max-height:60vh;overflow-y:auto}
.cwaf-srch-a{display:flex;flex-direction:column;gap:2px;padding:9px 13px;text-decoration:none;border-bottom:1px solid #eef2ef}
.cwaf-srch-a:last-child{border-bottom:0}
.cwaf-srch-a:hover,.cwaf-srch-a.on,.cwaf-srch-a:focus{background:#f4f7f5;outline:none}
.cwaf-srch-t{font-size:14.5px;font-weight:600;color:#16261e;line-height:1.3}
.cwaf-srch-k{font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#8a9690}
.cwaf-srch-none{margin:0;padding:13px;font-size:13.5px;color:#5a6560;line-height:1.5}
.cwaf-srch-none a{color:#8a6a1c}

/* Desktop: a compact field that grows when you use it.
   At 210px fixed it pushed the "Apply online" CTA 41px past the right edge of a
   1440px viewport and made the whole document scroll sideways -- the nav items
   fitted, the header row did not. It now sits narrow and expands on focus, so
   it costs the header almost nothing until someone actually searches. */
.cwaf-srch-desk{display:flex;align-items:center}
.cwaf-srch-desk .cwaf-srch{width:150px}
/* The field does NOT resize on focus. Growing it in flow pushed "Apply online"
   151px off the viewport; overlaying it with right:0 on a 150px container made
   it grow leftward straight across the CW Asset Finance logo. A 150px field is
   perfectly usable when the suggestions below it are full width -- which is
   where the reading actually happens. */
.cwaf-srch-desk .cwaf-srch-i{font-size:13.5px;padding:8px 10px 8px 31px!important;text-overflow:ellipsis}
.cwaf-srch-desk .cwaf-srch-r{width:380px;left:0;right:auto}
/* Below 1340px the header runs out of room before the nav does, so the field
   collapses to its icon and opens on focus. */
/* Below 1340px the header runs out of room before the nav does. The field
   keeps its place but loses the placeholder text, leaving the magnifier. */
@media(max-width:1340px){
  .cwaf-srch-desk .cwaf-srch{width:112px}
  .cwaf-srch-desk .cwaf-srch-i{padding-right:6px!important}
}

/* Mobile: a full-width bar under the header. The theme hides .site-nav below
   its own breakpoint, so the desktop field disappears there and this replaces
   it rather than duplicating it. */
.cwaf-srch-mob{display:none;padding:10px 16px;background:#fff;border-bottom:1px solid #e6ece7}
@media(max-width:1100px){
  .cwaf-srch-desk{display:none}
  .cwaf-srch-mob{display:block}
}
/* cwaf-cl-css */
a.cwaf-cl{color:inherit;text-decoration:underline;text-decoration-color:rgba(224,167,46,.55);text-underline-offset:3px;text-decoration-thickness:1.5px}a.cwaf-cl:hover{color:#1d6b45;text-decoration-color:#e0a72e}
/* cwaf-smp-css */
.cwaf-smp{font-family:'Public Sans',system-ui,sans-serif;max-width:1120px;margin:0 auto;padding:6px 0 10px}
.cwaf-smp .smp-intro{font-size:17px;line-height:1.7;color:#33403a;margin:0 0 34px;max-width:74ch}
.cwaf-smp .smp-intro a{color:#8a6a1c;font-weight:700}
.cwaf-smp .smp-sec{margin:0 0 34px}
.cwaf-smp h2{font-family:'Montserrat',sans-serif;font-size:clamp(19px,2.2vw,24px);font-weight:800;letter-spacing:-.02em;color:#14301f;margin:0 0 10px;padding-bottom:9px;border-bottom:2px solid #e0a72e}
.cwaf-smp .smp-fam{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5a6560;margin:20px 0 9px}
.cwaf-smp .smp-note{font-size:15px;line-height:1.65;color:#5a6560;margin:0 0 14px;max-width:74ch}
.cwaf-smp .smp-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:5px 26px}
.cwaf-smp .smp-list li{line-height:1.5;padding:3px 0}
.cwaf-smp .smp-list a{font-size:15px;color:#2b3833;text-decoration:none}
.cwaf-smp .smp-list a:hover,.cwaf-smp .smp-list a:focus-visible{color:#8a6a1c;text-decoration:underline}
.cwaf-smp .smp-n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:#8a9690;font-variant-numeric:tabular-nums}
@media(max-width:900px){.cwaf-smp .smp-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cwaf-smp .smp-list{grid-template-columns:1fr}.cwaf-smp .smp-sec{margin-bottom:28px}}
/* cwaf-lq-css */
/* NO LAYOUT HERE. These fields are real .wpforms-field elements now, so the
 * form's own stylesheet sizes and places them -- see the comment in the JS.
 * Anything this file sets about width, columns or spacing would be a second
 * opinion competing with the form's, which is how the last two versions went
 * wrong. Only the two things the form has no opinion about are set: the
 * "optional" hint, and the reassurance line.
 */
.cwaf-lq-opt{font-weight:400;color:#8a9690;font-size:.85em}
/* NO INHERITED ICON. These fields clone .wpforms-field-text so that the form
   lays them out -- but on this form the text field IS the Phone field, so the
   theme drew a telephone icon inside "Deposit or part-exchange". The layout is
   worth inheriting; the iconography is not, because it is keyed to whatever the
   cloned field happens to be rather than to what these are. */
/* Targeted by ID, not class, and that is deliberate. The competing rule is
   `.cwaf .cwaf-form-panel .wpforms-field-text input` in cwaf-design-css --
   three classes and an element (0,3,1), also !important. A class-based selector
   here (0,2,0) lost to it silently: the declaration was in the stylesheet, it
   simply never applied, and the icon stayed. An ID is (1,0,0) and settles it.
   14px is the native horizontal padding with the icon's 38px indent removed. */
#cwaf-lq-hist,#cwaf-lq-dep{background-image:none!important;padding-left:14px!important}
.cwaf-lq-noterow{width:100%;flex-basis:100%;grid-column:1/-1}
.cwaf-lq-note{grid-column:1/-1;margin:0;font-size:0;line-height:0;color:#33403a;transition:font-size .12s ease}
.cwaf-lq-note.on{font-size:14px;line-height:1.55;padding:10px 12px;background:#f4f7f5;
 border-left:3px solid #e0a72e;border-radius:0 6px 6px 0}
/* cwaf-hdr-nav-css */
.site-nav{display:flex;align-items:center;gap:4px !important}
.site-nav .nav-item{position:relative;display:flex;align-items:center}
.site-nav .nav-secondary{margin-left:6px}
.site-nav .nav-mega.nav-mega-sm{width:min(600px,94vw);left:auto;right:0;transform:translateX(0) translateY(6px)}
.site-nav .nav-has-menu:hover .nav-mega.nav-mega-sm,.site-nav .nav-has-menu:focus-within .nav-mega.nav-mega-sm{transform:translateX(0) translateY(2px)}
.site-nav .nav-mega-sm .nav-mega-inner{grid-template-columns:1fr 1fr;gap:26px}
.site-nav .nav-secondary a.nav-top{display:inline-flex;align-items:center;gap:5px}
.site-nav .nav-secondary a.nav-top{color:#5a6b60;border:1px solid #d7e0da}
.site-nav .nav-secondary a.nav-top:hover{color:#143024;border-color:#143024}
.site-nav a.nav-top{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:14.5px;font-weight:600;color:#143024;text-decoration:none;padding:10px 12px;border-radius:7px}
.site-nav a.nav-top:hover,.site-nav a.nav-top:focus-visible{color:#8a6a1c;background:rgba(20,48,31,.045)}
.site-nav a.nav-top[aria-current]{color:#8a6a1c}
.site-nav .nav-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.65;margin-top:1px}

/* mega-menu: CSS-only, opens on hover and on keyboard focus */
.site-nav{position:relative}
/* The panel is centred on .site-nav, not on the individual nav item. The item
   is 133px wide, so once the menu grew from 3 columns to 5 (940px -> 1240px)
   centring on it hung 211px off the left edge of the screen. Making the item
   static hands the containing block to .site-nav, which is wide enough and
   central enough for the panel to fit. */
.site-nav .nav-has-menu{position:static}
.site-nav .nav-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);width:min(1240px,96vw);background:#fff;border:1px solid #dde5df;border-radius:14px;box-shadow:0 18px 44px rgba(20,48,31,.14);padding:26px 28px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:9999}
.site-nav .nav-has-menu:hover .nav-mega,.site-nav .nav-has-menu:focus-within .nav-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(2px)}
.site-nav .nav-mega-inner{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
/* What we fund now mirrors the hub page: 7 groups, 58 links, longer labels
   ("Medical, Dental & Veterinary Equipment"). Seven columns inside 1240px is
   169px each, which wraps those labels to four lines. Four columns at ~285px
   sets them on one or two lines instead, over two rows. The empty bottom-right
   cell is deliberate -- it is where the eye exits toward the CTA strip. */
/* Reading from the pillar registry puts the menu back to 28 links over five
   columns, so it uses the shared 5-column grid again. The 4-column, tightened
   variant that lived here was for the 58-link curated list and measured 806px
   tall -- 20px below the fold at 1440x912, clipping the CTA. Kept only the
   height guard, which costs nothing and protects short laptop screens. */
.site-nav .nav-mega-wwf{max-height:calc(100vh - 140px);overflow-y:auto;overscroll-behavior:contain}

/* Asset depth per pillar, counted from cwaf_eq_items(). Muted and tabular so
   the numbers line up and read as metadata rather than as part of the link. */
.site-nav .nav-mega-n{display:inline-block;margin-left:5px;font-size:11px;
  font-weight:600;color:#8a9690;font-variant-numeric:tabular-nums}
.site-nav .nav-mega-col a:hover .nav-mega-n,
.site-nav .nav-mega-col a:focus-visible .nav-mega-n{color:#8a6a1c}
.site-nav .nav-mega-col h3{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5a6560;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e6ece7;display:flex;align-items:flex-end;min-height:34px;box-sizing:border-box;line-height:1.3}
.site-nav .nav-mega-col ul{list-style:none;padding:0;margin:0}
.site-nav .nav-mega-col li{margin:0 0 8px}
.site-nav .nav-mega-col a{display:block;font-size:13.5px;line-height:1.45;color:#2b3833;text-decoration:none;font-weight:400;white-space:normal;padding:1px 0}
.site-nav .nav-mega-col a:hover,.site-nav .nav-mega-col a:focus-visible{color:#8a6a1c;text-decoration:underline}
.site-nav .nav-mega-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid #e6ece7}
.site-nav .nav-mega-foot p{font-size:13.5px;line-height:1.5;color:#5a6560;margin:0}
.site-nav .nav-mega-also{margin-left:auto!important;padding-left:22px;white-space:nowrap}
.site-nav .nav-mega-also a{color:#8a6a1c;font-weight:700;text-decoration:none}
.site-nav .nav-mega-also a:hover,.site-nav .nav-mega-also a:focus-visible{text-decoration:underline}
.site-nav a.nav-mega-cta{display:inline-block;flex:0 0 auto;background:#14301f;color:#fff;font-size:13px;font-weight:700;text-decoration:none;padding:11px 18px;border-radius:7px;line-height:1.3;white-space:nowrap}
.site-nav a.nav-mega-cta:hover{background:#1d4430;color:#fff;text-decoration:none}

@media(max-width:1100px){
  .site-nav .nav-mega{width:min(980px,96vw)}
  .site-nav .nav-mega-inner{grid-template-columns:repeat(3,1fr);gap:22px}
}
/* below the theme's desktop-nav breakpoint the whole .site-nav is already
   hidden by the theme, so the mega-menu never needs a mobile layout */
@media(max-width:860px){
  .site-nav .nav-mega{display:none}
}
/* cwaf-gold-polish */
/* =============================================== the process section */
.how-section.how-section.how-section{position:relative;overflow:hidden;
 background-color:#0e2117!important;
 background-image:
  radial-gradient(46% 30% at 12% 12%, rgba(224,167,46,.14) 0%, rgba(224,167,46,0) 100%),
  radial-gradient(125% 95% at 22% 26%, #1d4a34 0%, #163826 34%, #112a1d 62%, #0b1b13 84%, #08130d 100%)!important;
 padding-top:74px!important;padding-bottom:26px!important}
.how-section.how-section.how-section > .elementor-background-overlay{display:none!important}
.how-section.how-section.how-section::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:3;
 background:linear-gradient(90deg,rgba(224,167,46,0),rgba(224,167,46,.55),rgba(224,167,46,0))}
.how-section.how-section.how-section::after{display:none}

.how-section.how-section.how-section .how-eyebrow,
.how-section.how-section.how-section .eyebrow{color:#e8b64a!important;letter-spacing:2px;font-weight:800!important}
.how-section.how-section.how-section.how-section h2,
.how-section.how-section.how-section .elementor-heading-title{color:#fff!important;text-wrap:balance;letter-spacing:-.4px}
.how-section.how-section.how-section p,
.how-section.how-section.how-section .elementor-widget-text-editor{color:#b9cbc0!important}

/* ------------------------------------------- the steps (next section) */
.how-section.how-section.how-section + .elementor-top-section,
.elementor-top-section:has(.step-box){position:relative;
 background-color:#0a1810!important;
 background-image:
  radial-gradient(70% 120% at 50% -10%, rgba(224,167,46,.09) 0%, rgba(224,167,46,0) 70%),
  linear-gradient(180deg,#0b1b13 0%,#091610 60%,#08130d 100%)!important;
 padding-top:16px!important;padding-bottom:64px!important}
.elementor-top-section:has(.step-box) > .elementor-background-overlay{display:none!important}

/* THE RAIL IS REMOVED.
   The section ships its own ::before dashed connector, painted #e6d6a6 for the
   white background this section used to have. It was recoloured gold for a
   while, but the steps read perfectly well as a sequence from the STEP chips
   and the card order — the line added nothing and cut across the card faces.
   Hidden rather than restyled. Delete this block to bring it back. */
.elementor-top-section:has(.step-box)::before{display:none!important}

/* Each step becomes a panel with weight, not floating text. */
.elementor-top-section:has(.step-box) .step-box{position:relative;z-index:1;
 /* Two layers, and the lower one is OPAQUE on purpose. With only the
    translucent white the rail behind showed straight through each card,
    reading as a strike-through across the face rather than a line connecting
    the discs. The solid layer blocks it, so the rail shows only in the gaps. */
 background:linear-gradient(180deg,rgba(255,255,255,.062) 0%,rgba(255,255,255,.018) 100%),
            linear-gradient(180deg,#0f2418 0%,#0b1b13 100%);
 border:1px solid rgba(224,167,46,.2);border-radius:18px;
 padding:30px 20px 26px!important;margin:0 8px;
 box-shadow:0 10px 30px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.055);
 transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s ease,box-shadow .3s ease,opacity .6s ease}
.elementor-top-section:has(.step-box) .step-box::before{content:"";position:absolute;top:-1px;left:22%;right:22%;height:2px;
 border-radius:2px;background:linear-gradient(90deg,transparent,#e0a72e,transparent);
 opacity:.8;transition:opacity .3s ease,left .3s ease,right .3s ease}
.elementor-top-section:has(.step-box) .step-box:hover{transform:translateY(-6px);
 border-color:rgba(224,167,46,.6);
 box-shadow:0 18px 42px rgba(0,0,0,.46), 0 0 0 1px rgba(224,167,46,.16), inset 0 1px 0 rgba(255,255,255,.08)}
.elementor-top-section:has(.step-box) .step-box:hover::before{opacity:1;left:10%;right:10%}

/* STEP n chip, lifted out of the heading by the script below. */
.elementor-top-section:has(.step-box) .step-box[data-step]::after{content:"STEP " attr(data-step);
 position:absolute;top:14px;left:20px;z-index:2;
 font:800 9.5px/1 Montserrat,sans-serif;letter-spacing:1.6px;color:#e0a72e;opacity:.9}

/* Solid gold disc. An outlined disc disappears on this ground. */
.elementor-top-section:has(.step-box) .step-box .elementor-icon{
 width:64px!important;height:64px!important;border-radius:50%!important;
 display:inline-flex!important;align-items:center;justify-content:center;
 color:#12301f!important;border:0!important;
 background:linear-gradient(158deg,#f2c45f 0%,#e5ae38 38%,#cf9420 72%,#b57d0c 100%)!important;
 box-shadow:0 12px 26px rgba(0,0,0,.5), 0 0 0 7px rgba(224,167,46,.09),
            inset 0 1px 0 rgba(255,255,255,.34), inset 0 -2px 0 rgba(0,0,0,.18);
 transition:box-shadow .3s ease}
/* THE WHITE DISC WAS THE <svg> ITSELF.
   Existing site CSS gives the SVG background:#fff, a 2px gold border and a 50%
   radius — it was drawing a white circle on top of the gold .elementor-icon,
   which is why the disc read as white however hard the parent was styled.
   Strip that back so the SVG is just the glyph and the parent is the disc. */
/* The existing rule also sets display:flex and a 44px box on the SVG root.
   An <svg> as a flex container stops painting its own children, so stripping the
   white disc without fixing display left four gold discs with no glyph. Match on
   the icon class too (five classes) to beat the site rule on size, and force
   display:block. The path is targeted directly — a fill on the root does not
   always reach it. */
.elementor-top-section:has(.step-box) .step-box .elementor-icon svg.e-font-icon-svg,
.elementor-top-section:has(.step-box) .step-box .elementor-icon svg{
 display:block!important;
 background:none!important;background-color:transparent!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 padding:0!important;margin:0!important;
 width:25px!important;height:25px!important;min-width:0!important;min-height:0!important;
 overflow:visible!important;fill:#12301f!important}
.elementor-top-section:has(.step-box) .step-box .elementor-icon svg path{fill:#12301f!important}
.elementor-top-section:has(.step-box) .step-box .elementor-icon i{
 background:none!important;border:0!important;font-size:24px!important;color:#12301f!important}
.elementor-top-section:has(.step-box) .step-box:hover .elementor-icon{
 box-shadow:0 14px 30px rgba(0,0,0,.55), 0 0 0 10px rgba(224,167,46,.14),
            inset 0 1px 0 rgba(255,255,255,.42), inset 0 -2px 0 rgba(0,0,0,.18)}

.elementor-top-section:has(.step-box) .elementor-icon-box-title,
.elementor-top-section:has(.step-box) .elementor-icon-box-title *{color:#fff!important;font-weight:800!important;
 font-size:16.5px!important;line-height:1.3!important;letter-spacing:-.1px}
.elementor-top-section:has(.step-box) .elementor-icon-box-description,
.elementor-top-section:has(.step-box) p{color:#aabfb1!important;font-size:13.5px!important;line-height:1.55!important}

/* Reveal. Active only once the script marks the row ready. */
.steps-ready .step-box{opacity:0;transform:translateY(20px)}
.steps-ready .step-box.is-in{opacity:1;transform:none}
.steps-ready .step-box.is-in:hover{transform:translateY(-6px)}

/* ------------------------------------------- the CTA (third section) */
.elementor-top-section:has(.step-box) + .elementor-top-section{position:relative;
 background-color:#08130d!important;background-image:none!important;
 padding-top:0!important;padding-bottom:62px!important}
.elementor-top-section:has(.step-box) + .elementor-top-section .elementor-widget-wrap,
.elementor-top-section:has(.step-box) + .elementor-top-section .elementor-container,
.elementor-top-section:has(.step-box) + .elementor-top-section .elementor-column,
.elementor-top-section:has(.step-box) + .elementor-top-section .elementor-widget{
 background:transparent!important;box-shadow:none!important;border:0!important}
.elementor-top-section:has(.step-box) + .elementor-top-section::after{content:"";position:absolute;
 left:0;right:0;bottom:0;height:1px;z-index:3;
 background:linear-gradient(90deg,rgba(224,167,46,0),rgba(224,167,46,.22),rgba(224,167,46,0))}

/* ============================== the trust strip under the hero */
/* Hero, strip and calculator ran together as three dark bands. A light band
   here separates them and gives the credibility line somewhere to sit.
   Near-white with a faint green bias rather than a default grey, so it belongs
   to this palette; gold hairlines tie it to the brand without spending gold on
   a whole band, which would compete with the CTAs.

   THE LIGHT FILL IS ON .trust-marquee, NOT ONLY ON THE SECTION.
   The section inherits the site's `.cwaf` hero gradient from a rule this module
   cannot see or outrank reliably — on dev the text rules applied while the
   background rule lost, leaving dark green text on dark green. Painting the
   band on the inner element too means the text can never end up on the wrong
   ground: if the section rule wins, the two agree; if it loses, the marquee is
   still light. Belt and braces on purpose. */
.trust-strip.trust-strip.trust-strip,
section.trust-strip.trust-strip.trust-strip.trust-strip,
.cwaf.trust-strip.trust-strip.trust-strip,
.elementor-section.trust-strip.trust-strip.trust-strip{position:relative;z-index:2;
 /* A green warmed toward brass rather than a gold band. The gold sits as a
    translucent wash over the green — strongest at the top edge where it catches
    the hero above, falling away through the middle so the text stays readable,
    and lifting again at the base. Painting the bar gold outright would compete
    with the CTAs, which are the only other gold this high up the page. */
 background-color:#22482f!important;
 background-image:
  linear-gradient(180deg, rgba(224,167,46,.22) 0%, rgba(224,167,46,.06) 48%, rgba(224,167,46,.15) 100%),
  linear-gradient(180deg,#27563c 0%,#1d4029 100%)!important;
 padding-top:0!important;padding-bottom:0!important}
.trust-strip.trust-strip.trust-strip > .elementor-background-overlay{display:none!important}

.trust-strip.trust-strip .trust-marquee{
 /* A green warmed toward brass rather than a gold band. The gold sits as a
    translucent wash over the green — strongest at the top edge where it catches
    the hero above, falling away through the middle so the text stays readable,
    and lifting again at the base. Painting the bar gold outright would compete
    with the CTAs, which are the only other gold this high up the page. */
 background-color:#22482f!important;
 background-image:
  linear-gradient(180deg, rgba(224,167,46,.22) 0%, rgba(224,167,46,.06) 48%, rgba(224,167,46,.15) 100%),
  linear-gradient(180deg,#27563c 0%,#1d4029 100%)!important;
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
         mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
/* Any edge fade painted in the old dark colour would smear across a light band;
   the mask above replaces it. */
.trust-strip.trust-strip .trust-marquee::before,
.trust-strip.trust-strip .trust-marquee::after{display:none!important}
.trust-strip.trust-strip .t-item{color:#eaf2ec!important;font-weight:600!important}
.trust-strip.trust-strip .t-arrow{color:#e8b64a!important;margin-right:7px}

/* The bar at the very top of every page carried a 1px gold underline
   (border-bottom: rgba(224,167,46,.22)). Removed along with the strip's edges —
   the dark bar against the white header is already a clear boundary. */
.cwaf-trustbar.cwaf-trustbar.cwaf-trustbar{border-bottom:0!important}

/* ===================================================== the buttons */
.btn-gold.btn-gold,
.elementor-button.elementor-button,
.wpforms-submit.wpforms-submit,
.cwg-btn.cwg-btn{
 background-color:#e0a72e!important;
 background-image:linear-gradient(180deg,#f7d489 0%,#eab947 38%,#e0a72e 62%,#c68e1c 100%)!important;
 color:#12301f!important;font-weight:800!important;border-color:transparent!important;
 box-shadow:0 1px 0 rgba(255,255,255,.45) inset, 0 -1px 0 rgba(0,0,0,.12) inset, 0 8px 20px rgba(224,167,46,.24);
 transition:background-image .2s ease,box-shadow .2s ease,transform .2s ease}
.btn-gold.btn-gold:hover,.btn-gold.btn-gold:focus-visible,
.elementor-button.elementor-button:hover,.elementor-button.elementor-button:focus-visible,
.wpforms-submit.wpforms-submit:hover,.wpforms-submit.wpforms-submit:focus-visible,
.cwg-btn.cwg-btn:hover,.cwg-btn.cwg-btn:focus-visible{
 background-image:linear-gradient(180deg,#ffe3a6 0%,#f5c65a 38%,#eab63c 62%,#d09a22 100%)!important;
 color:#12301f!important;transform:translateY(-2px);
 box-shadow:0 1px 0 rgba(255,255,255,.55) inset, 0 12px 28px rgba(224,167,46,.38)}
.btn-gold.btn-gold:focus-visible,.elementor-button.elementor-button:focus-visible,
.wpforms-submit.wpforms-submit:focus-visible,.cwg-btn.cwg-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.wpforms-submit.wpforms-submit[disabled],.btn-gold.btn-gold[disabled]{opacity:.6;transform:none;box-shadow:none}

@media(max-width:1024px){
 .elementor-top-section:has(.step-box) .step-box{margin:0 0 14px}}
@media(prefers-reduced-motion:reduce){
 .steps-ready .step-box{opacity:1!important;transform:none!important}
 .elementor-top-section:has(.step-box) .step-box,
 .btn-gold.btn-gold,.elementor-button.elementor-button,
 .wpforms-submit.wpforms-submit,.cwg-btn.cwg-btn{transition:none}
 .elementor-top-section:has(.step-box) .step-box:hover,
 .btn-gold.btn-gold:hover,.elementor-button.elementor-button:hover,
 .wpforms-submit.wpforms-submit:hover,.cwg-btn.cwg-btn:hover{transform:none}}
/* cwaf-calc-skin */
/* ------------------------------------------------------------------
   CALCULATOR, RESTYLED TO MATCH THE HOMEPAGE

   Conor's note, 26 Sep: the sector calculator is a white card on grey and
   looks nothing like the homepage one, which is a dark two-column panel with
   a big gold figure. Values copied from the homepage's own inline styles
   rather than eyeballed: grid 1.15fr/.85fr, gap 44px, panel #0e2117 with a
   rgba(224,167,46,.25) border, figure Montserrat 900 at 52px in #e0a72e,
   labels #c4cde0, muted #9aa6bd, slider accent #e0a72e.

   CSS ONLY, and page-scoped. The markup and the maths stay exactly as
   site-core emits them -- the flat-rate model Conor asked for, the three
   options, the equivalent-APR line and the representative example are all
   untouched. Only the skin changes, and only on this page: the 605 asset
   pages and every other sector page are unaffected because this stylesheet
   is printed nowhere else.

   The right-hand panel is two elements (.usx-calc-out and .usx-calc-sum),
   not one, so they are placed in column 2 with row-gap:0 and matching
   backgrounds -- meeting edge to edge they read as a single panel, without
   needing JavaScript to wrap them and risking a flash of the old layout.
------------------------------------------------------------------ */
/* ------------------------------------------------------------------
   THE 605 ASSET PAGES WRAP THE CALCULATOR DIFFERENTLY

   Sector pages emit <section class="usx-band usx-calc-band">. The asset
   pages do not: live-equipment-pages.php lifts the calculator out of the
   sector page and re-wraps it in <div class="cwaf-eq-calc">, so the
   section-level background below never applied there.

   That left the restyle half-applied on 605 pages -- the dark results panel
   rendered, but the left column kept the light-page background while the
   labels and values had already been recoloured for dark. "£25,000" and
   "48 months" came out white on white and the slider tracks vanished.
   Caught by looking at an asset page rather than trusting that a sector
   page and an asset page render the same markup. They do not.

   Giving the asset wrapper the same dark ground fixes both halves at once.
------------------------------------------------------------------ */
.cwaf-eq-calc{
	border-radius:18px;
	padding:30px 24px 26px;
	margin:0 0 30px;

	/* WIDTH: the calculator breaks out of the text column.
	   .cwaf-eq-wrap is capped at 780px because it is a reading measure -- right
	   for prose, wrong for a two-column widget. Squeezed into it the results
	   panel fell to 236px and "Amount financed" wrapped onto two lines, so the
	   same component looked considerably worse here than on the homepage, which
	   gives it ~1100px. Since Conor's "this is the calculator we will use
	   throughout the whole site", looking different per page is the one thing it
	   must not do.
	   Centred by margin rather than by transform: a transform would make this a
	   containing block for anything fixed inside it, and this band already
	   carries sticky CTAs elsewhere on the page. */
	width:min(1120px, calc(100vw - 52px));
	max-width:none;
	margin-left:calc(50% - min(560px, (100vw - 52px) / 2));
}

/* The component's grid is a fixed two columns declared inline, so it cannot
   respond on its own. Below 820px the results panel has nowhere to go and the
   sliders lose their labels to wrapping, so it stacks. */
@media (max-width: 820px){
	[data-calc] .g-2{grid-template-columns:1fr!important;gap:26px!important;padding:26px!important}
	.cwaf-eq-calc{width:auto;margin-left:0;padding:22px 16px}
}
.cwaf-eq-calc .usx-calc{
	max-width:100%!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
}
.cwaf-eq-calc .usx-calc-note{color:#c4cde0!important;margin:0 0 24px!important;text-align:left}
.cwaf-eq-calc .usx-calc-terms{color:#aab5ae!important}
.cwaf-eq-calc .usx-calc-terms strong{color:#dfe7e2!important}

/* The exact gradient the homepage calculator sits on, lifted from its computed
   style on the live page rather than approximated. It is THREE layers -- a gold
   glow, a darkening wash and the green base -- which is why a single 160deg
   two-stop linear never looked like it. */
.usx-calc-band,
.cwaf-eq-calc{
	background-color:#0e2117!important;
	background-image:
		radial-gradient(46% 26% at 17% 76%, rgba(224,167,46,.12) 0%, rgba(224,167,46,0) 100%),
		linear-gradient(rgba(8,19,13,0) 74%, rgba(8,19,13,.4) 100%),
		radial-gradient(110% 46% at 19% 74%, #1f4c36 0%, #173828 25%, #122b1f 50%, #0d2017 75%, #09150f 100%)!important;
}
.usx-calc-band .usx-h2,
.usx-calc-band h2{color:#fff!important}
.usx-calc-note{color:#c4cde0!important;max-width:720px;margin:-14px auto 34px!important}

.usx-calc{
	max-width:1040px!important;
	background:rgba(255,255,255,.04)!important;
	border:1px solid rgba(255,255,255,.10)!important;
	border-radius:18px!important;
	box-shadow:none!important;
	padding:38px!important;
	display:grid!important;
	grid-template-columns:1.15fr .85fr;
	/* ROWS ARE DECLARED, and the right-hand panel is positioned off the END of
	   the grid rather than off fixed numbers.
	   This used to read grid-row:1/span 2 for the results panel and grid-row:3
	   for the summary -- numbers that silently encoded "there are exactly two
	   sliders". Adding a third (Deposit) broke it: the summary is the tallest
	   thing in the card, so row 3 stretched to its height with only the short
	   Deposit slider beside it, opening a ~250px hole in the middle of the left
	   column and dropping the rate buttons into an orphaned fourth row.
	   One row per left-column child -- Amount, Term, Deposit, rate buttons --
	   and the panel halves anchor to -2/-1, so the summary always sits beside
	   the LAST row whatever that row turns out to be. Adding another control
	   now means adding one `auto` here and nothing else. */
	grid-template-rows:auto auto auto auto;
	column-gap:44px;
	row-gap:0;
	align-items:start;
}

/* ---- left column: sliders and rate buttons */
.usx-calc-row{grid-column:1;margin-bottom:26px!important}
.usx-calc-row label{color:#c4cde0!important;font-size:14px!important;font-weight:600!important}
.usx-calc-row label b{color:#fff!important;font-size:23px!important;font-weight:800}
/* SLIDERS: go back to the NATIVE control, which is what the homepage uses.
   The homepage range is appearance:auto with accent-color:#e0a72e, so the
   browser paints the gold filled portion to the left of the thumb and a small
   gold thumb. site-core sets -webkit-appearance:none with a custom 24px thumb,
   which kills the fill and gives a fat dot. That was the single most visible
   difference between the two calculators and a property-by-property colour
   check never caught it, because every colour matched. */
.usx-calc input[type=range]{
	-webkit-appearance:auto!important;
	appearance:auto!important;
	accent-color:#e0a72e!important;
	background:#fff!important;
	height:6px!important;
	border-radius:0!important;
}
.usx-calc input[type=range]::-webkit-slider-thumb{
	-webkit-appearance:auto!important;
	width:auto!important;height:auto!important;
	background:initial!important;border-radius:initial!important;box-shadow:none!important;
}
.usx-calc input[type=range]::-moz-range-thumb{
	width:auto!important;height:auto!important;
	background:initial!important;border:initial!important;border-radius:initial!important;
}

/* CTA: the homepage's notched gold button, values copied from its computed
   style -- clip-path cuts 16px off the bottom-right corner to make the arrow. */
.usx-calc-out .usx-btn,
.usx-calc-out a[class*="btn"],
.usx-calc-sum .usx-btn,
.usx-calc-sum a[class*="btn"],
.cwaf-calc-cta-moved{
	background-color:#ffc233!important;
	background-image:linear-gradient(180deg,#ffd15c 0%,#ffc233 46%,#f0a91a 100%)!important;
	color:#0e2117!important;
	border:0!important;
	border-radius:0!important;
	padding:14px 22px 14px 16px!important;
	font-size:14px!important;
	font-weight:800!important;
	clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);
	box-shadow:none!important;
}
.usx-calc-rates{grid-column:1;margin:0!important}

/* THE NAMED RATE BANDS, restyled for the dark panel.
   site-core styles this calculator for a WHITE card. This file re-skins it onto
   the dark green band, and anything site-core adds in its own light palette
   arrives here unreadable unless it is restated. The tier key landed at
   #3d4d45 on #0e2117 -- measured 1.88:1, against a 4.5:1 AA floor. That is the
   same white-on-white failure this file was created to stop, reproduced by
   adding one paragraph upstream, so the rule is: nothing new goes into the
   calculator markup without a matching line here.
   #9aa6bd is not a fresh choice -- it is what .usx-calc-sum span already uses
   on this exact background, where it measures comfortably past AA. */
.usx-calc-tierkey{color:#9aa6bd!important;font-size:12.5px!important;line-height:1.65!important}

/* ---- BAND STATE, STATED ONCE AND UNAMBIGUOUSLY -------------------------
   The selected band was painting the WRONG button. Whichever band was gold at
   page load stayed gold after the selection moved, and the genuinely selected
   one went translucent -- so on the tractor page "Standard" sat gold while
   "Specialist" was the live choice. On a calculator whose entire job is to show
   a price, the highlight pointing at a rate you are not being quoted is not a
   cosmetic bug.
   Part of it was live-brand-gradient.php tagging the initially-gold button
   cwg-btn and never removing it (fixed at source there). The rest was four
   stylesheets each having an opinion about .usx-calc-rate with mixed
   !important, where the winner depended on load order rather than on state.
   These two rules end the argument: both are keyed on :not(.is-on)/.is-on so
   they can only ever describe the real state, and the repeated class raises
   specificity above every other opinion without resorting to an id.
   background-image is reset explicitly -- the shorthand alone left a stale
   gradient behind on a button that had been selected earlier. */
.usx-calc .usx-calc-rate.usx-calc-rate.usx-calc-rate:not(.is-on){
	background:rgba(255,255,255,.04)!important;background-image:none!important;
	border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;
}
.usx-calc .usx-calc-rate.usx-calc-rate.usx-calc-rate.is-on{
	background:#e0a72e!important;
	background-image:linear-gradient(#ffd15c 0%,#ffc233 46%,#f0b021 100%)!important;
	border:1px solid #e0a72e!important;color:#0e2117!important;
}

/* ---- THE SMALL PRINT, ALIGNED ------------------------------------------
   Measured on an asset page before this: the general disclaimer rendered 499px
   wide flush against the card's left edge, while the representative example
   below it was 760px and started 155px further right -- two widths, two left
   edges, both centre-aligned, under a card 1070px wide. It read as two stray
   paragraphs rather than the footer of the thing above them.

   The 499px was not a choice: .cwaf-eq-wrap sets `p{max-width:66ch}` for body
   prose, and these two inherited it. So the width is stated here rather than
   left to whatever measure the surrounding page happens to use.

   Left-aligned, not centred. Centred text is fine for one line and poor for
   eight -- every line starts in a different place, which is exactly the thing
   that looked wrong. Both blocks now share one measure and one edge, and the
   representative example leads: it is the regulated figure, it is brighter and
   a size larger, and live-calc-repex.php now inserts it ABOVE the general
   small print rather than below. */
[data-calc] > p,
[data-calc] > p.cwaf-repex{
	max-width:880px!important;
	margin-left:auto!important;margin-right:auto!important;
	text-align:left!important;
}
[data-calc] > p.cwaf-repex{
	margin-top:22px!important;
	font-size:13px!important;line-height:1.65!important;
	color:rgba(255,255,255,.82)!important;
}
/* The general disclaimer sits under it, quieter. */
[data-calc] > p.cwaf-repex + p{
	margin-top:12px!important;
	font-size:12px!important;line-height:1.6!important;
	color:rgba(255,255,255,.55)!important;
}
@media (max-width:820px){
	[data-calc] > p,[data-calc] > p.cwaf-repex{max-width:none!important}
}

/* ---- THE FIGURES READ AS FIGURES ---------------------------------------
   Conor, 28 Sep: "the text on the numbers should be bright white."
   Every number in this widget is now pure #fff rather than the bluish greys
   inherited from the panel's label palette, and tabular-nums stops the digits
   jumping width as the sliders move -- £1,111 and £8,888 now occupy exactly the
   same space, so the column stops twitching. Labels stay grey on purpose: the
   contrast between a grey label and a white figure is what makes the figure
   read first. */
.usx-calc-row label b{color:#fff!important;font-variant-numeric:tabular-nums}
.usx-calc-sum b{color:#fff!important;font-size:16.5px!important;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.usx-calc-big{font-variant-numeric:tabular-nums}
.usx-calc-tier{opacity:.88!important}
.usx-calc-eqapr{opacity:.82!important;font-variant-numeric:tabular-nums}
.usx-calc-pc{font-variant-numeric:tabular-nums}
/* The unit and the APR equivalent on each band button. Same reasoning as the
   tier key above: site-core styles these for a white card, so without a line
   here they arrive on the dark band in a colour chosen for the wrong
   background. They inherit the button's own colour, which is already proven
   against both the translucent and the gold states. */
.usx-calc-pc small{color:inherit!important;opacity:.8}
.usx-calc-eqapr{color:inherit!important;opacity:.72;font-size:11.5px!important}
.usx-calc-rate .usx-calc-tier{color:inherit!important;opacity:.78}
.usx-calc-rate.is-on .usx-calc-tier{opacity:.82}
.usx-calc-lbl{color:#c4cde0!important;font-size:14px!important;font-weight:600!important}
.usx-calc-btns{gap:10px!important}
.usx-calc-rate{
	background:rgba(255,255,255,.04)!important;
	border:1px solid rgba(255,255,255,.18)!important;
	color:#fff!important;padding:12px 0!important;
}
.usx-calc-rate:hover{border-color:#e0a72e!important}
.usx-calc-rate.usx-calc-rate.is-on{
	background:linear-gradient(180deg,#ffd15c 0%,#ffc233 46%,#f0a91a 100%)!important;
	border-color:#d9a01a!important;color:#0e2117!important;
}
/* the stale-gold class from live-brand-gradient must not fight this */
.usx-calc-rate.usx-calc-rate.cwg-btn:not(.is-on),
.usx-calc-rate.usx-calc-rate.cwg-chip:not(.is-on){
	background:rgba(255,255,255,.04)!important;background-image:none!important;
	border-color:rgba(255,255,255,.18)!important;color:#fff!important;
}

/* ---- right column: the dark results panel, in two meeting halves */
.usx-calc-out{
	grid-column:2;grid-row:1/-2;
	/* align-items:start on the grid means this stops at its content height.
	   That was fine while the button was inside it; once the button moved to
	   the bottom half this shrank and opened a visible gap between the two
	   halves of what is meant to read as one panel. Stretch closes it. */
	align-self:stretch!important;
	display:flex!important;flex-direction:column;justify-content:center;
	text-align:center;
	background:#0e2117;border:1px solid rgba(224,167,46,.25);border-bottom:0;
	border-radius:14px 14px 0 0;padding:32px 32px 18px!important;margin:0!important;
}
.usx-calc-out .usx-calc-lbl{color:#9aa6bd!important;font-size:13.5px!important;margin-bottom:6px}
.usx-calc-big{
	font-size:52px!important;font-weight:900!important;letter-spacing:-1.5px;
	color:#e0a72e!important;line-height:1;display:block;margin-bottom:14px;
}
.usx-calc-out .btn-gold,.usx-calc-out a,.usx-calc-out button{margin-top:6px}

.usx-calc-sum{
	grid-column:2;grid-row:-2/-1;
	grid-template-columns:1fr!important;gap:0!important;
	background:#0e2117;border:1px solid rgba(224,167,46,.25);border-top:0;
	border-radius:0 0 14px 14px;margin:0!important;
	padding:6px 32px 26px!important;border-top:0!important;
}
.usx-calc-sum div{
	flex-direction:row!important;justify-content:space-between;align-items:baseline;
	padding:11px 0;border-top:1px solid rgba(255,255,255,.09);
}
.usx-calc-sum span{color:#9aa6bd!important;font-size:13.5px!important}
.usx-calc-sum b{color:#fff!important;font-size:16px!important}
.cwaf-calc-cta-moved{
	display:block!important;width:100%;text-align:center;
	margin:18px 0 4px!important;
}
.usx-calc-sum div:last-of-type{border-bottom:0}

/* The representative example measures 5.32:1 against the dark band, which
   passes WCAG AA for small text -- it was NOT failing. Lifted anyway: it is
   11.5px regulated disclosure and there is no cost to making it comfortable
   rather than merely compliant. Measured, not guessed. */
.usx-calc-terms{color:#aab5ae!important}
.usx-calc-terms strong{color:#dfe7e2!important}

@media(max-width:900px){
	.usx-calc{grid-template-columns:1fr;grid-template-rows:none!important;row-gap:0;padding:26px 20px!important}
	.usx-calc-row,.usx-calc-rates{grid-column:1}
	.usx-calc-out{grid-column:1;grid-row:auto;margin-top:26px!important}
	.usx-calc-sum{grid-column:1;grid-row:auto}
}

.cwaf-auc{padding:0}
.cwaf-auc section{margin:0 0 56px}
.cwaf-auc h2{font-size:clamp(1.45rem,2.6vw,1.95rem);color:#143024;margin:0 0 10px;
 padding-top:14px;border-top:3px solid #E0A72E;display:inline-block}
.cwaf-auc h3{font-size:1.06rem;margin:26px 0 10px;color:#143024}
.cwaf-auc-intro{max-width:70ch;line-height:1.6;margin:0 0 20px}
.cwaf-auc-count{font-weight:400;color:#6b7c73;font-size:.9rem}
.cwaf-auc-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(272px,1fr))}
.cwaf-auc-card{border:1px solid #e3eae6;border-radius:8px;padding:16px 18px;background:#fff}
.cwaf-auc-card h3{margin:0 0 4px;font-size:1.02rem}
.cwaf-auc-card p{margin:0 0 6px;font-size:.93rem;line-height:1.5}
.cwaf-auc-where{color:#85620E;font-weight:600;font-size:.86rem!important}
/* cwaf-footer-merge */
.site-footer,.site-footer-legal{background:#0e2117 !important}.site-footer{padding-bottom:18px !important}.cwaf-fidx{border-top:0 !important;padding-top:8px !important}.cwaf-fidx .fidx-title{opacity:.75;letter-spacing:1px}.site-footer-legal{padding-top:14px !important;border-top:1px solid rgba(255,255,255,.07)}
/* cwaf-cfx-rate-state */
.usx-calc-rate.usx-calc-rate.cwg-btn:not(.is-on),
.usx-calc-rate.usx-calc-rate.cwg-chip:not(.is-on){
	background:#fff!important;
	background-image:none!important;
	border-color:#dbe3dd!important;
	color:#3d4d45!important;
}
.usx-calc-rate.usx-calc-rate.is-on{
	background:#E0A72E!important;
	background-image:none!important;
	border-color:#E0A72E!important;
	color:#0e2117!important;
}
/* cwaf-header-mobile-fix */
@media (max-width:430px){.cwaf header .btn-gold,.cwaf .site-header .btn-gold{padding:9px 11px !important;font-size:11.5px !important;letter-spacing:0 !important;}.cwaf header .max-w,.cwaf .site-header .max-w{padding-left:12px !important;padding-right:12px !important;gap:8px !important;}}
/* cwaf-brand-depth-css */
/* HERO — the worklight. Two layers: a warm gold bloom at the light's core over
   a green ramp. Anchored at 16-20% across and ~72-76% down, which is where the
   primary CTA sits. */
.cwd-hero.cwd-hero.cwd-hero{
	background-color:#143024!important;
	background-image:
		radial-gradient(52% 62% at 20% 76%,
			rgba(224,167,46,.13) 0%,
			rgba(224,167,46,.04) 45%,
			rgba(224,167,46,0) 70%),
		radial-gradient(95% 125% at 16% 72%,
			#21482f 0%,
			#1a3b29 40%,
			#143024 70%,
			#0f2519 100%)!important;
	background-repeat:no-repeat!important;
	background-size:cover!important;
}

/* BANDS — flat, quiet, with the plate rule at the top edge. Flat is deliberate:
   it is what removes the seam between adjacent sections. */
.cwd-band.cwd-band.cwd-band{
	background-color:#163527!important;
	background-image:none!important;
	box-shadow:inset 0 1px 0 rgba(224,167,46,.30)!important;
}
.cwd-deep.cwd-deep.cwd-deep{
	background-color:#0e2117!important;
	background-image:none!important;
	box-shadow:inset 0 1px 0 rgba(224,167,46,.18)!important;
}

/* FIGURES — align like a schedule, not like marketing copy. */
body{ font-variant-numeric:tabular-nums; }

/* ---------------------------------------------------------------------------
 * GOLD
 *
 * The site was running FIVE different golds — #e0a72e, #e7b53c, #a97b12,
 * #c0a038 and #8a6a1c — applied inconsistently. The problem was never that gold
 * was absent, it was that it was muddled, and two of the five were muddy enough
 * to look like a printing fault rather than a brand colour.
 *
 * Replaced with a two-value system, because gold has to do two different jobs:
 *
 *   ON DARK  #f0b32b   contrast 7.57 on #143024, 7.11 on the band, 8.96 on the
 *                      deep green. Brighter and more saturated than the old
 *                      #e0a72e (6.59) while staying metallic rather than lemon.
 *   ACTIONS  #ffc233   buttons, chips AND text. Originally text sat one step
 *                      back at #f0b32b so the CTA would stay dominant. That was
 *                      wrong: a button's prominence comes from being a filled
 *                      block with a sheen, not from its hue, so holding the text
 *                      back bought no hierarchy and just made 52 elements per
 *                      page look flat. Unified 19 Sep 2026. #ffc233 also has
 *                      BETTER contrast on the brand greens than #f0b32b
 *                      (8.81 vs 7.57), so this is a free accessibility gain.
 *
 * NOTE FOR ANYONE MATCHING PRINT: the York poster's gold is MORE muted than any
 * of these (~#d4a843 mustard-ochre). Going brighter on screen was a deliberate
 * departure, not a match. If the two ever need to agree, this is the value to
 * change, and the poster is the fixed point.
 *   ON LIGHT #85620e   contrast 5.40 on the site's near-white. One step deeper
 *                      than #8a6a1c (4.87) because the 12.5px `.eyebrow` sat at
 *                      4.49 against its own slightly tinted panel — fractionally
 *                      under AA. Measured on the rendered page, not assumed.
 *
 * THE ON-LIGHT VALUE FIXES A REAL ACCESSIBILITY FAILURE. #a97b12 was being used
 * for gold text on light backgrounds at 3.67:1, which is below WCAG AA's 4.5
 * for body text. #8a6a1c was already in the site's palette, so this is
 * consistency rather than invention.
 *
 * A single hex swap could not do this: #a97b12 appeared 66 times on dark
 * backgrounds and 14 times on light ones. The same colour, two contexts, two
 * correct answers. So the script below resolves each element's EFFECTIVE
 * background by walking up the tree until it finds an opaque one, and picks the
 * gold that belongs there.
 *
 * BUTTONS get a vertical sheen — lighter at the top edge, deeper at the bottom.
 * That is what makes gold read as brass or a machined plate rather than as flat
 * yellow, and it is the same vernacular as the hero worklight above. Dark text
 * on the fill measures 8.96:1.
 *
 * Small gold elements (tick circles, chips, arrows) get the flat bright gold and
 * NOT the sheen: a vertical gradient across a 20px circle reads as a rendering
 * artefact, not as metal. The split is on rendered width, at 90px.
 *
 * WHAT THIS DELIBERATELY DOES NOT TOUCH
 * -------------------------------------
 * #9aa6bd, the slate used on footer links. It is not gold so the detector
 * cannot match it, and that is important: live-faq-cta.php uses
 * `style="color:#9aa6bd;"` as its scoping needle to find the footer town links.
 * Changing that colour would silently break the footer fix that took three
 * attempts to land on 15 Sep 2026. Left alone on purpose.
 * ------------------------------------------------------------------------- */
.cwg-dark.cwg-dark{ color:#ffc233!important; }
.cwg-light.cwg-light{ color:#85620e!important; }
/* Buttons run one step brighter than gold text, deliberately. The brightest
 * thing on the page should be the thing you want clicked; if all ~60 gold text
 * instances matched the buttons, gold would stop being an accent and the CTAs
 * would lose their relative pull. Dark text on this fill measures 10.42:1. */
.cwg-btn.cwg-btn.cwg-btn{
	background-color:#ffc233!important;
	background-image:linear-gradient(180deg,#ffd15c 0%,#ffc233 46%,#f0a91a 100%)!important;
	color:#0e2117!important;
	border-color:#d9a01a!important;
}
.cwg-chip.cwg-chip.cwg-chip{ background-color:#ffc233!important; }