/* Consolidated V2.2 + V2.3: scoped refinements, original typography/artwork. */
.v23-basics-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.v23-basics-grid .p3-duration-label{flex-wrap:wrap;gap:4px}.v23-basics-grid input[type=range]{margin-top:20px}
.v22-dialog .p3-controls .p3-complexity-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v22-dialog .p3-radio{position:relative;display:flex;align-items:flex-start;gap:9px;padding:14px 11px;border:1px solid #52647e;border-radius:12px;margin:0;background:#0b1527}
.v22-dialog .p3-radio:has(input:checked){border-color:#6aa6ff;background:#18345b}.v22-dialog .p3-radio input{flex-shrink:0;margin-top:3px}
.v22-dialog .p3-radio strong{display:block;font-size:12px;line-height:1.5}.v22-dialog .p3-radio strong small{display:block;margin-top:4px}.v22-dialog .p3-radio strong+span{font-size:11px;line-height:1.55}
.v22-dialog .p3-controls fieldset{margin-bottom:22px;padding-bottom:22px}.v23-deliverables-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.v23-deliverables-grid>.p3-addon,.v23-deliverables-grid>.p3-check{margin-bottom:0}.v23-deliverables-grid>.p3-addon{grid-template-columns:1fr 58px;gap:9px}.v23-deliverables-grid label{font-size:12px}.v23-deliverables-grid label small{font-size:10px;line-height:1.5}.v23-deliverables-grid>#estimate-deadline-wrap{grid-column:1/-1}
html.bright-mode .v22-dialog .p3-radio{background:#fff;border-color:#a9b8cd}html.bright-mode .v22-dialog .p3-radio:has(input:checked){background:#e7f1ff;border-color:#5283d6}
/* Shared motion is decoration only: primary and secondary actions stay distinct. */
.v23-secondary.bubbly-cta:is(:hover,:focus-visible){background:rgba(61,107,189,.2);filter:brightness(1.07);box-shadow:inset 0 0 0 1px #82bfff55;transform:none}
.v23-primary.bubbly-cta:is(:hover,:focus-visible){transform:none;filter:brightness(1.08);box-shadow:inset 0 1px 0 #ffffff50,0 4px 20px #285cde30}
.v23-secondary.bubbly-cta .bubbly-label,.v23-primary.bubbly-cta .bubbly-label{pointer-events:none}
.bubbly-cta:focus-visible{outline:3px solid #71c7ff;outline-offset:4px}
html.bright-mode .v23-secondary.bubbly-cta:is(:hover,:focus-visible){background:#e2edfc;color:#17385f}
/* Restore stable circles instead of inherited hover background:none rules. */
html body #process .pstep .process-title .dot,html body #process .pstep:is(:hover,:focus-visible) .process-title .dot{display:grid!important;place-items:center;position:static;flex:0 0 32px;width:32px;height:32px;border:1px solid #6d9edf66;border-radius:50%;background:#173455;color:#a6d7ff;box-shadow:none;text-shadow:none;letter-spacing:0;line-height:1;margin:0;transition:background .2s,border-color .2s}
html body #process .pstep:is(:hover,:focus-visible) .process-title .dot{background:#244f7d;border-color:#8bbdff}
html.bright-mode body #process .pstep .process-title .dot{background:#e8f0fb;color:#22558f;border-color:#9bb9dd}
html.bright-mode body #process .pstep:is(:hover,:focus-visible) .process-title .dot{background:#d6e7fc;border-color:#6f9ed8;color:#17385f}
/* Native cursors remain visible across browser top-layer backdrops. */
html.v23-native-cursor body,html.v23-native-cursor body *{cursor:auto!important}
html.v23-native-cursor :is(a,button,summary,select,input[type=checkbox],input[type=radio]){cursor:pointer!important}
html.v23-native-cursor :is(textarea,input:not([type=checkbox]):not([type=radio])){cursor:text!important}
html.v23-native-cursor .cursor-dot,html.v23-native-cursor .cursor-ring{display:none!important}
html.v23-native-cursor dialog::backdrop{cursor:auto!important}
html body .p3-dialog-close,html body .v22-close{display:grid;place-items:center;line-height:1;padding:0}
.p3-dialog-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.v23-submission-row{display:flex;align-items:center;gap:18px;margin-top:18px}.v23-submission-row #inquiry-submit{flex:0 0 auto;margin:0;padding:12px 18px;font-size:10px;letter-spacing:.04em;min-height:44px}.v23-submission-row .p3-field-note{flex:1;font-size:12px;line-height:1.6;margin:0!important;max-width:none}
.v23-submission-row #inquiry-submit:disabled{background:#29425e;color:#d9e7f7;border:1px solid #6c88ab66;box-shadow:none;opacity:1}html.bright-mode .v23-submission-row #inquiry-submit:disabled{background:#e3ecf8;color:#345677;border-color:#a9bfd9}
/* A fixed date, restrained units, and a dark showreel surface. */
html:not(.bright-mode) body #showreel{background:radial-gradient(ellipse at 75% 50%,#16345455,transparent 72%);color:#e7effc}
.v23-countdown{margin-top:28px}.v23-countdown>p{font-size:12px;color:#b2c6df;margin:0 0 14px}.v23-countdown-units{display:flex;gap:12px;margin-bottom:12px}.v23-countdown-units>span{display:flex;flex-direction:column;justify-content:center;align-items:center;width:72px;height:72px;border:1px solid #6e97cb66;border-radius:50%;background:#0e1d32;box-shadow:inset 0 1px 0 #ffffff0c}.v23-countdown b{font-size:23px;line-height:1.2;font-variant-numeric:tabular-nums}.v23-countdown small{font-size:10px;color:#a7bdd8;line-height:1.5}.v23-countdown-units small{margin-top:4px}
html.bright-mode .v23-countdown>p,html.bright-mode .v23-countdown small{color:#405872}html.bright-mode .v23-countdown-units>span{background:#f8fbff;border-color:#9db8d6;color:#17385f}
/* Bright comparison retains the same tabs, labels and truthful placeholders. */
html.bright-mode #motion-comparison .p2-comparison-panel{background:#f7faff;border-color:#a9bfd8;box-shadow:0 14px 38px #254f7910}
html.bright-mode #motion-comparison .p2-comparison-empty{background:radial-gradient(ellipse at 80% 0%,#d1e8fc,transparent 75%),linear-gradient(145deg,#f6faff,#eaf2fb);color:#17385f}
html.bright-mode #motion-comparison .p2-placeholder-title{color:#173f6b}html.bright-mode #motion-comparison .p2-placeholder-kicker,html.bright-mode #motion-comparison .p2-placeholder-note,html.bright-mode #motion-comparison .p2-state-label{color:#405872}
html.bright-mode #motion-comparison .p2-comparison-detail,html.bright-mode #motion-comparison .p2-comparison-disclosure{background:#f8fbff;color:#405872;border-color:#b5c8df}
html.bright-mode #motion-comparison .p2-comparison-detail h3{color:#17385f}html.bright-mode #motion-comparison .p2-comparison-detail p,html.bright-mode #motion-comparison .p2-comparison-detail li{color:#405872}
/* Claims: neutral bright resting state, restrained blue hover and aligned labels. */
html body .stats-panel .stat{padding:26px 24px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}
html body .stats-panel .stat>b{margin:0;line-height:1.15;min-height:1.15em}html body .stats-panel .stat>span:not(.glass-light):not(.button-bubbles){display:block;margin:0;line-height:1.5;letter-spacing:.02em}
.v23-nowrap{white-space:nowrap!important;display:inline!important;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important}
html.bright-mode body .stats-panel{background:#f4f8fd!important;background-image:none!important;border-color:#aec2db}
html.bright-mode body .stats-panel .stat{background:#fafcff;color:#17385f;transition:background .25s}
html.bright-mode body .stats-panel .stat:is(:hover,:focus-visible){background:linear-gradient(130deg,#eaf3ff,#d4e6ff)}
html.bright-mode body .stats-panel .stat b{color:#245b9c}html.bright-mode body .stats-panel .stat>span:not(.glass-light):not(.button-bubbles){color:#405872}
/* Workspace stages retain every label and never imply a live dashboard. */
.p3-workspace li.v23-stage{position:relative;isolation:isolate;overflow:hidden;border-radius:8px;padding:12px 8px;transition:background .2s}
.p3-workspace li.v23-stage:is(:hover,:focus-visible,:active){background:#568de41a;outline-offset:2px}.p3-workspace li.v23-stage:focus-visible{outline:2px solid #82bfff}
.v23-stage-bubbles{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:0}.v23-stage-bubbles i{position:absolute;left:calc(20% + var(--i)*19%);bottom:0;width:4px;height:4px;border:1px solid #90bded88;border-radius:50%;animation:v23-bubble 2.4s calc(var(--i)*-.5s) infinite paused}
.v23-stage:is(:hover,:focus-visible) .v23-stage-bubbles{opacity:1}.v23-stage:is(:hover,:focus-visible) .v23-stage-bubbles i{animation-play-state:running}@keyframes v23-bubble{from{transform:translateY(0);opacity:0}30%{opacity:.5}to{transform:translateY(-50px);opacity:0}}
.p3-workspace .p3-workspace-note{margin-top:24px;padding-top:24px;line-height:1.7}
/* Still Curious is a proportionate invitation, not a second hero. */
html body .faq-side{padding:34px 30px}.faq-side h3{font-size:clamp(25px,2.4vw,32px);line-height:1.2;margin-bottom:16px}.faq-side p{font-size:14px;line-height:1.75;margin-bottom:22px}.faq-side .btn{margin-top:4px}
/* Use an actual continuous border: remove the old fading masked stroke. */
html body footer>.wrap{border:1px solid #6589b355!important;border-radius:24px!important;overflow:hidden;isolation:isolate;padding-bottom:28px}
html body footer>.wrap::after{content:none!important;display:none!important}html.bright-mode body footer>.wrap{border-color:#9bb7d1!important}
html body #contact{grid-template-columns:minmax(0,1fr)}html body #contact>.wrap{min-width:0}
/* Dedicated routes use the same component in normal document flow, without a modal trap. */
html body main.v23-dedicated-main{padding:120px 24px 40px;min-height:70vh}
html body .v22-dialog.v23-direct-panel{position:relative;inset:auto;width:min(1240px,100%);height:auto;max-height:none;margin:0 auto;overflow:visible;box-shadow:none;border-radius:24px;animation:none}
.v22-dialog.v23-direct-panel .v22-close{position:absolute;right:16px;top:16px;margin:0}
.v23-direct-panel .v22-book-art img{max-height:280px}.v23-direct-panel .p3-estimate-result{top:100px}
@media(max-width:1000px){.v22-dialog .p3-controls .p3-complexity-options{grid-template-columns:1fr}.v22-dialog .p3-radio strong small{display:inline;margin-left:8px}.v23-basics-grid,.v23-deliverables-grid{grid-template-columns:1fr}}
@media(max-width:760px){.v22-dialog .p3-controls .p3-complexity-options{grid-template-columns:1fr}.v23-submission-row{flex-direction:column;align-items:flex-start;gap:12px}.v23-submission-row #inquiry-submit{width:auto}.v23-countdown{margin-top:22px}.v23-countdown-units>span{width:64px;height:64px}html body .stats-panel .stat{padding:24px 18px}.p3-workspace .p3-workspace-note{padding-top:22px;margin-top:22px}html body .faq-side{padding:30px 24px}html body main.v23-dedicated-main{padding:100px 0 24px}html body .v22-dialog.v23-direct-panel{width:100%;border-radius:0;border-inline:0}.v23-direct-panel .v22-book-art img{max-height:140px}}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.v23-stage-bubbles,.v23-primary .button-bubbles,.v23-secondary .button-bubbles{display:none!important}.v23-stage,.bubbly-cta{transition:none!important;transform:none!important}.v23-countdown *{animation:none!important}}
@media(max-width:380px){html body .stats-panel .stat{padding:22px 12px}html body .stats-panel .stat>b{font-size:20px!important}html body .stats-panel .stat>span:not(.glass-light):not(.button-bubbles){font-size:10.5px}#contact .cta-actions .btn{max-width:100%;white-space:normal}}
@media(max-width:760px){html:has(body.v22-direct-page){scrollbar-gutter:auto;scrollbar-width:none}html:has(body.v22-direct-page)::-webkit-scrollbar{display:none}}

/* Owner correction: clean workflow rows and service highlight aligned to card. */
html body .p3-workspace li.v23-stage{border-bottom:0}
html body #services .svc-row>.service-hover-plate{inset:0;border-radius:inherit;box-sizing:border-box}

/* Testimonial identity: retain original photo pixels in every interaction state. */
html body #testimonials .quote .q-by img.v22-portrait{filter:none!important;opacity:1!important;mix-blend-mode:normal;object-fit:cover;width:48px;height:48px;max-width:none;max-height:none;border:1px solid #8bb7f044;transition:border-color .2s,box-shadow .2s}
html body #testimonials .quote:is(:hover,:focus-visible,:focus-within) .q-by img.v22-portrait{filter:none!important;opacity:1!important;border-color:#8dceff;box-shadow:0 0 0 2px #72baff33}
html body #testimonials .q-by{display:flex;justify-content:flex-start;gap:12px}
html body #testimonials .q-by>div{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}
html body #testimonials .q-by>div>b,html body #testimonials .q-by>div>span{margin:0;padding:0;line-height:1.4}
html body #testimonials .q-by>img:not(.v22-portrait){width:62px;height:30px;max-width:62px;max-height:30px;object-fit:contain;object-position:center;flex:0 0 62px;margin-left:auto;filter:none!important;opacity:.85!important}
html body #testimonials .quote,html body #testimonials .quote:is(:hover,:focus-visible){background:linear-gradient(125deg,#e2f4ff15,#bacfff05 47%,#9ac7ff0b);border-color:#b9d9ff3d;box-shadow:inset 0 1px 0 #fff4,inset 1px 0 0 #fff1,0 18px 45px #0004;transform:none}
html body #testimonials .quote:is(:hover,:focus-visible) p{color:#c8d1e0}
html body #testimonials .quote .q-by b,html body #testimonials .quote:is(:hover,:focus-visible) .q-by b{color:#f4f7ff}
html body #testimonials .quote .q-by span,html body #testimonials .quote:is(:hover,:focus-visible) .q-by span{color:#a2adc2}
html.bright-mode body #testimonials .quote p,html.bright-mode body #testimonials .quote:is(:hover,:focus-visible) p{color:#17385f}
html body #testimonials .quote>.glass-light,html body #testimonials .quote>.button-bubbles{display:none!important}

/* Readable FAQ heading: avoid synthetic bold on the condensed legacy font. */
html body #faq .faq-side h3{font-family:var(--display-font,Inter,sans-serif);font-size:clamp(30px,2.6vw,36px);font-weight:600;line-height:1.25;letter-spacing:.01em;word-spacing:.06em;text-transform:none;margin:0 0 22px;flex-shrink:0}
html body #faq .faq-side{padding:38px 32px}
@media(max-width:760px){html body #faq .faq-side{padding:32px 26px}}

/* One cursor-following highlight for all shared CTA buttons. */
html body .btn.bubbly-cta::after{content:'';display:block;position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse 90px 45px at var(--button-x,50%) var(--button-y,50%),#c5ecff4d 0%,#89ccff20 45%,transparent 100%);opacity:0;transition:opacity .25s ease}
html body .btn.bubbly-cta:is(:hover,:focus-visible)::after{opacity:1}
/* Broader, quieter footer light: 30% of its previous layer opacity. */
html body footer>.wrap>.glass-light{background:radial-gradient(circle 780px at var(--footer-x,50%) var(--footer-y,50%),#b6e8ff12,transparent)!important;opacity:calc(var(--glass-power,1)*.3)!important;box-shadow:none}
html.bright-mode body footer>.wrap>.glass-light{background:radial-gradient(circle 780px at var(--footer-x,50%) var(--footer-y,50%),#78baff19,transparent)!important;opacity:calc(var(--glass-power,1)*.15)!important}

/* Tablet Services: supersede legacy multi-column row tracks, retain approved cards. */
@media(min-width:601px) and (max-width:800px){
 html body #services .p1-services .svc-row{grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto;column-gap:24px;row-gap:18px;align-items:start}
 html body #services .p1-services .svc-ico{grid-column:1;grid-row:1 / 3;justify-self:start}
 html body #services .p1-services .svc-name{grid-column:2;grid-row:1;min-width:0;width:100%;padding-right:36px;white-space:normal}
 html body #services .p1-services .svc-desc{grid-column:2;grid-row:2;min-width:0;width:100%;margin:0}
}

/* Quiet, theme-matched estimator scroll and range controls. */
html body .v22-dialog{scrollbar-width:thin;scrollbar-color:#53759b #0b1220}
html.bright-mode body .v22-dialog{scrollbar-color:#789abd #f5f8fe}
.v22-dialog::-webkit-scrollbar{width:6px;height:6px}.v22-dialog::-webkit-scrollbar-track{background:transparent}.v22-dialog::-webkit-scrollbar-thumb{background:#53759b;border-radius:99px}.v22-dialog::-webkit-scrollbar-button{display:none;width:0;height:0}
html body .v22-close{display:grid;place-items:center;padding:0;box-sizing:border-box}
html body .v22-close svg{display:block;width:20px;height:20px;pointer-events:none}
html body #project-estimator input[type=range]{appearance:none;-webkit-appearance:none;height:28px;border:0;background:transparent;padding:0;border-radius:0;cursor:pointer;box-shadow:none}
#project-estimator input[type=range]::-webkit-slider-runnable-track{height:3px;background:#53759b;border-radius:99px}
#project-estimator input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;border:2px solid #a5d8ff;border-radius:50%;background:#386dce;box-shadow:none}
#project-estimator input[type=range]::-moz-range-track{height:3px;background:#53759b;border-radius:99px}
#project-estimator input[type=range]::-moz-range-progress{height:3px;background:#53759b}
#project-estimator input[type=range]::-moz-range-thumb{width:10px;height:10px;border:2px solid #a5d8ff;border-radius:50%;background:#386dce}
html.bright-mode #project-estimator input[type=range]::-webkit-slider-runnable-track{background:#789abd}
html.bright-mode #project-estimator input[type=range]::-moz-range-track{background:#789abd}

/* Owner-approved CTA treatment: bottom-edge tracking, no outer glow. */
html body .btn.bubbly-cta,html body .btn.bubbly-cta:is(:hover,:focus-visible,:active){box-shadow:none!important;filter:none!important}
html body .btn.bubbly-cta{transform:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}
html body .btn.bubbly-cta:hover{transform:translateY(-2px)}
html body .btn.bubbly-cta:active{transform:translateY(0)}
html body .btn.bubbly-cta::after{background:radial-gradient(ellipse 62px 14px at var(--button-x,50%) 100%,#c5ecff4d 0%,#89ccff20 45%,transparent 100%)}
html body .btn.bubbly-cta>.glass-light{display:none!important}
@media(prefers-reduced-motion:reduce),(pointer:coarse){html body .btn.bubbly-cta:hover{transform:none}}

/* Compact booking introduction while retaining live scheduler status. */
html body .v22-book-intro>p:first-of-type,html body .v22-book-intro #v22-book-status{display:inline;font-size:15px;line-height:1.55;margin:0}
html body .v22-book-intro #v22-book-status::before{content:' '}
html body .v22-book-intro .v22-fallback{display:block;width:fit-content;margin-top:10px}

/* Footer bottom row: copyright left, location centered, privacy and motto right. */
html body footer .foot-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;font-size:12px}
html body footer .foot-bottom>.studio-address{justify-self:center;text-align:center;max-width:none;font-size:12px;line-height:1.5}
html body footer .v23-footer-right{display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap;text-align:right}
html body footer .v23-footer-right .p3-privacy-link{margin:0;padding:0;font-size:inherit;color:inherit}
@media(max-width:1100px){html body footer .foot-bottom{grid-template-columns:1fr;justify-items:center;gap:14px;text-align:center}html body footer .v23-footer-right{justify-content:center;text-align:center}}

/* Additional breathing room at the navigation logo edge. */
html body #nav .nav-in{padding-left:32px}
@media(max-width:650px){html body #nav .nav-in{padding-left:23px}}

/* Full rounded showreel stroke, with a scroll-driven interior light pass. */
html body .p2-reel-preview,html body .p2-reel-preview:hover{border:1px solid #739cc9;border-radius:24px;background-clip:padding-box;box-shadow:none;overflow:hidden}
.v23-reel-sweep{position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 20%,rgba(166,211,255,.03) 35%,rgba(203,232,255,.14) 50%,rgba(166,211,255,.03) 65%,transparent 80%);transform:translateX(var(--reel-sweep,-100%))}
html body .v23-countdown-units>span{gap:1px;box-sizing:border-box;padding-top:4px}
html body .v23-countdown-units b{display:block;line-height:1;margin:0;padding:0}
html body .v23-countdown-units small{display:block;line-height:1.2;margin:0;padding:0;text-align:center}
@media(prefers-reduced-motion:reduce){.v23-reel-sweep{display:none}}

/* Draw the rounded stroke above every interior layer, safely inside the clip. */
html body .p2-reel-preview,html body .p2-reel-preview:hover{border-color:transparent}
.v23-reel-stroke{position:absolute;inset:0;z-index:5;border:1px solid #a0bfdb;border-radius:23px;box-sizing:border-box;pointer-events:none}

/* Benefits and Services share a restrained hover response, without a spotlight. */
html body .motion-benefit>.glass-light,html body .motion-benefit::after{display:none!important}
.v23-benefit-plate{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(115deg,#2e5bff50,#4086ed45);opacity:0;transition:opacity .28s ease}
html body .motion-benefit:is(:hover,:focus-within)>.v23-benefit-plate{opacity:1}
html body .motion-benefit>.button-bubbles{display:block!important;pointer-events:none}
html body .motion-benefit,html body #services .p1-services .svc-row{transition:transform .2s ease,border-color .2s ease!important}
html body .motion-benefit:is(:hover,:focus-within),html body #services .p1-services .svc-row:is(:hover,:focus-visible){transform:translateY(-3px)!important;box-shadow:none}
@media(prefers-reduced-motion:reduce),(pointer:coarse){html body .motion-benefit:is(:hover,:focus-within),html body #services .p1-services .svc-row:is(:hover,:focus-visible){transform:none!important}html body .motion-benefit>.button-bubbles{display:none!important}}

/* Broader FAQ card cursor light, unchanged intensity. */
html body .faq-side>.glass-light{background:radial-gradient(circle 520px at var(--mouse-x,50%) var(--mouse-y,50%),#b6e8ff0c,transparent 100%)}
html.bright-mode body .faq-side>.glass-light{background:radial-gradient(circle 520px at var(--mouse-x,50%) var(--mouse-y,50%),#78baff19,transparent)}

/* Consistent condensed titles with comfortable character and word spacing. */
html body #services .p1-services .svc-name,html body #why-motion .motion-benefit h3{font-family:Anton,Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:23px;letter-spacing:.035em;word-spacing:normal;line-height:1.35;text-transform:none}
html body #why-motion .motion-benefit h3{margin:0 0 16px}
html body #services .p1-services .svc-row{row-gap:24px}
/* Identical plate color, cursor response, and fade timing on both card sets. */
html body #services .svc-row>.service-hover-plate,html body .motion-benefit>.v23-benefit-plate{background:radial-gradient(circle 260px at var(--mouse-x,50%) var(--mouse-y,50%),#ffffff0d,transparent 70%),linear-gradient(115deg,#2e5bff50,#4086ed45);transition:opacity 1.05s cubic-bezier(.22,.61,.36,1);border:0}
html body #services .svc-row:is(:hover,:focus-visible)>.service-hover-plate,html body .motion-benefit:is(:hover,:focus-within)>.v23-benefit-plate{transition-duration:.28s}
@media(prefers-reduced-motion:reduce){html body #services .svc-row>.service-hover-plate,html body .motion-benefit>.v23-benefit-plate{transition:none}}

/* Full-card workspace cursor light and distributed bubbles. */
html body .p3-workspace{position:relative;isolation:isolate;overflow:hidden}
html body .p3-workspace li.v23-stage:is(:hover,:focus-visible,:active){background:transparent}
.v23-workspace-light,.v23-workspace-bubbles{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s ease}
.v23-workspace-light{background:radial-gradient(circle 520px at var(--workspace-x,50%) var(--workspace-y,50%),#8ecaff18,transparent 75%)}
.p3-workspace:is(:hover,:focus-within)>.v23-workspace-light,.p3-workspace:is(:hover,:focus-within)>.v23-workspace-bubbles{opacity:1}
.v23-workspace-bubbles i{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border:1px solid #90bded77;border-radius:50%;animation:v23-workspace-rise var(--duration) var(--delay) infinite linear paused}
.p3-workspace:is(:hover,:focus-within)>.v23-workspace-bubbles i{animation-play-state:running}
.p3-workspace>:not(.v23-workspace-light):not(.v23-workspace-bubbles){position:relative;z-index:1}
@keyframes v23-workspace-rise{0%{transform:translateY(30px);opacity:0}25%,70%{opacity:.45}100%{transform:translateY(-70px);opacity:0}}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.v23-workspace-bubbles{display:none}.v23-workspace-light{transition:none}}

/* Small footer contact spacing adjustment. */
html body footer .p1-footer-email{margin-top:28px}
html body footer .foot-brand>.socials{margin-top:10px}

/* Equal breathing room and a visible outer Services frame. */
html body #services .p1-services{padding:10px;border:1px solid #83acd33d;border-radius:24px;background-color:rgba(24,43,70,.38)!important;background-image:none!important}
html.bright-mode body #services .p1-services{border-color:#88a9cd88;background-color:rgba(218,232,248,.55)!important;background-image:none!important}

/* Inset scrollbar lane clears the modal's rounded top and bottom corners. */
@media(min-width:761px){
 html body .v22-dialog{scrollbar-width:auto}
 .v22-dialog::-webkit-scrollbar{width:12px}
 .v22-dialog::-webkit-scrollbar-track{margin-block:24px;background:transparent}
 .v22-dialog::-webkit-scrollbar-thumb{border:4px solid transparent;background:#53759b;background-clip:padding-box;border-radius:99px}
 html.bright-mode .v22-dialog::-webkit-scrollbar-thumb{background-color:#789abd}
 @supports not selector(::-webkit-scrollbar){html body .v22-dialog{scrollbar-width:thin}}
}

/* Row emphasis complements the full workspace light and bubbles. */
html body .p3-workspace li.v23-stage:is(:hover,:focus-visible,:active){background:rgba(86,141,228,.13)}
html.bright-mode body .p3-workspace li.v23-stage:is(:hover,:focus-visible,:active){background:rgba(66,121,198,.10)}

/* Dedicated Estimate is a page; only its modal version needs a close control. */
html body #v22-estimate-dialog.v23-direct-panel>.v22-close{display:none}

/* Keep the approved dark gradient while restoring its existing cursor light layer. */
html:not(.bright-mode) body .hero h1.hero-message .outline{background-image:radial-gradient(circle 110px at var(--glyph-x,50%) var(--glyph-y,50%),rgba(205,242,255,var(--glyph-light,0)),transparent 85%),linear-gradient(110deg,#3f71ff 0%,#529dec 46%,#7bd4e7 100%)!important;background-size:100% 100%!important;background-position:0 0!important}

/* Gentle countdown breathing, disabled for reduced motion. */
.v23-countdown-units>span{animation:v23-countdown-breathe 4s ease-in-out infinite}
@keyframes v23-countdown-breathe{0%,100%{border-color:#6e97cb66}50%{border-color:#9bc6ee99}}
@media(prefers-reduced-motion:reduce){.v23-countdown-units>span{animation:none}}

/* Owner-supplied 2480 x 400 banner: full width, intrinsic ratio, no cropping. */
html body .v22-book-art{padding:0;line-height:0}
html body .v22-book-art img,html body .v23-direct-panel .v22-book-art img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0;aspect-ratio:31/5}

/* Booking artwork and scheduler stay inside the continuous rounded frame. */
html body #v22-book-dialog.v23-direct-panel{overflow:hidden;border:1px solid #7185a3;border-radius:24px;isolation:isolate}
html body #v22-book-dialog .v22-book-art{overflow:hidden;border-radius:23px 23px 0 0}
html body #v22-book-dialog .v22-calendly{overflow:hidden;border-radius:0 0 23px 23px}
html body #v22-book-dialog::after{content:'';position:absolute;inset:0;border:1px solid #7185a3;border-radius:inherit;pointer-events:none;z-index:6;box-sizing:border-box}
html.bright-mode body #v22-book-dialog.v23-direct-panel{border-color:#a9b8cd}
html.bright-mode body #v22-book-dialog::after{border-color:#a9b8cd}
@media(max-width:760px){html body #v22-book-dialog.v23-direct-panel{width:calc(100% - 24px);border-radius:24px}html body #v22-book-dialog.v23-direct-panel .v22-calendly{min-width:0}html body #v22-book-dialog.v23-direct-panel .v22-calendly iframe{min-width:0}}

/* Dedicated Estimate follows the footer's exact horizontal container. */
html body[data-conversion-route="estimate"] main.v23-dedicated-main{padding-inline:32px}
html body #v22-estimate-dialog.v23-direct-panel{width:100%;max-width:1176px;border:1px solid #52647e;border-radius:24px}
html body #v22-estimate-dialog .p3-controls fieldset:not(:last-child){border-bottom:1px solid #739cc933}
html.bright-mode body #v22-estimate-dialog .p3-controls fieldset:not(:last-child){border-bottom-color:#789abd55}
@media(max-width:650px){html body[data-conversion-route="estimate"] main.v23-dedicated-main{padding-inline:22px}}
