:root{--ink:#211c35;--muted:#686579;--paper:#fffdf9;--purple:#6b45d7;--purple-dark:#3a246f;--pink:#f0b2d0;--gold:#ffd875;--line:#e8e2ef;--tint:#f7f3ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit}.site-header{max-width:1200px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:13px;line-height:1.1;letter-spacing:.03em}.brand strong{font-size:17px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--purple);color:white;font-size:24px}.nav{display:flex;gap:21px;align-items:center;flex-wrap:wrap}.nav a,.footer-links a{font-size:13px;text-decoration:none;color:var(--muted)}.nav a:hover,.nav a.active,.footer-links a:hover{color:var(--purple)}.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--ink)}.hero{position:relative;overflow:hidden;background:var(--purple-dark);color:white;padding:85px max(7vw,28px) 92px;display:grid;grid-template-columns:1.2fr .8fr;gap:35px;min-height:570px;align-items:center}.hero-content{max-width:720px;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--purple);margin:0 0 18px}.hero .eyebrow,.cta .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,6.3vw,76px);line-height:1.02;letter-spacing:-.055em;margin-bottom:24px}h1 span{color:var(--gold)}h2{font-size:clamp(28px,4vw,44px);line-height:1.13;letter-spacing:-.035em;margin-bottom:20px}h3{font-size:20px;line-height:1.25;margin-bottom:12px}.lead{font-size:18px;line-height:1.65;max-width:680px;color:inherit;opacity:.88}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:750;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--purple);color:white}.hero .button-primary{background:var(--gold);color:var(--purple-dark)}.button-outline{border:1px solid #ffffff80;color:white}.hero-art{min-height:350px;position:relative;display:grid;place-items:center}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:240px;height:240px;background:radial-gradient(circle at 35% 30%,#fff1b5,#ed91ca 48%,#8555e8 75%);top:25px;right:20px;box-shadow:0 0 90px #f3b3d966}.orb-two{width:135px;height:135px;background:radial-gradient(circle at 30% 30%,#fff2b8,#f7a64f 70%);left:15px;bottom:35px}.orb-three{width:90px;height:90px;background:radial-gradient(circle at 30% 30%,#f5d7ff,#8a70ff 70%);right:0;bottom:50px}.art-label{position:relative;z-index:1;margin-top:65px;margin-left:25px;text-align:center;font-size:12px;letter-spacing:.25em;font-weight:800;line-height:2.1;color:var(--purple-dark);transform:rotate(-8deg)}.section{padding:78px max(7vw,28px);max-width:1400px;margin:auto}.section-tint{max-width:none;background:var(--tint);padding-left:max(7vw,28px);padding-right:max(7vw,28px)}.section-heading{max-width:760px;margin-bottom:34px}.section-heading>p:not(.eyebrow){color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}.two-col p{color:var(--muted)}.large-copy{font-size:24px;line-height:1.5;color:var(--ink)!important}.cards{display:grid;gap:18px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:27px;box-shadow:0 10px 35px #31205a08}.card p{color:var(--muted);margin-bottom:0}.card-icon{display:grid;place-items:center;width:48px;height:48px;background:#f0e9ff;color:var(--purple);border-radius:15px;font-size:26px;margin-bottom:22px}.card-plain{background:transparent;box-shadow:none;border:0;padding:5px}.number{display:block;color:var(--purple);font-size:13px;font-weight:850;letter-spacing:.12em;margin-bottom:18px}.cta{padding:75px 28px;text-align:center;background:var(--purple-dark);color:white}.cta h2{max-width:750px;margin:0 auto 18px}.cta>p:not(.eyebrow){max-width:680px;margin:0 auto;color:#e1d9f4}.centered{justify-content:center}.button-light{background:var(--gold);color:var(--purple-dark)}.button-dark-outline{border:1px solid #ffffff70;color:white}.footer{max-width:1200px;margin:auto;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer p{font-size:12px;color:var(--muted);margin:0}.brand-footer{font-size:13px}.brand-footer .brand-mark{width:32px;height:32px;font-size:19px}.footer-links{display:flex;gap:18px}.page-hero{padding:78px max(7vw,28px) 70px;background:var(--tint)}.page-hero h1{font-size:clamp(40px,6vw,68px);max-width:850px}.page-hero .lead{color:var(--muted);max-width:750px}.narrow{max-width:900px}.narrow h2{font-size:30px;margin-top:32px}.narrow p,.narrow li{color:var(--muted)}.styled-list{padding-left:22px}.styled-list li{padding:7px 0}.note{background:var(--tint);padding:22px;border-radius:16px;margin-top:30px;color:var(--muted)}.partner-placeholder{max-width:780px;margin:0 auto;text-align:center;border:1px dashed #c8b9ec;background:#ffffffa8;border-radius:24px;padding:45px 28px}.partner-placeholder p{color:var(--muted);max-width:550px;margin:0 auto}.placeholder-star{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--tint);color:var(--purple);font-size:27px;margin:0 auto 20px}.center{text-align:center;margin-top:30px}@media(max-width:850px){.site-header{padding:17px 22px;flex-wrap:wrap}.menu-toggle{display:block}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;padding:8px 0 4px;gap:15px}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:65px}.hero-art{min-height:260px;max-width:450px;width:100%;margin:auto}.orb-one{right:70px}.two-col{grid-template-columns:1fr;gap:20px}.cards.three{grid-template-columns:1fr}.cards.two{grid-template-columns:1fr}.section{padding-top:58px;padding-bottom:58px}.page-hero{padding-top:58px;padding-bottom:55px}.footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.booking-section .section-heading{max-width:850px}.booking-section .section-heading>p:not(.eyebrow){color:var(--muted)}.booking-frame{width:100%;max-width:1000px;margin:0 auto;background:#f8f8f8;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:750px}.booking-frame iframe{display:block;min-height:750px}@media(max-width:600px){.booking-frame,.booking-frame iframe{min-height:850px}.booking-frame iframe{height:850px!important}}

/* Direction artistique inspirée du logo : crème, bleu nuit, corail et jaune doré */
:root{--cream:#F7F2E8;--navy:#101936;--coral:#FF5147;--gold:#F8B72F;--ink:#101936;--paper:#F7F2E8;--line:rgba(16,25,54,.18);--muted:#55566a}
html{scroll-behavior:smooth}body{background:var(--cream);color:var(--navy)}a{color:var(--navy)}

h1,h2,h3{color:var(--navy);letter-spacing:-.035em}.eyebrow{color:var(--coral);font-weight:800;letter-spacing:.13em}
button,.button,.btn,.cta a{background:var(--navy);color:var(--cream);border:2px solid var(--navy);border-radius:2px}
button:hover,.button:hover,.btn:hover,.cta a:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.hero{position:relative;overflow:hidden;background:var(--navy);color:var(--cream)}.hero h1,.hero h2,.hero p{color:var(--cream)}.hero .eyebrow{color:var(--gold)}
.hero::after{content:"";position:absolute;right:5%;top:12%;width:100px;aspect-ratio:1;background:var(--gold);transform:rotate(45deg);border-radius:0 55% 0 55%;opacity:.95;pointer-events:none}
.card,.feature-card,.section-card{background:rgba(255,255,255,.42);border:1px solid var(--line);border-radius:2px;box-shadow:none}
section{scroll-margin-top:90px}.booking-frame{background:#fff;border:1px solid var(--line);border-radius:2px}
footer{background:var(--navy);color:var(--cream)}footer a{color:var(--gold)}
@media(max-width:600px){.hero::after{width:54px;right:6%;top:8%}}

/* Harmonisation de la direction artistique sur toutes les pages */
:root{--cream:#F7F2E8;--navy:#101936;--coral:#FF5147;--gold:#F8B72F;--ink:#101936;--paper:#F7F2E8;--line:rgba(16,25,54,.18);--muted:#55566a}
html{scroll-behavior:smooth}body{background:var(--cream);color:var(--navy)}
header,.site-header{background:var(--cream);color:var(--navy)}
h1,h2,h3{color:var(--navy);letter-spacing:-.035em}
.eyebrow{color:var(--coral);font-weight:800;letter-spacing:.13em}
button,.button,.btn,.cta a{background:var(--navy);color:var(--cream);border:2px solid var(--navy);border-radius:2px}
button:hover,.button:hover,.btn:hover,.cta a:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.hero{position:relative;overflow:hidden;background:var(--navy);color:var(--cream)}
.hero h1,.hero h2,.hero p{color:var(--cream)}.hero .eyebrow{color:var(--gold)}
.hero::after{content:"";position:absolute;right:5%;top:12%;width:84px;aspect-ratio:1;background:var(--gold);transform:rotate(45deg);border-radius:0 55% 0 55%;opacity:.95;pointer-events:none}
.card,.feature-card,.section-card{background:rgba(255,255,255,.42);border:1px solid var(--line);border-radius:2px;box-shadow:none}
section{scroll-margin-top:90px}.booking-frame{background:#fff;border:1px solid var(--line);border-radius:2px}
footer{background:var(--navy);color:var(--cream)}footer a{color:var(--gold)}
@media(max-width:600px){.hero::after{width:48px;right:6%;top:8%}}

/* Logo officiel complet — toutes les pages */
.site-logo{display:flex;align-items:center;max-width:430px;width:min(100%,430px);margin:0 auto 1rem;text-decoration:none;position:relative;z-index:2}
.site-logo img{display:block;width:100%;height:auto;max-height:112px;object-fit:contain;object-position:left center}
header .site-logo{margin:0;flex:0 1 360px}
@media(max-width:700px){.site-logo{max-width:310px}.site-logo img{max-height:82px}header .site-logo{flex-basis:260px}}


/* Pied de page sur toute la largeur de la page, sans marge latérale */
html,body{width:100%;margin-left:0;margin-right:0}
footer{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}

/* Pied de page : teinte lavande très douce, moins saturée */
footer{background:#D9D3E8 !important;color:#101936}
footer a{color:#101936}


/* Bande de pied de page : fond sur toute la largeur de la fenêtre */
html, body { margin-left: 0; margin-right: 0; }
footer {
  display: block;
  width: 100vw !important;
  max-width: none !important;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}


/* Éclaircissement de la section immédiatement au-dessus du pied de page */
footer {
  background: #D9D3E8 !important;
}
footer::before {
  /* aucun élément ajouté : conserver le pied de page intact */
}
body > section:last-of-type,
main > section:last-of-type {
  background-color: #F7F2E8;
}


/* Bande juste au-dessus du pied de page : violet légèrement éclairci */
.cta{background:#E2DCEF !important;color:#101936 !important;width:100%;}
.cta h2,.cta p,.cta .eyebrow{color:#101936 !important;}
.cta .button,.cta a{border-color:#101936;}

/* Page d'accueil : retirer les formes décoratives de la première bande (hero) */
.hero-art,
.hero::after {
  display: none !important;
  content: none !important;
}
.hero {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Cartes : hiérarchie typographique plus nette et lecture plus confortable */
.cards{align-items:stretch;gap:22px}
.card:not(.card-plain){padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;align-items:flex-start;min-height:100%}
.card h2,.card h3{font-weight:780;line-height:1.22;letter-spacing:-.025em;max-width:22ch;margin:0 0 14px;color:var(--navy)}
.card h2{font-size:clamp(23px,2.2vw,29px)}
.card h3{font-size:clamp(19px,1.8vw,22px)}
.card p{font-size:16px;line-height:1.75;letter-spacing:.005em;color:#45475a;margin:0;max-width:56ch}
.card .card-icon{width:46px;height:46px;flex:0 0 auto;margin:0 0 22px;border-radius:3px;background:#E9E3F2;color:var(--navy);font-size:24px}
.card .number{font-size:12px;letter-spacing:.16em;margin:0 0 16px;color:#B7433D}
.card-plain{padding:12px 8px 8px;display:flex;flex-direction:column;align-items:flex-start}
.card-plain h3{font-size:21px;margin-bottom:12px}
.card-plain p{font-size:16px;line-height:1.75;color:#45475a}
@media(max-width:850px){.cards{gap:16px}.card:not(.card-plain){padding:24px}.card h2{font-size:24px}.card h3{font-size:20px}}


/* Page Restitution */
.page-hero{padding:76px max(7vw,28px) 72px;background:var(--tint);}
.page-hero h1{max-width:900px;}
.restitution-hero{background:linear-gradient(135deg,#f7f3ff 0%,#f0eafa 100%);}
.restitution-intro{margin:24px 0 0;padding-left:16px;border-left:3px solid var(--gold);font-weight:700;max-width:720px;color:var(--purple-dark);}
.restitution-section{padding-top:68px;padding-bottom:82px;}
.restitution-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
.restitution-card{display:flex;flex-direction:column;min-width:0;padding:28px 26px 24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 32px #211c350a;}
.restitution-card h3{font-size:21px;line-height:1.3;letter-spacing:-.02em;margin:14px 0 12px;overflow-wrap:anywhere;}
.restitution-card p{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:26px;}
.doc-type{font-size:10px;font-weight:850;letter-spacing:.14em;color:var(--purple);}
.doc-symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#f0eafa;color:var(--purple-dark);font-size:26px;margin-top:22px;}
.doc-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.doc-status{font-size:12px;font-weight:750;color:var(--muted);}
.button-disabled{background:#f1eef5;color:#777184;cursor:not-allowed;transform:none!important;font-size:12px;min-height:42px;padding:10px 15px;}
.restitution-cta{background:var(--purple-dark);color:white;padding:68px max(7vw,28px);text-align:center;}
.restitution-cta h2,.restitution-cta p:not(.eyebrow){max-width:760px;margin-left:auto;margin-right:auto;}
.restitution-cta p:not(.eyebrow){color:#ffffffd9;}
.button-light{background:var(--gold);color:var(--purple-dark);margin-top:12px;}
@media(max-width:900px){.restitution-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.restitution-cards{grid-template-columns:1fr;}.restitution-card{padding:24px 22px;}.page-hero{padding-top:56px;padding-bottom:52px;}}


/* Espace presse */
.presse-hero{background:#d9d3e8;color:#171b35;padding:72px max(7vw,28px);text-align:left}
.presse-hero .eyebrow{color:#6b45d7}
.presse-hero h1{color:#171b35}
.presse-hero .lead{max-width:780px}
.presse-cards{align-items:stretch}
.presse-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.presse-card h3{color:#171b35;line-height:1.3}
.presse-card p,.presse-facts{color:#686579;font-size:15px;line-height:1.7}
.presse-card .button{margin-top:auto}
.presse-facts{padding-left:19px;margin-bottom:0}
.presse-facts li{margin-bottom:8px}
.presse-contact{background:#f8f3e9}
.presse-note,.small-note{font-size:13px;color:#686579}
.contact-panel{background:white;border:1px solid #e8e2ef;border-radius:18px;padding:28px;box-shadow:0 12px 35px #171b3510}
.contact-panel h3{font-size:22px}
.contact-panel p{margin-bottom:10px}
.button-outline-dark{border:1px solid #171b35;color:#171b35;margin-top:10px}
.button-outline-dark:hover{background:#171b35;color:#f8f3e9}
@media(max-width:760px){.presse-hero{padding-top:52px;padding-bottom:58px}.presse-contact .two-col{grid-template-columns:1fr;gap:25px}.presse-card .button{width:100%;text-align:center}}



/* Pied de page harmonisé : bande pleine largeur, contenu centré et contrasté */
.site-footer, footer {
  background: #d9d3e8 !important;
  color: #171b35 !important;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 24px 0;
}
.site-footer p, .site-footer a, .site-footer span,
footer p, footer a, footer span {
  color: #171b35 !important;
}
.footer-inner {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.footer-inner p { margin: 0; line-height: 1.6; }
.footer-links { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.footer-links a { text-decoration: none; font-weight: 600; }
.footer-links a:hover { text-decoration: underline; }
@media (max-width: 640px) {
  .site-footer, footer { padding: 22px 0; }
  .footer-inner { width: calc(100% - 32px); flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-links { gap: 14px; }
}


/* Harmonisation générale selon la charte graphique officielle */
:root{
  --ink:#171b35;
  --muted:#45475a;
  --paper:#f8f3e9;
  --purple:#ff705e;
  --purple-dark:#171b35;
  --pink:#ff705e;
  --gold:#f6b63c;
  --line:#e7dfd3;
  --tint:#fffaf1;
}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"HK Grotesk","Helvetica Neue",Arial,sans-serif;
}
h1,h2,h3,.nav a,.button,.eyebrow,.doc-type{
  font-family:"Poppins","Poppins Bold","Helvetica Neue",Arial,sans-serif;
}
h1,h2,h3{color:var(--ink)}
.site-header{max-width:1400px}
.site-logo{flex:0 1 360px;max-width:360px}
.site-logo img{display:block;width:100%;height:auto;max-height:112px;object-fit:contain;object-position:left center}
.nav a:hover,.nav a.active,.footer-links a:hover{color:#ff705e}
.hero,.cta{background:#171b35;color:#f8f3e9}
.hero .eyebrow,.cta .eyebrow{color:#f6b63c}
.hero h1,.cta h1,.cta h2{color:#f8f3e9}
h1 span{color:#f6b63c}
.hero .button-primary,.cta .button-primary{background:#f6b63c;color:#171b35}
.button-primary{background:#ff705e;color:#171b35}
.button-primary:hover{background:#f6b63c;color:#171b35}
.section-tint{background:#fffaf1}
.page-hero{background:#171b35;color:#f8f3e9}
.page-hero h1,.page-hero h2{color:#f8f3e9}
.page-hero .eyebrow{color:#f6b63c}
.presse-hero{background:#d9d3e8;color:#171b35}
.presse-hero .eyebrow{color:#171b35}
.presse-hero h1{color:#171b35}
.presse-contact{background:#f8f3e9}
.card,.contact-panel{border-color:#e7dfd3}
.card-icon,.doc-symbol{color:#ff705e}
.site-footer,footer{background:#d9d3e8!important;color:#171b35!important}
.site-footer p,.site-footer a,.site-footer span,footer p,footer a,footer span{color:#171b35!important}
@media(max-width:700px){
 .site-header{padding:16px 18px;gap:12px}
 .site-logo{max-width:270px;flex-basis:230px}
 .site-logo img{max-height:78px}
}

/* Premières bandes de toutes les pages intérieures : lavande */
.page-hero,
.page-hero.restitution-hero,
.page-hero.presse-hero {
  background: #d9d3e8 !important;
  color: #171b35 !important;
}
.page-hero h1,
.page-hero h2,
.page-hero .lead,
.page-hero .restitution-intro {
  color: #171b35 !important;
}
.page-hero .eyebrow {
  color: #171b35 !important;
}


/* Mise en forme des étapes numérotées de l’accueil et de la page Travaux */
.section-numbered-cards .cards.three { align-items: stretch; gap: 22px; }
.section-numbered-cards .card-plain {
  position: relative;
  min-width: 0;
  min-height: 245px;
  padding: 28px 25px 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  background: #fffdf9;
  border: 1px solid #e5deec;
  border-top: 4px solid #d9d3e8;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(23, 27, 53, .06);
}
.section-numbered-cards .card-plain .number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin: 0 0 22px;
  border-radius: 50%;
  background: #d9d3e8;
  color: #171b35;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
}
.section-numbered-cards .card-plain h3 {
  margin: 0 0 12px;
  color: #171b35;
  font-family: "Poppins", sans-serif;
  font-size: clamp(19px, 1.65vw, 22px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.015em;
  max-width: 25ch;
}
.section-numbered-cards .card-plain p {
  margin: 0;
  max-width: 42ch;
  color: #45475a;
  font-family: "HK Grotesk", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
@media (max-width: 850px) {
  .section-numbered-cards .card-plain { min-height: 0; padding: 24px 22px; }
  .section-numbered-cards .card-plain .number { margin-bottom: 16px; }
}


/* Bouton de contact presse : contraste conforme à la charte */
.presse-email-button { background: #171b35; border-color: #171b35; color: #f8f3e9 !important; }
.presse-email-button:hover, .presse-email-button:focus-visible { background: #ff705e; border-color: #ff705e; color: #171b35 !important; }


/* Espace L’équipe des Loupiotes — page Restitution */
.team-section { background: #f8f3e9; }
.team-section .section-heading { max-width: 760px; margin: 0 auto 34px; text-align: center; }
.team-section .section-heading .eyebrow { color: #171b35; }
.team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; max-width: 1120px; margin: 0 auto; }
.team-card { min-width: 0; margin: 0; text-align: center; }
.team-photo-placeholder { aspect-ratio: 4 / 5; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 16px; border: 2px dashed #c7bfd9; border-radius: 12px; background: #fffdf9; color: #171b35; }
.team-photo-placeholder span { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: #d9d3e8; color: #171b35; font-size: 30px; line-height: 1; }
.team-photo-placeholder p { margin: 0; color: #55556a; font-size: 14px; }
.team-member-label { margin: 12px 0 0; color: #171b35; font-weight: 700; }
@media (max-width: 850px) { .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 440px) { .team-grid { gap: 12px; } .team-photo-placeholder { padding: 10px; } }
