/* All additions are scoped to this homepage and its finishing-line section. */
.sf-page{width:100%;max-width:1440px;overflow:clip}
.sf-line{--line-ink:#24272a;position:relative;margin:0;background:#e5e5e1;color:var(--line-ink)}
.sf-line{--line-pin-top:0px;--line-stage-height:100svh;--line-scroll-distance:150svh;scroll-margin-top:var(--line-pin-top)}
.sf-line.is-ready{height:calc(var(--line-stage-height) + var(--line-scroll-distance))}
.sf-line-stage{position:relative;height:var(--line-stage-height);min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 36%,#f6f5f0 0,#e5e5e1 76%)}
.is-ready .sf-line-stage{position:sticky;top:var(--line-pin-top)}
.sf-line-heading{position:absolute;inset:34px 48px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;z-index:2;pointer-events:none}
.sf-line-eyebrow{font:500 .75rem/1.4 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:#606362;display:block;margin-bottom:12px}
.sf-line-heading h2{font:700 clamp(1.75rem,3.1vw,2.8rem)/1.08 var(--font-display);letter-spacing:-.045em;margin:0}
.sf-line-skip{pointer-events:auto;font:500 .875rem/1.4 var(--font-body);text-decoration:none;border-bottom:1px solid #989c98;padding:8px 0;white-space:nowrap}
.sf-line-skip span{margin-left:16px}
.sf-line-skip:focus-visible{outline:2px solid #b8421c;outline-offset:6px}
.sf-line-viewport{position:absolute;inset:85px 0 68px}
.sf-line-viewport canvas{display:block;width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity .35s}
.is-ready .sf-line-viewport canvas{opacity:1}
.sf-line-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:32px;text-align:center;font:400 18px/1.5 var(--font-body);color:#606362}
.is-ready .sf-line-fallback{display:none}
.sf-line-bottom{position:absolute;inset:auto 48px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;font:500 .875rem/1.4 var(--font-mono)}
.sf-line-status{display:flex;align-items:center;gap:10px;min-width:230px}
.sf-line-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--se-anodised)}
.sf-line-instruction{color:#606362;font:400 .875rem var(--font-body)}
.sf-line-instruction span{margin-left:14px}
.sf-line-count{font-size:.875rem}.sf-line-count span{color:#797e7a;margin:0 8px}
.sf-line-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#d1d3ce}
.sf-line-progress>span{display:block;height:100%;background:var(--se-anodised);transform:scaleX(0);transform-origin:left}
.sf-line-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sf-line:not(.is-ready) .sf-line-instruction,.sf-line:not(.is-ready) .sf-line-count{display:none}
.sf-line.is-reduced{height:auto}
.sf-line.is-reduced .sf-line-stage{position:relative}
.nav-svc:focus-within .svc-menu{display:flex}
@media(max-width:1050px){.header-inner{flex-wrap:wrap;gap:20px}.header-nav{flex-wrap:wrap}.sf-page>section>div.container>div[style*="grid"]{gap:28px!important}.sf-line-bottom{inset-inline:32px}}
@media(max-width:720px){
 .sf-line{--line-scroll-distance:130svh}.sf-line.is-reduced{height:auto}
 .sf-line-stage{min-height:0;height:var(--line-stage-height);max-height:none}
 .sf-line-heading{inset:26px 24px auto;gap:14px}.sf-line-heading h2{font-size:1.9rem}.sf-line-eyebrow{font-size:.75rem;max-width:190px}
 .sf-line-skip{font-size:.875rem;white-space:normal;max-width:90px}.sf-line-skip span{margin-left:4px}
 .sf-line-viewport{inset:128px 0 90px}.sf-line-bottom{inset:auto 24px 23px;flex-wrap:wrap;gap:8px}.sf-line-status{min-width:0;flex:1}.sf-line-instruction{order:3;width:100%;font-size:.875rem}.sf-line-count{font-size:.875rem}
 .sf-page .display{font-size:clamp(2.4rem,9vw,4rem)}
 .sf-page>section>div.container>div[style*="grid"]{grid-template-columns:1fr!important}
 .sf-page>section>div.container>div[style*="grid"]>div{justify-content:flex-start!important}
 .sf-page .prog-table{overflow-x:auto}.sf-page .spec-row{min-width:850px}
 .sf-page .footer-cta-inner,.sf-page .footer-base{flex-wrap:wrap;gap:24px}
 .sf-page .footer-main{grid-template-columns:1fr 1fr;gap:32px}
 .sf-page .header-strip{flex-wrap:wrap;gap:9px;font-size:10px}
 .sf-page .header-nav{gap:16px}.sf-page .nav-link{font-size:11px}
 .sf-page .container>div[style*="justify-content:space-between"]{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.sf-line-viewport canvas{transition:none}.sf-line.is-ready{height:auto}.sf-line .sf-line-stage{position:relative}}
.sf-page.se-root{width:100%;max-width:1440px}

/* Native range input provides drag, touch and keyboard control over the orange bar. */
.sf-line-progress{left:16px;right:16px;bottom:5px;height:36px;background:transparent;z-index:4}
.sf-line-progress::before,.sf-line-progress>span{position:absolute;left:9px;right:9px;top:16px;height:4px;border-radius:2px}
.sf-line-progress::before{content:"";background:#bec3be}
.sf-line-progress>span{width:auto}
.sf-line-scrubber{position:absolute;inset:0;margin:0;width:100%;height:36px;appearance:none;-webkit-appearance:none;background:transparent;cursor:ew-resize;touch-action:none}
.sf-line-scrubber::-webkit-slider-runnable-track{height:4px;background:transparent}
.sf-line-scrubber::-moz-range-track{height:4px;background:transparent}
.sf-line-scrubber::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--se-anodised);border:3px solid #f6f5f0;box-shadow:0 0 0 1px #ad4928}
.sf-line-scrubber::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--se-anodised);border:3px solid #f6f5f0;box-shadow:0 0 0 1px #ad4928}
.sf-line-scrubber:focus-visible{outline:2px solid #b8421c;outline-offset:1px;border-radius:5px}
.sf-line-scrubber:disabled{visibility:hidden}
.sf-line-bottom{bottom:49px}
.sf-line-viewport{bottom:96px}
@media(max-width:720px){.sf-line-bottom{bottom:48px}.sf-line-viewport{bottom:116px}}

/* The navigation and card together fill the viewport throughout the pinned section. */
.sf-line.is-compact .sf-line-heading{top:18px}
.sf-line.is-compact .sf-line-heading h2{font-size:1.5rem}
.sf-line.is-compact .sf-line-eyebrow{margin-bottom:6px}
.sf-line.is-compact .sf-line-viewport{top:102px}
@media(max-height:600px){.sf-page>.site-header{position:relative}}

/* Phone layout: compact navigation, readable service rows and generous touch controls. */
.sf-menu-toggle{display:none}
.sf-page{overflow-wrap:break-word}
.sf-page .container{min-width:0}
@media(max-width:720px){
 .sf-page>.site-header{position:sticky;top:0;padding-top:env(safe-area-inset-top,0px)}
 .sf-page .site-header>.container{padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
 .sf-page .header-inner{flex-wrap:nowrap;padding:12px 0;gap:12px;min-height:68px}
 .sf-page .brand{gap:8px;min-width:0}.sf-page .brand-mark{width:30px;height:30px}
 .sf-page .brand-wm>span{font-size:15px}.sf-page .brand-wm small{font-size:9px;letter-spacing:.07em}
 .sf-page .header-strip{display:none}.sf-page .site-header .rule{margin:0}
 .mobile-nav-ready .sf-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:76px;min-height:44px;padding:8px;border:1px solid #999;background:transparent;color:var(--fg-1);font:500 .875rem var(--font-body);flex-shrink:0}
 .sf-menu-toggle:focus-visible{outline:2px solid var(--se-anodised);outline-offset:3px}
 .sf-page .mobile-nav-ready .header-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px 24px;background:var(--bg-1);border-bottom:1px solid var(--rule-2);box-shadow:0 12px 18px #0002;max-height:calc(100svh - 90px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:4px}
 .sf-page .mobile-nav-ready[data-nav-open="true"] .header-nav{display:flex}
 .sf-page .nav-svc{display:block}.sf-page .nav-svc .svc-menu{display:grid;position:static;min-width:0;background:transparent;border:0;padding:0 0 8px 14px}
 .sf-page .svc-menu a,.sf-page .nav-link{display:flex;align-items:center;min-height:44px;padding:10px 8px;color:var(--fg-1);font-size:.875rem;letter-spacing:.06em;white-space:normal}
 .sf-page .nav-link.active::after{display:none}.sf-page .svc-menu a:hover{color:var(--se-anodised);background:#00000005}
 .sf-page .nav-login,.sf-page .nav-cta{min-height:44px;margin-top:8px;text-align:center;justify-content:center;font-size:.875rem}
 .sf-page>section:first-of-type{padding-top:32px!important}
 .sf-page .btn{min-height:48px;max-width:100%;white-space:normal;text-align:center;justify-content:center}
 .sf-page .footer-col a{display:flex;align-items:center;min-height:44px;font-size:14px}
 .sf-page .footer-cta-actions{flex-wrap:wrap;gap:20px}
 .sf-page .prog-table{overflow:visible}
 .sf-page .prog-head-row{display:none}
 .sf-page .spec-row{min-width:0;grid-template-columns:30px minmax(0,1fr);gap:10px 12px;padding:24px 0}
 .sf-page .spec-row>span{min-width:0;white-space:normal}
 .sf-page .spec-row>span:nth-child(2){font-size:1.35rem!important;line-height:1.2}
 .sf-page .spec-row>span:nth-child(n+3){grid-column:2;display:block;font-size:.875rem!important;line-height:1.6}
 .sf-page .spec-row>span:nth-child(n+3)::before{content:attr(data-label);display:block;font:500 .75rem/1.6 var(--font-mono);color:var(--fg-on-dark-2);letter-spacing:.05em}
 .sf-line-heading{inset-inline:20px;gap:12px}.sf-line-heading h2{font-size:1.65rem}
 .sf-line-skip{min-height:44px;display:flex;align-items:center;padding:4px 0;max-width:96px}
 .sf-line-viewport{top:124px;bottom:calc(128px + env(safe-area-inset-bottom,0px))}
 .sf-line-bottom{left:20px;right:20px;bottom:calc(66px + env(safe-area-inset-bottom,0px));font-size:.8125rem;gap:6px}
 .sf-line-status{min-width:0;line-height:1.5}.sf-line-instruction{font-size:.8125rem}
 .sf-line-progress{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom,0px));height:48px}
 .sf-line-progress::before,.sf-line-progress>span{top:22px;left:14px;right:14px;height:5px}
 .sf-line-scrubber{height:48px}
 .sf-line-scrubber::-webkit-slider-runnable-track{height:5px}
 .sf-line-scrubber::-webkit-slider-thumb{width:28px;height:28px;margin-top:-11.5px;border-width:4px}
 .sf-line-scrubber::-moz-range-thumb{width:20px;height:20px;border-width:4px}
 .sf-line-scrubber::-moz-range-track{height:5px}
}
@media(max-width:380px){.sf-page .brand-wm>span{font-size:14px}.sf-page .brand-wm small{font-size:8px}.sf-page .brand-mark{width:26px;height:26px}.sf-page .footer-main{grid-template-columns:1fr}}
@media(max-height:600px){
 .sf-page>.site-header{position:relative}
 .sf-line-heading,.sf-line.is-compact .sf-line-heading{top:12px}
 .sf-line-heading h2,.sf-line.is-compact .sf-line-heading h2{font-size:1.25rem}
 .sf-line-eyebrow{font-size:.75rem;margin-bottom:4px}
 .sf-line-viewport,.sf-line.is-compact .sf-line-viewport{top:88px;bottom:calc(112px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:720px){
 .sf-page .btn{display:flex;width:100%;min-height:48px;padding:14px 20px!important;font-size:.875rem!important;line-height:1.35}
 .sf-page .footer-cta-actions{width:100%;flex-direction:column;align-items:stretch;gap:12px}
 .sf-page .footer-cta-actions>.on-dark-link{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:.875rem}
 .sf-page .nav-login,.sf-page .nav-cta{display:flex;width:100%;min-height:48px;padding:14px 20px;box-sizing:border-box;line-height:1.35}
 .sf-page .site-header:not(.mobile-nav-ready) .header-inner{flex-wrap:wrap}
 .sf-line{overflow-anchor:none}
}

/* Native disclosure: the mobile header works before JavaScript loads, too. */
.sf-mobile-menu{display:none}
@media(max-width:900px){
 .sf-page>.site-header{position:sticky;top:0;background:#f0ede8;border-bottom:1px solid #d8d3cb;padding-top:env(safe-area-inset-top,0px)}
 .sf-page .site-header>.container{padding:0 max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px))}
 .sf-page .site-header .header-inner{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;min-height:84px;padding:16px 0;gap:16px}
 .sf-page .site-header .brand{gap:11px;flex:1;min-width:0}
 .sf-page .site-header .brand-mark{width:32px;height:32px;flex:none}
 .sf-page .site-header .brand-wm>span{font-size:17px;letter-spacing:-.025em;line-height:1.15}
 .sf-page .site-header .brand-wm small{font:500 10px/1.3 var(--font-mono);letter-spacing:.07em;margin-top:5px}
 .sf-page .site-header .header-nav,.sf-page .site-header .header-strip,.sf-page .site-header>.container>.rule{display:none!important}
 .sf-page .sf-mobile-menu{display:block;flex:none}
 .sf-mobile-menu>summary{display:flex;align-items:center;justify-content:center;gap:10px;list-style:none;cursor:pointer;min-height:48px;min-width:88px;padding:10px 12px;border:1px solid #b2afa9;background:transparent;color:#1c1c1e;font:500 15px/1.25 var(--font-body)}
 .sf-mobile-menu summary::-webkit-details-marker{display:none}
 .sf-mobile-menu summary::marker{content:""}
 .sf-mobile-menu summary:focus-visible,.sf-mobile-panel a:focus-visible{outline:2px solid var(--se-anodised);outline-offset:3px}
 .sf-menu-icon{display:flex;flex-direction:column;gap:5px;width:16px}
 .sf-menu-icon i{display:block;width:16px;height:1.5px;background:currentColor}
 .sf-mobile-menu[open]>.sf-mobile-panel{display:block}
 .sf-mobile-menu[open]>summary{background:#e6e2dc}
 .sf-mobile-panel{position:absolute;left:0;right:0;top:100%;padding:12px max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));background:#f0ede8;border-bottom:1px solid #c2beb6;box-shadow:0 14px 24px #0002;max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain}
 .sf-mobile-services>summary,.sf-mobile-primary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:56px;padding:14px 0;border-bottom:1px solid #d8d3cb;font:500 19px/1.3 var(--font-body);text-decoration:none;color:#1c1c1e;cursor:pointer}
 .sf-mobile-primary span,.sf-mobile-services>summary>span{font-size:20px;color:#77736e}
 .sf-mobile-service-links{padding:8px 0 12px 16px;border-bottom:1px solid #d8d3cb}
 .sf-mobile-service-links a{display:flex;align-items:center;min-height:48px;padding:10px 0;font:400 16px/1.4 var(--font-body);text-decoration:none}
 .sf-mobile-actions{display:grid;gap:12px;margin-top:24px}
 .sf-mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:14px 20px;border:1px solid #1c1c1e;font:600 15px/1.4 var(--font-body);text-decoration:none}
 .sf-mobile-actions .sf-mobile-quote{background:var(--se-anodised);border-color:var(--se-anodised);color:#fff}
 .sf-mobile-actions .sf-mobile-login{background:transparent;color:#1c1c1e}
 .sf-mobile-location{font:400 12px/1.4 var(--font-mono);color:#6a6763;margin:20px 0 0}
}
@media(max-width:380px){
 .sf-page .site-header>.container{padding-inline:16px}
 .sf-page .site-header .header-inner{gap:10px}
 .sf-page .site-header .brand{gap:8px}
 .sf-page .site-header .brand-mark{width:27px;height:27px}
 .sf-page .site-header .brand-wm>span{font-size:15px}
 .sf-page .site-header .brand-wm small{font-size:8px}
 .sf-mobile-menu>summary{min-width:72px;padding:10px 8px;gap:8px;font-size:14px}
}
@media(max-height:600px){.sf-page>.site-header{position:relative}}
.sf-mobile-menu[open]>summary .sf-menu-icon i:first-child{transform:translateY(3.25px) rotate(45deg)}
.sf-mobile-menu[open]>summary .sf-menu-icon i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
