/* HeadRoom Audio Solutions : feuille de styles du site. Partie 1 : utilitaires Tailwind CSS v3.4 compilés. Partie 2 : styles propres au site. */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Outfit,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.relative{position:relative}.inset-x-0{left:0;right:0}.top-0{top:0}.z-40{z-index:40}.order-1{order:1}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.mb-12{margin-bottom:3rem}.mb-6{margin-bottom:1.5rem}.mb-9{margin-bottom:2.25rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-\[68px\]{height:68px}.min-h-\[100svh\]{min-height:100svh}.w-\[132px\]{width:132px}.w-\[150px\]{width:150px}.w-\[min\(300px\2c 72vw\)\]{width:min(300px,72vw)}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-14{gap:3.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.self-start{align-self:flex-start}.whitespace-nowrap{white-space:nowrap}.border-t{border-top-width:1px}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.bg-hr{background-color:rgb(64 18 104/var(--tw-bg-opacity,1))}.bg-hr,.bg-ink{--tw-bg-opacity:1}.bg-ink{background-color:rgb(10 10 12/var(--tw-bg-opacity,1))}.bg-mist{--tw-bg-opacity:1;background-color:rgb(246 242 250/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-7{padding:1.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-24{padding-top:6rem;padding-bottom:6rem}.pb-10{padding-bottom:2.5rem}.pb-28{padding-bottom:7rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-7{padding-top:1.75rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.text-\[\#5E4478\]{--tw-text-opacity:1;color:rgb(94 68 120/var(--tw-text-opacity,1))}.text-lilac{--tw-text-opacity:1;color:rgb(205 182 236/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/55{color:hsla(0,0%,100%,.55)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/85{color:hsla(0,0%,100%,.85)}@media (min-width:640px){.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:w-\[150px\]{width:150px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-9{padding:2.25rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-start-8{grid-column-start:8}.md\:flex{display:flex}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:self-auto{align-self:auto}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:pb-12{padding-bottom:3rem}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-start-8{grid-column-start:8}.lg\:w-full{width:100%}.lg\:max-w-\[460px\]{max-width:460px}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:items-center{align-items:center}.lg\:pt-28{padding-top:7rem}}
/* Polices */
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/outfit-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/outfit-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/outfit-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/outfit-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/outfit-latin-800-normal.woff2) format('woff2')}

/* Styles du site */
:root{
    --hr:#401268; --hr-deep:#2C0C49; --hr-mid:#5B2C8C; --lilac:#CDB6EC; --mist:#F6F2FA;
    --ink:#0A0A0C; --ink2:#141416; --line-w:rgba(255,255,255,.18); --line-p:rgba(64,18,104,.16);
  }
  html{scroll-behavior:smooth; scroll-padding-top:72px; background:var(--hr)}
  body{background:#fff; color:var(--hr); font-family:'Outfit',system-ui,sans-serif; letter-spacing:.02em; -webkit-font-smoothing:antialiased; overflow-x:hidden}
  ::selection{background:var(--hr); color:#fff}
  :focus-visible{outline:2px solid var(--lilac); outline-offset:3px; border-radius:6px}
  .on-white :focus-visible{outline-color:var(--hr)}
  p{text-wrap:pretty}
  .skip{position:absolute; left:-9999px; top:12px}
  .skip:focus{left:12px; z-index:100; background:#fff; color:var(--hr); padding:.6rem 1rem; border-radius:999px; font-weight:600}

  /* Logo (vectorisé depuis la plaquette) */
  .logo{display:block; height:auto; fill:currentColor}
  .tagline{font-weight:400; letter-spacing:.21em; text-transform:uppercase}

  /* Logos partenaires : fichiers de la plaquette, utilisés en masque pour prendre la couleur du texte */
  .lg{display:inline-block; flex:none; height:calc(var(--h) * var(--s,1)); aspect-ratio:var(--ar); background:currentColor;
    -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat}
  .lg-f1{-webkit-mask-image:url(../img/logos/funktion-one.png); mask-image:url(../img/logos/funktion-one.png); --ar:270/22; --h:13px}
  .lg-xi{-webkit-mask-image:url(../img/logos/xilica.png); mask-image:url(../img/logos/xilica.png); --ar:130/33; --h:19px}
  .lg-ah{-webkit-mask-image:url(../img/logos/allen-heath.png); mask-image:url(../img/logos/allen-heath.png); --ar:264/38; --h:18px}
  .lg-ffa{-webkit-mask-image:url(../img/logos/ffa.png); mask-image:url(../img/logos/ffa.png); --ar:128/49; --h:26px}
  .partners{--s:.8; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px 34px}
  @media (min-width:768px){ .partners{--s:1; justify-content:space-between; gap:24px 56px} }
  .hero-partners{border-top:1px solid rgba(255,255,255,.16); padding:22px 0 26px; color:rgba(255,255,255,.9)}
  .fn-lg{--s:.7; display:block; margin-bottom:.5rem}

  /* Header */
  .topbar{transition:background-color .3s, box-shadow .3s}
  .topbar.is-scrolled{background:var(--hr); box-shadow:0 1px 0 rgba(255,255,255,.12)}
  .nav-link{color:rgba(255,255,255,.78); font-size:.95rem; transition:color .2s}
  .nav-link:hover{color:#fff}
  .icon-link{width:42px; height:42px; display:grid; place-items:center; border-radius:999px; color:#fff; border:1.5px solid rgba(255,255,255,.4); transition:background-color .2s, color .2s, border-color .2s}
  .icon-link:hover{background:#fff; color:var(--hr); border-color:#fff}

  /* Buttons */
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:.6rem; font-weight:600; font-size:1rem; letter-spacing:.03em; padding:.95rem 1.5rem; border-radius:999px; white-space:nowrap; transition:transform .2s, background-color .2s, color .2s, border-color .2s}
  .btn:hover{transform:translateY(-1px)}
  .btn-sm{padding:.6rem 1.05rem; font-size:.9rem}
  .btn-white{background:#fff; color:var(--hr); border:1.5px solid #fff}
  .btn-white:hover{background:var(--lilac); border-color:var(--lilac)}
  .btn-ghost{color:#fff; border:1.5px solid rgba(255,255,255,.55)}
  .btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,.08)}
  .btn-purple{background:var(--hr); color:#fff; border:1.5px solid var(--hr)}
  .btn-purple:hover{background:var(--hr-deep); border-color:var(--hr-deep)}

  /* Hero */
  .hero{position:relative; min-height:100vh; min-height:100svh; overflow:hidden; cursor:crosshair; background:var(--hr); color:#fff}
  .hero a{cursor:pointer}
  #field{position:absolute; inset:0; width:100%; height:100%; display:block; opacity:.85}
  .hero-shade{position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(0deg, var(--hr) 0%, rgba(64,18,104,.85) 18%, rgba(64,18,104,0) 55%);}
  .hero-title{font-weight:700; font-size:clamp(2.45rem,6.2vw,5.6rem); line-height:1.02; letter-spacing:-.012em; text-wrap:balance}
  .baby{display:block; width:100%; height:auto}
  .reveal{opacity:0; transform:translateY(14px); animation:rise .9s cubic-bezier(.16,.84,.24,1) forwards; animation-delay:calc(var(--d,0) * 110ms + 100ms)}
  @keyframes rise{to{opacity:1; transform:none}}
  .readout{display:flex; align-items:center; gap:.7rem; color:var(--lilac); font-size:.82rem}
  .beat{width:9px; height:9px; border-radius:50%; background:#fff; opacity:.35; flex:none}

  /* Définition */
  .def-head{font-size:clamp(1.05rem,1.6vw,1.25rem); font-weight:700}
  .def-word{text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:2px}
  .def-text{font-weight:500; font-size:clamp(1.75rem,3.6vw,3rem); line-height:1.16; letter-spacing:-.005em; text-wrap:balance}
  .photo{width:100%; height:auto; border-radius:20px; background:#fff}
  .label{font-weight:700; text-transform:uppercase; letter-spacing:.073em; font-size:.88rem}

  /* Titres */
  .h2{font-weight:700; font-size:clamp(2.5rem,5.4vw,4.4rem); line-height:1; letter-spacing:-.015em; text-wrap:balance}
  .h3{font-weight:700; font-size:1.6rem; line-height:1.1; letter-spacing:-.005em}

  /* Caractéristiques */
  .traits{display:grid; gap:0; border-top:2px solid var(--hr)}
  @media (min-width:768px){ .traits{grid-template-columns:repeat(2,1fr); column-gap:2.5rem} .trait-wide{grid-column:1/-1} }
  .trait{padding:1.5rem 0 1.6rem; border-bottom:1px solid var(--line-p)}
  .trait-t{font-weight:700; font-size:1.3rem; line-height:1.15}
  .trait p{margin-top:.5rem; line-height:1.6; color:#5E4478}
  .cov{display:flex; flex-wrap:wrap; gap:1rem 3rem; margin-top:.9rem}
  .spec-val{display:block; font-weight:700; font-size:clamp(1.9rem,3.2vw,2.6rem); line-height:1; letter-spacing:-.01em; white-space:nowrap}
  .spec-lab{display:block; margin-top:.4rem; font-size:.95rem; color:#5E4478}

  /* Plans techniques */
  .plan{display:block; width:auto; height:auto; max-width:100%}
  .plan-iso{max-height:300px}
  .plan-front{max-height:340px}
  @media (min-width:1024px){ .plan-iso{max-height:500px} .plan-front{max-height:470px} }

  /* Spécificités : barre déroulante */
  .acc-bar{position:relative; overflow:hidden; display:flex; align-items:center; gap:1.1rem; width:100%; text-align:left; cursor:pointer;
    padding:1.25rem 1.4rem; border-radius:18px; background-color:var(--hr); color:#fff;
    background-image:radial-gradient(rgba(255,255,255,.13) 1px, transparent 1.5px); background-size:22px 22px; background-position:center;
    transition:background-color .2s, box-shadow .25s}
  .acc-bar:hover{background-color:#4A1778; box-shadow:0 14px 34px -16px rgba(64,18,104,.8)}
  @media (min-width:640px){ .acc-bar{padding:1.5rem 1.9rem; gap:1.4rem} }
  .acc-pulse{position:relative; width:14px; height:14px; flex:none; margin:0 .35rem}
  .acc-pulse i{position:absolute; inset:0; border-radius:50%; background:#fff; animation:accDot .4839s ease-out infinite}
  .acc-pulse::before, .acc-pulse::after{content:''; position:absolute; inset:0; border-radius:50%; border:1.5px solid rgba(255,255,255,.9); animation:accRing .9677s ease-out infinite}
  .acc-pulse::after{animation-delay:.4839s}
  .acc-wave{position:absolute; left:calc(1.4rem + .35rem + 7px); top:50%; width:14px; height:14px; transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
    border:1px solid rgba(205,182,236,.6); animation:accFront 1.935s cubic-bezier(.2,.7,.3,1) infinite}
  .acc-wave.w2{animation-delay:.9677s}
  @media (min-width:640px){ .acc-wave{left:calc(1.9rem + .35rem + 7px)} }
  @keyframes accDot{0%{transform:scale(1.45); opacity:1} 55%,100%{transform:scale(1); opacity:.55}}
  @keyframes accRing{0%{transform:scale(1); opacity:.9} 100%{transform:scale(3.2); opacity:0}}
  @keyframes accFront{0%{width:14px; height:14px; opacity:.8} 100%{width:1400px; height:1400px; opacity:0}}
  .acc-text{position:relative; flex:1; min-width:0}
  .acc-title{display:block; font-weight:700; font-size:clamp(1.55rem,3vw,2.2rem); line-height:1.05; letter-spacing:-.01em}
  .acc-sub{display:block; margin-top:.3rem; font-size:.92rem; color:var(--lilac)}
  .acc-cta{position:relative; display:flex; align-items:center; gap:.65rem; flex:none; font-weight:600; font-size:.95rem}
  .acc-chev{width:40px; height:40px; display:grid; place-items:center; border-radius:999px; background:#fff; color:var(--hr); transition:transform .35s ease}
  .acc-bar[aria-expanded="true"] .acc-chev{transform:rotate(180deg)}
  .acc-panel{display:grid; grid-template-rows:0fr; transition:grid-template-rows .45s cubic-bezier(.2,.8,.2,1)}
  .acc-panel.is-open{grid-template-rows:1fr}
  .acc-inner{overflow:hidden; min-height:0}

  /* Tableau des spécificités */
  .eq-wrap{border:1.5px solid var(--hr); border-radius:16px; overflow:hidden; background:#fff}
  .eq{width:100%; border-collapse:collapse}
  .eq thead th{background:var(--hr); color:#fff; text-align:left; font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; padding:.95rem 1.1rem}
  .eq td{padding:1rem 1.1rem; border-top:1px solid var(--line-p); vertical-align:top; line-height:1.45}
  .eq tbody tr:nth-child(even) td{background:#FAF7FC}
  .eq .poste{font-weight:700; width:19%}
  .eq .mat{font-weight:600; width:20%}
  .eq .q{font-weight:700; text-align:center; width:7%}
  .eq .desc{color:#5E4478}
  .eq .qx{display:none}
  @media (max-width:767px){
    .eq, .eq tbody, .eq tr, .eq td{display:block; width:auto}
    .eq thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
    .eq tr{display:grid; grid-template-columns:1fr auto; gap:.2rem .75rem; padding:1rem 1.1rem; border-top:1px solid var(--line-p)}
    .eq tbody tr:first-child{border-top:0}
    .eq tbody tr:nth-child(even){background:#FAF7FC}
    .eq td{padding:0; border:0}
    .eq td:not(.q){background:none !important}
    .eq .poste, .eq .mat, .eq .q{width:auto}
    .eq .poste{grid-column:1/-1; font-size:.75rem; letter-spacing:.07em; text-transform:uppercase; color:#5E4478}
    .eq .mat{grid-column:1; font-size:1.05rem}
    .eq .q{grid-column:2; grid-row:2; align-self:start; color:#fff; background:var(--hr) !important; border-radius:999px; padding:.15rem .6rem; font-size:.88rem; white-space:nowrap}
    .eq .qx{display:inline}
    .eq .desc{grid-column:1/-1; margin-top:.35rem; font-size:.95rem}
  }

  /* Trajet du son : schéma interactif */
  .flow{position:relative; overflow:hidden; border-radius:24px; background:var(--hr); color:#fff}
  .flow-stage{position:relative; display:grid; gap:58px 14px; padding:36px 18px 42px; cursor:crosshair;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"dj dj" "cq cq" "xp xp" "a4 a6" "r2 f1"}
  @media (min-width:640px){ .flow-stage{gap:64px 40px; padding:44px 48px 48px} }
  @media (min-width:1024px){ .flow-stage{grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-areas:"dj cq xp a4 r2" "dj cq xp a6 f1"; gap:76px 56px; padding:60px 48px} }
  #flow-canvas{position:absolute; inset:0; width:100%; height:100%; pointer-events:none}
  .fnode{position:relative; z-index:1; justify-self:center; align-self:center; width:min(250px,100%); text-align:left; padding:.8rem 1rem; border-radius:14px;
    background:var(--hr-deep); border:1.5px solid rgba(255,255,255,.42); color:#fff; cursor:pointer; transition:background-color .2s, color .2s, border-color .2s, transform .2s}
  .fnode:hover{border-color:#fff; transform:translateY(-1px)}
  .fnode[aria-pressed="true"]{background:#fff; color:var(--hr); border-color:#fff}
  .fn-t{display:block; font-weight:600; font-size:.98rem; line-height:1.2}
  .fn-s{display:block; margin-top:.18rem; font-size:.8rem; color:var(--lilac)}
  .fnode[aria-pressed="true"] .fn-s{color:#5E4478}
  .flow-info{border-top:1px solid rgba(255,255,255,.18); padding:22px 20px 26px; min-height:274px}
  @media (min-width:640px){ .flow-info{padding:26px 48px 30px; min-height:230px} }
  @media (min-width:768px){ .flow-info{min-height:204px} }
  @media (min-width:1024px){ .flow-info{display:grid; grid-template-columns:5fr 7fr; gap:40px; min-height:194px} }
  @media (min-width:1280px){ .flow-info{min-height:170px} }
  .flow-title{font-weight:700; font-size:1.5rem; line-height:1.15}
  .flow-text{margin-top:.5rem; line-height:1.6; color:rgba(255,255,255,.85)}
  @media (min-width:1024px){ .flow-text{margin-top:0} }
  .flow-hint{margin-top:.9rem; font-size:.82rem; color:var(--lilac)}

  /* Prestation (fond violet) */
  .steps{display:grid; gap:1px; background:var(--line-w); border:1px solid var(--line-w); border-radius:18px; overflow:hidden}
  @media (min-width:768px){ .steps{grid-template-columns:repeat(2,1fr)} }
  @media (min-width:1180px){ .steps{grid-template-columns:repeat(4,1fr)} }
  .step{background:var(--hr); padding:2rem 1.6rem 2.2rem}
  .step.is-key{background:#fff; color:var(--hr)}
  .step-n{font-weight:800; font-size:3.4rem; line-height:1; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.7)}
  .step.is-key .step-n{-webkit-text-stroke-color:var(--hr)}
  .step-ico{width:46px; height:46px; display:grid; place-items:center; border-radius:999px; font-size:1.05rem; background:rgba(255,255,255,.12); color:#fff}
  .step.is-key .step-ico{background:var(--hr); color:#fff}
  .step p{color:rgba(255,255,255,.82)}
  .step.is-key p{color:#5E4478}
  .info{border-top:1.5px solid rgba(255,255,255,.5); padding-top:1.1rem}
  .info li{position:relative; padding-left:1.1rem; margin-top:.6rem; color:rgba(255,255,255,.85); line-height:1.5}
  .info li::before{content:''; position:absolute; left:0; top:.62em; width:6px; height:6px; border-radius:50%; background:#fff}
  .info strong{color:#fff; font-weight:700}
  .price{background:#fff; color:var(--hr); border-radius:18px}

  /* Contact (fond noir) */
  .cta-xl{display:flex; align-items:center; gap:1.1rem; min-height:100px; padding:1.3rem 1.5rem; border-radius:18px; transition:transform .2s, background-color .2s, border-color .2s}
  .cta-xl:hover{transform:translateY(-2px)}
  .cta-xl .ico{width:58px; height:58px; flex:none; display:grid; place-items:center; border-radius:999px; font-size:1.7rem}
  .cta-xl .label-l{display:block; font-weight:700; font-size:1.55rem; line-height:1.05; letter-spacing:-.005em}
  .cta-xl .detail{display:block; font-size:.95rem; margin-top:.3rem}
  .cta-wa{background:var(--hr); color:#fff; border:1.5px solid var(--hr)}
  .cta-wa:hover{background:var(--hr-mid); border-color:var(--hr-mid)}
  .cta-wa .ico{background:#fff; color:var(--hr)}
  .cta-wa .detail{color:var(--lilac)}
  .cta-mail{color:#fff; border:1.5px solid rgba(255,255,255,.5)}
  .cta-mail:hover{border-color:#fff; background:rgba(255,255,255,.06)}
  .cta-mail .ico{border:1.5px solid rgba(255,255,255,.5); color:#fff}
  .cta-mail .detail{color:#A9A9B3}
  .sticker{width:min(340px,80vw); height:auto; transform:rotate(-8deg); filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}

  /* Barre mobile */
  .dock{position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:50; display:flex; gap:8px; padding:8px; border-radius:999px;
    background:var(--hr); box-shadow:0 10px 30px rgba(20,4,36,.45); transform:translateY(160%); transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .dock.is-on{transform:none}
  .dock a{flex:1}
  @media (min-width:768px){ .dock{display:none} }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1; transform:none; animation:none}
    .btn, .cta-xl, .dock{transition:none}
    .acc-pulse i, .acc-pulse::before, .acc-pulse::after, .acc-wave{animation:none}
    .acc-pulse::before, .acc-pulse::after, .acc-wave{display:none}
    .acc-panel, .acc-chev{transition:none}
  }
