/* Phase 1 — refinement layer. Existing brand art and V1 component styles remain. */
:root{--p1-font:Inter,'Segoe UI',sans-serif;--p1-panel:#0b1220;--p1-border:rgba(150,181,229,.19);--p1-muted:#a4b0c4}

html body .hero h1 .outline{background-image:linear-gradient(110deg,#3f71ff 0%,#529dec 46%,#7bd4e7 100%);background-size:100% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}



html body .hero .mini-stats .ms>span{font-size:11px;line-height:1.55;color:var(--p1-muted)}
html body .stats-panel .stat b{font-size:clamp(26px,3vw,40px)}
html body .stats-panel .stat>span{font-size:12px;line-height:1.6}
html body main>section:not(#featured):not(#contact){position:relative;padding-top:88px;padding-bottom:88px;scroll-margin-top:110px}
html body #work{background:linear-gradient(180deg,transparent,rgba(16,28,48,.42) 35%,rgba(16,28,48,.18) 85%,transparent)}
html body #why-motion{background:linear-gradient(180deg,transparent,rgba(13,23,40,.5) 45%,transparent)}
html body #services{background:linear-gradient(180deg,transparent,rgba(17,29,49,.38) 45%,transparent)}
html body #process{background:linear-gradient(180deg,transparent,rgba(13,24,43,.4) 45%,transparent)}
html body #testimonials{background:linear-gradient(180deg,transparent,rgba(18,29,49,.42),transparent)}
html body :is(#services,#process,#testimonials)>.wrap::before{content:'';display:block;height:1px;margin:0 0 56px;background:linear-gradient(90deg,transparent,var(--p1-border),transparent)}
html body :is(.section-intro,.sec-head){margin-bottom:36px}
html body .section-intro h2,html body .services-title,html body .why-grid h2,html body .testimonials-title,html body .faq-heading h2{font-family:var(--display-font);font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-.028em;font-weight:700;text-transform:none}
html body .section-intro p{font-size:14px;line-height:1.8;max-width:430px}
.p1-selected-grid,.p1-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.p1-project{position:relative;min-width:0;border:1px solid var(--p1-border);border-radius:22px;background:linear-gradient(135deg,#101b2c,#0a1120);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}
.p1-project:hover,.p1-project:focus-within{border-color:rgba(100,175,242,.55);transform:translateY(-3px);box-shadow:0 15px 35px #0003}
.p1-project-media{display:block;position:relative;isolation:isolate;aspect-ratio:1.45;overflow:hidden;background:#101b2c}
.p1-project-media>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.p1-project-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#02071122 5%,transparent 36%,#02071188 67%,#020711ed 100%);z-index:0;pointer-events:none}
.p1-project-media:hover>img{transform:scale(1.035)}
.p1-category{position:absolute;top:16px;left:16px;max-width:calc(100% - 86px);border:1px solid #bad7ff30;border-radius:30px;padding:6px 10px;background:#07101ddd;backdrop-filter:blur(10px);font-size:10px;font-weight:600;color:#dcf3ff;z-index:2}
.p1-play{position:absolute;right:16px;top:16px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #88b8ff66;border-radius:50%;background:#2e5bff;color:#fff;z-index:2;box-shadow:inset 0 1px 0 #ffffff44}
.p1-play svg{width:15px;fill:currentColor;margin-left:2px}
.p1-media-title{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;color:#f3f7ff}
.p1-media-title h3{font-size:20px;line-height:1.25;letter-spacing:-.03em;margin-bottom:6px}
.p1-media-title>span{font-size:10px;color:#c1cde0;line-height:1.6}
.p1-project-copy{padding:23px 20px 18px;flex:1;display:flex;flex-direction:column;gap:24px}
.p1-project-copy>p{font-size:12px;line-height:1.85;color:#aebbcf;flex:1}
.p1-project-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid var(--p1-border);padding-top:16px;font-size:10px;line-height:1.7}
.p1-project-bottom>span{color:#8fc7f5;font-weight:600;max-width:55%}
html body .p1-breakdown{border:0;background:transparent;padding:0;margin:0;min-width:0;max-width:54%;border-radius:0}
html body .p1-breakdown summary{display:flex;gap:7px;align-items:center;color:#dbeaff;font-size:11px;font-weight:600;list-style:none;padding:0;white-space:nowrap}
.p1-breakdown summary::-webkit-details-marker{display:none}
html body .p1-breakdown summary::after{display:none}
html body .p1-breakdown p{padding:12px 0 0;margin:0;color:#b8c7dc;font-size:11px;line-height:1.8}
.p1-explore{display:flex;justify-content:center;margin-top:32px}
html body .p1-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0;background:none;box-shadow:none;overflow:visible}
html body .p1-services .svc-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;padding:28px;min-width:0;border:1px solid var(--p1-border);border-radius:22px;background:linear-gradient(135deg,#101b2c,#0b1321);min-height:0;height:auto;overflow:hidden;text-align:left}
html body .p1-services .svc-num{font-size:11px;color:#8dc9f8;font-family:var(--p1-font);-webkit-text-stroke:0;position:absolute;right:25px;top:28px;line-height:1;opacity:1}
html body .p1-services .svc-ico{width:76px;height:76px;flex:none;margin:0;padding:0;background:transparent;box-shadow:none;border:0}
html body .p1-services .svc-ico img{width:76px;height:76px;object-fit:contain}
html body .p1-services .svc-name{font-size:23px;font-weight:400;line-height:1.25;letter-spacing:-.025em;text-transform:none;width:auto;max-width:100%;white-space:normal;margin:0;flex:0}
html body .p1-services .svc-desc{font-size:12px;color:#aebbcf;line-height:1.85;text-align:left;max-width:none;width:auto;margin:0;font-weight:400;flex:1}
.p1-deliverables{list-style:none;margin-top:22px;padding-top:18px;border-top:1px solid var(--p1-border);display:grid;gap:9px}
.p1-deliverables li{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.65}
.p1-deliverables li>span{color:#75c5ed}
html body .p1-services .svc-arrow{position:relative;right:auto;top:auto;bottom:auto;transform:none;width:32px;height:32px;margin-top:auto;align-self:flex-end;flex:none}
html body .p1-services .service-hover-plate{border-radius:22px}
html body #process .pstep .process-copy{padding:24px}
html body #process .process-title{display:flex;gap:12px;align-items:center}
html body #process .process-title .dot{display:block;position:static;font-size:11px;font-family:var(--p1-font);font-weight:700;line-height:1;background:#2e5bff1c;color:#82bfff;border:1px solid #6aa0ec40;width:30px;height:30px;border-radius:50%;padding:0;flex:none}
html body #process .process-title h3{font-size:22px;line-height:1.2;font-family:var(--p1-font)}
html body #process .process-copy p{font-size:12px;line-height:1.8;margin-top:16px}
html body .process-closing{max-width:750px;margin:30px auto 0;font-size:12px;text-align:center;line-height:1.85;color:var(--p1-muted)}
html body .quote{padding:28px;display:flex;flex-direction:column;gap:28px}
html body .quote>p{font-size:13px;line-height:1.9;font-style:italic;margin:0;flex:1;color:#c8d1e0}
html body .q-by{gap:12px;margin-top:auto;align-items:center}
.p1-avatar{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #8bb7f044;background:#366caa24;border-radius:50%;font-size:12px;font-weight:700;color:#b3dafa}
html body .q-by b{font-size:12px}
html body .q-by span:not(.p1-avatar){font-size:10px}
html body .q-by img{max-width:62px;max-height:30px;object-fit:contain;margin-left:auto}
html body footer{background:linear-gradient(180deg,rgba(4,7,15,0),#02050a 75%);padding-top:35px}
html body footer>.wrap{border-radius:24px 24px 0 0;background:linear-gradient(180deg,#111d2b55,#050a12cc);border-top:1px solid #88b8ff26;padding-top:48px}
html body .foot-brand>p{font-size:12px;line-height:1.85;max-width:300px}
.p1-footer-email{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:#c4d7ec;margin-top:18px;overflow-wrap:anywhere}
.p1-globe{margin-right:5px;color:#87c8ed}
html body .studio-address{font-size:12px;max-width:240px;line-height:1.9}
.portfolio-page .p1-work-intro{padding-top:170px}
html body.portfolio-page main>.p1-work-intro{padding-top:170px;padding-bottom:28px}
.p1-work-intro h1{font-size:clamp(36px,4.7vw,64px);max-width:850px;line-height:1.1;margin-bottom:24px}
.p1-work-intro p{color:var(--p1-muted);font-size:15px;line-height:1.8}
.p1-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:36px}
.p1-filters button{appearance:none;border:1px solid var(--p1-border);border-radius:30px;background:#111d2c;color:#bdcce0;padding:10px 16px;font-size:12px;line-height:1.5;cursor:pointer}
.p1-filters button[aria-pressed=true]{color:#fff;background:#2e5bff;border-color:#5e8cff}
.p1-work-intro .p1-results{font-size:11px;margin-top:22px}
html body.portfolio-page main>.p1-library{padding-top:0}
html body.portfolio-page main>.p1-work-contact{padding-top:44px}
.p1-work-contact .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--p1-border);padding-top:40px}
.p1-project[hidden]{display:none}
html.bright-mode{--p1-muted:#4b6179;--p1-border:rgba(59,99,145,.24)}
html.bright-mode body main>:is(#work,#why-motion,#services,#process,#testimonials){background:linear-gradient(180deg,transparent,#c8ddee38,transparent)}
html.bright-mode .p1-project,html.bright-mode body .p1-services .svc-row{background:linear-gradient(135deg,#f8fcff,#e4eef8)}
html.bright-mode .p1-project-copy>p,html.bright-mode body .p1-services .svc-desc,html.bright-mode body .quote>p{color:#405872}
html.bright-mode .p1-project-bottom>span,html.bright-mode .p1-deliverables li>span{color:#225d99}
html.bright-mode body .p1-breakdown summary{color:#1b507f}
html.bright-mode body .p1-breakdown p{color:#405872}
html.bright-mode .p1-filters button{background:#e8f1fa;color:#365673}
html.bright-mode .p1-filters button[aria-pressed=true]{background:#2e5bff;color:#fff}
html.bright-mode .p1-avatar{background:#d9eafa;color:#245585;border-color:#9bbbdc}
html.bright-mode body footer{background:linear-gradient(180deg,transparent,#c9d9e9)}
html.bright-mode body footer>.wrap{background:linear-gradient(180deg,#f3f8fd80,#dae7f2);border-top-color:#9fb9d3}
html.bright-mode .p1-footer-email{color:#234f79}
html.bright-mode body .hero .mini-stats .ms>span{color:#48617a}
html body .p1-project :is(a,summary):focus-visible,.p1-filters button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
@media(max-width:1000px){.p1-selected-grid,.p1-library-grid{gap:16px}.p1-media-title{left:16px;right:16px}.p1-media-title h3{font-size:17px}.p1-project-copy{padding:20px 16px}.p1-category{font-size:9px;padding:5px 8px;top:12px;left:12px}.p1-play{top:12px;right:12px;width:30px;height:30px}.p1-project-bottom{font-size:9px;gap:8px}.p1-breakdown summary{font-size:10px!important}html body .p1-services .svc-row{padding:23px}html body .p1-services .svc-name{font-size:20px}.p1-deliverables li{font-size:10px}}
@media(max-width:800px){.p1-selected-grid,.p1-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p1-selected-grid>.p1-project:last-child{grid-column:1/-1;width:calc(50% - 8px);justify-self:center}html body .p1-services{grid-template-columns:1fr}html body .p1-services .svc-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:15px 24px;padding:28px}.p1-services .svc-ico{grid-row:1/3}html body .p1-services .svc-desc{grid-column:2}html body .p1-services .svc-arrow{display:none}html body .p1-services .svc-name{padding-right:24px;font-size:24px}html body main>section:not(#featured):not(#contact){padding-top:64px;padding-bottom:64px}}
@media(max-width:600px){.p1-selected-grid,.p1-library-grid{grid-template-columns:1fr}.p1-selected-grid>.p1-project:last-child{grid-column:auto;width:auto;justify-self:stretch}.p1-project-media{aspect-ratio:auto;display:flex;flex-direction:column}.p1-project-media>img{aspect-ratio:16/9;height:auto}.p1-project-media::after{display:none}.p1-media-title{position:relative;left:auto;right:auto;bottom:auto;padding:19px 20px 0;background:var(--p1-panel)}.p1-media-title h3{font-size:21px}.p1-media-title>span{font-size:11px}.p1-category{top:14px;left:14px;font-size:10px}.p1-play{top:14px;right:14px;width:36px;height:36px}.p1-project-copy{padding:17px 20px 20px}.p1-project-copy>p{font-size:12px}.p1-project-bottom{font-size:10px}.p1-breakdown summary{font-size:11px!important}html body .p1-services .svc-row{display:flex;padding:25px}html body .p1-services .svc-name{font-size:25px;padding-right:0}html body .p1-services .svc-desc{font-size:13px}.p1-deliverables li{font-size:12px}.p1-work-contact .wrap{flex-direction:column;align-items:flex-start}.p1-filters button{font-size:11px;padding:9px 13px}.p1-work-intro p{font-size:13px}html body.portfolio-page main>.p1-work-intro{padding-top:140px}html body .p1-services .svc-arrow{display:grid}html.bright-mode .p1-media-title{background:#eff6fc;color:#17314e}html.bright-mode .p1-media-title>span{color:#4b6179}.p1-footer-email{font-size:11px}html body .quote{padding:24px}html body :is(#services,#process,#testimonials)>.wrap::before{margin-bottom:38px}}
@media(prefers-reduced-motion:reduce){.p1-project,.p1-project-media>img{transition:none}.p1-project:hover,.p1-project:focus-within,.p1-project-media:hover>img{transform:none}}
/* Explicit V1 cascade bridges: these components previously declared their own fonts. */
html body .hero h1.hero-message .outline{background-image:linear-gradient(110deg,#3f71ff 0%,#529dec 46%,#7bd4e7 100%)!important;background-size:100% 100%!important}
html body main :is(#work,#why-motion,#process) .section-intro h2,html body main #testimonials .testimonials-title{font-size:clamp(28px,3vw,42px)!important;letter-spacing:-.028em!important;line-height:1.15!important}
html body #services .p1-services .svc-row{border-bottom:1px solid var(--p1-border)!important}
html body #services .p1-services .svc-name{font-size:23px;line-height:1.25}
html body #process .pstep .process-title .dot{display:grid!important;place-items:center}
@media(max-width:800px){html body #services .p1-services .svc-name{font-size:24px}}
@media(max-width:600px){html body #services .p1-services .svc-name{font-size:25px}}
/* Keep original thumbnail compositions intact; captions stay in the lower media panel. */
.p1-project-media{aspect-ratio:auto;display:flex;flex-direction:column}
.p1-project-media>img{aspect-ratio:16/9;height:auto;object-fit:contain}
.p1-project-media::after{display:none}
.p1-media-title{position:relative;left:auto;right:auto;bottom:auto;padding:18px 20px 0;background:linear-gradient(180deg,#0c1625,#0b1422)}
html.bright-mode .p1-media-title{background:linear-gradient(180deg,#eff6fc,#ebf3fa);color:#17314e}
html.bright-mode .p1-media-title>span{color:#4b6179}
html body.portfolio-page main>.p1-work-intro{padding-top:170px!important;padding-bottom:32px!important}
html body.portfolio-page main>.p1-library{padding-top:0!important}
html body.portfolio-page .p1-work-intro h1{text-transform:none;letter-spacing:-.028em;line-height:1.13}
@media(max-width:600px){html body.portfolio-page main>.p1-work-intro{padding-top:135px!important;padding-bottom:28px!important}}
html body #contact .cta-copy h2{font-size:clamp(32px,3.6vw,48px)!important;font-weight:700;line-height:1.15!important;letter-spacing:-.028em!important;word-spacing:normal;text-transform:none;white-space:normal!important;width:auto!important;max-width:100%!important}
html body .faq-side h3{font-size:24px;font-weight:700;letter-spacing:-.025em;text-transform:none}
html body footer .studio-address .p1-globe{display:inline!important;margin-right:5px}
@media(max-width:600px){html body #contact .cta-copy h2{font-size:clamp(28px,8vw,38px)!important}}
html.bright-mode body #studio .stats-panel{background-color:#e8f1fa!important;background-image:linear-gradient(135deg,#f4f9ff,#dceaf7)!important}
html.bright-mode body #studio .stats-panel .stat b{background:none!important;color:#225584!important;-webkit-text-fill-color:#225584!important}
html.bright-mode body #studio .stats-panel .stat>span:not(.glass-light):not(.button-bubbles){color:#405872!important}
html.bright-mode body #testimonials .q-by b,html.bright-mode body #testimonials .q-by span:not(.p1-avatar){color:#365570!important}
html.bright-mode body #services .p1-services .svc-arrow{color:#285887;border-color:#90aecb}
html.bright-mode body #services .p1-services .svc-num{color:#3a6590}

/* Mouse/touch navigation should not retain a keyboard focus ring. */
html[data-nav-input="pointer"] #nav a:focus{outline:none!important}
html #nav a:focus:not(:focus-visible){outline:none!important}
/* Final polish: image controls live outside the original artwork. */
.p1-media-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 0;background:#0c1625}
.p1-media-controls .p1-category,.p1-media-controls .p1-play{position:static;flex:none;margin:0}
.p1-media-controls .p1-category{max-width:calc(100% - 48px);font-size:10px}
.p1-media-controls .p1-play{width:32px;height:32px}
.p1-media-controls+.p1-media-title{padding-top:12px}
html.bright-mode .p1-media-controls{background:#eff6fc}
/* Readability must never depend on reveal completion or theme transitions. */
html body #services .p1-services,.p1-services .svc-row.rv{opacity:1!important;transform:none!important}
html body #services .svc-row,html body #services .svc-name,html body #services .svc-desc,html body #services .p1-deliverables{transition:none!important}
html.bright-mode body #services .svc-row{background:#edf4fb!important;color:#15233b}
html.bright-mode body #services .svc-name{color:#15233b!important;-webkit-text-fill-color:currentColor!important}
html.bright-mode body #services .svc-desc,html.bright-mode body #services .p1-deliverables{color:#344d68!important;-webkit-text-fill-color:currentColor!important}
html.bright-mode body #services .p1-deliverables li>span{color:#28618b}
html.bright-mode body #services .svc-arrow{background:#e2edf8;color:#285887}
html body .p1-breakdown[open]{width:100%;max-width:100%;flex-basis:100%}
.p1-project-bottom:has(.p1-breakdown[open]){flex-wrap:wrap}
.p1-breakdown-content{padding-top:12px;font-size:12px;line-height:1.8;color:#b8c7dc}
.p1-breakdown-content ul{padding-left:17px;margin:0}
html body .p1-breakdown-content p{font-size:12px;padding-top:10px}
.p1-breakdown-content a{display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:3px}
html.bright-mode .p1-breakdown-content,html.bright-mode body .p1-breakdown-content p{color:#344d68}
@media(min-width:1001px){
html body main>section:is(#work,#why-motion,#services,#studio):not(#featured):not(#contact){padding-top:58px;padding-bottom:58px}
html body #services>.wrap::before{margin-bottom:36px}
}
@media(prefers-reduced-motion:reduce){
html body #services .svc-row,html body #services .svc-row *{animation:none!important;transition:none!important}
html body #services .svc-row::after{animation:none!important}
}

/* Section introductions: 20% wider copy columns, with shared grid edges. */
@media(min-width:901px){
html body main :is(#work,#featured,#why-motion,#process) .section-intro{grid-template-columns:minmax(0,1.92fr) minmax(0,1.08fr)!important}
html body main :is(#work,#featured,#why-motion,#process) .section-intro>p{margin:0!important}
}

/* Typography correction: original V1 font roles and hero rhythm are supplied by homepage.css.
   Phase 1 layouts, readability fixes and the approved trustworthy gradient remain intact. */
html body .p1-media-title h3,html body.portfolio-page .p1-work-intro h1{font-family:var(--display-font);font-weight:700}
html body #process .process-title h3{font-family:Inter,'Segoe UI',sans-serif}
html body .hero h1.hero-message{word-spacing:normal}
html body .hero .mini-stats .ms b.rating-value,html body .stats-panel .stat b.rating-value{display:inline-flex!important;align-items:center!important;gap:.18em;white-space:nowrap}
html body .rating-value .rating-star{display:block;flex:none;width:.58em;height:.58em;fill:#c99c39;color:#c99c39;-webkit-text-fill-color:#c99c39;filter:none;overflow:visible}

/* Preserve complete metric labels and deliberate headline phrases on narrow phones. */
@media(max-width:600px){html body .hero .mini-stats .ms b,html body .hero .mini-stats .ms:last-child b{font-size:clamp(22px,7vw,32px)!important}}
@media(max-width:360px){html body .hero h1.hero-message{font-size:30px}}
