/* Blue Ribbon — official brand palette supplied by Kevin. */
:root{--blue-50:#edf7ff;--blue-100:#d6edff;--blue-200:#b5dfff;--blue-300:#83ceff;--blue-400:#48b2ff;--blue-500:#1e91ff;--blue-600:#0674ff;--blue-700:#0265ff;--blue-800:#084dc5;--blue-900:#0d449b;--blue-950:#0e2a5d;}
/* Neuf Seizième — a bright, graphic studio homepage in the original brand palette. */
:root{--studio-paper:var(--blue-50);--studio-blue:var(--blue-700);--studio-navy:var(--blue-950);--studio-muted:var(--blue-900);--container:1248px;--header-h:76px}
body.studio-home{--font-heading:Manrope,sans-serif;background:var(--studio-paper);color:var(--blue-950)}
.studio-home .container{max-width:1248px;padding-inline:40px}
.studio-home .site-header{height:76px;background:var(--studio-paper);border:0;box-shadow:none;backdrop-filter:blur(16px)}
.studio-home .nav-container{height:76px;max-width:1288px;padding-inline:40px}
.studio-home .nav-logo-img{width:190px}
.studio-home .nav-links{gap:26px}
.studio-home .nav-toggle.active span{background:var(--studio-navy)}
.studio-home .nav-links>a,.studio-home .nav-dropdown-trigger{font-size:12px;color:var(--blue-950)}
.studio-home .premium-eyebrow{font-size:10px;font-weight:650;letter-spacing:.13em;color:var(--blue-900);line-height:1.5}
.studio-home .section-title,.studio-home .ns-process-heading h2{font-size:clamp(35px,3.5vw,49px);font-weight:600;line-height:1.08;letter-spacing:-.045em;color:var(--blue-950)}
.studio-home .section-subtitle{font-size:15px;line-height:1.65;color:var(--studio-muted)}
.studio-home .ns-home-showcase{padding-top:76px;background:var(--studio-paper)}
.studio-home .ns-home-showcase::before,.studio-home .ns-home-showcase::after{display:none}
.studio-home .ns-hero{margin:0;padding:48px 24px 38px;max-width:none;border-radius:0;background:none;box-shadow:none}
.studio-home .premium-hero-layout{display:block;max-width:1160px}
.studio-home .ns-hero-content{max-width:1160px;text-align:center}
.studio-home .ns-hero-content>.premium-eyebrow{justify-content:center;margin:0 0 19px;font-size:10px}
.studio-home .ns-hero-content>.studio-hero-badge {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; max-width:100%;
  margin:0 auto 24px; padding:7px 13px; border:1px solid #e4eaf1; border-radius:4px;
  background:#ffffffed; box-shadow:0 2px 4px #0e2a5d0c;
  color:var(--blue-950); font-size:13px; font-weight:550; line-height:1.35; letter-spacing:-.015em;
}
.studio-hero-badge-flag { display:block; flex:0 0 17px; width:17px; height:12px; border-radius:1px; box-shadow:0 0 0 1px #0e2a5d0a; }
@media(max-width:600px) {
  .studio-home .ns-hero-content>.studio-hero-badge { font-size:11px; padding:7px 10px; gap:7px; margin-bottom:21px; }
  .studio-hero-badge-flag { flex-basis:15px; width:15px; height:10px; }
}

.studio-home .ns-hero-title{max-width:1120px;font-size:clamp(47px,5.1vw,72px);font-weight:650;line-height:1.07;letter-spacing:-.052em;margin:0 auto 23px;color:var(--blue-950)}
.studio-home .ns-hero-performance{background:none;color:var(--blue-700);white-space:nowrap;padding:0}
.studio-home .ns-hero-subtitle{max-width:720px;font-size:18px;line-height:1.6;color:var(--blue-900);margin-bottom:25px}
.studio-home .ns-hero-subtitle strong{font-weight:500;color:var(--blue-950)}
.studio-home .ns-hero-bottom{gap:19px;align-items:center}
.studio-home .ns-hero-ctas{gap:11px}
.studio-home .ns-hero-ctas .ns-btn-primary{min-height:46px;padding:12px 20px;font-size:12px}
.studio-home .premium-secondary{background:var(--blue-50);border:1px solid var(--blue-200);box-shadow:none;min-height:46px;padding:12px 20px;font-size:12px;font-weight:600;color:var(--blue-900)}
.studio-home .premium-secondary:hover{background:var(--blue-100);border-color:var(--blue-200)}
.studio-home .ns-hero-trust .ns-trust-clients{gap:10px}
.studio-home .ns-hero-trust .ns-trust-client-logos img{width:26px;height:26px}
.studio-home .ns-hero-trust .ns-trust-clients-copy{font-size:9px}
.studio-home .ns-reels{padding:0 0 10px;--reel-gap:14px;--reel-gutter:24px;background:transparent}
.studio-home .ns-reels-track{padding-bottom:6px}
.studio-home .ns-reel{flex-basis:clamp(188px,16.4vw,236px);aspect-ratio:9/16;border:0;border-radius:10px;box-shadow:none;background:var(--blue-200)}
.studio-home .ns-reel-profile{top:13px;left:12px;right:8px;gap:6px}
.studio-home .ns-reel-avatar{width:29px;height:29px;flex-basis:29px;border-width:1.5px}
.studio-home .ns-reel-name{font-size:10px}
.studio-home .ns-reel-category{font-size:9px}
.studio-home .ns-reel-badge{width:11px;height:11px}
.studio-home .ns-reel-caption{left:13px;bottom:19px;right:46px}
.studio-home .ns-reel-caption>span:first-child{font-size:12px}
.studio-home .ns-reel-caption>span:last-child{font-size:8px}
.studio-home .ns-reel-actions{right:5px;bottom:13px}
.studio-home .ns-reel-actions>span{width:34px;height:34px;padding:7px}
.studio-home .ns-reel-actions svg{width:21px;height:21px}
.studio-home .ns-reel-hearts{right:12px;bottom:100px}
.studio-intro{padding:87px 0 32px;text-align:center}
.studio-intro .premium-eyebrow{justify-content:center;margin-bottom:20px}
.studio-intro h2{font-size:clamp(34px,3.8vw,54px);font-weight:650;line-height:1.14;letter-spacing:-.045em;max-width:820px;margin:auto;color:var(--blue-950)}
.studio-inline-film{display:inline-block;width:78px;height:48px;margin-left:8px;border-radius:7px;overflow:hidden;vertical-align:middle;transform:rotate(-6deg);background:var(--blue-200)}
.studio-inline-film img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.studio-home .ns-logos{padding:36px 0 62px;background:transparent}
.studio-home .ns-logos-label{font-size:11px;color:var(--blue-900);font-weight:500;margin-bottom:30px}
.studio-home .ns-logos .marquee-track{gap:62px}
.studio-home .ns-logo-img{max-height:30px;filter:brightness(0);opacity:.48}
.studio-home .marquee-item:hover .ns-logo-img{filter:brightness(0);opacity:.75}
.studio-home .ns-trustpilot{margin-top:23px}
.studio-home .ns-trustpilot img{height:26px}
.studio-services{padding:74px 0 82px;background:var(--studio-paper)}
.studio-section-head{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:34px}
.studio-section-head .premium-eyebrow{margin:0 0 18px}
.studio-section-head h2{margin:0;font-size:clamp(35px,3.6vw,50px);line-height:1.05;font-weight:600;letter-spacing:-.045em;color:var(--blue-950)}
.studio-section-head>p{max-width:300px;justify-self:end;font-size:14px;line-height:1.55;color:var(--blue-900);margin:0 0 3px}
.studio-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.studio-service{display:flex;flex-direction:column;min-height:300px;padding:25px 24px 20px;border:1px solid transparent;border-radius:9px;text-decoration:none!important;transition:transform .22s ease,box-shadow .22s ease;color:var(--card-ink,var(--blue-950));background:var(--card-bg)}
.studio-service--royal{--card-bg:var(--blue-700);--card-ink:var(--blue-50)}
.studio-service--sky{--card-bg:var(--blue-200)}
.studio-service--cyan{--card-bg:var(--blue-300)}
.studio-service--ice{--card-bg:var(--blue-100)}
.studio-service--navy{--card-bg:var(--blue-900);--card-ink:var(--blue-50)}
.studio-service--periwinkle{--card-bg:var(--blue-400)}
.studio-service:hover{color:var(--card-ink,var(--blue-950));transform:translateY(-4px);box-shadow:0 12px 25px color-mix(in srgb, var(--blue-950) 7.45%, transparent)}
.studio-service:focus-visible{outline:2px solid var(--blue-700)!important;outline-offset:4px}
.studio-service-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;letter-spacing:.055em;font-weight:600}
.studio-service-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb, var(--blue-50) 25.10%, transparent);font-size:21px;line-height:1}
.studio-service h3{font-family:var(--font-heading);font-size:30px;font-weight:600;line-height:1.04;letter-spacing:-.035em;color:inherit;margin:23px 0 31px}
.studio-service p{font-size:12px;line-height:1.65;color:inherit;max-width:310px;margin:auto 0 22px}
.studio-service-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid color-mix(in srgb, var(--blue-50) 31.37%, transparent);padding-top:13px;font-size:10px;font-weight:600;gap:8px}
.studio-service-bottom>span{font-size:18px}
.studio-formats{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;color:var(--blue-900)}
.studio-formats>span{font-size:9px;letter-spacing:.08em}
.studio-formats>div{display:flex;gap:24px;font-size:12px;font-weight:600}
.studio-formats a{color:var(--blue-900)}
.studio-formats a:hover{color:var(--blue-700)}
.studio-home .ns-impact{padding:78px 40px;background:var(--studio-paper)}
.studio-home .ns-impact-inner{max-width:1168px;grid-template-columns:1fr 1.8fr;gap:42px;background:none;border:0;border-radius:0;box-shadow:none;padding:0;color:var(--blue-950);overflow:visible}
.studio-home .ns-impact h2{font-size:33px;font-weight:650;line-height:1.1;color:var(--blue-950);max-width:310px}
.studio-home .ns-impact h2>span{color:var(--blue-700);margin-top:3px}
.studio-home .ns-impact-stat{padding:3px 22px;border-color:var(--blue-200)}
.studio-home .ns-impact-icon{display:none}
.studio-home .ns-impact-stat dd{font-size:62px;font-weight:500;color:var(--blue-700);line-height:1.1}
.studio-home .ns-impact-stat dd span{color:var(--blue-700)}
.studio-home .ns-impact-stat dt{font-size:12px;font-weight:600;color:var(--blue-950);margin-top:12px}
.studio-home .ns-impact-stat dt span{font-size:10px;color:var(--blue-900);line-height:1.6;max-width:170px}
.studio-home .ns-process{padding:80px 0 88px;background:var(--studio-paper)}
.studio-home .ns-process>.container{max-width:1248px}
.studio-home .ns-process-heading{text-align:left;margin-bottom:32px}
.studio-home .ns-process-heading .premium-eyebrow{justify-content:flex-start;margin:0 0 18px}
.studio-home .ns-process-heading h2{font-size:48px;font-weight:600;color:var(--blue-950)}
.studio-home .ns-process-heading h2>span{color:var(--blue-900)}
.studio-home .ns-process-steps{counter-reset:studio-step;gap:10px;margin-bottom:18px;grid-template-columns:repeat(6,minmax(0,1fr))}
.studio-home .ns-process-step{counter-increment:studio-step;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:11px;min-height:96px;padding:16px;border:1px solid var(--blue-200);border-radius:9px;background:var(--blue-50);color:var(--blue-900);box-shadow:none;text-align:left}
.studio-home .ns-process-step::before{content:"ÉTAPE 0" counter(studio-step);font-size:9px;letter-spacing:.06em;font-weight:500}
.studio-home .ns-process-step-label{font-size:16px;font-weight:600;line-height:1.2}
.studio-home .ns-process-step-icon,.studio-home .ns-process-dot,.studio-home .ns-process-rail{display:none}
.studio-home .ns-process-step.is-active{background:var(--blue-700);border-color:var(--blue-700);color:var(--blue-50);box-shadow:none}
.studio-home .ns-process-studio{border:1px solid var(--blue-200);border-radius:12px;background:var(--blue-50);box-shadow:none}
.studio-home .ns-process-panel{padding:20px;min-height:410px}
.studio-home .ns-process-content{padding:28px 35px 28px 10px}
.studio-home .ns-process-content h3{font-size:32px;font-weight:650;line-height:1.1;color:var(--blue-950)}
.studio-home .ns-process-description{font-size:15px;line-height:1.7;color:var(--blue-900)}
.studio-home .ns-process-result{font-size:12px;margin-top:25px;border-color:var(--blue-200)}
/* Case studies: full-photo cards, results and client signatures. */
body.studio-home .studio-results-section { padding:82px 0; background:transparent; }
.studio-results-header { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:32px; }
body.studio-home .studio-results-header .section-title { margin:0; max-width:790px; text-align:left; font-size:clamp(32px,3.4vw,46px); line-height:1.16; letter-spacing:-.045em; }
.studio-results-header .section-title span { color:var(--blue-800); }
.studio-results-proof { flex-shrink:0; margin:0 0 5px; color:var(--blue-950); font-size:13px; line-height:1.5; }
.studio-results-proof strong { font-weight:700; }
.studio-results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.studio-result-card { min-width:0; border-radius:12px; background:var(--blue-950); }
.studio-result-link { position:relative; isolation:isolate; display:flex; align-items:flex-end; width:100%; aspect-ratio:1.65; min-height:330px; overflow:hidden; border-radius:inherit; color:#fff; text-decoration:none; }
.studio-result-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 44%; transition:transform .65s cubic-bezier(.2,.65,.3,1); }
.studio-result-link::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#071a342b 0%,#071a3400 35%,#071a3478 65%,#030c1deb 100%); pointer-events:none; }
.studio-result-category { position:absolute; top:26px; left:28px; font-size:11px; font-weight:650; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; text-shadow:0 1px 8px #000a; }
.studio-result-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; width:100%; padding:28px; }
.studio-result-content { flex:1; min-width:0; max-width:340px; }
.studio-result-value { margin:0 0 8px; color:#fff; font-size:56px; font-weight:650; line-height:1; letter-spacing:-.045em; }
.studio-result-value.studio-result-copy { font-size:32px; line-height:1.08; letter-spacing:-.035em; }
.studio-result-description { margin:0; max-width:300px; color:#fff; font-size:15px; font-weight:450; line-height:1.45; }
.studio-result-brand { display:flex; align-items:flex-end; justify-content:flex-end; flex:0 0 126px; width:126px; margin:0 0 2px; }
.studio-result-brand img { display:block; width:auto; max-width:100%; height:auto; max-height:52px; object-fit:contain; filter:brightness(0) invert(1); }
.studio-result-card[data-case="maripoza"] .studio-result-photo { object-position:center 37%; }
.studio-result-card[data-case="avisofi"] .studio-result-photo { object-position:center 36%; }
.studio-result-link:focus-visible { outline:3px solid var(--blue-700); outline-offset:5px; }
@media(hover:hover) {
  .studio-result-link:hover .studio-result-photo { transform:scale(1.035); }
}
@media(max-width:1050px) {
  .studio-results-header { display:block; }
  .studio-results-proof { margin:18px 0 0; }
  .studio-result-bottom { padding:24px; gap:16px; }
  .studio-result-brand { flex-basis:96px; width:96px; }
  .studio-result-value { font-size:48px; }
  .studio-result-value.studio-result-copy { font-size:28px; }
  .studio-result-description { font-size:14px; }
}
@media(max-width:700px) {
  body.studio-home .studio-results-section { padding:55px 0; }
  .studio-results-header { margin-bottom:26px; }
  body.studio-home .studio-results-header .section-title { font-size:34px; }
  .studio-results-grid { grid-template-columns:1fr; gap:16px; }
  .studio-result-link { aspect-ratio:1.2; min-height:300px; }
  .studio-result-bottom { padding:22px; gap:16px; }
  .studio-result-category { top:23px; left:22px; font-size:10px; }
  .studio-result-brand { flex-basis:88px; width:88px; }
  .studio-result-brand img { max-height:42px; }
  .studio-result-value.studio-result-copy { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) {
  .studio-result-photo { transition:none; }
  .studio-result-link:hover .studio-result-photo { transform:none; }
}

.studio-home .ns-case-photo-section{padding:82px 0;background:var(--studio-paper);border:0}
.studio-home .case-studies-header{align-items:flex-start;gap:0;text-align:left;margin:0 0 32px;max-width:none}
.studio-home .case-studies-header .premium-eyebrow{justify-content:flex-start;margin-bottom:18px}
.studio-home .case-studies-section .section-title{font-size:48px;text-align:left;font-weight:600;max-width:750px;margin-left:0;margin-right:0}
.studio-home .case-studies-header .section-subtitle{margin:18px 0 0;max-width:570px;font-size:15px}
.studio-home .case-filters{justify-content:flex-start;margin-top:27px;gap:7px}
.studio-home .filter-btn{background:var(--blue-50);border:1px solid var(--blue-200);box-shadow:none;font-size:11px;min-height:36px;padding:8px 13px}
.studio-home .filter-btn.active{background:var(--blue-700);color:var(--blue-50);border-color:var(--blue-700);box-shadow:none}
.studio-home .ns-case-photo-section .ns-case-photo-grid{gap:20px}
.studio-home .ns-case-photo-section .ns-case-photo-card{border-radius:14px;background:color-mix(in srgb, var(--blue-50) 72.16%, transparent);border:1px solid var(--blue-200);box-shadow:none}
.studio-home .ns-case-photo-section .ns-case-photo-card:hover{background:var(--blue-50);border-color:var(--blue-300);box-shadow:0 10px 24px color-mix(in srgb, var(--blue-950) 6.27%, transparent)}
.studio-home .ns-case-photo-section .ns-case-photo-link{padding:13px 13px 0}
.studio-home .ns-case-photo-section .ns-case-photo-frame{aspect-ratio:1.24;border-radius:9px;border:0;box-shadow:none}
.studio-home .ns-case-photo-section .ns-case-photo-heading{margin-top:17px;gap:8px}
.studio-home .ns-case-photo-section .ns-case-photo-description{font-size:13px;line-height:1.6;min-height:3.2em;margin:12px 0 22px}
.studio-home .ns-case-photo-section .ns-case-photo-more{margin:auto -13px 0;padding:13px;min-height:58px;background:color-mix(in srgb, var(--blue-50) 54.90%, transparent);font-size:11px}
.studio-case-invitation{padding-top:0;padding-bottom:0}
.studio-home .ns-reels-case-cta{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px 40px;margin:0;padding:42px 0 50px;max-width:none;width:100%;border:0;border-bottom:1px solid var(--blue-200);background:none;border-radius:0;box-shadow:none;text-align:left}
.studio-home .ns-reels-case-badge{grid-column:1;font-size:10px;justify-content:flex-start;margin:0;background:none;border:0;color:var(--blue-900);padding:0}
.studio-home .ns-reels-case-cta h3{grid-column:1;grid-row:1/3;margin:0;font-size:27px;font-weight:650;line-height:1.16;max-width:500px}
.studio-home .ns-reels-case-cta>p{grid-column:2;grid-row:1/3;max-width:440px;margin:0;font-size:14px;padding:0;color:var(--blue-900)}
.studio-home .ns-reels-case-link{grid-column:2;justify-self:start;align-self:start;margin:0!important;font-size:11px;min-height:42px;padding:11px 16px;background:var(--blue-700);color:var(--blue-50);box-shadow:none;border:0}
.studio-home .testimonials-section{padding:82px 0;background:var(--studio-paper)}
.studio-home .testimonials-header{max-width:770px;margin:0 0 34px;text-align:left}
.studio-home .testimonials-header .premium-eyebrow{justify-content:flex-start;margin-bottom:18px}
.studio-home .testimonials-header .section-title{text-align:left}
.studio-home .testimonials-grid{gap:16px}
.studio-home .testimonial-card{background:var(--blue-50);border:1px solid var(--blue-200);border-radius:10px;padding:23px;box-shadow:none}
.studio-home .testimonial-quote{font-size:14px;line-height:1.75;color:var(--blue-900)}
.studio-home .testimonial-name{font-size:14px;color:var(--blue-950)}
.studio-home .testimonial-role{font-size:11px}
.studio-home .testimonial-stars{color:var(--blue-700)}
.studio-home .testimonials-fade{background:linear-gradient(transparent,var(--studio-paper))}
.studio-home .btn-outline{box-shadow:none;background:var(--blue-50);border-color:var(--blue-200);font-size:12px;min-height:44px}
.studio-home .faq-section{padding:82px 0;background:var(--studio-paper)}
.studio-home .faq-section>.container{grid-template-columns:.8fr 1.2fr;gap:70px}
.studio-home .faq-header .section-title{font-size:45px;font-weight:600;max-width:370px}
.studio-home .faq-header .premium-eyebrow{margin-bottom:18px}
.studio-home .faq-header .section-subtitle{font-size:14px;max-width:300px}
.studio-home .faq-item{border-color:var(--blue-200)}
.studio-home .faq-question{font-size:15px;padding:23px 0;color:var(--blue-950)}
.studio-home .faq-answer-inner{font-size:14px;color:var(--blue-900);line-height:1.7}
.studio-home .booking-section{padding:82px 0;background:var(--studio-paper)}
.studio-home .booking-header{max-width:800px;margin-bottom:31px}
.studio-home .booking-header .section-title{font-size:48px;font-weight:600}
.studio-home .booking-widget{border-radius:0;background:transparent;border:0;box-shadow:none;padding:0}
.studio-home #ns-booking-mount{border-radius:0;background:transparent;overflow:visible}
.studio-home .premium-booking-fallback{padding:15px 18px}
.studio-home .ns-final-cta{padding:0 40px 78px;background:var(--studio-paper)}
.studio-home .ns-final-cta>.container{max-width:1168px;padding:0}
.studio-home .ns-final-cta-card{border:0;border-radius:12px;background:var(--blue-300);box-shadow:none;padding:59px 40px 49px}
.studio-home .ns-final-cta-card h2{font-size:clamp(35px,4.2vw,57px);font-weight:600;line-height:1.06;letter-spacing:-.045em;color:var(--blue-950)}
.studio-home .ns-final-cta-card h2 span{color:var(--blue-700)}
.studio-home .ns-final-cta-description{font-size:15px;line-height:1.7;color:var(--blue-900)}
.studio-home .ns-final-cta-button{min-height:48px;padding:13px 22px;font-size:12px}
.studio-home .site-footer{background:var(--studio-paper);padding:54px 0 30px;border:0}
.studio-home .footer-logo{width:218px}
.studio-home .footer-contact{color:var(--blue-900)}
.studio-home .footer-social-link{background:color-mix(in srgb, var(--blue-50) 40.00%, transparent);border-color:color-mix(in srgb, var(--blue-700) 14.12%, transparent);color:var(--blue-900)}
.studio-home .footer-social-link:hover{background:var(--blue-700);color:var(--blue-50)}
.studio-home .footer-bottom p,.studio-home .footer-bottom-links a{color:var(--blue-900)}
.studio-home .footer-nav a:hover,.studio-home .footer-contact:hover,.studio-home .footer-bottom-links a:hover{color:var(--blue-700)}
.studio-home .mobile-nav{background:#fff}
.studio-home .footer-nav a{font-size:12px;color:var(--blue-900)}
.studio-home .footer-bottom{border-color:color-mix(in srgb, var(--blue-700) 14.12%, transparent)}
@media(min-width:1700px){.studio-home .ns-hero{padding-top:62px}.studio-home .ns-hero-title{font-size:74px}.studio-home .ns-reel{flex-basis:254px}}
@media(max-width:1050px){
 .studio-home .container,.studio-home .nav-container{padding-inline:28px}
 .studio-home .ns-hero{padding-top:45px}.studio-home .ns-hero-title{max-width:920px;font-size:60px}
 .studio-service{min-height:292px;padding:21px 19px 18px}.studio-service h3{font-size:28px}.studio-service-top{font-size:8px}.studio-service-bottom{font-size:9px}
 .studio-home .ns-impact{padding:64px 28px}.studio-home .ns-impact-inner{gap:22px;grid-template-columns:1fr 1.6fr}.studio-home .ns-impact-stat{padding-inline:14px}.studio-home .ns-impact-stat dd{font-size:48px}.studio-home .ns-impact h2{font-size:27px}
 .studio-home .ns-process-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-home .ns-process-step{min-height:76px;gap:7px}
 .studio-home .ns-process-panel{padding:12px;min-height:400px}.studio-home .ns-process-content{padding:22px}.studio-home .ns-process-content h3{font-size:29px}
 .studio-home .faq-section>.container{gap:38px}
}
@media(max-width:760px){
 :root{--header-h:67px}
 .studio-home .site-header,.studio-home .nav-container{height:67px}.studio-home .nav-logo-img{width:172px}.studio-home .ns-home-showcase{padding-top:67px}
 .studio-home .container,.studio-home .nav-container{padding-inline:22px}
 .studio-home .ns-hero{padding:41px 22px 29px}.studio-home .ns-hero-title{font-size:49px;max-width:650px;line-height:1.08;letter-spacing:-.05em}.studio-home .ns-hero-title br{display:none}
 .studio-home .ns-hero-content>.premium-eyebrow{font-size:9px;margin-bottom:17px}.studio-home .ns-hero-subtitle{font-size:16px;max-width:540px;margin-bottom:24px}
 .studio-home .ns-hero-ctas{gap:8px}.studio-home .ns-hero-ctas .ns-btn-primary,.studio-home .premium-secondary{font-size:11px;padding:11px 15px;min-height:44px}
 .studio-home .ns-hero-bottom{gap:17px}.studio-home .ns-reels{--reel-gap:11px;--reel-gutter:16px}.studio-home .ns-reel{flex-basis:190px}
 .studio-intro{padding:57px 0 22px}.studio-intro h2{font-size:37px;line-height:1.15}.studio-inline-film{width:62px;height:37px}
 .studio-home .ns-logos{padding:26px 0 45px}.studio-home .ns-logo-img{max-height:27px}.studio-home .ns-logos .marquee-track{gap:42px}.studio-home .ns-logos-label{font-size:10px;margin-bottom:23px}
 .studio-services{padding:55px 0}.studio-section-head{grid-template-columns:1fr;gap:17px;margin-bottom:27px}.studio-section-head>p{justify-self:start;max-width:390px;font-size:14px}.studio-section-head h2{font-size:39px}
 .studio-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.studio-service{min-height:270px;padding:20px 17px 16px}.studio-service h3{font-size:28px;margin:20px 0 24px}.studio-service-top{font-size:8px}.studio-service-icon{width:28px;height:28px;font-size:19px}.studio-service p{font-size:12px}
 .studio-formats{flex-direction:column;align-items:flex-start;gap:15px}.studio-formats>div{gap:20px;font-size:11px}
 .studio-home .ns-impact{padding:55px 22px}.studio-home .ns-impact-inner{grid-template-columns:1fr;gap:27px}.studio-home .ns-impact h2{font-size:32px;max-width:none}.studio-home .ns-impact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-home .ns-impact-stat{display:flex;flex-direction:column;align-items:flex-start;padding:0 14px;border-top:0;border-left:1px solid var(--blue-200)}.studio-home .ns-impact-stat:first-child{padding-left:0;border-left:0}.studio-home .ns-impact-stat dd{font-size:46px}.studio-home .ns-impact-stat dt{font-size:11px}.studio-home .ns-impact-stat dt span{font-size:9px}
 .studio-home .ns-process{padding:55px 0}.studio-home .ns-process-heading h2{font-size:38px}.studio-home .ns-process-step{padding:13px;min-height:75px}.studio-home .ns-process-step-label{font-size:15px}.studio-home .ns-process-step::before{font-size:8px}
 .studio-home .ns-process-panel{grid-template-columns:1fr;padding:8px 0 17px}.studio-home .ns-process-art{height:340px;max-width:420px}.studio-home .ns-process-content{padding:10px 24px 17px;min-height:0}.studio-home .ns-process-content h3{font-size:30px}.studio-home .ns-process-description{font-size:15px}
 .studio-home .ns-case-photo-section{padding:55px 0}.studio-home .case-studies-section .section-title{font-size:38px}.studio-home .case-studies-header .section-subtitle{font-size:14px}.studio-home .ns-case-photo-section .ns-case-photo-grid{gap:18px}
 .studio-home .ns-case-photo-section .ns-case-photo-description{font-size:14px;min-height:0}.studio-home .ns-case-photo-section .ns-case-photo-more{font-size:12px}
 .studio-home .ns-reels-case-cta{grid-template-columns:1fr;gap:15px;padding:32px 0 36px}.studio-home .ns-reels-case-badge,.studio-home .ns-reels-case-cta h3,.studio-home .ns-reels-case-cta>p,.studio-home .ns-reels-case-link{grid-column:1;grid-row:auto}.studio-home .ns-reels-case-cta h3{font-size:27px}.studio-home .ns-reels-case-link{width:auto!important}
 .studio-home .testimonials-section{padding:55px 0}.studio-home .testimonials-header .section-title{font-size:38px}.studio-home .testimonial-card{padding:22px}
 .studio-home .faq-section{padding:55px 0}.studio-home .faq-section>.container{grid-template-columns:1fr;gap:30px}.studio-home .faq-header .section-title{font-size:38px;max-width:none}.studio-home .faq-header{position:static}.studio-home .faq-question{font-size:14px;padding:21px 0}
 .studio-home .booking-section{padding:55px 0}.studio-home .booking-header .section-title{font-size:38px}.studio-home .premium-booking-fallback{padding:12px}
 .studio-home .ns-final-cta{padding:0 22px 55px}.studio-home .ns-final-cta-card{padding:39px 23px 35px}.studio-home .ns-final-cta-card h2{font-size:37px}.studio-home .ns-final-cta-description{font-size:14px}
 .studio-home .site-footer{padding:42px 0 26px}
}
@media(max-width:460px){
 .studio-home .ns-hero{padding:35px 19px 28px}.studio-home .ns-hero-title{font-size:42px}.studio-home .ns-hero-subtitle{font-size:14px}.studio-home .ns-hero-ctas .ns-btn-primary,.studio-home .premium-secondary{font-size:10px;padding-inline:12px}.studio-home .ns-hero-ctas .ns-btn-arrow{width:15px;height:15px;margin-left:5px}.studio-home .premium-secondary{gap:7px}
 .studio-home .ns-reel{flex-basis:174px}.studio-home .ns-reel-name{font-size:9px}.studio-home .ns-reel-caption>span:first-child{font-size:11px}.studio-home .ns-reel-category{font-size:8px}
 .studio-intro h2{font-size:33px}.studio-service-grid{grid-template-columns:1fr}.studio-service{min-height:265px;padding:24px}.studio-service h3{font-size:33px;margin:20px 0 28px}.studio-service-top{font-size:9px}.studio-service p{font-size:13px;max-width:none}.studio-service-bottom{font-size:11px}
 .studio-home .ns-impact-stat{padding-inline:10px}.studio-home .ns-impact-stat dd{font-size:40px}.studio-home .ns-impact-stat dt{font-size:10px}.studio-home .ns-impact-stat dt span{font-size:9px}
 .studio-home .ns-process-steps{gap:7px}.studio-home .ns-process-step{padding:11px;min-height:70px}.studio-home .ns-process-step-label{font-size:13px}.studio-home .ns-process-step::before{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.studio-service,.studio-service:hover{transition:none;transform:none}}

/* Six process cards, with the illustration beneath the copy. */
.studio-home .studio-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0;align-items:stretch}
.studio-process-item{min-width:0;display:flex}
.studio-process-card{display:flex;flex-direction:column;width:100%;min-width:0;overflow:hidden;border:1px solid var(--blue-200);border-radius:10px;background:color-mix(in srgb, var(--blue-50) 72.16%, transparent)}
.studio-home .ns-process--cards .ns-process-content{display:flex;flex-direction:column;flex:1;padding:25px 24px 0;min-height:0;animation:none}
.studio-process-number{display:flex;justify-content:space-between;gap:12px;margin:0 0 22px;color:var(--blue-700);font-size:11px;font-weight:600;line-height:1.4}
.studio-process-number span{color:var(--blue-900);font-weight:500}
.studio-home .ns-process--cards .ns-process-content h3{font-size:26px;line-height:1.12;font-weight:650;margin:0 0 17px;letter-spacing:-.04em;min-height:2.24em;color:var(--blue-950)}
.studio-home .ns-process--cards .ns-process-description{font-size:13px;line-height:1.65;color:var(--blue-900);max-width:none;margin:0 0 22px}
.studio-home .ns-process--cards .ns-process-result{font-size:11px;line-height:1.6;padding-top:15px;margin: auto 0 0;border-color:var(--blue-200);gap:7px;min-height:51px}
.studio-home .ns-process--cards .ns-process-result svg{width:14px;height:14px;flex-basis:14px}
.studio-home .ns-process--cards .ns-process-art{flex:none;width:100%;max-width:none;height:295px;padding:19px;margin:12px 0 0;animation:none}
.studio-home .ns-process--cards .ns-process-art::before{background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb, var(--blue-700) 7.45%, transparent),transparent 70%)}
.studio-home .ns-process--cards .ns-process-orbit-label{display:none}
.studio-home .ns-process--cards .ns-process-brief{width:245px;padding:19px;border-radius:7px}
.studio-home .ns-process--cards .ns-process-paper-top{margin-bottom:14px;font-size:7px}
.studio-home .ns-process--cards .ns-process-brief>strong{font-size:23px;margin-bottom:14px}
.studio-home .ns-process--cards .ns-process-brief-row{height:33px;font-size:10px}
.studio-home .ns-process--cards .ns-process-float-note{font-size:9px;padding:9px 10px;border-radius:6px}
.studio-home .ns-process--cards .ns-process-brief-note{right:15px;bottom:17px}
.studio-home .ns-process--cards .ns-process-cursor{width:25px;height:32px;right:45px;top:75px}
.studio-home .ns-process--cards .ns-process-concept-gallery{width:300px}
.studio-home .ns-process--cards .ns-process-concept-grid{gap:9px}
.studio-home .ns-process--cards .ns-process-concept-image{height:84px}
.studio-home .ns-process--cards .ns-process-concept-label{font-size:8px;min-height:28px}
.studio-home .ns-process--cards .ns-process-script{width:275px;padding:19px;border-radius:7px}
.studio-home .ns-process--cards .ns-process-type-line{font-size:21px}
.studio-home .ns-process--cards .ns-process-script-lines{margin:12px 0 16px;gap:6px}
.studio-home .ns-process--cards .ns-process-script-end{font-size:10px}
.studio-home .ns-process--cards .ns-process-idea-note{bottom:12px;left:19px}
.studio-home .ns-process--cards .ns-process-camera{width:270px;padding:12px}
.studio-home .ns-process--cards .ns-process-camera-frame{height:175px}
.studio-home .ns-process--cards .ns-process-camera-note{bottom:17px;right:16px}
.studio-home .ns-process--cards .ns-process-art-4{padding:14px}
.studio-home .ns-process--cards .ns-edit-suite{width:330px}
.studio-home .ns-process--cards .ns-process-tracking{width:300px;padding:18px;border-radius:7px}
.studio-home .ns-process--cards .ns-process-tracking>strong{font-size:21px}
.studio-home .ns-process--cards .ns-process-tracking-chart>svg{height:80px}
.studio-home .ns-process--cards .ns-process-tracking-metrics{gap:6px;margin-top:12px}
.studio-home .ns-process--cards .ns-process-tracking-metrics>div{padding:8px 6px}
.studio-home .ns-process--cards .ns-process-tracking-insight{margin-top:13px}
.studio-process-card:not(.is-in-view) .ns-process-art *{animation-play-state:paused!important}
@media(max-width:1000px){.studio-home .studio-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.studio-home .studio-process-grid{grid-template-columns:1fr;gap:16px}.studio-home .ns-process--cards .ns-process-content{padding:24px 23px 0}.studio-home .ns-process--cards .ns-process-content h3{font-size:27px;min-height:0}.studio-home .ns-process--cards .ns-process-description{font-size:14px}.studio-home .ns-process--cards .ns-process-result{min-height:0}.studio-home .ns-process--cards .ns-process-art{height:290px}.studio-process-number{margin-bottom:19px}}

/* One shared content width, from the header logo to the appointment button. */
:root{--studio-shell:1288px;--studio-gutter:40px;--studio-content:calc(var(--studio-shell) - 2 * var(--studio-gutter))}
.studio-home .container,.studio-home .nav-container,.studio-home .ns-process>.container{width:100%;max-width:var(--studio-shell);padding-inline:var(--studio-gutter);margin-inline:auto}
.studio-home .ns-hero,.studio-home .ns-impact,.studio-home .ns-final-cta{padding-inline:var(--studio-gutter)}
.studio-home .premium-hero-layout,.studio-home .ns-impact-inner{width:100%;max-width:var(--studio-content);margin-inline:auto}
.studio-home .ns-hero-content{width:100%;max-width:none}
.studio-home .ns-logos{width:calc(100% - 2 * var(--studio-gutter));max-width:var(--studio-content);margin-inline:auto}
.studio-home .ns-reels{width:100%;max-width:none;margin-inline:0;--reel-gutter:0px}
.studio-home .ns-reels-track{padding-inline:0}
.studio-home .booking-widget{width:100%;max-width:none}
.studio-home .ns-final-cta>.container{width:100%;max-width:var(--studio-content);padding-inline:0}
@media(max-width:1050px){:root{--studio-gutter:28px}}
@media(max-width:760px){:root{--studio-gutter:22px}}

/* FAQ uses the page's blue surface, with room around questions and answers. */
.studio-home .faq-list{gap:10px;border-top:0}
.studio-home .faq-item{background:transparent;border:1px solid color-mix(in srgb, var(--blue-700) 16.08%, transparent);border-radius:10px;overflow:hidden}
.studio-home .faq-item:hover,.studio-home .faq-item.active{background:color-mix(in srgb, var(--blue-700) 1.96%, transparent);border-color:color-mix(in srgb, var(--blue-700) 27.06%, transparent)}
.studio-home .faq-question{padding:22px;gap:20px}
.studio-home .faq-answer-inner{padding:0 22px 22px}
.studio-home .faq-icon{flex:0 0 28px;margin:0;background:transparent;border-color:color-mix(in srgb, var(--blue-700) 20.00%, transparent);color:var(--blue-700)}
.studio-home .faq-item.active .faq-icon{background:var(--blue-700);border-color:var(--blue-700);color:var(--blue-50)}
@media(max-width:760px){.studio-home .faq-question{padding:19px 18px;gap:15px}.studio-home .faq-answer-inner{padding:0 18px 20px}}

/* Complete Blue Ribbon theme: semantic aliases also cover inherited components. */
body.studio-home {
  --on-brand:#fff; /* White keeps small CTA labels above 4.5:1 on translucent blue 700. */
  --brand:var(--blue-700); --accent:var(--blue-700); --cobalt:var(--blue-700);
  --brand-deep:var(--blue-800); --brand-darker:var(--blue-900);
  --accent-hover:var(--blue-800); --brand-light:var(--blue-400);
  --brand-lighter:var(--blue-300); --brand-fade:var(--blue-100);
  --accent-tint:var(--blue-100); --gradient-end:var(--blue-400);
  --accent-light:color-mix(in srgb,var(--blue-700) 8%,transparent);
  --accent-glow:color-mix(in srgb,var(--blue-700) 25%,transparent);
  --bg-light:var(--blue-50); --bg-soft:var(--blue-100);
  --bg-muted:var(--blue-100); --bg-tint:var(--blue-50); --bg-card:var(--blue-50);
  --border-light:var(--blue-200); --border-soft:var(--blue-200);
  --text-primary:var(--blue-950); --ink:var(--blue-950);
  --text-secondary:var(--blue-900); --text-muted:var(--blue-900); --muted:var(--blue-900);
  --grey-100:var(--blue-50); --grey-200:var(--blue-200); --grey-500:var(--blue-900);
  --star-color:var(--blue-700); --btn-secondary-hover:var(--blue-200);
  --btn-pressed-bg:var(--blue-900); --btn-pressed-text:var(--blue-50);
  --dark-bg:var(--blue-950); --dark-bg-end:var(--blue-900); --dark-text:var(--blue-50);
  --dark-text-secondary:var(--blue-200); --dark-text-muted:var(--blue-300);
  --dark-border:color-mix(in srgb,var(--blue-300) 25%,transparent);
  --dark-glass:color-mix(in srgb,var(--blue-300) 8%,transparent);
  --shadow-xs:0 1px 3px color-mix(in srgb,var(--blue-950) 4%,transparent);
  --shadow-sm:0 2px 8px color-mix(in srgb,var(--blue-950) 5%,transparent);
  --shadow-md:0 8px 40px color-mix(in srgb,var(--blue-950) 7%,transparent);
  --shadow-lg:0 24px 65px color-mix(in srgb,var(--blue-950) 10%,transparent);
}
body.studio-home ::selection { background:var(--blue-300); color:var(--blue-950); }
body.studio-home :is(a,button):focus-visible { outline-color:var(--blue-700); }

/* Main controls stay saturated, with the slightly transparent finish requested. */
body.studio-home a[href="#prendre-rendez-vous"]:is(.nav-cta-primary,.ns-btn-primary) {
  background:color-mix(in srgb,var(--blue-700) 95%,transparent)!important;
  color:var(--on-brand)!important;
  border-color:color-mix(in srgb,var(--blue-50) 40%,transparent)!important;
  box-shadow:0 2px 9px color-mix(in srgb,var(--blue-950) 7%,transparent)!important;
}
body.studio-home a[href="#prendre-rendez-vous"]:is(.nav-cta-primary,.ns-btn-primary):hover {
  background:color-mix(in srgb,var(--blue-800) 95%,transparent)!important;
  border-color:var(--blue-300)!important;
  box-shadow:0 3px 12px color-mix(in srgb,var(--blue-950) 8%,transparent)!important;
}
body.studio-home a[href="#prendre-rendez-vous"]:is(.nav-cta-primary,.ns-btn-primary):active {
  background:var(--blue-900)!important;
  box-shadow:none!important;
}
body.studio-home :is(.premium-secondary,.btn-outline) { background:var(--blue-50); border-color:var(--blue-200); color:var(--blue-900); }
body.studio-home :is(.premium-secondary,.btn-outline):hover { background:var(--blue-200); border-color:var(--blue-300); color:var(--blue-950); }
body.studio-home :is(.premium-secondary,.btn-outline):active { background:var(--blue-300); color:var(--blue-950); }
body.studio-home .ns-reels-case-link:hover { background:var(--blue-800); color:var(--blue-50); }
body.studio-home .filter-btn { color:var(--blue-900); }
body.studio-home .filter-btn:hover { background:var(--blue-200); border-color:var(--blue-300); color:var(--blue-950); }
body.studio-home .filter-btn.active { background:var(--blue-700); color:var(--on-brand); border-color:var(--blue-700); }
body.studio-home :is(.ns-trust-clients-copy,.ns-hero-trust .ns-trust-clients-copy,.ns-final-cta-card .ns-trust-clients-copy) { color:var(--blue-900); }
body.studio-home :is(.ns-trust-clients-copy strong,.ns-hero-trust .ns-trust-clients-copy strong) { color:var(--blue-950); }
body.studio-home :is(.ns-trust-clients-stars,.ns-hero-trust .ns-trust-clients-stars,.ns-final-cta-card .ns-trust-clients-stars) { color:var(--blue-700); }
body.studio-home :is(.ns-trust-client-logos img,.ns-hero-trust .ns-trust-client-logos img,.ns-final-cta-card .ns-trust-client-logos img) { border-color:var(--blue-50); }

/* Services deliberately use distinct steps from the same blue scale. */
body.studio-home .studio-service { --card-ink:var(--blue-950); }
body.studio-home .studio-service--royal { --card-bg:var(--blue-700); --card-ink:var(--on-brand); }
body.studio-home .studio-service--sky { --card-bg:var(--blue-200); }
body.studio-home .studio-service--cyan { --card-bg:var(--blue-400); }
body.studio-home .studio-service--ice { --card-bg:var(--blue-800); --card-ink:var(--blue-50); }
body.studio-home .studio-service--navy { --card-bg:var(--blue-900); --card-ink:var(--blue-50); }
body.studio-home .studio-service--periwinkle { --card-bg:var(--blue-300); }
body.studio-home .studio-service-bottom { border-color:color-mix(in srgb,currentColor 22%,transparent); }
body.studio-home .studio-service-icon { background:color-mix(in srgb,var(--blue-50) 30%,transparent); }

/* Glass surfaces share the same pale blue and clearly defined blue edges. */
body.studio-home .studio-process-card { background:color-mix(in srgb,var(--blue-50) 88%,transparent); border-color:var(--blue-200); }
/* Reviews need their own surface against the pale page background. */
body.studio-home .testimonial-card {
  background:#fff;
  border:1px solid var(--blue-200);
  border-top:3px solid var(--blue-600);
  box-shadow:0 6px 20px color-mix(in srgb,var(--blue-900) 9%,transparent);
}
body.studio-home .testimonial-card:hover {
  border-color:var(--blue-300);
  border-top-color:var(--blue-700);
  box-shadow:0 10px 26px color-mix(in srgb,var(--blue-900) 13%,transparent);
}
body.studio-home .testimonial-name { color:var(--blue-950); font-size:15px; font-weight:700; }
body.studio-home .testimonial-quote { color:var(--blue-950); font-size:15px; line-height:1.75; }
body.studio-home .testimonial-avatar { box-shadow:0 0 0 3px var(--blue-100); }
body.studio-home .testimonial-company-badge { background:#fff; border-color:#fff; }
body.studio-home .testimonial-role { color:var(--blue-900); }
body.studio-home .testimonial-avatar { box-shadow:0 0 0 4px var(--blue-100); }
body.studio-home .ns-case-photo-section .ns-case-photo-card { background:color-mix(in srgb,var(--blue-50) 88%,transparent); border-color:var(--blue-200); }
body.studio-home .ns-case-photo-section .ns-case-photo-card:is(:hover,:focus-within) { background:var(--blue-50); border-color:var(--blue-300); box-shadow:var(--shadow-md); }
body.studio-home .ns-case-photo-card::before { background:linear-gradient(130deg,var(--blue-50),transparent 35%,color-mix(in srgb,var(--blue-50) 15%,transparent) 68%,var(--blue-50)); }
body.studio-home .ns-case-photo-section .ns-case-photo-type { background:var(--blue-100); border-color:var(--blue-200); color:var(--blue-900); box-shadow:none; }
body.studio-home .ns-case-photo-section .ns-case-photo-description { color:var(--blue-900); }
body.studio-home .ns-case-photo-section .ns-case-photo-description strong { color:var(--blue-950); }
body.studio-home .ns-case-photo-section .ns-case-photo-more { background:color-mix(in srgb,var(--blue-100) 50%,transparent); border-color:var(--blue-200); color:var(--blue-800); box-shadow:none; }
body.studio-home .ns-case-photo-section .ns-case-photo-more svg { background:var(--blue-50); border-color:var(--blue-200); color:var(--blue-700); box-shadow:none; }
body.studio-home .ns-case-photo-section .ns-case-photo-link:hover .ns-case-photo-more svg { background:var(--blue-700); border-color:var(--blue-700); color:var(--blue-50); }
body.studio-home .faq-item { border-color:var(--blue-200); }
body.studio-home .faq-item:is(:hover,.active) { background:color-mix(in srgb,var(--blue-50) 50%,transparent); border-color:var(--blue-300); }
body.studio-home .faq-icon { border-color:var(--blue-300); }
body.studio-home .premium-booking-fallback { color:var(--blue-950); border-color:var(--blue-200); }
body.studio-home .premium-booking-fallback a { color:var(--blue-800); }
body.studio-home .ns-final-cta-card { color:var(--blue-950); background:var(--blue-200); }

/* Navigation, including the services panel and the mobile menu. */
body.studio-home .mega-menu { background:#fff; border-color:var(--blue-200); box-shadow:var(--shadow-lg); }
body.studio-home .mega-card { background:var(--blue-50); border-color:var(--blue-200); }
body.studio-home .mega-card:hover { border-color:var(--blue-400); box-shadow:var(--shadow-md); }
body.studio-home .mega-card-visual.ns-mega-visual { background:var(--blue-100); }
body.studio-home .mega-side-list li { border-color:var(--blue-200); }
body.studio-home .mega-tag-solid { background:var(--blue-700); color:var(--blue-50); }
body.studio-home .mega-tag-light { background:var(--blue-100); color:var(--blue-800); }
body.studio-home .mobile-nav-link { color:var(--blue-950); }
body.studio-home .mobile-nav-link:hover { color:var(--blue-700); }

/* Process illustrations: paper, selection states, script, camera and dashboard. */
body.studio-home :is(.ns-process-brief,.ns-process-script,.ns-process-tracking,.ns-process-concept-thumb,.ns-process-float-note) { background:var(--blue-50); border-color:var(--blue-200); box-shadow:var(--shadow-md); color:var(--blue-950); }
body.studio-home :is(.ns-process-paper-top,.ns-process-brief-row,.ns-process-concept-label,.ns-process-script-end,.ns-process-tracking-top,.ns-process-tracking-top>span:last-child,.ns-process-tracking-insight,.ns-process-tracking-metrics span) { color:var(--blue-900); }
body.studio-home .ns-process-brief-row { border-color:var(--blue-200); }
body.studio-home .ns-process-brief-row>span { color:var(--blue-800); }
body.studio-home .ns-process-brief-row>i { background:var(--blue-100); }
body.studio-home .ns-process-brief-row>i::after { border-color:var(--blue-700); }
body.studio-home .ns-process-float-note { color:var(--blue-800); }
body.studio-home .ns-process-concept-thumb.is-hovered { box-shadow:var(--shadow-md); }
body.studio-home .ns-process-concept-thumb.is-selected { border-color:var(--blue-700); box-shadow:0 0 0 1px var(--blue-700),var(--shadow-sm); }
body.studio-home .ns-process-concept-image { background:var(--blue-200); }
body.studio-home .ns-process-concept-check { color:var(--blue-50); border-color:var(--blue-50); }
body.studio-home .ns-process-script-tag { color:var(--blue-800); }
body.studio-home .ns-process-script-lines i { background:var(--blue-200); }
body.studio-home .ns-process-idea-note { background:var(--blue-100); }
body.studio-home .ns-process-camera { background:var(--blue-950); color:var(--blue-50); box-shadow:var(--shadow-lg); }
body.studio-home .ns-process-camera-frame { background:var(--blue-900); }
body.studio-home .ns-process-camera-bottom { color:var(--blue-200); }
body.studio-home .ns-process-audio-bars i { background:var(--blue-300); }
body.studio-home .ns-edit-preview-frame { background:var(--blue-950); }
body.studio-home .ns-process-tracking-top i { background:var(--blue-600); }
body.studio-home .ns-process-tracking-grid { stroke:var(--blue-200); }
body.studio-home .ns-process-tracking-area { fill:color-mix(in srgb,var(--blue-500) 12%,transparent); }
body.studio-home .ns-process-tracking-scan { background:color-mix(in srgb,var(--blue-400) 25%,transparent); }
body.studio-home .ns-process-tracking-metrics>div { background:var(--blue-100); border-color:var(--blue-200); }
body.studio-home .ns-process-tracking-metrics i { background:var(--blue-500); }
body.studio-home .ns-trust-clients-stars svg { color:var(--blue-700); }
body.studio-home .ns-case-photo-frame { background:var(--blue-200); }
body.studio-home .testimonial-avatar { border-color:var(--blue-50); }
body.studio-home .mega-menu-side { border-color:var(--blue-200); }

body.studio-home .ns-reels-case-link { color:var(--on-brand); }

/* One decorative map spans the hero and the upper part of the video strip. */
body.studio-home .ns-hero::before { display:none; }
body.studio-home .ns-home-showcase { --studio-map-width:min(1850px,128vw); }
body.studio-home .ns-home-showcase::before {
  content:"";
  display:block;
  position:absolute;
  inset:40px 0 auto;
  height:calc(var(--studio-map-width) * 580 / 1440);
  z-index:0;
  pointer-events:none;
  background:var(--blue-500);
  opacity:.12;
  -webkit-mask-image:url("hero-world-dots.svg");
  mask-image:url("hero-world-dots.svg");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center top;
  mask-position:center top;
  -webkit-mask-size:var(--studio-map-width) auto;
  mask-size:var(--studio-map-width) auto;
}
body.studio-home .ns-home-showcase > :is(.ns-hero,.ns-reels) {
  position:relative;
  z-index:1;
}
@media(max-width:760px) {
  body.studio-home .ns-home-showcase { --studio-map-width:1100px; }
  body.studio-home .ns-home-showcase::before {
    top:130px;
    opacity:.10;
  }
}

/* A single sky-blue-to-white canvas keeps the gradient continuous between sections. */
body.studio-home {
  isolation:isolate;
  background:#fff;
  --studio-page-gradient:linear-gradient(120deg,var(--blue-100) 0%,var(--blue-50) 16%,#fff 45%);
}
body.studio-home::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:var(--studio-page-gradient);
}
body.studio-home :is(.ns-home-showcase,.studio-services,.ns-impact,.ns-process,.ns-case-photo-section,.testimonials-section,.faq-section,.booking-section,.ns-final-cta,.site-footer) {
  background:transparent;
}
body.studio-home .site-header { background:transparent; }
body.studio-home .site-header.scrolled { background:color-mix(in srgb,#fff 78%,transparent); }
body.studio-home .mobile-nav { background:#fff; }
/* Fade reviews into the shared canvas, without a flat-color band. */
body.studio-home .testimonials-fade { display:none; }
body.studio-home .testimonials-grid-wrapper:not(.expanded) {
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 110px),transparent 100%);
  mask-image:linear-gradient(to bottom,#000 calc(100% - 110px),transparent 100%);
}

/* A clearly separated, brand-navy footer closes the light page. */
body.studio-home .site-footer {
  background:var(--blue-950);
  color:var(--blue-50);
  border-top:1px solid var(--blue-900);
}
body.studio-home :is(.footer-logo img,.footer-watermark img) { filter:brightness(0) invert(1); }
body.studio-home .footer-watermark {
  opacity:.06;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000d 35%,#0006 70%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000d 35%,#0006 70%,transparent 100%);
}
body.studio-home .footer-nav a { color:var(--blue-100); }
body.studio-home .footer-contact { color:var(--blue-50); }
body.studio-home :is(.footer-bottom p,.footer-bottom-links a) { color:var(--blue-200); }
body.studio-home :is(.footer-nav a,.footer-contact,.footer-bottom-links a):hover { color:var(--blue-300); }
body.studio-home .footer-social-link {
  color:var(--blue-100);
  background:color-mix(in srgb,var(--blue-300) 10%,transparent);
  border-color:color-mix(in srgb,var(--blue-300) 30%,transparent);
}
body.studio-home .footer-social-link:hover {
  background:var(--blue-700);
  border-color:var(--blue-500);
  color:#fff;
}
body.studio-home .footer-bottom { border-color:color-mix(in srgb,var(--blue-300) 24%,transparent); }
body.studio-home .site-footer a:focus-visible { outline-color:var(--blue-300); }

/* Header spans the viewport, with a precise 50 px inset on both sides. */
body.studio-home .nav-container {
  max-width:none;
  padding-inline:50px;
}
body.studio-home .nav-links { gap:clamp(12px,1.5vw,26px); }
body.studio-home :is(.nav-links>a,.nav-dropdown-trigger) {
  font-size:16px;
  font-weight:500;
  padding-inline:14px;
}
body.studio-home .site-header .nav-cta-primary { font-size:15px; }

/* Shared 4 px button corners, including hover, active and mobile variants. */
body.studio-home { --radius-btn:4px; }
body.premium-home.studio-home :is(
  button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"],
  .btn,.ns-btn-primary,.ns-btn-secondary,.nav-cta-primary,.premium-secondary,
  .ns-final-cta-button,.filter-btn,.cta-btn-outline,.premium-booking-fallback>a,
  .footer-social-link,.faq-icon,.realisations-nav-btn,.floating-cta
),
body.premium-home.studio-home a[href="#prendre-rendez-vous"]:is(.nav-cta-primary,.ns-btn-primary),
body.studio-home .ns-case-photo-section .ns-case-photo-more svg {
  border-radius:4px!important;
}

/* Every CTA uses the navbar's typography, sizing and flat glass finish. */
body.premium-home.studio-home .studio-cta {
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  height:45px;
  min-height:45px;
  padding:12px 24px;
  gap:8px;
  font-family:var(--font);
  font-size:15px;
  font-weight:700;
  line-height:18px;
  letter-spacing:-.01em;
  text-transform:none;
  white-space:nowrap;
  text-decoration:none!important;
  background:color-mix(in srgb,var(--blue-700) 95%,transparent)!important;
  color:var(--on-brand)!important;
  border:1px solid color-mix(in srgb,var(--blue-50) 40%,transparent)!important;
  border-radius:4px!important;
  box-shadow:0 2px 9px color-mix(in srgb,var(--blue-950) 7%,transparent)!important;
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  backdrop-filter:blur(20px) saturate(140%);
  text-shadow:none!important;
  transform:none!important;
  filter:none!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body.premium-home.studio-home .studio-cta:hover {
  background:color-mix(in srgb,var(--blue-800) 95%,transparent)!important;
  color:var(--on-brand)!important;
  border-color:var(--blue-300)!important;
  box-shadow:0 3px 12px color-mix(in srgb,var(--blue-950) 8%,transparent)!important;
}
body.premium-home.studio-home .studio-cta:active {
  background:var(--blue-900)!important;
  box-shadow:none!important;
}
body.premium-home.studio-home .studio-cta :is(.nav-cta-arrow,.ns-btn-arrow) {
  flex:0 0 15px;
  width:15px;
  height:15px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
body.premium-home.studio-home .studio-cta svg {
  flex-shrink:0;
  width:15px;
  height:15px;
}
body.studio-home .studio-cta:hover .nav-cta-text-default { transform:translateY(-100%); }
body.studio-home .studio-cta:hover .nav-cta-text-hover { transform:translateY(0); }
body.studio-home .studio-cta:hover .nav-cta-arrow-default { transform:translate(140%,-140%); }
body.studio-home .studio-cta:hover .nav-cta-arrow-hover { transform:translate(0,0); }
@media(prefers-reduced-motion:reduce) {
  body.premium-home.studio-home .studio-cta,
  body.premium-home.studio-home .studio-cta * { transition:none; }
}

/* Reviews and client logos share one brand-blue social-proof section. */
body.studio-home .studio-proof { padding:88px 0 72px; }
.studio-proof-stage { position:relative; isolation:isolate; }
.studio-proof-stage::before {
  content:""; position:absolute; inset:-35px -28px -16px; z-index:-1; pointer-events:none;
  border-radius:24px;
  background:radial-gradient(ellipse at 4% 90%,var(--blue-100),transparent 44%),radial-gradient(ellipse at 95% 80%,var(--blue-100),transparent 42%),linear-gradient(120deg,var(--blue-50),#fff 70%);
}
.studio-proof-stage::after {
  content:""; position:absolute; width:500px; height:650px; left:-360px; top:-240px;
  border:1px solid var(--blue-200); border-radius:50%; z-index:-1; pointer-events:none; opacity:.28;
  box-shadow:0 0 0 24px #b5dfff44,0 0 0 48px #b5dfff33,0 0 0 72px #b5dfff22;
  transform:rotate(24deg);
}
.studio-proof-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:34px; }
body.studio-home .studio-proof-heading .section-title { margin:0; max-width:870px; font-size:clamp(34px,3.5vw,49px); }
.studio-proof-heading h2 span { color:var(--blue-700); }
.studio-proof-heading p { margin:16px 0 0; color:var(--blue-900); font-size:15px; line-height:1.6; }
.studio-proof-controls { display:flex; flex:0 0 auto; gap:10px; padding-bottom:2px; }
.studio-proof-controls[hidden],.studio-proof-pagination[hidden] { display:none; }
body.studio-home .studio-proof-controls button {
  display:grid; place-items:center; width:44px; height:44px; padding:0;
  border:1px solid var(--blue-200); background:#fff; color:var(--blue-700);
  cursor:pointer; transition:background .2s,border-color .2s,opacity .2s;
}
body.studio-home .studio-proof-controls .studio-proof-next { background:var(--blue-700); border-color:var(--blue-700); color:#fff; }
.studio-proof-controls svg { width:20px; height:20px; }
.studio-proof-prev svg { transform:rotate(180deg); }
body.studio-home .studio-proof-controls button:hover:not(:disabled) { background:var(--blue-800); border-color:var(--blue-800); color:#fff; }
body.studio-home .studio-proof-controls button:disabled { opacity:.35; cursor:default; }
.studio-proof-viewport {
  position:relative; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); gap:20px;
  overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
  scrollbar-width:none; padding:0 0 18px; align-items:stretch;
}
.studio-proof-viewport::-webkit-scrollbar { display:none; }
.studio-proof-viewport:focus-visible { outline:2px solid var(--blue-700); outline-offset:5px; border-radius:16px; }
.studio-proof-card {
  display:flex; flex-direction:column; min-width:0; min-height:324px; gap:21px; padding:26px;
  scroll-snap-align:start; background:#fff; border:1px solid var(--blue-100); border-radius:16px;
  box-shadow:0 6px 16px color-mix(in srgb,var(--blue-950) 4%,transparent);
}
.studio-proof-card-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.studio-proof-quote-mark { width:28px; height:25px; color:var(--blue-200); }
.studio-proof-stars { display:flex; align-items:center; gap:3px; color:var(--blue-700); }
.studio-proof-stars svg { width:14px; height:14px; }
.studio-proof-quote { margin:0; padding:0; border:0; font-style:normal; }
.studio-proof-quote p { margin:0; color:var(--blue-950); font-size:15px; line-height:1.7; }
.studio-proof-author { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:5px; }
.studio-proof-avatar { flex:0 0 42px; width:42px; height:42px; border:2px solid var(--blue-100); border-radius:50%; overflow:hidden; }
.studio-proof-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.studio-proof-name { margin:0 0 3px; color:var(--blue-950); font-size:14px; font-weight:700; line-height:1.4; }
.studio-proof-role { margin:0; color:var(--blue-900); font-size:12px; line-height:1.5; }
.studio-proof-pagination { display:flex; justify-content:center; align-items:center; gap:2px; margin:5px 0 28px; }
body.studio-home .studio-proof-pagination button {
  position:relative; display:block; width:26px; height:28px; border:0; padding:0; background:transparent; cursor:pointer;
}
.studio-proof-pagination button::before { content:""; position:absolute; width:6px; height:6px; top:11px; left:10px; border-radius:50%; background:var(--blue-200); transition:background .2s,transform .2s; }
.studio-proof-pagination button[aria-current="true"]::before { background:var(--blue-700); transform:scale(1.35); }
.studio-proof-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.studio-proof-logos {
  display:flex; align-items:stretch; gap:0; padding:0; margin-top:30px;
  border-block:1px solid var(--blue-100); background:transparent;
}
.studio-logo-intro { display:flex; flex-direction:column; align-items:center; flex:0 0 224px; align-self:center; padding:18px 25px 18px 0; border-right:1px solid var(--blue-100); }
.studio-logo-intro p { margin:6px 0 0; color:var(--blue-900); font-size:13px; line-height:1.4; white-space:nowrap; }
.studio-logo-rating-stars { display:flex; gap:4px; color:var(--blue-700); margin-top:10px; }
.studio-logo-rating-stars svg { display:block; width:15px; height:15px; }
.studio-logo-intro strong { color:var(--blue-950); font-weight:650; }
.studio-logo-avatars { display:flex; align-items:center; padding-left:6px; }
.studio-logo-avatars img { display:block; width:36px; height:36px; object-fit:cover; border:2px solid #fff; border-radius:50%; margin-left:-6px; box-shadow:0 0 0 1px var(--blue-100); }
.studio-logo-window { flex:1 1 auto; min-width:0; display:flex; align-items:center; overflow:hidden; padding-block:20px; mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent); }
.studio-logo-track { display:flex; flex:0 0 auto; width:max-content; animation:studio-client-logos 46s linear infinite; }
.studio-logo-group { display:flex; align-items:center; gap:42px; padding-right:42px; flex-shrink:0; }
.studio-client-logo { display:flex; align-items:center; justify-content:center; flex:0 0 112px; width:112px; height:42px; }
body.studio-home .studio-proof-logos .ns-logo-img { width:auto; max-width:112px; height:auto; max-height:33px; object-fit:contain; filter:none; opacity:1; }
/* The supplied Biux artwork is a light wordmark; use its dark silhouette on the pale canvas. */
body.studio-home .studio-proof-logos img[src$="/img/logo-biux.svg"] { filter:brightness(0); }
.studio-logo-window:focus-visible { outline:2px solid var(--blue-700); outline-offset:-3px; }
@keyframes studio-client-logos { to { transform:translateX(-50%); } }
body.studio-home .studio-proof .ns-trustpilot { margin-top:23px; }
@media(max-width:1050px) {
  .studio-proof-viewport { grid-auto-columns:calc((100% - 20px)/2); }
  .studio-proof-heading { gap:24px; }
}
@media(max-width:760px) {
  body.studio-home .studio-proof { padding:65px 0 45px; }
  .studio-proof-stage::before { inset:-24px -12px -10px; border-radius:18px; }
  .studio-proof-stage::after { display:none; }
  .studio-proof-heading { align-items:flex-start; gap:22px; flex-wrap:wrap; margin-bottom:24px; }
  body.studio-home .studio-proof-heading .section-title { font-size:36px; }
  .studio-proof-heading p { font-size:14px; margin-top:13px; }
  .studio-proof-heading>div:first-child { flex:1 1 280px; }
  .studio-proof-controls { margin-left:auto; }
  .studio-proof-card { padding:23px; min-height:345px; }
}
@media(max-width:600px) {
  .studio-proof-viewport { grid-auto-columns:calc(100% - 20px); gap:14px; }
  .studio-proof-pagination { gap:0; }
}
@media(prefers-reduced-motion:reduce) {
  .studio-proof-controls button,.studio-proof-pagination button::before { transition:none; }
}

/* Keep the proof block beside a single logo row on small screens, too. */
@media(max-width:760px) {
  .studio-logo-intro { flex-basis:170px; padding:16px 12px 16px 0; }
  .studio-logo-intro p { font-size:12px; }
  .studio-logo-rating-stars svg { width:14px; height:14px; }
  .studio-logo-avatars img { width:32px; height:32px; }
  .studio-logo-group { gap:28px; padding-right:28px; }
  .studio-client-logo { flex-basis:98px; width:98px; }
  body.studio-home .studio-proof-logos .ns-logo-img { max-width:98px; max-height:29px; }
  .studio-logo-window { mask-image:linear-gradient(to right,transparent,#000 15px,#000 calc(100% - 15px),transparent); }
}
@media(prefers-reduced-motion:reduce) {
  .studio-logo-window { overflow-x:auto; }
  .studio-logo-track { animation:none; }
  .studio-logo-group[aria-hidden="true"] { display:none; }
}

/* A clear six-step process: one light illustration, one idea per card. */
body.studio-home .studio-process-clean .studio-process-grid { gap:20px; }
body.studio-home .studio-process-clean .studio-process-card {
  background:#fff; border:1px solid color-mix(in srgb,var(--blue-950) 5%,transparent);
  border-radius:20px; box-shadow:0 6px 24px color-mix(in srgb,var(--blue-950) 3%,transparent);
}
body.studio-home .studio-process-clean .ns-process-content { padding:8px 26px 29px; flex:1; }
body.studio-home .studio-process-clean .studio-process-number {
  justify-content:flex-start; align-items:center; gap:10px; margin:0 0 11px;
  font-size:11px; line-height:1.4; font-weight:700; color:var(--blue-700);
}
body.studio-home .studio-process-clean .studio-process-number span { color:var(--blue-900); font-weight:500; }
body.studio-home .studio-process-clean .studio-process-number span::before { content:"/"; margin-right:10px; color:var(--blue-200); }
body.studio-home .studio-process-clean .ns-process-content h3 {
  font-size:23px; font-weight:650; line-height:1.25; letter-spacing:-.035em; min-height:0; margin:0 0 10px;
}
body.studio-home .studio-process-clean .ns-process-description { font-size:15px; line-height:1.6; color:#526784; margin:0; }
.studio-step-visual {
  position:relative; display:grid; place-items:center; flex:none; width:100%; height:246px; overflow:hidden;
}
.studio-step-visual::before {
  content:""; position:absolute; width:290px; height:210px; left:50%; top:50%; transform:translate(-50%,-50%);
  background:radial-gradient(ellipse,var(--blue-100) 0%,color-mix(in srgb,var(--blue-50) 70%,transparent) 45%,transparent 72%);
  opacity:.75; pointer-events:none;
}
.studio-step-scene { position:relative; width:300px; height:220px; color:var(--blue-950); font-family:var(--font-body); }
.studio-step-mini-label { display:block; font-size:8px; line-height:1.4; letter-spacing:.09em; font-weight:600; color:#6e819b; }
.studio-step-float { animation:studio-step-float 7s ease-in-out infinite; }
.studio-step-chip {
  position:absolute; display:flex; align-items:center; gap:6px; padding:9px 12px; background:#fff; border:1px solid var(--blue-100);
  border-radius:7px; box-shadow:0 5px 12px #0e2a5d08; font-size:10px; line-height:1.3; font-weight:600; color:var(--blue-800);
}
.studio-step-chip svg { width:13px; height:13px; }
.studio-step-dashboard,.studio-step-editor {
  position:absolute; background:#fff; border:1px solid #e5edf6; box-shadow:0 12px 24px #0e2a5d0a; border-radius:10px;
}
/* Launch call: a miniature meeting with alternating speakers. */
.studio-meet { position:absolute; width:280px; left:10px; top:19px; padding:12px; background:white; border:1px solid #e5edf6; border-radius:12px; box-shadow:0 12px 24px #0e2a5d0a; }
.studio-meet-header { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-bottom:11px; }
.studio-meet-title { display:flex; align-items:center; gap:5px; font-size:9px; font-weight:600; color:var(--blue-950); }
.studio-meet-title>svg { width:15px; height:15px; color:var(--blue-700); }
.studio-meet-live { display:flex; align-items:center; gap:4px; color:var(--blue-800); font-size:7px; white-space:nowrap; }
.studio-meet-live i { width:4px; height:4px; border-radius:50%; background:var(--blue-500); animation:studio-meet-live 3s ease-in-out infinite; }
.studio-meet-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.studio-meet-person { position:relative; display:grid; place-items:center; height:109px; border-radius:8px; background:linear-gradient(135deg,var(--blue-50),#f6fbff); border:1.5px solid transparent; overflow:hidden; }
.studio-meet-person-team { animation:studio-meet-speaker 8s ease-in-out infinite; }
.studio-meet-person-client { background:linear-gradient(135deg,#edf7ff,var(--blue-100)); animation:studio-meet-speaker 8s ease-in-out -4s infinite; }
.studio-meet-avatar { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; margin-top:-8px; box-shadow:0 0 0 5px #ffffff90; }
.studio-meet-avatar-team { background:var(--blue-700); color:white; font-size:18px; font-weight:650; letter-spacing:-.06em; }
.studio-meet-avatar-client { background:#fff; color:var(--blue-800); }
.studio-meet-avatar-client svg { width:25px; height:25px; stroke-width:1.4; }
.studio-meet-name { position:absolute; left:8px; bottom:8px; font-size:8px; font-weight:500; line-height:1; color:var(--blue-950); }
.studio-meet-voice { position:absolute; right:7px; bottom:7px; display:flex; align-items:center; gap:2px; height:10px; color:var(--blue-700); }
.studio-meet-voice i { display:block; width:2px; height:8px; background:currentColor; border-radius:2px; transform:scaleY(.3); animation:studio-meet-voice 8s ease-in-out infinite; }
.studio-meet-voice i:nth-child(2) { height:11px; animation-name:studio-meet-voice-middle; }
.studio-meet-voice i:nth-child(3) { height:6px; }
.studio-meet-person-client .studio-meet-voice i { animation-delay:-4s; }
.studio-meet-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:11px; }
.studio-meet-time { width:28px; font-size:7px; color:#6e819b; font-variant-numeric:tabular-nums; }
.studio-meet-controls { display:flex; align-items:center; gap:5px; }
.studio-meet-controls>span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--blue-50); color:var(--blue-950); }
.studio-meet-controls>span>svg { width:12px; height:12px; }
.studio-meet-controls>.studio-meet-hangup { width:32px; border-radius:14px; color:white; background:var(--blue-700); }
.studio-meet-hangup>svg { width:15px!important; }
.studio-meet-more { display:flex; justify-content:flex-end; width:28px; color:#6e819b; }
.studio-meet-more>svg { width:14px; height:14px; }
@keyframes studio-meet-live { 0%,100% { opacity:1; } 50% { opacity:.4; } }
@keyframes studio-meet-speaker { 0%,42%,100% { border-color:var(--blue-500); } 48%,94% { border-color:transparent; } }
@keyframes studio-meet-voice { 0%,10%,20%,30%,40% { transform:scaleY(.45); } 5%,15%,25%,35% { transform:scaleY(1); } 48%,94% { transform:scaleY(.2); } 100% { transform:scaleY(.45); } }
@keyframes studio-meet-voice-middle { 0%,10%,20%,30%,40% { transform:scaleY(1); } 5%,15%,25%,35% { transform:scaleY(.55); } 48%,94% { transform:scaleY(.2); } 100% { transform:scaleY(1); } }
/* Concept: three formats, one chosen direction. */
.studio-step-ideas { position:absolute; display:flex; align-items:center; justify-content:center; gap:6px; inset:22px 0 36px; }
.studio-step-idea { position:relative; width:87px; padding:4px; border-radius:10px; border:1px solid #e4ebf4; background:white; box-shadow:0 8px 16px #0e2a5d0c; }
.studio-step-idea:first-child { transform:rotate(-9deg) translateY(7px); }
.studio-step-idea:last-child { transform:rotate(9deg) translateY(7px); }
.studio-step-idea img { display:block; width:100%; height:121px; object-fit:cover; object-position:center 35%; border-radius:6px; }
.studio-step-idea>span { display:block; font-size:7.5px; text-align:center; line-height:1.4; padding:8px 0 4px; white-space:nowrap; }
.studio-step-idea-picked { z-index:1; border-color:var(--blue-700); box-shadow:0 0 0 1px var(--blue-700),0 10px 20px #0265ff16; animation:studio-step-pick 7s ease-in-out infinite; }
.studio-step-idea-picked>i { position:absolute; top:-8px; right:-8px; width:21px; height:21px; display:grid; place-items:center; background:var(--blue-700); border:2px solid white; border-radius:50%; color:white; }
.studio-step-idea-picked>i svg { width:14px; height:14px; }
.studio-step-idea-chip { left:50%; bottom:7px; white-space:nowrap; transform:translateX(-50%); }
/* Script: collaborative highlights and two gentle editing cursors. */
.studio-script-board { position:absolute; left:10px; top:14px; display:flex; flex-direction:column; gap:7px; }
.studio-script-line {
  display:flex; align-items:center; gap:10px; width:216px; height:32px; padding:6px 10px;
  margin-left:var(--indent); border-radius:5px; background:linear-gradient(90deg,var(--blue-50),#f9fcff);
  animation:studio-script-row 8s ease-in-out infinite; animation-delay:var(--delay);
}
.studio-script-highlight {
  display:block; padding:2px 5px; border-radius:2px; font-size:12px; font-weight:500; line-height:1.3;
  white-space:nowrap; color:var(--blue-950); background:var(--blue-100);
  background-image:linear-gradient(var(--blue-200),var(--blue-200)); background-repeat:no-repeat; background-size:100% 100%;
  animation:studio-script-highlight 8s ease-in-out infinite; animation-delay:var(--delay);
}
.studio-script-line:nth-child(2) .studio-script-highlight { background-image:linear-gradient(#83ceff85,#83ceff85); }
.studio-script-line:nth-child(3) .studio-script-highlight { background-image:linear-gradient(#48b2ff45,#48b2ff45); }
.studio-script-line:nth-child(4) .studio-script-highlight { background-image:linear-gradient(#0674ff30,#0674ff30); }
.studio-script-line:nth-child(5) .studio-script-highlight { background-image:linear-gradient(#83ceff70,#83ceff70); }
.studio-script-index { color:var(--blue-800); font-size:10px; font-weight:500; opacity:.6; }
.studio-script-cursor { position:absolute; left:0; top:0; width:21px; height:25px; z-index:2; pointer-events:none; }
.studio-script-cursor>svg { display:block; width:100%; height:100%; filter:drop-shadow(0 2px 2px #0e2a5d14); }
.studio-script-cursor>span { position:absolute; top:23px; left:10px; padding:4px 6px; color:#fff; background:currentColor; border-radius:3px; font-size:8px; font-weight:600; line-height:1; white-space:nowrap; box-shadow:0 2px 4px #0e2a5d12; }
.studio-script-cursor-team { color:var(--blue-700); transform:translate(206px,48px); animation:studio-script-team 8s ease-in-out infinite; }
.studio-script-cursor-team>span { background:var(--blue-700); }
.studio-script-cursor-client { color:var(--blue-950); transform:translate(17px,113px); animation:studio-script-client 8s ease-in-out infinite; }
.studio-script-cursor-client>span { left:-9px; background:var(--blue-950); }
@keyframes studio-script-row { 0%,100% { opacity:.72; } 12%,72% { opacity:1; } }
@keyframes studio-script-highlight { 0%,6% { background-size:0% 100%; } 18%,82% { background-size:100% 100%; } 100% { background-size:0% 100%; } }
@keyframes studio-script-team {
  0%,12%,100% { transform:translate(206px,48px); }
  27%,39% { transform:translate(217px,89px); }
  52%,64% { transform:translate(225px,127px); }
  77%,88% { transform:translate(214px,169px); }
}
@keyframes studio-script-client {
  0%,18%,100% { transform:translate(17px,113px); }
  36%,58% { transform:translate(37px,151px); }
  76%,88% { transform:translate(7px,75px); }
}
/* Filming: one image in a calm camera viewfinder. */
.studio-step-camera { position:absolute; width:247px; height:171px; top:23px; left:25px; background:var(--blue-950); padding:5px; border-radius:11px; box-shadow:0 12px 24px #0e2a5d14; overflow:hidden; }
.studio-step-camera>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 31%; border-radius:7px; }
.studio-step-camera::after { content:""; position:absolute; inset:5px; border-radius:7px; background:linear-gradient(#0e2a5d35,transparent 40%,transparent 60%,#0e2a5d55); pointer-events:none; }
.studio-step-camera-top { position:absolute; z-index:1; top:16px; left:17px; right:17px; display:flex; justify-content:space-between; color:white; font-size:8px; }
.studio-step-camera-top>span:first-child { display:flex; align-items:center; gap:5px; }
.studio-step-camera-top i { width:5px; height:5px; background:#fff; border-radius:50%; animation:studio-step-rec 2s ease-in-out infinite; }
.studio-step-focus { position:absolute; z-index:1; width:61px; height:66px; top:50%; left:50%; transform:translate(-50%,-50%); background:linear-gradient(white,white) left top/12px 1px no-repeat,linear-gradient(white,white) left top/1px 12px no-repeat,linear-gradient(white,white) right top/12px 1px no-repeat,linear-gradient(white,white) right top/1px 12px no-repeat,linear-gradient(white,white) left bottom/12px 1px no-repeat,linear-gradient(white,white) left bottom/1px 12px no-repeat,linear-gradient(white,white) right bottom/12px 1px no-repeat,linear-gradient(white,white) right bottom/1px 12px no-repeat; }
.studio-step-camera-time { position:absolute; z-index:1; bottom:16px; left:17px; color:white; font-size:8px; letter-spacing:.06em; }
.studio-step-sound { position:absolute; z-index:1; bottom:16px; right:17px; display:flex; align-items:end; gap:3px; height:15px; }
.studio-step-sound i { height:14px; width:2px; background:white; transform-origin:bottom; animation:studio-step-sound .9s ease-in-out infinite alternate; animation-delay:calc(var(--i) * -.17s); }
.studio-step-camera-chip { bottom:9px; right:17px; animation:studio-step-chip-float 7s ease-in-out infinite; }
/* Editing: a miniature timeline with a moving playhead. */
.studio-step-editor { width:245px; top:13px; left:27px; padding:13px; }
.studio-step-editor-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.studio-step-editor-play { color:var(--blue-700); font-size:9px; }
.studio-step-editor-preview { position:relative; height:91px; border-radius:5px; overflow:hidden; background:var(--blue-50); }
.studio-step-editor-preview img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 32%; }
.studio-step-editor-preview span { position:absolute; bottom:9px; left:0; width:100%; text-align:center; color:white; text-shadow:0 1px 5px #000; font-size:9px; font-weight:700; }
.studio-step-timeline { position:relative; margin-top:12px; display:grid; gap:4px; }
.studio-step-clips,.studio-step-captions { display:flex; gap:4px; }
.studio-step-clips i { height:16px; flex:1; border-radius:3px; background:var(--blue-200); }
.studio-step-clips i:nth-child(2) { flex:1.5; background:var(--blue-400); }
.studio-step-clips i:last-child { background:var(--blue-300); }
.studio-step-captions i { height:6px; flex:1; border-radius:2px; background:var(--blue-100); }
.studio-step-captions i:last-child { flex:1.7; }
.studio-step-timeline>svg { display:block; width:100%; height:17px; color:var(--blue-500); background:var(--blue-50); border-radius:3px; }
.studio-step-playhead { position:absolute; width:1px; top:-4px; bottom:-3px; left:8%; background:var(--blue-700); animation:studio-step-scrub 7s ease-in-out infinite; }
.studio-step-playhead::before { content:""; position:absolute; width:5px; height:6px; top:0; left:-2px; border-radius:1px; background:var(--blue-700); }
/* Tracking: an illustrative trend, without invented results. */
.studio-step-dashboard { width:254px; left:23px; top:20px; padding:16px 18px 12px; }
.studio-step-dashboard>strong { display:block; font-size:15px; letter-spacing:-.035em; margin-top:8px; }
.studio-step-chart { margin:10px 0 7px; }
.studio-step-chart svg { display:block; width:100%; height:72px; overflow:visible; }
.studio-step-chart-line { stroke-dasharray:1; animation:studio-step-chart 7s ease-in-out infinite; }
.studio-step-chart-point { animation:studio-step-check 7s ease-in-out infinite; transform-origin:236px 10px; }
.studio-step-metrics { display:flex; justify-content:space-between; font-size:8px; color:#6e819b; }
.studio-step-results-chip { bottom:4px; right:6px; animation:studio-step-chip-float 7s ease-in-out infinite; }
.studio-step-visual * { animation-play-state:paused; }
.studio-process-clean.is-animating .studio-process-card.is-in-view .studio-step-visual * { animation-play-state:running; }
@keyframes studio-step-float { 0%,100% { translate:0 0; } 50% { translate:0 -5px; } }
@keyframes studio-step-chip-float { 0%,100% { translate:0 0; } 50% { translate:0 4px; } }
@keyframes studio-step-check { 0%,8% { opacity:.15; transform:scale(.6); } 20%,100% { opacity:1; transform:scale(1); } }
@keyframes studio-step-pick { 0%,100% { transform:translateY(-3px); } 45%,65% { transform:translateY(-10px); } }
@keyframes studio-step-rec { 0%,100% { opacity:1; } 50% { opacity:.25; } }
@keyframes studio-step-sound { from { transform:scaleY(.3); } to { transform:scaleY(1); } }
@keyframes studio-step-scrub { 0% { left:8%; } 85%,100% { left:94%; } }
@keyframes studio-step-chart { 0%,10% { stroke-dashoffset:1; } 65%,100% { stroke-dashoffset:0; } }
@media(max-width:1000px) {
  body.studio-home .studio-process-clean .studio-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  body.studio-home .studio-process-clean .studio-process-grid { grid-template-columns:1fr; gap:18px; }
  body.studio-home .studio-process-clean .ns-process-content { padding:5px 24px 27px; }
  body.studio-home .studio-process-clean .ns-process-content h3 { font-size:23px; }
  .studio-step-visual { height:239px; }
}
@media(max-width:360px) {
  .studio-step-scene { transform:scale(.87); }
  .studio-step-visual { height:220px; }
  body.studio-home .studio-process-clean .ns-process-content { padding-inline:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .studio-process-clean .studio-step-visual * { animation:none!important; }
}
