@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap";:root{--bg:#f2f7fd;--surface:#fff;--surface-alt:#eaf2fb;--text:#102448;--muted:#577092;--line:#cfdbeb;--brand:#143e8c;--brand-dark:#0b275e;--accent:#49c9e9;--danger:#b53b3b;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--shadow-soft:0 14px 30px #0b275e24;--shadow-light:0 10px 22px #1024481a;--container:min(1120px, calc(100vw - 2rem))}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;overflow-x:hidden}body{color:var(--text);background:radial-gradient(1100px 520px at 75% -10%, #49c9e938, transparent 62%), radial-gradient(940px 520px at 0% 0%, #143e8c26, transparent 58%), var(--bg);margin:0;font-family:Manrope,Segoe UI,sans-serif;line-height:1.58}.app-shell{isolation:isolate;position:relative;overflow-x:clip}.animated-backdrop{pointer-events:none;z-index:-1;contain:layout paint style;position:fixed;inset:0;overflow:clip}.animated-orb{opacity:.26;will-change:transform, opacity;backface-visibility:hidden;border-radius:999px;position:absolute;transform:translate(0,0)}.animated-backdrop:after{content:"";background:radial-gradient(120% 60% at 50% -10%,#ffffff42,#0000 62%),radial-gradient(120% 60% at 50% 110%,#0b275e0d,#0000 64%);position:absolute;inset:0}.orb-one{aspect-ratio:1;background:radial-gradient(circle at 40% 42%,#143e8c42,#143e8c08 46%,#0000 72%);width:min(72vmax,900px);animation:26s ease-in-out infinite alternate orb-drift-one;top:-20vmax;left:-12vmax}.orb-two{aspect-ratio:1;background:radial-gradient(circle at 40% 45%,#49c9e93d,#49c9e908 50%,#0000 72%);width:min(78vmax,960px);animation:30s ease-in-out infinite alternate orb-drift-two;top:-18vmax;right:-18vmax}.orb-three{aspect-ratio:1;background:radial-gradient(circle at 52% 40%,#0c275a2e,#0c275a08 50%,#0000 74%);width:min(80vmax,1000px);animation:34s ease-in-out infinite alternate orb-drift-three;bottom:-28vmax;left:8vmax}img,video{max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,h4{color:#0f2858;margin-top:0;font-family:Sora,Manrope,Segoe UI,sans-serif;line-height:1.16}p{margin:0}ul{margin:0;padding:0;list-style:none}.container{width:var(--container);margin-inline:auto}.section{padding:3.6rem 0;animation:.45s fade-up}.page-header{padding-top:2.7rem;padding-bottom:2rem}.section-alt{background:linear-gradient(160deg,#ffffffbd,#e4f0ffbd);border-top:1px solid #bed0e69e;border-bottom:1px solid #bed0e69e}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--brand);margin-bottom:.7rem;font-size:.76rem;font-weight:700}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.2rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(136deg, var(--brand-dark), var(--brand) 58%, #189ac9);color:#f7fbff;box-shadow:var(--shadow-light)}.btn-secondary{background:var(--surface);color:#1f3960;border-color:#adc2da}.text-link{color:var(--brand);margin-top:.75rem;font-weight:700;display:inline-flex}.field-error{color:var(--danger);margin-top:.4rem;font-size:.84rem}.helper-text{color:var(--muted);font-size:.9rem}.brand-loader{width:fit-content;color:var(--muted);justify-items:center;gap:.65rem;display:inline-grid}.brand-loader-centered{margin-inline:auto}.brand-loader-label{letter-spacing:.01em;font-size:.88rem;font-weight:600}.brand-loader-stage{position:relative}.brand-loader-breathe{transform-origin:50%;will-change:transform;animation:2s ease-in-out infinite loader-breathe}.brand-loader-sway{will-change:transform;animation:2.7s ease-in-out infinite loader-logo-loop}.brand-loader-logo-image{backface-visibility:hidden;filter:drop-shadow(0 10px 22px #42d3f047);width:100%;height:auto;display:block}.brand-loader-spark{color:#a7f4ff;text-shadow:0 0 14px #98f4ffb8;pointer-events:none;will-change:transform, opacity;font-size:.8rem;line-height:1;animation:2.2s ease-in-out infinite loader-spark;position:absolute}.brand-loader-spark-a{top:17%;left:27%}.brand-loader-spark-b{font-size:.65rem;animation-delay:.62s;top:8%;left:33.5%}.brand-loader.is-paused .brand-loader-breathe,.brand-loader.is-paused .brand-loader-sway,.brand-loader.is-paused .brand-loader-spark{animation-play-state:paused}.sparkle-burst-canvas{pointer-events:none;z-index:65;contain:strict;width:100vw;height:100vh;position:fixed;inset:0}.panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);border:1px solid #abbfd98c;padding:1.3rem}.narrow-container{max-width:680px}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f2f7fde0;border-bottom:1px solid #96adcd70;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:1rem;min-height:72px;display:flex}.brand-mark{align-items:center;line-height:1;display:inline-flex}.brand-logo{filter:drop-shadow(0 8px 16px #143e8c3d);width:clamp(152px,37vw,228px);height:auto;display:block}.menu-toggle{background:#fff;border:1px solid #b2c5dd;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:38px;display:inline-flex}.menu-toggle span{background:#24426f;border-radius:2px;width:18px;height:2px;display:block}.main-nav{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #abbcd2b8;border-radius:16px;flex-direction:column;gap:.45rem;padding:1rem;display:none;position:absolute;top:calc(100% + .35rem);left:1rem;right:1rem}.main-nav.open{display:flex}.nav-link{color:#284061;border-radius:10px;padding:.6rem}.nav-link:hover,.nav-link.active{color:#12356f;background:#143e8c1f}.nav-cta{margin-top:.3rem}.hero-section{padding:3rem 0 2.4rem}.hero-grid{gap:1.4rem;display:grid}.hero-grid h1{margin-bottom:1rem;font-size:clamp(2rem,5.8vw,3.6rem)}.hero-subhead{color:var(--muted);max-width:58ch}.hero-cta-row{flex-wrap:wrap;gap:.7rem;margin-top:1.3rem;display:flex}.hero-trust-line{color:#16407d;margin-top:.7rem;font-size:.9rem;font-weight:700}.trust-badges{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.7rem;margin-top:1.3rem;display:grid}.trust-badges span{text-align:center;color:#16407d;background:linear-gradient(#d6f3fceb,#c9eaf7db);border:1px solid #143e8c29;border-radius:999px;justify-content:center;align-items:center;min-height:3.15rem;padding:.46rem .8rem;font-size:.88rem;font-weight:700;line-height:1.35;display:flex;position:relative}.hero-rating-card{color:#edf5ff;box-shadow:var(--shadow-soft);background:linear-gradient(170deg,#0b275e,#143e8c);border-radius:24px;padding:1.4rem}.hero-right-stack{align-content:start;gap:.95rem;display:grid}.hero-brand-motion{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:0;justify-items:center;margin:0;padding:0;transition:transform .18s;display:grid;position:relative;overflow:visible}.hero-brand-motion:hover .brand-loader-logo-image{filter:drop-shadow(0 12px 24px #75e5fc5c)}.hero-brand-motion:active{transform:scale(.985)}.hero-brand-motion:focus-visible{outline-offset:6px;border-radius:14px;outline:2px solid #84e4f7b8}.hero-brand-motion:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 44%,#89efff38,#0000 64%);position:absolute;inset:-26%}.hero-brand-loader{z-index:2;margin-inline:auto;position:relative}.hero-brand-loader .brand-loader-sway{animation-duration:2.35s}.hero-brand-loader .brand-loader-spark{animation-duration:1.95s}.hero-rating-card .eyebrow,.hero-rating-card .text-link{color:#9be6f7}.hero-rating-card h2{color:#f9fbff;margin-bottom:.3rem}.section-header h2{margin-bottom:1rem;font-size:clamp(1.4rem,3.8vw,2.2rem)}.service-card-grid,.service-page-grid,.location-grid,.review-grid,.gallery-grid,.metrics-grid,.dashboard-grid{gap:1rem;display:grid}.review-grid.horizontal-slider,.gallery-grid.horizontal-slider{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;grid-template-columns:none;grid-auto-columns:minmax(280px,86%);grid-auto-flow:column;padding-bottom:.35rem;overflow:auto hidden}.review-grid.horizontal-slider>*,.gallery-grid.horizontal-slider>*{scroll-snap-align:start}.review-grid.horizontal-slider::-webkit-scrollbar{height:8px}.gallery-grid.horizontal-slider::-webkit-scrollbar{height:8px}.review-grid.horizontal-slider::-webkit-scrollbar-thumb{background:#143e8c3d;border-radius:999px}.gallery-grid.horizontal-slider::-webkit-scrollbar-thumb{background:#143e8c3d;border-radius:999px}.service-highlight,.service-page-card,.location-card,.review-card,.gallery-card,.metric-card,.job-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-light);border:1px solid #bbc5d09e;padding:1.2rem}.service-highlight.featured,.service-page-card.featured{border-color:#143e8c73;box-shadow:0 18px 34px #143e8c29}.feature-chip{color:#fefefe;background:linear-gradient(145deg,#0b275e,#1a56a8);border-radius:999px;margin-bottom:.6rem;padding:.25rem .56rem;font-size:.76rem;display:inline-flex}.price-tag{color:#1d3650;margin-top:.8rem;font-weight:700}.card-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tab-row{flex-wrap:wrap;gap:.5rem;display:flex}.split-preview{background:linear-gradient(90deg,#7f694f 0 50%,#c9d7b3 50%);border-radius:14px;grid-template-columns:1fr 1fr;align-items:end;height:160px;margin-bottom:.9rem;display:grid;position:relative;overflow:hidden}.split-preview:after{content:"";background:#fffc;width:2px;position:absolute;top:0;bottom:0;left:50%}.split-preview span{color:#fff;text-transform:uppercase;justify-content:center;margin-bottom:.6rem;font-size:.75rem;font-weight:700;display:inline-flex}.split-preview-two{background:linear-gradient(90deg,#7d7d7d 0 50%,#f2dfc5 50%)}.split-preview-three{background:linear-gradient(90deg,#8c4c3f 0 50%,#9cc4a2 50%)}.gallery-shell,.gallery-upload-layout{gap:1rem;display:grid}.gallery-filter-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.gallery-upload-dropzones{gap:.7rem;display:grid}.gallery-dropzone{color:#294567;cursor:pointer;background:#ffffffdb;border:1.5px dashed #98b3d2;border-radius:14px;gap:.3rem;padding:.9rem;transition:border-color .16s,background-color .16s,transform .16s;display:grid;position:relative}.gallery-dropzone.active{background:#edf7fff5;border-color:#2f66be;transform:translateY(-1px)}.gallery-dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.gallery-dropzone strong{font-size:.92rem}.gallery-dropzone p{color:#5a6f87;font-size:.84rem}.gallery-dropzone small{color:#3f5a79}.gallery-admin-grid{gap:.85rem;margin-top:1rem;display:grid}.gallery-admin-lists{gap:1rem;margin-top:1rem;display:grid}.gallery-status-section{gap:.8rem;display:grid}.gallery-admin-card{box-shadow:var(--shadow-light);background:#fff;border:1px solid #d7e3ef;border-radius:14px;gap:.55rem;padding:.85rem;display:grid}.gallery-admin-card-declined{background:linear-gradient(165deg,#f8fafc,#eef3f8);border-color:#d5dce5}.gallery-admin-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.gallery-admin-compare img{aspect-ratio:4/3;object-fit:cover;border:1px solid #d3e0ec;border-radius:10px;width:100%}.gallery-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.15rem}.compare-card{gap:.75rem;display:grid}.compare-frame{background:#6f6f6f;border:1px solid #142a3e1a;border-radius:14px;height:185px;position:relative;overflow:hidden}.compare-before,.compare-after{position:absolute;inset:0}.compare-image,.compare-fallback{width:100%;height:100%}.compare-image{object-fit:cover;display:block}.compare-after{border-right:2px solid #ffffffd9;overflow:hidden}.compare-handle{background:#143e8cf2;border:2px solid #fff;border-radius:999px;width:26px;height:26px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 8px 16px #0c275a3d}.compare-slider{width:100%}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.review-card p{margin:.8rem 0}.review-card footer{color:var(--muted);flex-direction:column;font-size:.9rem;display:flex}.review-summary-pill{background:#49c9e91c;border:1px solid #143e8c38;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1rem;padding:.4rem .75rem;display:inline-flex}.review-submit-panel{gap:.55rem;margin-bottom:1rem;display:grid}.review-form{gap:.75rem;margin-top:1rem;display:grid}.star-input{align-items:center;gap:.3rem;display:inline-flex}.star-btn{color:#9ca9b8;cursor:pointer;background:0 0;border:0;padding:.1rem;font-size:1.5rem;line-height:1}.star-btn.active{color:#f2c24e}.modal-backdrop{z-index:80;background:#08101c94;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{width:min(560px,100%);max-height:min(92vh,100%);box-shadow:var(--shadow-soft);background:#fff;border:1px solid #aab8c7b8;border-radius:16px;padding:1rem;overflow:auto}.modal-header{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.modal-header h2{margin-bottom:0}.modal-close{color:#33485f;cursor:pointer;background:#fff;border:1px solid #c5d0da;border-radius:999px;width:36px;height:36px;font-size:1.2rem;line-height:1}.review-status-pill{text-transform:capitalize;border-radius:999px;padding:.2rem .58rem;font-size:.76rem;font-weight:700;display:inline-flex}.review-status-pending{color:#8a6511;background:#bc902b24}.review-status-approved{color:#113d7e;background:#143e8c24}.review-status-ignored{color:#4f6075;background:#60758824}.urgency-section{background:linear-gradient(132deg,#f1f8ff,#e9f6ff 60%,#d6eff9)}.urgency-grid{align-items:center;gap:1rem;display:grid}.timeline-grid,.region-shell{gap:1rem;display:grid}.timeline-card{position:relative}.timeline-step{color:var(--brand);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.45rem;font-size:.8rem;font-weight:700}.keyword-cluster,.pill-row{flex-wrap:wrap;gap:.5rem;margin:.9rem 0 1.2rem;display:flex}.keyword-cluster span,.pill-link{color:#154485;background:#49c9e921;border:1px solid #143e8c33;border-radius:999px;padding:.36rem .7rem;font-size:.83rem;font-weight:600}.service-body-grid{gap:1rem;display:grid}.faq-list{gap:.5rem;display:grid}.faq-list details{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .8rem}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{color:var(--muted);margin-top:.4rem}.booking-layout{align-items:start;gap:1rem;display:grid}.booking-header h2{margin-bottom:.8rem}.progress-track{background:#dce3e8;border-radius:999px;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--brand-dark), var(--brand) 58%, var(--accent));height:100%;transition:width .2s}.progress-labels{color:#63748b;flex-wrap:wrap;gap:.45rem;margin-top:.8rem;font-size:.78rem;display:flex}.progress-labels li.active{color:#102f4a;font-weight:700}.booking-form{gap:.9rem;margin-top:1rem;display:grid}.step-grid{gap:.75rem;display:grid}.service-select-grid,.problem-select-grid,.urgency-select-grid{gap:.7rem;display:grid}.service-option{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:#fff;border:1px solid #c7d1da;padding:.95rem}.service-option.active{border-color:var(--brand);background:#edf3ff}.service-option h4{margin-bottom:.3rem}.service-option span{color:#1f4868;margin-top:.6rem;font-weight:700;display:inline-flex}.upload-preview-list{color:var(--muted);gap:.35rem;font-size:.9rem;display:grid}.upload-preview-list li{background:#ffffffa6;border:1px solid #d9e1e8;border-radius:999px;width:fit-content;padding:.25rem .65rem}label{color:#26384f;gap:.35rem;font-size:.92rem;display:grid}input,select,textarea{width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid #bcc8d2;border-radius:10px;padding:.7rem .75rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:2px solid #49c9e961}.addon-row,.two-col-fields,.wizard-actions,.photo-upload-grid,.dashboard-actions,.pagination-row{gap:.6rem;display:grid}.addon-row label{grid-template-columns:auto 1fr;align-items:center}.estimate-card,.review-summary,.auth-hint{background:#f8fbfd;border:1px solid #d2d9df;border-radius:12px;gap:.35rem;padding:.9rem;display:grid}.service-copy{gap:.85rem;display:grid}.service-copy p{margin:0}.booking-confirmation{gap:.6rem;max-width:680px;margin-inline:auto;display:grid}.instant-quote-panel{gap:.75rem;display:grid}.instant-quote-form{gap:.75rem;margin-top:.45rem;display:grid}.service-area-checker{background:#f7fbff;border:1px solid #d3dfec;border-radius:12px;gap:.35rem;padding:.75rem .85rem;display:grid}.service-area-checker.status-serviced{background:#e5fcf1b8;border-color:#25a56d73}.service-area-checker.status-likely{background:#e8f4ffcc;border-color:#1070c966}.service-area-checker.status-outside{background:#fff2f2d1;border-color:#ca434359}.service-area-checker.status-incomplete{background:#f7fbff;border-color:#d3dfec}.service-area-header{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.service-area-header .eyebrow{margin-bottom:0}.service-area-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.22rem .58rem;font-size:.72rem;font-weight:700;display:inline-flex}.service-area-badge.badge-serviced{color:#1b7b4f;background:#25a56d26}.service-area-badge.badge-likely{color:#1959a6;background:#1070c91f}.service-area-badge.badge-outside{color:#9f2f2f;background:#ca434324}.service-area-badge.badge-incomplete{color:#3a4f66;background:#50678024}.service-area-message{color:#193654;margin:0;font-size:.9rem;font-weight:600}.service-area-detail{color:#4a6480;margin:0;font-size:.82rem}.service-area-suggestions{flex-wrap:wrap;gap:.45rem;margin-top:.2rem;display:flex}.service-area-suggestion-btn{color:#1f4f84;cursor:pointer;background:#fff;border:1px solid #c5d8ed;border-radius:999px;padding:.35rem .62rem;font-size:.79rem;font-weight:600;transition:border-color .15s,transform .15s,box-shadow .15s}.service-area-suggestion-btn:hover,.service-area-suggestion-btn:focus-visible{border-color:#7db7ea;transform:translateY(-1px);box-shadow:0 8px 18px #1752921f}.instant-quote-call-card{align-self:start;gap:.7rem;display:grid}.instant-quote-call-card h2,.instant-quote-call-card h3{margin-bottom:.2rem}.instant-quote-divider{border-top:1px dashed #c8d6e6;margin:.25rem 0}.estimate-total{color:#12385a;margin-top:.5rem}.auth-form{gap:.9rem;display:grid}.contact-list{color:#30445d;gap:.5rem;display:grid}.contact-form{gap:.8rem;display:grid}.contact-qr-card{background:linear-gradient(140deg,#fffffff5,#ecf9fff0 58%,#e2f1ffe6);border:1px solid #d4e1ef;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;margin-top:1rem;padding:.9rem;display:grid;position:relative;overflow:hidden}.contact-qr-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#65dfff59,#65dfff00);border-radius:50%;width:160px;height:160px;position:absolute;top:-58px;right:-62px}.contact-qr-link{z-index:1;background:#fff;border:1px solid #d4e1ef;border-radius:14px;justify-content:center;align-items:center;width:104px;height:104px;padding:.35rem;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 12px 24px #113d7e26}.contact-qr-link:hover,.contact-qr-link:focus-visible{transform:translateY(-2px);box-shadow:0 14px 26px #113d7e38}.contact-qr-link img{border-radius:10px;width:100%;height:100%;display:block}.contact-qr-meta{z-index:1;gap:.35rem;display:grid;position:relative}.contact-qr-meta .eyebrow{margin-bottom:0}.contact-qr-meta h3{margin-bottom:0;font-size:1.02rem}.contact-qr-meta p{color:#465f7a;margin-bottom:0;font-size:.89rem}.contact-qr-url{color:#1654b0;overflow-wrap:anywhere;font-size:.84rem;font-weight:600;text-decoration:none}.contact-qr-url:hover,.contact-qr-url:focus-visible{text-decoration:underline}.auth-hint ul{margin-left:1.1rem;list-style:outside}.dashboard-header{gap:1rem;display:grid}.dashboard-grid{grid-template-columns:1fr}.job-card header,.panel-header,.compact-row{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.job-meta{color:var(--muted);flex-wrap:wrap;gap:.4rem .7rem;font-size:.9rem;display:flex}.staff-job-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.8rem;display:grid}.staff-job-actions .btn{width:100%}.staff-status-control{color:#4d6581;gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.staff-status-control select{width:100%}.status-select{border-radius:999px;padding-inline:.8rem;font-weight:700}.staff-status-control select.status-pending{color:#7d5400;background:#d4920e24;border-color:#b47c0952}.staff-status-control select.status-in_progress{color:#0f4f8a;background:#1c73c924;border-color:#145ca152}.staff-status-control select.status-completed{color:#4a2f86;background:#7e5cbc24;border-color:#6546a04d}.staff-status-control select.status-paid{color:#0e6e3f;background:#10995424;border-color:#0d834752}.staff-detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;display:grid}.staff-detail-card{background:linear-gradient(162deg,#fffffff2,#eff7ffe0);border:1px solid #d8e5f2;border-radius:12px;gap:.3rem;padding:.8rem;display:grid}.staff-detail-card h3{margin:0;font-size:.95rem}.staff-detail-card-full{grid-column:1/-1}.staff-service-detail-list{gap:.45rem;display:grid}.staff-service-detail-list li{background:#ffffffe6;border:1px solid #dbe6f3;border-radius:10px;padding:.55rem}.staff-gallery-submit{background:linear-gradient(166deg,#fffffff2,#ecf6ffe6);border:1px solid #d7e3ef;border-radius:14px;gap:.65rem;margin-top:.6rem;padding:.8rem;display:grid}.staff-gallery-submit-header{gap:.2rem;display:grid}.staff-gallery-submit-header strong{color:#113d7e;font-size:.95rem}.staff-gallery-submit-header span{color:#576f8d;font-size:.84rem}.status-pill{text-transform:capitalize;border:1px solid #0000;border-radius:999px;padding:.26rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.status-pending{color:#7d5400;background:#d4920e2e;border-color:#b47c0961}.status-in_progress{color:#0f4f8a;background:#1c73c92b;border-color:#145ca161}.status-completed{color:#4a2f86;background:#7e5cbc29;border-color:#6546a057}.status-paid{color:#0e6e3f;background:#1099542b;border-color:#0d83475c}.status-cancelled{color:#8b2f2f;background:#b53b3b24;border-color:#a42c2c52}.staff-job-card{border-width:1.5px}.status-surface-pending{border-color:#b47c094d;box-shadow:0 12px 24px #7d540017}.status-surface-in_progress{border-color:#145ca14d;box-shadow:0 12px 24px #0f4f8a17}.status-surface-completed{border-color:#6546a047;box-shadow:0 12px 24px #4a2f8617}.status-surface-paid{border-color:#0d83474d;box-shadow:0 12px 24px #0e6e3f17}.status-surface-cancelled{border-color:#a42c2c4d;box-shadow:0 12px 24px #8b2f2f17}.compact-list{gap:.6rem;display:grid}.compact-row{border:1px solid #d9e0e7;border-radius:10px;padding:.6rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card h2{margin-bottom:.4rem}.pricing-grid{gap:.6rem;display:grid}.pricing-row{border:1px solid #d7dfe6;border-radius:10px;gap:.45rem;padding:.7rem;display:grid}.single-action{grid-template-columns:minmax(0,180px)}.sheet-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;margin-top:1rem;display:grid}.sheet-subtabs{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.inline-control{max-width:220px}.status-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin:1rem 0;display:grid}.mini-metric{box-shadow:none;background:linear-gradient(170deg,#f8fafc,#eef3f7);border:1px solid #d9e1e8;border-radius:14px;padding:.9rem}.mini-metric p{color:var(--muted);font-size:.85rem}.mini-metric strong{color:#1d3650;margin-top:.3rem;font-size:1.2rem;display:block}.status-legend-panel{margin-top:.8rem}.status-legend{flex-wrap:wrap;gap:.45rem;margin-top:.45rem;display:flex}.status-legend-inline{background:#ffffffbd;border:1px solid #d8e4f1;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.8rem;padding:.4rem .65rem;display:inline-flex}.status-legend-inline .helper-text{margin-right:.15rem}.status-legend-inline .status-legend{margin-top:0}.booking-table-wrap{overflow-x:auto}.booking-table{border-collapse:collapse;width:100%;min-width:980px}.booking-table th,.booking-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dde5eb;padding:.65rem}.booking-table-compact{min-width:820px}.booking-table-compact th{letter-spacing:.04em;text-transform:uppercase;color:#5c6d83;font-size:.78rem;font-weight:700}.booking-table-compact td{font-size:.9rem}.interactive-row{transition:background-color .16s}.interactive-row:hover{background:#143e8c0f}.interactive-row.row-pending:hover{background:#d4920e1a}.interactive-row.row-in_progress:hover{background:#1c73c91a}.interactive-row.row-completed:hover{background:#7e5cbc1a}.interactive-row.row-paid:hover{background:#1099541c}.table-actions{gap:.35rem;display:grid}.btn-mini{min-height:34px;padding:.42rem .7rem;font-size:.78rem}.danger-action{color:#8b2f2f;background:#b53b3b0f;border-color:#b53b3b6b}.follow-up-pill{text-transform:capitalize;border-radius:999px;padding:.22rem .58rem;font-size:.76rem;font-weight:700;display:inline-flex}.follow-up-none{color:#4f6075;background:#60758829}.follow-up-sent{color:#8a6511;background:#bc902b24}.follow-up-followed_up{color:#113d7d;background:#143e8c24}.expanded-row td{background:#f4f7fad6}.incoming-details-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;font-size:.87rem;display:grid}.incoming-details-grid strong{color:#4f6075;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.booking-table tr.row-pending{background:#d4920e0f}.booking-table tr.row-in_progress{background:#1c73c90f}.booking-table tr.row-completed{background:#7e5cbc0f}.booking-table tr.row-paid{background:#10995412}.booking-table tr.row-cancelled{background:#b53b3b0f}.booking-table tr[class*=row-] td:first-child{box-shadow:inset 3px 0 #0000}.booking-table tr.row-pending td:first-child{box-shadow:inset 3px 0 #b47c09}.booking-table tr.row-in_progress td:first-child{box-shadow:inset 3px 0 #145ca1}.booking-table tr.row-completed td:first-child{box-shadow:inset 3px 0 #6546a0}.booking-table tr.row-paid td:first-child{box-shadow:inset 3px 0 #0d8347}.booking-table tr.row-cancelled td:first-child{box-shadow:inset 3px 0 #a42c2c}.task-row.row-in_progress{background:#1c73c90f}.task-row.row-completed{background:#7e5cbc0f}.task-row.row-paid{background:#10995412}.site-footer{background:#ffffffb3;border-top:1px solid #97aecf75;margin-top:2.2rem;padding:2rem 0 5.5rem}.footer-brand{margin-bottom:.6rem}.footer-logo{filter:drop-shadow(0 10px 18px #143e8c3d);width:min(260px,100%);height:auto}.footer-grid{gap:1rem;display:grid}.footer-grid h4,.footer-grid h3{margin-bottom:.45rem}.footer-grid li{color:#3f4f65;margin-top:.35rem}.footer-bottom{text-align:center;color:#607186;margin-top:1.4rem;font-size:.88rem}.sticky-mobile-cta{left:.6rem;right:.6rem;bottom:calc(.55rem + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px)saturate(130%);z-index:40;background:#f7fbffc7;border:1px solid #a5bad7cc;border-radius:1.35rem;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr) minmax(0,.95fr);gap:.42rem;padding:.45rem;display:grid;position:fixed;box-shadow:0 14px 30px #0f2b5638}.sticky-mobile-cta .cta-action{letter-spacing:.01em;white-space:normal;text-align:center;min-height:3.2rem;padding-inline:.62rem;font-size:clamp(.8rem,2.4vw,.94rem);line-height:1.16}.sticky-mobile-cta .cta-action span{text-wrap:balance;display:block}.sticky-mobile-cta .cta-label-compact{display:none}.sticky-mobile-cta .cta-call span,.sticky-mobile-cta .cta-book span,.sticky-mobile-cta .cta-quote .cta-label-full,.sticky-mobile-cta .cta-quote .cta-label-compact{white-space:nowrap}.sticky-mobile-cta .cta-quote{font-weight:740}.sticky-mobile-cta .cta-quote .cta-label-full{font-size:clamp(.76rem,2.2vw,.9rem)}@media (width<=430px){.sticky-mobile-cta{gap:.36rem;padding:.4rem;left:.45rem;right:.45rem}.sticky-mobile-cta .cta-action{min-height:3.05rem;padding-inline:.45rem;font-size:.8rem}.sticky-mobile-cta .cta-quote .cta-label-full{display:none}.sticky-mobile-cta .cta-quote .cta-label-compact{letter-spacing:.005em;font-size:.8rem;display:block}}.floating-chat-button{right:.95rem;bottom:calc(5.7rem + env(safe-area-inset-bottom,0px));z-index:54;color:#f4f9ff;letter-spacing:.012em;cursor:pointer;background:linear-gradient(134deg,#0e2f71,#174ca3 52%,#1da7d1);border:1px solid #1c5fae94;border-radius:18px;justify-content:center;align-items:center;gap:.45rem;min-height:2.85rem;padding:.55rem .86rem .55rem .72rem;font-family:Sora,Manrope,Segoe UI,sans-serif;font-size:.82rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;position:fixed;overflow:visible;box-shadow:0 14px 26px #0d295c4d}.floating-chat-button:after{content:"";background:linear-gradient(134deg,#10408e,#1a6ab9);border-bottom:1px solid #1c5fae94;border-right:1px solid #1c5fae94;border-radius:0 0 3px;width:.7rem;height:.7rem;position:absolute;bottom:-.34rem;right:.9rem;transform:rotate(45deg)}.floating-chat-button:hover{transform:translateY(-1px);box-shadow:0 16px 28px #0d295c57}.floating-chat-button.is-open{transform:translateY(0);box-shadow:0 10px 20px #0d295c38}.floating-chat-button.is-open:after{opacity:.88}.floating-chat-icon-wrap{background:radial-gradient(circle at 35% 30%,#c4f6ff73,#96defa1a 66%,#0000 72%);border:1px solid #bff0ff52;border-radius:999px;place-items:center;width:1.48rem;height:1.48rem;display:grid}.floating-chat-icon{filter:drop-shadow(0 0 8px #8feaff9e);width:.98rem;height:.98rem}.floating-chat-label{text-align:left;min-width:2.6rem}.chat-widget{right:.9rem;bottom:calc(9.25rem + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);z-index:56;opacity:0;transform-origin:100% 100%;pointer-events:none;background:#f8fcfff7;border:1px solid #a6bcd8d1;border-radius:18px;grid-template-rows:auto auto minmax(180px,1fr) auto auto;width:min(380px,100vw - 1.2rem);max-height:min(74vh,610px);transition:opacity .2s,transform .2s;display:grid;position:fixed;overflow:hidden;transform:translateY(14px)scale(.98);box-shadow:0 22px 40px #091e423d}.chat-widget.is-open{opacity:1;pointer-events:auto;transform:translate(0,0)scale(1)}.chat-widget-header{color:#eff8ff;background:linear-gradient(148deg,#0d2c63fa,#1c68b7f2);border-bottom:1px solid #c2d3ebd9;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.9rem .9rem .7rem;display:flex}.chat-widget-header h2{color:#f8fdff;margin-bottom:.25rem;font-size:1rem}.chat-widget-header p{color:#eef8ffe0;margin:0;font-size:.76rem}.chat-widget-close{color:#eff8ff;cursor:pointer;background:#edf6ff29;border:1px solid #cedff575;border-radius:999px;width:34px;height:34px;font-size:1.35rem;line-height:1}.chat-trust-pills{background:#f3f9ffe6;border-bottom:1px solid #c4d4eca8;flex-wrap:wrap;gap:.35rem;padding:.6rem .9rem;display:flex}.chat-trust-pills span{color:#19437f;background:#174f9c1a;border-radius:999px;align-items:center;padding:.25rem .48rem;font-size:.72rem;font-weight:700;display:inline-flex}.chat-widget-messages{gap:.5rem;padding:.85rem .85rem .55rem;display:grid;overflow:auto}.chat-message{border-radius:14px;max-width:88%;padding:.52rem .64rem;font-size:.84rem;line-height:1.42}.chat-message p{margin:0}.chat-message.bot{color:#1a3d6b;background:#edf5ff;border:1px solid #cbddf2;justify-self:start}.chat-message.user{color:#eef7ff;background:linear-gradient(138deg,#12377d,#1b62ba);border:1px solid #1454a466;justify-self:end}.typing-indicator{align-items:center;gap:.24rem;min-width:56px;display:inline-flex}.typing-indicator span{opacity:.5;background:#6386b0;border-radius:999px;width:6px;height:6px;animation:1s ease-in-out infinite chat-dot-bounce}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}.chat-lead-summary{background:linear-gradient(138deg,#f5fafff7,#ebf5fff7);border:1px solid #b7cae1e6;border-radius:12px;margin:0 .85rem .6rem;padding:.55rem .68rem}.chat-lead-summary strong{letter-spacing:.04em;text-transform:uppercase;color:#365f93;margin-bottom:.3rem;font-size:.74rem;display:block}.chat-lead-summary p{color:#2a476b;justify-content:space-between;gap:.5rem;margin-top:.15rem;font-size:.75rem;display:flex}.chat-lead-summary p span{color:#16395f;font-weight:700}.chat-widget-input-row{background:#f8fcff;border-top:1px solid #c2d3ebcc;grid-template-columns:minmax(0,1fr) auto;gap:.48rem;padding:.8rem;display:grid}.chat-widget-input-row input{color:#17395f;min-height:42px;font:inherit;background:#fff;border:1px solid #c2d3e8;border-radius:10px;padding:0 .7rem}.chat-widget-input-row .btn{min-width:82px;min-height:42px;padding-inline:.88rem}@keyframes chat-dot-bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (width>=980px){.floating-chat-button{right:1.2rem;bottom:calc(1.05rem + env(safe-area-inset-bottom,0px))}.chat-widget{right:1.2rem;bottom:calc(4.7rem + env(safe-area-inset-bottom,0px));width:min(390px,100vw - 2.2rem)}}@media (width<=430px){.floating-chat-button{right:.55rem;bottom:calc(5.4rem + env(safe-area-inset-bottom,0px));padding:.52rem .72rem .52rem .62rem;font-size:.76rem}.floating-chat-button:after{width:.62rem;height:.62rem;bottom:-.3rem;right:.78rem}.chat-widget{width:auto;max-height:min(72vh,540px);left:.35rem;right:.35rem;bottom:calc(8.95rem + env(safe-area-inset-bottom,0px));border-radius:15px}.chat-widget-input-row .btn{min-width:70px}}.rating-stars{color:#f2c24e;letter-spacing:.04em}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes loader-logo-loop{0%{transform:translate(-1.8px)rotate(0)}50%{transform:translate(1.8px)rotate(.08deg)}to{transform:translate(-1.8px)rotate(0)}}@keyframes loader-breathe{0%{transform:scale(.98)}50%{transform:scale(1)}to{transform:scale(.98)}}@keyframes loader-spark{0%{opacity:.4;transform:translateY(1px)scale(.95)}45%{opacity:1;transform:translateY(-1px)scale(1.12)}to{opacity:.4;transform:translateY(1px)scale(.95)}}@keyframes orb-drift-one{0%{opacity:.28;transform:translate(-2%)scale(1)}to{opacity:.38;transform:translate(6%,4%)scale(1.06)}}@keyframes orb-drift-two{0%{opacity:.24;transform:translateY(-2%)scale(1)}to{opacity:.35;transform:translate(-7%,5%)scale(1.08)}}@keyframes orb-drift-three{0%{opacity:.18;transform:translate(0%,0%)scale(1)}to{opacity:.3;transform:translate(4%,-6%)scale(1.05)}}@media (prefers-reduced-motion:reduce){.animated-orb{opacity:.2;animation:none;transform:none}.brand-loader-breathe,.brand-loader-sway,.brand-loader-spark{animation:none}.chat-widget,.floating-chat-button{transition:none}.typing-indicator span{opacity:.8;animation:none}.brand-loader-sway{transform:none}.brand-loader-spark{opacity:.75;transform:none}}@media (width>=700px){.service-card-grid,.service-page-grid,.location-grid,.review-grid,.gallery-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid.horizontal-slider,.gallery-grid.horizontal-slider{grid-template-columns:none;grid-auto-columns:minmax(320px,48%)}.booking-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.trust-panel{position:sticky;top:100px}.two-col-fields,.photo-upload-grid,.wizard-actions,.dashboard-actions,.pricing-row,.problem-select-grid,.urgency-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-job-actions{grid-template-columns:1.1fr 1fr 1fr}.hero-grid,.service-body-grid,.urgency-grid,.footer-grid,.dashboard-header,.timeline-grid,.region-shell{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-upload-layout{grid-template-columns:1fr 1.2fr;align-items:start}.gallery-upload-dropzones,.gallery-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-labels{font-size:.83rem}}@media (width<=699px){.panel{padding:1rem}.panel-header{flex-direction:column;align-items:flex-start;gap:.5rem}.booking-table-wrap{overflow-x:visible}.booking-table,.booking-table thead,.booking-table tbody,.booking-table tr,.booking-table td{width:100%;display:block}.booking-table,.booking-table-compact{border-collapse:separate;border-spacing:0;min-width:0}.booking-table thead{display:none}.booking-table tr{box-shadow:var(--shadow-light);background:#fff;border:1px solid #d6dfe6;border-radius:12px;margin-bottom:.75rem;padding:.55rem .72rem}.booking-table td{border-bottom:0;padding:.34rem 0;font-size:.88rem}.booking-table td[data-label]{grid-template-columns:minmax(88px,110px) 1fr;align-items:start;gap:.55rem;display:grid}.booking-table td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:#5a6d84;padding-top:.12rem;font-size:.73rem;font-weight:700;line-height:1.3}.booking-table td[colspan]{padding:.55rem .2rem}.booking-table td[colspan]:before{content:"";display:none}.table-actions{grid-template-columns:1fr}.table-actions .btn-mini{justify-content:flex-start;width:100%}.staff-job-actions,.gallery-card-actions{grid-template-columns:1fr}.expanded-row td{border-top:1px dashed #d3dde4;margin-top:.35rem;padding-top:.7rem}.incoming-details-grid{grid-template-columns:1fr;gap:.55rem}.contact-qr-card{text-align:center;grid-template-columns:1fr;justify-items:center}.contact-qr-link{width:126px;height:126px}.animated-orb{opacity:.24}.status-legend-inline{border-radius:14px;width:100%}}@media (width<=420px){.container{width:min(100%,100vw - 1.1rem)}.btn{padding:.74rem 1rem;font-size:.9rem}.sheet-subtabs .btn{width:100%}.booking-table td[data-label]{grid-template-columns:1fr;gap:.18rem}.booking-table td[data-label]:before{padding-top:0}}@media (width>=980px){.menu-toggle{display:none}.main-nav{box-shadow:none;background:0 0;border:0;flex-direction:row;align-items:center;gap:.2rem;padding:0;display:inline-flex;position:static}.nav-link{padding:.45rem .68rem}.nav-cta{margin-top:0;margin-left:.45rem}.hero-grid{grid-template-columns:1.5fr .86fr;align-items:center}.service-card-grid,.service-page-grid,.location-grid,.review-grid,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-grid.horizontal-slider,.gallery-grid.horizontal-slider{grid-template-columns:none;grid-auto-columns:minmax(320px,33%)}.gallery-admin-grid,.problem-select-grid,.urgency-select-grid,.timeline-grid,.region-shell{grid-template-columns:repeat(3,minmax(0,1fr))}.service-body-grid{grid-template-columns:1.1fr .9fr}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-actions{grid-template-columns:repeat(2,minmax(0,180px));justify-content:end;align-items:end}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding-bottom:2.4rem}.sticky-mobile-cta{display:none}}
