@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/barlow-condensed-500.woff') format('woff')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/barlow-condensed-600.woff') format('woff')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/barlow-condensed-700.woff') format('woff')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/barlow-condensed-800.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-400.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-500.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-600.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-700.woff') format('woff')}
:root{--paper:#F7F4EE;--ink:#1E1E1E;--muted:#6B6B6B;--line:#EDE8DF;--lime:#FC0FC0;--dark:#1E1E1E}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:#3A3A3A;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #FC0FC0;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;color:#1E1E1E}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:600}h1{font-size:clamp(3.4rem,6.2vw,6rem);letter-spacing:-.025em}h2{font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.02em}h3{font-size:1.35rem;line-height:1.25;font-weight:600}.wrap{max-width:1320px;padding-inline:52px;margin:auto}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:22px}.header{background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand img{width:43px;height:43px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-size:1.13rem;font-weight:700;line-height:1.06;letter-spacing:-.045em}.brand small{display:block;font-size:.65rem;letter-spacing:.12em;margin-top:5px}.nav{display:flex;gap:23px;align-items:center}.nav a{font-size:.86rem;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.nav .contact-link{background:var(--ink);color:#F7F4EE;padding:12px 18px;text-decoration:none}.menu-toggle{display:none;border:1px solid var(--line);padding:7px 14px;background:none}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:60px;padding-block:62px 66px;align-items:center}.hero h1{margin-bottom:25px}.hero h1 em{font-style:normal;color:#1E1E1E}.hero .intro{max-width:550px;color:var(--muted);font-size:1.04rem;line-height:1.7}.hero-photo{position:relative;padding-bottom:27px}.hero-photo img{width:100%;height:555px;object-fit:cover;object-position:48% 50%;border-radius:2px 100px 2px 2px}.photo-caption{position:absolute;bottom:0;right:-14px;background:#EDE8DF;border-left:4px solid #FC0FC0;padding:18px 25px;color:var(--ink);font-size:.85rem;box-shadow:0 4px 0 #1E1E1E}.photo-caption span{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--lime);border:1px solid var(--lime);padding:14px 21px;font-size:.88rem;font-weight:600;cursor:pointer;line-height:1.35}.btn:after{content:'↗';font-size:1.15rem}.btn:hover{background:#FC0FC0;border-color:#FC0FC0}.btn.secondary{background:transparent;border-color:var(--line)}.text-link{font-size:.9rem;text-decoration:underline;text-underline-offset:5px}.strip{border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-block:18px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.section{padding-block:78px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:34px}.section-head h2{margin:0}.section-head p{max-width:400px;color:var(--muted);margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#EDE8DF;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;transition:transform .2s,background .2s}.card:hover{background:#EDE8DF;transform:translateY(-3px)}.card .number{font-family:'Barlow Condensed',sans-serif;font-size:2.7rem;color:#1E1E1E;margin-bottom:35px}.card h3{margin-bottom:15px}.card p{color:var(--muted);font-size:.95rem}.card .text-link{margin-top:auto;padding-top:15px;align-self:start}.dark{background:var(--dark);color:#F7F4EE}.dark p{color:#F7F4EE}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.feature img{width:100%;height:440px;object-fit:cover}.feature h2{font-size:4.3rem}.method{display:flex;gap:22px;flex-wrap:wrap;font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1.2;margin:30px 0}.method span:not(:last-child):after{content:'/';font-weight:400;color:#6B6B6B;margin-left:22px}.work-card{border-top:1px solid var(--line);padding-top:16px;display:block}.work-card img{width:100%;aspect-ratio:1.5;object-fit:cover;margin-bottom:22px}.work-card h3{margin-top:8px}.work-card:hover h3{text-decoration:underline;text-underline-offset:5px}.meta{color:var(--muted);font-size:.8rem}.partners{display:flex;gap:70px;align-items:center;flex-wrap:wrap;padding:22px 0}.partners img{width:auto;height:55px;max-width:240px;object-fit:contain}.callout{background:#EDE8DF;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:30px}.callout h2{max-width:720px;margin:0}.callout .btn{background:var(--ink);color:#F7F4EE;flex-shrink:0;border-color:var(--ink)}.footer{background:var(--ink);color:#F7F4EE;padding-block:55px 26px;margin-top:80px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer p,.footer a,.footer small{color:#F7F4EE;font-size:.86rem}.footer nav{display:flex;flex-direction:column;gap:7px}.footer-title{font-family:'Barlow Condensed',sans-serif;font-size:2.3rem}.footer-bottom{border-top:1px solid #6B6B6B;margin-top:40px;padding-top:22px;display:flex;gap:30px;justify-content:space-between;font-size:.8rem}.breadcrumb{color:var(--muted);font-size:.85rem;padding-top:27px}.page-head{padding-block:44px 48px;max-width:970px}.page-head h1{margin-bottom:24px;font-size:clamp(3.3rem,6vw,5.8rem)}.page-head .lead{font-size:1.35rem;line-height:1.55;max-width:830px;color:#3A3A3A}.subnav{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.subnav a{border:1px solid var(--line);padding:8px 15px;font-size:.85rem}.subnav a:hover{background:var(--lime)}.page-banner{width:100%;height:430px;object-fit:cover;object-position:center 42%;margin-bottom:60px}.article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:75px}.toc{position:sticky;top:125px;align-self:start;border-top:1px solid var(--line);padding-top:20px}.toc a{display:block;font-size:.85rem;line-height:1.45;margin:0 0 17px;color:var(--muted)}.article{max-width:870px}.article section{padding-bottom:42px;margin-bottom:35px;border-bottom:1px solid var(--line)}.article h2{font-size:2.6rem;margin-bottom:24px}.article h3{font-size:1.15rem;margin-top:25px;margin-bottom:12px}.article p{color:#3A3A3A;max-width:77ch}.article ul{padding-left:20px;color:#3A3A3A}.article li{margin-bottom:8px}.article .btn{margin-top:16px}.article .cards{grid-template-columns:1fr 1fr}.article .card{padding:25px}.article .card h3{margin-top:0}.article .card .number{margin-bottom:15px}.facts{display:flex;gap:22px;flex-wrap:wrap;padding:22px 28px;background:#EDE8DF;margin-bottom:36px}.facts span{border-right:1px solid #6B6B6B;padding-right:22px}.facts span:last-child{border:0}.profile{padding:25px 0;border-top:1px solid var(--line)}.profile h3{font-size:1.7rem;margin-bottom:8px}.profile .role{color:#3A3A3A}.video-card{background:#1E1E1E;color:#F7F4EE;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.video-card .play{font-size:2.3rem}.video-card p{color:#F7F4EE;margin:0}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:65px}.contact-box{background:#EDE8DF;padding:34px;border:1px solid var(--line)}label{display:block;font-size:.9rem;margin-bottom:18px}input,select,textarea{display:block;width:100%;padding:12px;background:var(--paper);border:1px solid #6B6B6B;margin-top:7px;border-radius:0}textarea{resize:vertical;min-height:160px}.contact-note{font-size:.85rem;color:var(--muted);margin-top:16px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{padding:10px 19px;border:1px solid var(--line);background:transparent;cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:#F7F4EE}.hidden{display:none!important}.skip{position:fixed;top:-100px;background:var(--lime);padding:12px;z-index:100}.skip:focus{top:0}.legal{max-width:800px;min-height:400px}.notice{border-left:3px solid #FC0FC0;padding:16px 22px;background:#EDE8DF}.mobile-only{display:none}
@media(min-width:1500px){.hero-photo img{height:595px}}@media(max-width:1150px){.wrap{padding-inline:30px}.nav{gap:13px}.nav a{font-size:.78rem}.hero{gap:30px}.hero-photo img{height:500px}.article-layout{gap:40px;grid-template-columns:190px 1fr}}
@media(max-width:900px){.header-inner{height:77px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:25px 30px;flex-direction:column;align-items:stretch;gap:16px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{font-size:1rem;padding:5px}.hero{padding-block:42px;grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:4rem}.hero-photo img{height:470px}.cards{gap:15px}.card{padding:22px}.feature{gap:35px}.feature h2{font-size:3.5rem}.article-layout{display:block}.toc{position:static;display:flex;gap:17px;flex-wrap:wrap;margin-bottom:35px}.toc a{margin:0}.contact-layout{gap:25px}.callout{padding:35px}.partners{gap:35px}.partners img{max-width:190px}}
@media(max-width:650px){.wrap{padding-inline:22px}.hero{grid-template-columns:1fr;gap:36px;padding-block:35px 38px}.hero h1{font-size:3.85rem;max-width:480px}.hero .intro{font-size:1rem}.hero-photo img{height:370px;border-radius:2px 65px 2px 2px}.photo-caption{right:0}.strip{font-size:.65rem;gap:14px;flex-wrap:wrap}.section{padding-block:48px}.section-head{display:block}.section-head p{margin-top:20px}.cards,.article .cards{grid-template-columns:1fr}.card .number{margin-bottom:20px}.card{padding:25px}.feature{grid-template-columns:1fr;gap:30px}.feature img{height:320px}.feature h2{font-size:3.3rem}.method{gap:13px;font-size:2.7rem}.method span:not(:last-child):after{margin-left:13px}.callout{padding:30px 24px;display:block}.callout .btn{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom a{display:inline-block;margin:5px 18px 5px 0}.page-head{padding-block:33px}.page-head .lead{font-size:1.17rem}.page-banner{height:290px;margin-bottom:35px}.contact-layout{grid-template-columns:1fr}.contact-box{padding:24px}.partners{gap:25px}.partners img{max-width:150px;height:45px}.facts{padding:20px;gap:12px}.facts span{border:0}.video-card{padding:25px}.footer{margin-top:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.header,.footer,.toc,.actions,.subnav{display:none}.article-layout{display:block}.wrap{padding:0}.article{max-width:none}.page-head h1{font-size:32pt}h2{font-size:22pt}.page-banner{height:180px}}
.music-tile{aspect-ratio:1.5;background:#EDE8DF;border-left:4px solid #FC0FC0;padding:30px;display:flex;flex-direction:column;justify-content:space-between;font-family:'Barlow Condensed',sans-serif;font-size:3.4rem;line-height:1.05;margin-bottom:22px}.music-tile span{font-family:'DM Sans',sans-serif;text-transform:uppercase;font-size:.76rem;letter-spacing:.1em}.work-card p{color:var(--muted);font-size:.93rem}.work-grid .work-card{margin-bottom:25px}.work-card:nth-child(4n) .music-tile{background:#1E1E1E;color:#F7F4EE}.article .work-card h3{margin-top:10px}.article .work-grid .work-card{min-width:0}

.work-card img.youtube-thumbnail{aspect-ratio:16/9;height:auto;object-fit:cover}
/* User-supplied panoramic photographs: preserve the full composition. */
.page-banner{height:auto;max-height:520px;object-fit:contain;object-position:center}.section-photo{width:100%;height:auto;margin:28px 0 8px}.work-card img.cover-thumbnail{aspect-ratio:16/9;object-fit:contain;background:#1E1E1E}.realisation-feature{max-width:850px;margin:0 auto 28px}.realisation-feature img{width:100%;height:auto;max-height:570px;object-fit:contain}.realisation-feature .cover-thumbnail{max-height:550px}.video-card{margin-top:28px}.sessionrec{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:32px;align-items:center;background:var(--dark);color:#F7F4EE;padding:28px;margin-bottom:45px}.sessionrec img{width:100%;height:auto;max-height:430px;object-fit:contain}.sessionrec h3{font-family:'Barlow Condensed',sans-serif;font-size:2.6rem;line-height:1.1;margin-top:0}.sessionrec p{color:#F7F4EE}.sessionrec .eyebrow{color:var(--lime)}.training-price{padding:26px;background:#EDE8DF}.training-price .price{font-family:'Barlow Condensed',sans-serif;font-size:3rem;line-height:1.15;color:var(--ink);margin-bottom:16px}.training-price .price span{font-family:'DM Sans',sans-serif;font-size:1rem;display:block;margin-top:8px}.training-price p:last-child{margin-bottom:0}
@media(max-width:650px){.page-banner{height:auto;max-height:none}.sessionrec{grid-template-columns:1fr;padding:24px;gap:24px}.sessionrec img{max-height:350px;width:auto;max-width:100%;justify-self:center}.training-price{padding:22px}.music-tile{font-size:2.9rem}.realisation-feature img{max-height:440px}}

/* Spaces and directly playable European projects */
.feature img.satellite-home-photo{object-fit:contain;background:#1E1E1E}
.space-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:660px;margin:28px 0}
.space-gallery figure{margin:0}.space-gallery img{width:100%;height:auto;border-radius:8px}.space-gallery figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.project-film{margin:0 0 56px;scroll-margin-top:110px}.project-film h3{margin:12px 0}.video-embed{position:relative;aspect-ratio:16/9;background:#1E1E1E;margin:22px 0 16px;border-radius:10px;overflow:hidden}.video-embed iframe{position:absolute;width:100%;height:100%;border:0}
@media(max-width:520px){.space-gallery{gap:12px}.space-gallery figcaption{font-size:.75rem}}

/* Autarcie palette, October 2026 */
body{color:#3A3A3A}.brand,.nav,.eyebrow{color:#1E1E1E}
.hero h1 em{color:#1E1E1E;text-decoration:underline;text-decoration-color:#FC0FC0;text-underline-offset:.1em;text-decoration-thickness:.055em}
.hero .intro,.section-head p,.card p,.work-card p{color:#3A3A3A}
.btn,.subnav a:hover{color:#1E1E1E}.btn:hover{box-shadow:inset 0 0 0 2px #1E1E1E}
.text-link,.nav a:hover,.nav a[aria-current=page],.work-card:hover h3{text-decoration-color:#FC0FC0}
.card .number,.facts,.training-price,.notice{color:#3A3A3A}.card .meta,.facts .meta,.notice .meta,.photo-caption span{color:#5E5E5E}
.photo-caption{color:#3A3A3A}.callout .btn{background:#FC0FC0;color:#1E1E1E;border-color:#FC0FC0}
.dark,.footer,.video-card,.sessionrec{background:#1E1E1E;color:#F7F4EE}
.dark h1,.dark h2,.dark h3,.dark .eyebrow,.footer h3,.video-card h3,.sessionrec h3{color:#F7F4EE}
.dark p,.footer p,.footer a,.sessionrec p,.video-card p{color:#F7F4EE}
.dark .meta,.footer small,.footer-bottom,.video-card .meta,.sessionrec .meta{color:#A8A8A8}
.dark .btn,.sessionrec .btn{background:#FC0FC0;border-color:#FC0FC0;color:#1E1E1E}
.sessionrec .eyebrow{color:#FC0FC0}.qualiopi{margin:0 0 42px;padding:24px;background:#fff;max-width:540px}.qualiopi img{width:380px;max-width:100%;height:auto}.qualiopi p{font-size:.9rem;margin:18px 0 0;color:#3A3A3A}
.related-training .actions{align-items:stretch;margin-top:0}.related-training .btn{flex:1 1 240px;justify-content:space-between}

/* Neutral callouts, pink numbering and compact certification mark. */
.card .number{color:#FC0FC0}
.qualiopi{display:flex;align-items:center;gap:22px;max-width:640px;padding:18px;background:#fff}
.qualiopi img{width:160px;max-width:160px;height:auto;flex:0 0 160px}
.qualiopi p{margin:0;font-size:.8rem;line-height:1.5}
.support-logos{padding-top:55px}.support-logos .eyebrow{margin-bottom:10px}
.partners img{visibility:visible;opacity:1;filter:none;flex-shrink:0}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px 26px}
.footer-bottom>div a{display:inline-block;margin:0}
@media(max-width:650px){.qualiopi{flex-wrap:wrap;gap:14px}.qualiopi img{width:140px;max-width:140px;flex-basis:140px}.footer-bottom>div{margin-top:16px;gap:12px 20px}.support-logos{padding-top:35px}}

/* Light panels: pink corner lines and hover feedback. */
.card,.callout,.facts,.training-price,.notice{background:var(--paper);border:0;border-left:1px solid #FC0FC0;border-bottom:1px solid #FC0FC0;transition:background-color .2s,color .2s}
.card:hover{transform:none}
.card:focus-within,.callout:focus-within,.training-price:focus-within,.notice:focus-within{background:#FC0FC0;color:#1E1E1E}
.card:focus-within .number,.card:focus-within p,.callout:focus-within p,.training-price:focus-within p,.notice:focus-within p{color:#1E1E1E}
.card:focus-within .text-link{text-decoration-color:#1E1E1E}
.callout:focus-within .btn{border-color:#1E1E1E}
@media(hover:hover){
 .card:hover,.callout:hover,.facts:hover,.training-price:hover,.notice:hover{background:#FC0FC0;color:#1E1E1E}
 .card:hover .number,.card:hover p,.callout:hover p,.training-price:hover p,.notice:hover p{color:#1E1E1E}
 .card:hover .text-link{text-decoration-color:#1E1E1E}
 .callout:hover .btn{border-color:#1E1E1E}
}

/* Project thumbnails and matching interactions. */
.work-card img.project-thumbnail{aspect-ratio:16/9;height:auto;object-fit:contain;background:#1E1E1E}
.work-card{padding:16px;border-top:0;border-left:1px solid #FC0FC0;border-bottom:1px solid #FC0FC0;transition:background-color .2s,color .2s}
.filters button{transition:background-color .2s,color .2s,border-color .2s}
.work-card:focus-visible,.video-card:focus-visible,.filters button:focus-visible{background:#FC0FC0;color:#1E1E1E}
.work-card:focus-visible p,.work-card:focus-visible .meta,.video-card:focus-visible h3,.video-card:focus-visible p{color:#1E1E1E}
@media(hover:hover){
 .work-card:hover,.video-card:hover,.filters button:hover{background:#FC0FC0;color:#1E1E1E}
 .work-card:hover p,.work-card:hover .meta,.video-card:hover h3,.video-card:hover p{color:#1E1E1E}
 .work-card:hover h3{text-decoration-color:#1E1E1E}
 .realisation-feature~.actions .btn:hover{background:#1E1E1E;color:#F7F4EE;border-color:#1E1E1E}
}

.realisations-page .btn{background:var(--paper);color:#1E1E1E;border-color:#FC0FC0;transition:background-color .2s}
.realisations-page .btn:hover,.realisations-page .btn:focus-visible{background:#FC0FC0;color:#1E1E1E;border-color:#1E1E1E}

/* Entire navigation cards are real links. */
a.card{cursor:pointer}a.card:focus-visible{background:#FC0FC0;color:#1E1E1E}a.card:focus-visible .number,a.card:focus-visible p{color:#1E1E1E}
.callout{position:relative}.callout .btn:before{content:"";position:absolute;inset:0;cursor:pointer}
.page-banner.formation-banner{aspect-ratio:auto;object-fit:contain;object-position:center;height:auto;max-height:none}
.realisations-page .callout .btn,.contact-layout a.btn.secondary[href="https://www.satellite-ap.fr"]{background:#FC0FC0;color:#1E1E1E;border-color:#FC0FC0}

/* Colour photographs: filters are static, with no image transition. */
main img:not(.supplied-photo):not(.work-card img):not(.qualiopi img):not(.partners img){filter:saturate(.9) contrast(.97)}
main .work-card img,.supplied-photo,.brand img,.partners img,.qualiopi img{filter:none;transition:none;animation:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
