/* The Flux: customer-facing presentation only. No CRM, auth or pricing overrides. */
.flux-customer{--paper:#ffffff;--ink:#152e51;--muted:#596878;--line:#e0e6ef;--soft:#f4f7fc;background:var(--paper)}
.flux-customer :is(h1,h2,h3,p){overflow-wrap:break-word}
.flux-customer [hidden]{display:none!important}
.flux-customer :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #082968;outline-offset:4px}
.flux-customer .btn{min-height:50px;border-radius:10px;font-size:16px;padding:13px 23px;transition:background-color .18s,box-shadow .18s}
.flux-customer .btn.primary{background:#082968;color:#fff;border-color:#082968;box-shadow:0 5px 15px #08296812}
.flux-customer .btn.primary:hover{background:#061f50;border-color:#061f50;box-shadow:0 6px 18px #08296822}
.flux-customer .btn.secondary{background:#fff;color:#082968;border-color:#ccd6e5}
.flux-customer .btn.secondary:hover{background:#edf3fd}
.flux-customer .topbar{background:#082968}
.flux-customer .topbar .wrap{min-height:80px}
.flux-customer .topbar .btn.primary{background:#ffdf59;color:#082b41;border-color:#ffdf59;box-shadow:none}
.flux-customer .preview-bar{background:#062344;color:#e0ebf2;font-size:12px;padding:7px 18px;line-height:1.6}
.flux-customer .preview-bar a{color:#fff;min-height:28px;display:inline-flex;align-items:center}
.flux-customer .main-nav a{font-size:16px;min-height:44px;display:inline-flex;align-items:center}
.flux-customer .section{padding-block:70px}
.flux-customer .eyebrow{color:#082968;font-weight:700;font-size:14px}
.flux-customer .section-head h2{font-size:38px;line-height:1.45}
.flux-customer .section-head .link{min-height:44px;display:inline-flex;align-items:center}
.flux-customer .editorial-hero{background:#ffffff;min-height:600px;padding:62px 0;isolation:isolate;overflow:hidden;align-items:center}
.flux-customer .editorial-hero:after{display:none}
.flux-customer .hero-scene{inset:26px auto 26px 28px;width:calc(50% - 30px);z-index:0;overflow:hidden;border-radius:18px 76px 18px 18px;background:#e7e9e4}
.flux-customer .hero-scene img{object-position:57% 65%}
.flux-customer .hero-content{position:relative;z-index:1;color:#152e51;pointer-events:none}
.flux-customer .hero-content>*{width:48%;pointer-events:auto}
.flux-customer .hero-content .eyebrow{color:#082968;font-size:14px;gap:9px;margin-bottom:24px}
.flux-customer .hero-content h1{font-size:52px;line-height:1.35;letter-spacing:-.035em;font-weight:800;max-width:580px}
.flux-customer .hero-content h1 em{color:#082968}
.flux-customer .hero-content>p{font-size:19px;line-height:1.95;color:#546471;max-width:520px;margin:23px 0 25px}
.flux-customer .hero-content .actions{gap:12px;flex-wrap:wrap}
.flux-customer .hero-content .btn{font-size:17px;min-height:54px;padding-inline:24px}
.flux-customer .hero-assurance{font-size:13px;color:#52676b;gap:12px;flex-wrap:wrap;margin-top:22px}
.flux-customer .hero-assurance svg{color:#082968}
.flux-customer .hero-photo-note{left:46px;bottom:44px;font-size:11px;background:#173746d9;padding:5px 10px;z-index:2;text-shadow:none}
.flux-customer .hero-editorial-mark{left:49px;top:52px;z-index:2;color:#fff;font-size:10px;letter-spacing:.18em;background:#173746b8;padding:7px 9px;border-radius:3px;text-shadow:none}
.flux-customer .quick-needs{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:23px;align-items:center;max-width:540px}
.flux-customer .quick-needs>span{width:100%;font-size:13px;color:#596a72}
.flux-customer .quick-needs a{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:#082968;font-weight:600;font-size:14px;border-bottom:1px solid #ccd6e5}
.flux-customer .quick-needs a:after{content:'↖';font-family:Arial,sans-serif;font-size:15px;color:#082968}
.flux-customer .track-rail{margin-top:0;max-width:1200px;box-shadow:none;border:0;border-bottom:1px solid #e0e6ef;border-radius:0;background:transparent}
.flux-customer .track-rail>a{padding:27px 29px;background:transparent}
.flux-customer .track-rail>a:hover{background:#edf3fd}
.flux-customer .track-rail strong{font-size:21px}
.flux-customer .track-rail small{font-size:14px;line-height:1.7}
.flux-customer .track-icon{color:#082968;width:30px;height:33px}
.flux-customer .home-services{padding-top:60px}
.flux-customer .service-grid{gap:22px;align-items:stretch}
.flux-customer .service-tile{background:#fff;border:1px solid #e0e6ef;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 18px #08296810;transition:box-shadow .2s,border-color .2s}
.flux-customer .service-tile:hover{box-shadow:0 9px 28px #0829681a;border-color:#b9cae3}
.flux-customer .tile-photo{border-radius:0;aspect-ratio:1.26}
.flux-customer .tile-copy{padding:20px 19px 12px;display:flex;flex-direction:column;flex:1}
.flux-customer .tile-copy h3{font-size:21px;line-height:1.5;margin:0 0 8px}
.flux-customer .tile-copy p{font-size:16px;line-height:1.85;color:#5b6874;min-height:0;margin-bottom:15px}
.flux-customer .tile-actions{margin-top:auto;min-height:55px;padding-top:8px;gap:8px}
.flux-customer .tile-actions a{min-width:44px;min-height:44px;font-size:15px}
.flux-customer .tile-book{color:#082968}
.flux-customer .tile-detail{font-size:13px!important;color:#516672}
.flux-customer .photo-label{font-size:11px;padding:4px 8px;background:#153645d9}
.flux-customer .service-tail{font-size:15px;border:0;margin-top:20px;padding-top:0}
.flux-customer .customer-process{background:#fff;border-block:1px solid #e0e6ef;padding-block:43px}
.flux-customer .customer-process .section-head{margin-bottom:18px}
.flux-customer .customer-process .section-head h2{font-size:31px}
.flux-customer .customer-process .step{padding-inline-start:48px;padding-top:0}
.flux-customer .customer-process .step:before{position:absolute;inset-inline-start:0;top:0;width:34px;height:34px;border-radius:50%;background:#edf3fd;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:12px;letter-spacing:0;margin:0}
.flux-customer .customer-process .step h3{font-size:21px;line-height:1.55;margin-bottom:7px}
.flux-customer .customer-process .step p{font-size:16px;line-height:1.8}
.flux-customer .care-section{background:#f4f7fc}
.flux-customer .care-photo{height:450px;border-radius:18px 18px 72px 18px}
.flux-customer .care-copy h2{font-size:38px;line-height:1.5}
.flux-customer .care-copy>p{font-size:18px}
.flux-customer .care-line{padding-block:17px}
.flux-customer .care-line h3{font-size:20px}
.flux-customer .care-line p{font-size:16px}
.flux-customer .business-editorial h2{font-size:40px;line-height:1.4}
.flux-customer .business-photo{height:470px;border-radius:18px 65px 18px 18px}
.flux-customer .mini-packages{border-color:#e0e6ef}
.flux-customer .estate-feature{background:#082968;max-width:1320px;border-radius:20px;overflow:hidden}
.flux-customer .estate-feature h2{font-size:42px;line-height:1.45}
.flux-customer .estate-feature-copy{padding:42px 48px}
.flux-customer .estate-feature .eyebrow{color:#ffdf59}
.flux-customer .estate-feature-copy>p{color:#e4ecfa}
.flux-customer .estate-inclusions span{border-color:#7286a8;color:#edf3ff}
.flux-customer .estate-availability{font-size:13px!important;color:#dce6f8!important}
.flux-customer .evidence-row>a{background:#fff;border-radius:16px;padding:20px;border-color:#e0e6ef}
.flux-customer .evidence-row strong{font-size:22px}
.flux-customer .evidence-row small{font-size:14px}
.flux-customer .work-editorial{padding-block:55px}
.flux-customer .dark-section{background:#082968;border-radius:18px;padding:39px 42px}
.flux-customer .dark-section .eyebrow{color:#ffdf59}
.flux-customer .dark-section p{color:#e4ecfa;line-height:1.85}
.flux-customer .loyalty-preview-note{font-size:13px!important;margin-top:12px!important;color:#dce6f8!important}
.flux-customer .customer-faq{padding-block:15px 65px}
.flux-customer .faq{max-width:880px;margin-inline:auto;border-top:0}
.flux-customer .faq details{padding:0;margin-bottom:10px;background:#fff;border:1px solid #e0e6ef;border-radius:12px;overflow:hidden}
.flux-customer .faq summary{font-size:18px;line-height:1.6;padding:18px 21px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none}
.flux-customer .faq summary::-webkit-details-marker{display:none}
.flux-customer .faq summary:after{content:'+';color:#082968;font-family:Arial,sans-serif;font-size:23px;font-weight:400}
.flux-customer .faq details[open] summary:after{content:'−'}
.flux-customer .faq p{padding:0 21px 20px;font-size:16px;line-height:1.9;color:#566674}
.flux-customer .customer-closing{background:#f4f7fc;border-block:1px solid #e0e6ef;padding-block:45px}
.flux-customer .closing-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.flux-customer .closing-inner h2{font-size:34px;line-height:1.45;margin-bottom:10px}
.flux-customer .closing-inner p{font-size:17px;line-height:1.8;color:#586b70;max-width:650px}
.flux-customer .closing-inner .actions{flex-shrink:0;gap:12px}
.flux-customer .footer{margin-top:0;background:#082968}
.flux-customer .footer a{min-height:38px;display:flex;align-items:center;gap:5px}
.flux-customer .footer p{color:#dce6f8;line-height:1.9}
.flux-customer .footer-bottom a{min-height:40px}
.flux-customer .editorial-intro,.flux-customer .route-hero{background:#f4f7fc}
.flux-customer .intro-photo{border-radius:18px 18px 68px 18px;height:390px}
.flux-customer .intro-copy h1{font-size:46px;line-height:1.4;color:#082968}
.flux-customer .route-hero{padding-block:35px}
.flux-customer .route-hero h1{font-size:42px;line-height:1.4;color:#082968}
.flux-customer .route-hero p{font-size:18px;line-height:1.9}
.flux-customer .catalogue-grid .service-tile:last-child{padding:0;margin:0;gap:0;border:1px solid #e0e6ef;align-items:stretch}
.flux-customer .catalogue-grid .service-tile:last-child .tile-copy{padding:22px}
.flux-customer .catalogue-grid .service-tile:last-child .tile-photo{height:100%;aspect-ratio:2.3}
.flux-customer .catalogue-grid .service-tile:last-child .tile-actions{margin-top:16px}
.flux-customer .form-card{border-radius:18px;border-color:#e0e6ef;padding:30px;box-shadow:0 8px 26px #08296810}
.flux-customer .form-aside{background:#f4f7fc;border-radius:16px;border:1px solid #e0e6ef;padding:27px}
.flux-customer .form-aside h3{font-size:21px}
.flux-customer .form-aside p{font-size:16px;line-height:1.85}
.flux-customer .form-progress{gap:13px}
.flux-customer .form-progress li{font-size:15px;line-height:1.6;border-top-width:3px}
.flux-customer :is(input,select,textarea){font-size:17px;min-height:50px;border-color:#b7c6da;border-radius:10px;background:#fff}
.flux-customer :is(input[type=checkbox],input[type=radio]){min-height:0}
.flux-customer .request-benefits{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:16px 0 0;color:#234778;font-size:14px}
.flux-customer .request-benefits li:before{content:'✓';margin-inline-end:6px}
.flux-customer .aside-contact{padding-top:16px;margin-top:22px;border-top:1px solid #d6e0ef}
.flux-customer .aside-contact .btn{margin-top:13px;display:inline-flex}
.flux-customer .service-modal{border-radius:17px;border-color:#e0e6ef;padding:28px;box-shadow:0 24px 80px #082b4430}
.flux-customer .service-modal .service-body{line-height:1.9}
.flux-customer .service-modal .modal-head h2{line-height:1.5}
.flux-customer .service-modal :is(button,.btn){min-height:48px}
.flux-customer .mobile-actions{border-top:1px solid #d6e0ef;background:#fffffff5;padding-bottom:max(10px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #08296810}
.flux-customer:has(dialog[open]) .mobile-actions{visibility:hidden}
@media(min-width:1441px){.flux-customer .hero-scene{left:max(28px,calc((100vw - 1400px)/2));width:calc(50% - max(28px,calc((100vw - 1400px)/2)) - 10px)}}
@media(max-width:1100px) and (min-width:781px){.flux-customer .hero-content h1{font-size:43px}.flux-customer .hero-content>p{font-size:18px}.flux-customer .hero-content .btn{font-size:15px;padding-inline:17px}.flux-customer .quick-needs{gap:5px 11px}.flux-customer .quick-needs a{font-size:13px}.flux-customer .tile-copy{padding:17px 14px 10px}.flux-customer .tile-copy h3{font-size:19px}.flux-customer .closing-inner{flex-direction:column;align-items:start}}
@media(max-width:780px){
.flux-customer .topbar .wrap{min-height:70px}
.flux-customer .preview-bar{font-size:11px;padding:5px 12px}
.flux-customer .preview-bar a{min-height:25px}
.flux-customer .btn{font-size:16px;min-height:49px;padding:12px 18px}
.flux-customer .section{padding-block:44px}
.flux-customer .editorial-hero{display:flex;flex-direction:column;min-height:0;padding:34px 0 0;align-items:stretch}
.flux-customer .hero-content{order:0;pointer-events:auto}
.flux-customer .hero-content>*{width:100%}
.flux-customer .hero-content .eyebrow{font-size:12px;margin-bottom:17px;gap:8px}
.flux-customer .hero-content h1{font-size:36px;line-height:1.35;max-width:none;letter-spacing:-.03em}
.flux-customer .hero-content>p{font-size:17px;line-height:1.9;margin:17px 0 20px;max-width:590px}
.flux-customer .hero-content .actions{display:grid;grid-template-columns:1.1fr 1fr;gap:10px}
.flux-customer .hero-content .btn{font-size:16px;min-height:52px;padding-inline:12px;justify-content:center}
.flux-customer .hero-assurance{font-size:12px;gap:8px 14px;margin-top:17px}
.flux-customer .quick-needs{gap:5px 14px;margin-top:13px}
.flux-customer .quick-needs>span{font-size:12px}
.flux-customer .quick-needs a{font-size:13px;min-height:44px}
.flux-customer .hero-scene{position:relative;order:1;inset:auto;align-self:stretch;width:auto;height:205px;margin:19px 20px 20px;border-radius:12px 46px 12px 12px;z-index:auto}
.flux-customer .hero-scene img{object-position:50% 60%}
.flux-customer .hero-photo-note{left:31px;bottom:30px;font-size:10px;padding:4px 8px;z-index:2}
.flux-customer .hero-editorial-mark{display:none}
.flux-customer .track-rail{padding:0 6px;margin:0;gap:0;background:#fff}
.flux-customer .track-rail>a{padding:17px 5px;gap:6px}
.flux-customer .track-rail strong{font-size:16px}
.flux-customer .track-rail small{font-size:11px;white-space:normal;line-height:1.5}
.flux-customer .track-icon{width:26px;height:27px}
.flux-customer .section-head{flex-wrap:wrap;gap:10px;margin-bottom:23px}
.flux-customer .section-head h2{font-size:29px;line-height:1.45}
.flux-customer .section-head .link{font-size:15px}
.flux-customer .section-head .eyebrow{font-size:13px;margin-bottom:9px}
.flux-customer .home-services{padding-top:36px}
.flux-customer .service-grid{gap:18px 13px}
.flux-customer .service-tile{border-radius:12px;box-shadow:0 3px 12px #08296808}
.flux-customer .tile-photo,.flux-customer .catalogue-grid .tile-photo{aspect-ratio:1.08}
.flux-customer .tile-copy{padding:14px 12px 8px}
.flux-customer .tile-copy h3{font-size:18px;min-height:54px;line-height:1.5;margin-bottom:7px}
.flux-customer .tile-copy p{font-size:14px;min-height:0;line-height:1.75;margin-bottom:11px}
.flux-customer .tile-actions{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:6px}
.flux-customer .tile-book{justify-content:space-between;border-radius:6px;font-size:14px!important}
.flux-customer .tile-detail{font-size:13px!important;min-height:44px;color:#52657c}
.flux-customer .photo-label{font-size:10px;padding:4px 7px}
.flux-customer .service-tail{font-size:14px;margin-top:16px}
.flux-customer .customer-process{padding-block:31px}
.flux-customer .customer-process .section-head h2{font-size:27px}
.flux-customer .customer-process .three{gap:20px}
.flux-customer .customer-process .step{padding-inline-start:44px}
.flux-customer .customer-process .step h3{font-size:20px}
.flux-customer .customer-process .step p{font-size:15px}
.flux-customer .care-photo{height:220px;border-radius:12px 12px 44px 12px}
.flux-customer .care-copy h2{font-size:30px;line-height:1.4}
.flux-customer .care-copy>p{font-size:16px;line-height:1.9}
.flux-customer .care-line h3{font-size:19px}
.flux-customer .care-line p{font-size:15px}
.flux-customer .care-line{padding-block:15px}
.flux-customer .business-editorial h2{font-size:31px}
.flux-customer .business-photo{height:235px;border-radius:12px 40px 12px 12px}
.flux-customer .business-editorial .btn{font-size:15px;min-height:49px}
.flux-customer .mini-packages small{font-size:12px}
.flux-customer .mini-packages strong{white-space:normal}
.flux-customer .estate-feature{border-radius:0;margin-inline:0}
.flux-customer .estate-feature-image{height:240px}
.flux-customer .estate-feature-copy{padding:30px 23px 36px}
.flux-customer .estate-feature h2{font-size:32px;line-height:1.4}
.flux-customer .estate-feature-copy>p{font-size:16px}
.flux-customer .estate-availability{font-size:12px!important}
.flux-customer .evidence-row>a{padding:13px;gap:17px}
.flux-customer .evidence-row strong{font-size:19px}
.flux-customer .evidence-row small{font-size:13px}
.flux-customer .evidence-row b{display:inline-flex;align-items:center;min-height:36px}
.flux-customer .dark-section{padding:29px 23px;gap:24px}
.flux-customer .dark-section h2{font-size:29px;line-height:1.5}
.flux-customer .dark-section .btn{white-space:normal;font-size:15px}
.flux-customer .faq summary{font-size:17px;line-height:1.6;padding:15px 17px}
.flux-customer .faq p{font-size:15px;padding:0 17px 17px}
.flux-customer .customer-faq{padding-block:10px 36px}
.flux-customer .closing-inner{display:block}
.flux-customer .closing-inner h2{font-size:29px}
.flux-customer .closing-inner p{font-size:16px}
.flux-customer .closing-inner .actions{margin-top:23px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.flux-customer .closing-inner .btn{font-size:15px;padding-inline:12px;justify-content:center}
.flux-customer .editorial-intro{padding-block:26px}
.flux-customer .intro-copy h1{font-size:35px;line-height:1.4}
.flux-customer .intro-photo{height:205px;border-radius:12px 12px 45px 12px}
.flux-customer .intro-copy .btn{font-size:15px}
.flux-customer .route-hero h1{font-size:32px;line-height:1.45}
.flux-customer .route-hero p{font-size:17px}
.flux-customer .catalogue-grid .service-tile:last-child{grid-template-columns:1fr 1fr}
.flux-customer .catalogue-grid .service-tile:last-child .tile-copy{padding:14px}
.flux-customer .catalogue-grid .service-tile:last-child .tile-photo{aspect-ratio:auto}
.flux-customer .form-card{padding:23px 18px;border-radius:14px}
.flux-customer .form-card h2{font-size:26px}
.flux-customer .form-aside{padding:23px 20px}
.flux-customer .form-progress{gap:9px}
.flux-customer .form-progress li{font-size:14px}
.flux-customer .request-benefits{font-size:13px;gap:5px 13px}
.flux-customer .service-modal{padding:21px 18px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}
.flux-customer .service-modal .modal-head h2{font-size:25px}
.flux-customer .service-modal .service-body{font-size:16px}
.flux-customer .mobile-actions[data-commercial-actions] .btn{font-size:15px;min-height:49px;padding-inline:10px}
.flux-customer .footer{padding-bottom:115px}
}
@media(max-width:380px){.flux-customer .hero-content h1{font-size:34px}.flux-customer .hero-content .btn{font-size:15px}.flux-customer .hero-scene{height:190px;margin-inline:16px}.flux-customer .tile-copy{padding-inline:10px}.flux-customer .tile-copy h3{font-size:17px}.flux-customer .quick-needs{gap:4px 11px}.flux-customer .quick-needs a{font-size:12px}}
@media(max-width:780px) and (max-height:530px){.flux-customer:has(.form-card :is(input,select,textarea):focus) .mobile-actions{display:none!important}}
@media(prefers-reduced-motion:reduce){.flux-customer *,.flux-customer *:before,.flux-customer *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* flux-service-selected-once-v1 */
.flux-customer .intake-selection{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:18px 20px;margin-bottom:4px;border:1px solid #cbd9ef;background:#f1f5fd;border-radius:12px;align-items:start}
.flux-customer .intake-selection-label{font-size:13px;color:#52657c}
.flux-customer .intake-selection h3{font-size:23px;line-height:1.5;margin:3px 0 4px;color:#082968}
.flux-customer .intake-selection p{font-size:14px;color:#52657c;margin:0}
.flux-customer .intake-selection details{display:contents}
.flux-customer .intake-selection summary{font-size:14px;font-weight:600;color:#082968;min-height:44px;padding:10px 0;cursor:pointer;white-space:nowrap;list-style:none;text-decoration:underline;text-underline-offset:4px}
.flux-customer .intake-selection summary::-webkit-details-marker{display:none}
.flux-customer .intake-selection details>.form-grid{grid-column:1/-1;padding-top:14px;border-top:1px solid #cbd9ef;margin-top:8px}
.flux-customer .intake-selection details:not([open])>.form-grid{display:none}
@media(max-width:480px){.flux-customer .intake-selection{padding:15px;gap:6px 12px}.flux-customer .intake-selection h3{font-size:20px}.flux-customer .intake-selection summary{font-size:13px}.flux-customer .intake-selection details>.form-grid{grid-template-columns:1fr}}

/* Keep the form action in control on mobile; a second generic CTA obscured fields. */
.flux-customer[data-page="request"] .mobile-actions{display:none}
.service-landing .service-followup{margin-top:28px}
.service-landing .panel h2{font-size:26px;line-height:1.5}
.service-landing .panel ul{padding-inline-start:22px;line-height:2}
.service-landing .panel p{line-height:1.9}
.service-landing h1{overflow-wrap:break-word}
