.site-page{--gutter:clamp(24px,4.444vw,88px);font-size:17px;line-height:1.45}
.site-page h1,.site-page h2,.site-page h3{margin:0;white-space:normal;letter-spacing:-.04em}
.site-page h1{font-size:clamp(64px,8.75vw,150px);line-height:.995;font-weight:800;overflow-wrap:anywhere}
.site-page h2{font-size:clamp(36px,4.6vw,68px);line-height:1.04;font-weight:800}
.site-page h3{font-size:25px;line-height:1.25;font-weight:700;letter-spacing:-.025em}
.site-page button,.site-page input,.site-page select,.site-page textarea{font:inherit}
.site-page a,.site-page button,.site-page input,.site-page textarea{touch-action:manipulation}
.site-page button:disabled{cursor:not-allowed;opacity:.6}
.site-page .gallery-main{height:auto}
.site-page :focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.site-page [hidden]{display:none!important}
.site-header{height:96px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-logo{display:block;width:181px;height:14px}.site-logo img{display:block;width:100%;height:100%}
.site-nav{display:flex;justify-content:space-between;width:min(47%,616px);gap:24px;font-size:12px;font-weight:500}
.site-nav a:hover,.menu-links a:hover{color:var(--blue)}
.mobile-menu{display:none;font-size:11px}
.site-main{padding:56px var(--gutter) 64px;min-height:calc(100svh - 178px)}
.page-intro{margin-bottom:48px}.page-intro>p{font-size:19px;margin-top:22px}.page-intro .breadcrumb{font-size:11px;margin:0 0 32px;color:var(--muted)}
.site-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.site-grid.wide-left{grid-template-columns:minmax(0,704fr) minmax(0,512fr);gap:96px}
.stack{display:flex;flex-direction:column;gap:24px;min-width:0}
.stack p{max-width:100%;overflow-wrap:break-word}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.5}.eyeline{font-size:11px;line-height:1.5;font-weight:500}.accent{color:var(--blue)}
.site-button{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:56px;border:1px solid var(--blue);border-radius:4px;padding:16px 22px;background:var(--blue);color:#fff;font-size:14px!important;font-weight:600!important;text-align:left;line-height:1.35;text-decoration:none}
.site-button>span:last-child{font-size:24px;font-weight:400;line-height:20px}.site-button.outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.site-button:hover{background:#1c4192;color:white}.site-button.outline:hover{background:#f3f5fa;color:var(--ink)}
.action-stack{display:grid;gap:16px}.text-link{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:5px;color:var(--ink);font-size:13px}
.site-footer{background:var(--ink);color:white;min-height:82px;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:10px}
.signature{font-family:'Roboto Mono',monospace;font-size:9px;letter-spacing:.55em;line-height:1.7;white-space:nowrap}.signature span{display:block;color:var(--blue);padding-left:5px}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;align-items:start}.detail-price{font-size:40px;line-height:1.2;margin-bottom:24px}.product-information{grid-column:1;grid-row:2;gap:22px}.product-gallery{grid-column:2;grid-row:1/3;min-width:0}.gallery-main{width:100%;aspect-ratio:624/510;object-fit:contain;display:block}.gallery-thumbs{display:flex;gap:22px;margin:15px 0 20px}.gallery-thumbs button{border:1px solid transparent;background:white;padding:0;width:22%;aspect-ratio:138/130}.gallery-thumbs button[aria-pressed=true]{border-color:#aaa}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}.gallery-caption{font-size:11px;color:var(--muted)}
.colour-options{display:flex;gap:20px;border:0;min-width:0}.colour-options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.colour-option{display:flex;align-items:center;gap:11px;min-height:44px;width:130px;border-bottom:1px solid transparent;font-size:16px}.colour-option[aria-current=true]{border-color:var(--ink)}.colour-option img{width:15px;height:15px}
.key-value{display:flex;justify-content:space-between;gap:24px;align-items:baseline;font-size:17px}.key-value>span:first-child{color:var(--muted)}.key-value>span:last-child{text-align:right}.rule{border:0;border-top:1px solid #dfdfdf;margin:0;width:100%}
.summary-photo{display:block;width:100%;height:300px;object-fit:contain}.total{font-size:64px;font-weight:600;letter-spacing:-.04em;line-height:1.12}.summary{gap:22px}.summary .key-value{font-size:16px}
.field{display:flex;flex-direction:column;gap:10px;min-width:0;font-size:11px;color:var(--muted)}.field input,.field textarea,.field select{color:var(--ink);font-size:17px;background:#fff;border:0;border-bottom:1px solid #dfdfdf;padding:4px 0 14px;border-radius:0;width:100%;min-width:0;line-height:1.5}.field textarea{resize:vertical;min-height:128px}.field input:focus,.field textarea:focus{outline:none;border-bottom:2px solid var(--blue);padding-bottom:13px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#ac2727}.field-error{font-size:12px;color:#ac2727;line-height:1.45}.form-fields{gap:24px}.form-fields h3:not(:first-child){margin-top:12px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);line-height:1.5}.consent input{flex:0 0 auto;width:16px;height:16px;accent-color:var(--blue);margin:1px 0}.consent a{text-decoration:underline;text-underline-offset:3px}.form-alert{padding:14px 16px;background:#fff2f0;color:#922626;font-size:14px;border-left:3px solid #ac2727}.form-alert:empty{display:none}
.site-slashes{width:320px;max-width:80%;height:40px;object-fit:contain;object-position:left;margin-top:8px}.code-content{min-height:580px}.code-content h2{max-width:620px}.code-content .lead{font-size:21px;line-height:1.5}.code-form{gap:24px}
.cart-item{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;padding-bottom:32px;border-bottom:1px solid #dfdfdf}.cart-item>img{width:100%;aspect-ratio:1;object-fit:contain}.quantity{display:flex;align-items:center;gap:22px}.quantity button{width:36px;height:40px;background:transparent;border:1px solid #ddd}.cart-items{display:grid;gap:32px}.cart-summary{padding-top:8px}.cart-summary .total{margin:8px 0 24px}
.status-layout{display:grid;grid-template-columns:minmax(0,780fr) minmax(0,452fr);gap:80px;min-height:420px}.status-copy{font-size:25px;line-height:1.44}.status-layout .action-stack{max-width:480px}.status-signal{position:relative;background:var(--ink);color:white;aspect-ratio:452/360;overflow:hidden}.status-signal img{height:100%;width:31%;object-fit:fill}.status-signal strong{position:absolute;left:40%;top:28%;font-size:clamp(35px,5.8vw,88px);line-height:1.05;letter-spacing:-.05em}.status-signal small{position:absolute;left:40%;bottom:32px;font-size:14px}.timeline{list-style:none;padding:0;margin:8px 0;display:grid;gap:26px}.timeline li{border-top:1px solid #ddd;padding-top:18px}.timeline strong{font-size:19px}.timeline p{margin-top:9px;color:var(--muted);font-size:16px}
.menu-links{display:grid}.menu-links a{font-size:clamp(36px,4.4vw,64px);font-weight:700;letter-spacing:-.03em;padding:24px 0 36px;border-bottom:1px solid #ddd}.menu-links a:first-child{padding-top:0}
.catalog-list{display:grid;gap:80px}.catalog-item{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.catalog-item:nth-child(even) .catalog-copy{order:2}.catalog-item h2{font-size:clamp(40px,4.8vw,70px);margin:20px 0}.catalog-photo{display:block}.catalog-photo img{width:100%;display:block;aspect-ratio:664/543;object-fit:contain}.catalog-arrows{position:relative;width:320px;max-width:90%;height:46px;margin-top:42px}.catalog-copy .detail-price{font-size:32px;margin:20px 0}
.faq-page-title span{display:block}.faq-page-title span+span{text-align:right;font-size:.78em;margin-top:10px}.site-faq{display:grid;grid-template-columns:1fr 1fr;gap:76px}.faq-index button{background:none;border:0;border-top:1px solid #ddd;padding:28px 0;display:grid;grid-template-columns:30px 1fr 24px;gap:20px;text-align:left;width:100%;font-size:22px;line-height:1.3}.faq-index small{font-size:12px;padding-top:6px}.faq-index button[aria-selected=true]{color:var(--blue)}.faq-reader{position:relative;padding:0 0 80px 30px}.faq-reader h2{color:var(--blue);font-size:80px;min-height:180px;margin-top:28px}.faq-reader>p:last-of-type{font-size:22px}.faq-decoration{position:relative;width:90px;height:105px;margin:40px 0 0 auto}
.join-steps{list-style:none;margin:64px 0 0;padding:0;display:grid;gap:40px}.join-steps li{display:flex;gap:28px;border-top:1px solid #ddd;padding:30px 0;max-width:760px}.join-steps li:nth-child(2){margin-left:22%}.join-steps li:nth-child(3){margin-left:44%}.join-number{font-size:90px;color:var(--blue);line-height:1;letter-spacing:-.06em}.join-steps h3{margin:6px 0 16px}.join-steps p{font-size:20px;color:var(--muted)}
.doc-tabs{display:flex;gap:24px;justify-content:space-between;margin:60px 0;font-size:14px}.doc-tabs a[aria-current=page]{color:var(--blue);font-weight:600}.document-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:100px}.document-index{display:grid;gap:18px;align-self:start;position:sticky;top:24px;font-size:13px}.document-index .site-button{margin-top:12px}.document-body section{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid #ddd;scroll-margin-top:24px}.document-body h2{font-size:28px;line-height:1.3;margin-bottom:22px}.document-body p{font-size:18px;line-height:1.6;margin-top:18px}.doc-contact{padding:12px 0 0}.doc-contact .site-button{max-width:400px;margin-top:28px}.document-title h1{font-size:clamp(58px,7.8vw,126px)}
.full-footer{background:var(--ink);color:white;padding:90px var(--gutter) 32px}.full-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.full-footer h2{font-size:clamp(62px,8vw,142px);line-height:.98}.full-footer p{font-size:16px;color:#aaa;margin-top:30px;max-width:350px}.full-footer nav{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.full-footer nav div{display:flex;flex-direction:column;gap:18px;font-size:13px}.full-footer nav h3{font-size:11px;letter-spacing:0;margin-bottom:8px}.full-footer-word{margin-top:100px;border-top:1px solid #777;padding-top:30px;font-size:clamp(30px,11.8vw,180px);line-height:1.1;font-weight:800;letter-spacing:-.06em}.full-footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:40px;font-size:10px;color:#aaa}
.preview-banner{padding:10px var(--gutter);background:#edf1fa;font-size:12px;display:flex;justify-content:space-between;gap:20px}.preview-banner a{text-decoration:underline}.screen-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.screen-card{border-top:1px solid #ddd;padding:24px 0;display:flex;flex-direction:column;gap:12px}.screen-card:hover{color:var(--blue)}.screen-card small{font-size:11px;color:var(--muted)}.preview-controls{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;font-size:12px}.preview-controls a{text-decoration:underline}.payment-placeholder{border:1px solid #ddd;padding:24px;display:grid;gap:24px}.payment-placeholder .field{opacity:.65}.payment-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.skip-link{position:absolute;top:-100px;left:24px;z-index:10;background:white;padding:12px}.skip-link:focus{top:10px}.loading-preview{min-height:65svh;display:grid;place-content:center;gap:48px;text-align:center}.loading-preview img{width:min(80vw,900px);height:auto}.loading-track{height:2px;width:240px;background:#ddd;margin:auto}.loading-track:after{content:'';display:block;height:100%;width:60%;background:var(--blue);animation:load-progress 2s ease-in-out infinite alternate}@keyframes load-progress{to{width:100%}}
@media(min-width:1700px){.site-main,.site-header,.site-footer,.full-footer{padding-left:max(var(--gutter),calc((100vw - 1560px)/2));padding-right:max(var(--gutter),calc((100vw - 1560px)/2))}}
@media(max-width:1000px){.site-grid,.site-grid.wide-left,.product-detail,.catalog-item{gap:40px}.site-nav{width:55%}.status-layout{gap:40px}.document-layout{grid-template-columns:220px minmax(0,1fr);gap:40px}.cart-item{grid-template-columns:150px minmax(0,1fr);gap:20px}.site-faq{gap:40px}.faq-reader{padding-left:0}.faq-reader h2{font-size:60px}.site-faq .faq-index button{font-size:18px}}
@media(max-width:700px){
 .site-header{height:76px}.site-logo{width:153px;height:12px}.site-nav{display:none}.mobile-menu{display:block}
 .site-main{padding-top:40px;padding-bottom:52px;min-height:calc(100svh - 170px)}
 .site-page h1{font-size:clamp(38px,11.8vw,66px);line-height:1.06;letter-spacing:-.04em}.site-page h2{font-size:42px}.site-page h3{font-size:23px}.page-intro{margin-bottom:40px}.page-intro>p{font-size:16px;line-height:1.45;margin-top:20px}
 .site-grid,.site-grid.wide-left{grid-template-columns:1fr;gap:40px}.stack{gap:24px}.site-footer{min-height:94px;font-size:9px}.site-footer>p{max-width:175px}.signature{font-size:6px;letter-spacing:.45em}
 .product-detail{grid-template-columns:1fr;gap:0}.product-information{grid-column:auto;grid-row:3}.product-gallery{grid-column:auto;grid-row:2;margin-bottom:30px}.detail-price{font-size:32px;margin-bottom:24px}.gallery-thumbs{gap:14px}.gallery-thumbs button{width:22%;max-width:100px}.gallery-caption{font-size:10px}.product-information{font-size:18px;gap:24px}.product-information .key-value{font-size:17px}
 .summary-photo{height:auto;aspect-ratio:342/220}.total{font-size:48px}.key-value{font-size:16px}.field input,.field textarea,.field select{font-size:17px}.field{gap:12px}.site-button{font-size:13px!important;min-height:56px}.code-content{min-height:0;gap:40px}.code-content .lead{font-size:18px}.site-slashes{height:32px;width:250px}
 .cart-item{grid-template-columns:110px minmax(0,1fr);gap:20px}.cart-item h3{font-size:22px}.cart-item .stack{gap:14px}.cart-summary{margin-top:12px}.cart-summary .total{margin-bottom:12px}
 .status-layout{grid-template-columns:1fr;gap:40px;min-height:0}.status-copy{font-size:21px;line-height:1.5}.status-signal{aspect-ratio:342/220}.status-signal strong{font-size:60px;top:20%}.status-signal small{bottom:20px}.status-layout .action-stack{max-width:none}.timeline strong{font-size:18px}
 .catalog-list{gap:60px}.catalog-item{grid-template-columns:1fr;gap:24px}.catalog-item:nth-child(even) .catalog-copy{order:0}.catalog-item h2{font-size:40px}.catalog-copy .detail-price{font-size:28px}.catalog-arrows{margin-top:28px;width:260px;height:40px}
 .site-faq{grid-template-columns:1fr;gap:40px}.site-faq .faq-index button{font-size:18px;min-height:96px;gap:16px;grid-template-columns:22px 1fr 18px}.faq-reader h2{font-size:56px;min-height:110px;margin-top:28px}.faq-reader>p:last-of-type{font-size:18px}.faq-reader{padding-bottom:0}.faq-page-title span+span{font-size:.9em;text-align:right}.faq-decoration{width:84px;height:96px}
 .join-steps{margin-top:64px;gap:38px}.join-steps li{gap:20px;padding:28px 0;position:relative}.join-steps li:nth-child(2){margin-left:24px}.join-steps li:nth-child(3){margin-left:0}.join-number{font-size:63px;flex:0 0 70px}.join-steps h3{font-size:19px;margin:3px 0 14px}.join-steps p{font-size:16px}.join-steps li:not(:last-child):after{content:'';position:absolute;right:0;bottom:-22px;width:33px;height:44px;background:url('assets/route-mobile-one.svg') center/contain no-repeat}.join-steps li:nth-child(2):after{left:-20px;right:auto;background-image:url('assets/route-mobile-two.svg')}
 .document-title h1{font-size:clamp(38px,11.5vw,64px)}.doc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:40px 0;font-size:12px}.document-layout{grid-template-columns:1fr;gap:48px}.document-index{position:static;gap:16px}.document-index .site-button{max-width:300px}.document-body h2{font-size:24px}.document-body p{font-size:16px}.document-body section{padding-bottom:28px;margin-bottom:28px}.full-footer{padding-top:64px}.full-footer-grid{grid-template-columns:1fr;gap:48px}.full-footer h2{font-size:72px}.full-footer nav{grid-template-columns:1fr;gap:36px}.full-footer nav div{gap:16px;font-size:16px}.full-footer-word{margin-top:64px;font-size:11.6vw}.full-footer-bottom{font-size:8px}
 .screen-list{grid-template-columns:1fr 1fr;gap:20px}.screen-card{font-size:15px}.preview-banner{font-size:10px;gap:12px}.preview-banner span{max-width:240px}.payment-placeholder{padding:20px}.menu-links a{font-size:38px;padding:22px 0 30px}
}
@media(max-width:370px){.site-page{--gutter:20px}.site-page h1{font-size:10.8vw}.cart-item{grid-template-columns:90px minmax(0,1fr);gap:16px}.cart-item h3{font-size:19px}.join-number{flex-basis:56px;font-size:54px}.join-steps li{gap:14px}.join-steps h3{font-size:17px}.signature{font-size:5px}.screen-list{grid-template-columns:1fr}.payment-pair{gap:16px}}
@media(prefers-reduced-motion:reduce){.loading-track:after{animation:none}}
.join-steps li:nth-child(4){margin-left:22%}
.join-steps li:nth-child(5){margin-left:0}
@media(min-width:701px){
 .join-steps li{position:relative;width:56%}
 .join-steps li:not(:last-child):after{content:'';position:absolute;right:0;bottom:-30px;width:40px;height:52px;background:url('assets/route-mobile-one.svg') center/contain no-repeat}
 .join-steps li:nth-child(3):after,.join-steps li:nth-child(4):after{right:auto;left:0;background-image:url('assets/route-mobile-two.svg')}
}
@media(max-width:700px){.join-steps li:nth-child(4){margin-left:24px}.join-steps li:nth-child(4):after{left:-20px;right:auto;background-image:url('assets/route-mobile-two.svg')}}

/* Integration states keep existing forms and keyboard focus usable. */
[data-form][aria-busy=true]{cursor:progress}
.site-button:disabled{cursor:wait;opacity:.6}
.field-error:empty{display:none}
.consent .field-error{display:block;margin-top:4px}
[data-quote-summary]:not(:empty){border-top:1px solid #dfdfdf;padding-top:24px}

.catalog-action{display:flex;align-items:center;justify-content:space-between;gap:28px;width:max-content;min-width:180px;min-height:54px;padding:0 18px;margin-top:22px;border-radius:3px;background:var(--ink);color:#fff;font-size:14px;font-weight:600}
.catalog-action span{font-size:24px;line-height:1;font-weight:400}
.catalog-action:hover{background:var(--blue);color:#fff}
.site-page .catalog-action.is-locked{justify-content:center;border:0;cursor:not-allowed;opacity:1}
.catalog-action.is-locked:hover{background:var(--ink)}
.catalog-action.is-locked img{width:20px;height:20px}
@media(max-width:700px){.catalog-action{width:100%;min-height:50px;margin-top:22px;font-size:13px}}
