/* The studio keeps its real footage and tour within the bright brand system. */
:root { --ink:#173550; --night:#fff; --panel:#f0f8ff; --blue:#0074de; --sky:#0062c9; --muted:#506780; --line:#d4e6f5; --radius:1.5rem; }
html { color-scheme:light; scroll-padding-top:25px; }
body { color:var(--ink); background:#fff; }
.site-header { position:relative; background:#fff; border-bottom:1px solid var(--line); color:var(--ink); }
.brand img,footer img { filter:none; }
.site-header nav a { opacity:1; }
.language-switch a[aria-current="page"] { background:#eaf5ff; border-color:#b9d9f6; color:var(--blue-deep,#0059b8); }
.button { background:linear-gradient(145deg,#0074de,#0062c9); box-shadow:inset 0 1px 2px #fff6,0 8px 0 #0075e80a,0 13px 26px #0075e825; }
.button:hover { background:#0062c9; }
.hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:center; gap:4vw; padding:55px 5vw 65px; min-height:690px; background:radial-gradient(ellipse at 85% 30%,#d9eeff,transparent 55%),#f8fcff; }
.hero-content,html[lang="fr"] .hero-content { width:auto; margin:0; padding:0; min-width:0; }
h1,html[lang="fr"] h1 { font-size:clamp(2.6rem,4.4vw,4.8rem); line-height:1.15; letter-spacing:-.03em; }
html[lang="ar"] h1 { line-height:1.4; letter-spacing:0; }
h1 em { color:var(--blue); }
.hero-copy { color:var(--muted); font-size:1.0625rem; line-height:1.9; }
.hero-shade { display:none; }
.studio-hero-media { position:relative; aspect-ratio:1.08; min-width:0; border:9px solid white; border-radius:32px; overflow:hidden; box-shadow:0 25px 60px #176bbd25,12px 15px 0 #cce8ff; background:#e6f4ff url('/studio-assets/media/studio-light.webp') center/cover; }
.hero-video { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; }
.eyebrow,.kicker { font-size:.875rem; color:#0062c9; }
.text-link { color:#005dbf; border-color:#98c8ee; }
.hero-proof { margin-top:2rem; gap:14px; }
.hero-proof strong { color:var(--ink); font-size:.9375rem; }
.hero-proof span { font-size:.875rem; line-height:1.8; }
.hero-proof div { padding-inline:0; }
.hero-proof div+div,html[lang="fr"] .hero-proof div+div { border:0; padding:0; }
.trust-band { border-bottom:1px solid var(--line); color:#476884; }
.brand-divider { padding:20px 5vw 0; overflow:hidden; background:#fff; }
.brand-divider img { width:100%; max-width:1500px; max-height:300px; object-fit:contain; margin:auto; animation:brand-float 9s ease-in-out infinite; }
@keyframes brand-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
.section { padding:70px 5vw; }
.section-heading h2,.proof-copy h2,.booking h2,html[lang="fr"] .section-heading h2,html[lang="fr"] .proof-copy h2,html[lang="fr"] .booking h2 { font-size:clamp(2.2rem,3.7vw,3.8rem); line-height:1.25; }
html[lang="ar"] h2 { line-height:1.45; letter-spacing:0; }
.formats-grid { gap:20px; }
.format-card { background:#fff; border:1px solid var(--line); box-shadow:0 12px 30px #1657910c; }
.format-body span { font-size:.875rem; }
.set-section { background:#eef8ff; color:var(--ink); border-radius:50px 50px 0 0; }
.set-note strong { color:var(--ink); }
.studio-tour { background:#fff; border-color:#cce2f5; box-shadow:0 20px 55px #1657911f; }
.tour-controls { color:var(--ink); }
.decor-control>label { color:var(--ink); }
.tour-controls button { background:#f0f8ff; color:#0759a9; border-color:#bfdbf3; }
.tour-controls button:hover { color:#fff; background:var(--blue); }
.tour-status { color:var(--muted); }
.set-label,.tour-badge { color:#fff; }
.tour-badge { color:#dcefff; }
.tour-controls :focus-visible { outline-color:var(--blue); }
.steps { border-color:var(--line); }
.steps li { border-color:var(--line); }
.steps b { font-size:1rem; }
.package-section { background:linear-gradient(180deg,#f6fbff,#e9f5ff); }
.packages { gap:20px; }
.package { background:#fff; color:var(--ink); border:1px solid #cde4f8; box-shadow:0 12px 32px #155e9d0c; }
.package.accent { background:linear-gradient(150deg,#f4fbff,#e1f1ff); border:2px solid #81c4ff; box-shadow:0 18px 38px #0075e822; }
.package>p,.package.accent>p { color:#0062c9; font-size:.875rem; }
.package li,.package.accent li { color:var(--muted); font-size:1rem; }
.outline-button { color:#0062c9; background:#f6fbff; border-color:#a7d1f3; }
.outline-button:hover { color:#fff; background:var(--blue); }
.proof-section { background:white; }
.proof-video { border:7px solid white; border-radius:26px; box-shadow:0 18px 45px #16579125; }
.proof-video span { color:#fff; }
.booking { color:var(--ink); background:radial-gradient(ellipse at 10% 50%,#cce9ff,transparent 65%),#eef8ff; padding:75px 5vw; border-top:1px solid var(--line); }
.booking-copy>p:not(.kicker) { color:var(--muted); }
.phone { color:#005dbf; }
form { border:1px solid #d3e6f7; box-shadow:0 20px 50px #176bbd14; }
label { font-size:.9375rem; }
.form-note { color:var(--muted); font-size:.875rem; }
footer { border-top:1px solid var(--line); }
.privacy-settings { color:var(--muted); }
.mobile-cta { color:var(--ink); background:#ffffffed; border-top:1px solid #b8d8f3; box-shadow:0 -8px 30px #1657910d; }
.mobile-cta a { color:#fff; }
.mobile-cta b { font-size:.9375rem; }
.mobile-cta small { font-size:.8125rem; }
@media(max-width:1000px) {
  .hero { grid-template-columns:1fr; gap:35px; padding-block:40px; min-height:0; }
  .hero-content,html[lang="fr"] .hero-content { max-width:820px; }
  .studio-hero-media { width:100%; max-width:740px; justify-self:center; aspect-ratio:1.7; }
  .hero-proof { grid-template-columns:repeat(3,1fr); }
}
@media(max-width:600px) {
  .hero { padding:35px 20px 40px; }
  .hero-content,html[lang="fr"] .hero-content { margin:0; }
  h1,html[lang="fr"] h1 { font-size:clamp(2.4rem,9vw,3.1rem); }
  .hero-copy { font-size:1rem; }
  .hero-proof { grid-template-columns:1fr; gap:15px; }
  .hero-proof div { flex-direction:row; flex-wrap:wrap; gap:6px 12px; }
  .hero-proof div+div { margin-top:0; }
  .hero-proof span { font-size:.875rem; }
  .studio-hero-media { aspect-ratio:1.35; border-width:5px; border-radius:24px; }
  .section,.booking { padding:50px 20px; }
  .brand-divider { padding-inline:0; }
  .brand-divider img { min-height:130px; object-fit:cover; }
  .section-heading h2,.proof-copy h2,.booking h2,html[lang="fr"] .section-heading h2,html[lang="fr"] .proof-copy h2,html[lang="fr"] .booking h2 { font-size:2.2rem; }
  .set-section { border-radius:32px 32px 0 0; }
  .package { padding:25px; }
  .mobile-cta a { font-size:.875rem; }
  .site-header { padding-inline:20px; }
}
@media(prefers-reduced-motion:reduce) { .brand-divider img { animation:none; } }
