@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root{
  --bleu-klein:#1649DF;
  --rose-poudre:#EDBCC4;
  --orange-franc:#FF5107;
  --beige-creme:#E8D7BE;
  --creme-clair:#F7F5EF;
  --texte:#101A3D;
  --bleu-tint:#E8EDFF;
  --rose-tint:#F8E7EA;
  --orange-tint:#FFE9DF;
  --display:'Montserrat', sans-serif;
  --body:'Montserrat', sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--creme-clair);color:var(--texte);font-family:var(--body);font-size:17px;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit}
.wrap{max-width:1260px;margin:0 auto;padding:0 42px}

.site-nav{display:flex;align-items:center;justify-content:space-between;padding:26px 0 20px;gap:36px}
.brand{display:flex;align-items:center;text-decoration:none}
.logo{height:38px;width:auto}
.links{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.links a{text-decoration:none;font-size:.92rem;font-weight:500;padding:5px 0;border-bottom:2px solid transparent;transition:border-color .16s ease;color:var(--texte)}
.links .sector-link{color:var(--bleu-klein);font-weight:600}
.links .sector-last{margin-right:10px}
.links a:hover,.links a[aria-current="page"]{border-color:var(--orange-franc)}

.intro{padding:64px 0 90px;display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}
.eyebrow,.section-kicker{margin:0 0 18px;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600}
.intro h1,.section-head h2,.contact h2,.bio-hero h1,.legal-page h1{font-family:var(--display);margin:0;letter-spacing:-.045em}
.intro h1{font-size:clamp(2.55rem,4vw,4.15rem);font-weight:700;line-height:1.04;max-width:17ch}
.intro h1 span{color:var(--bleu-klein);font-weight:400;letter-spacing:-.035em}
.lede{margin:28px 0 0;font-size:1.12rem;max-width:54ch}
.intro-portrait{display:block;position:relative;text-decoration:none;align-self:center;border-radius:22px;overflow:hidden}
.intro-portrait img{display:block;width:100%;max-height:510px;object-fit:contain;border-radius:22px;clip-path:inset(0 round 22px);transition:transform .22s ease}
.intro-portrait:hover img{transform:translateY(-4px)}

.expertises{padding:14px 0 90px}
.section-head{margin-bottom:28px;text-align:left}
.section-head h2{font-size:clamp(1.65rem,2.35vw,2.35rem);font-weight:700;line-height:1.08}
.blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.block{min-height:250px;border:0;border-radius:22px;padding:30px 28px 30px;text-align:left;color:var(--texte);cursor:pointer;position:relative;transition:transform .18s ease,box-shadow .18s ease;background:var(--bg)}
.block:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,26,61,.08)}
.block:hover .toggle-ind{transform:rotate(90deg)}
.block[data-key="agence"]{--bg:var(--bleu-tint);--accent:var(--bleu-klein)}
.block[data-key="edition"]{--bg:var(--rose-tint);--accent:var(--rose-poudre)}
.block[data-key="moto"]{--bg:var(--orange-tint);--accent:var(--orange-franc)}
.toggle-ind{position:absolute;top:24px;right:26px;font-family:var(--display);font-size:1.65rem;font-weight:300;line-height:1;transition:transform .2s ease}
.block[aria-expanded="true"] .toggle-ind,.block[aria-expanded="true"]:hover .toggle-ind{transform:rotate(45deg)}
.block h3{font-family:var(--display);font-size:1.55rem;font-weight:700;line-height:1.08;margin:0 44px 14px 0;letter-spacing:-.025em;min-height:1.7rem;display:flex;align-items:flex-start}
.block .accroche{margin:0;font-size:.98rem;line-height:1.5;max-width:31ch}
.block::after{content:"";position:absolute;left:28px;bottom:26px;width:54px;height:4px;border-radius:99px;background:var(--accent)}

.panel{grid-column:1/-1;max-height:0;overflow:hidden;transition:max-height .35s ease;margin-top:-2px}
.panel-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:54px;margin-top:8px;padding:38px 40px 42px;border-radius:22px;background:var(--panel-bg,var(--beige-creme))}
.panel[data-active="agence"]{--panel-bg:var(--bleu-tint)}
.panel[data-active="edition"]{--panel-bg:var(--rose-tint)}
.panel[data-active="moto"]{--panel-bg:var(--orange-tint)}
.panel-inner h4{font-family:var(--display);font-size:1.22rem;font-weight:800;margin:0 0 12px;letter-spacing:-.02em}
.panel-inner h4:not(:first-child){margin-top:28px}
.panel-inner p,.panel-inner ul{margin:0}
.panel-inner ul{padding-left:18px}
.panel-inner li{margin-bottom:7px}

.contact{margin:16px 0 0;padding:72px 0 88px;border-top:1px solid rgba(16,26,61,.15)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px}
.contact h2{font-size:clamp(2rem,3.1vw,3.2rem);font-weight:700;line-height:1.05;max-width:12ch}
.contact-copy>p:last-child{max-width:40ch;margin-top:22px}
form{display:flex;flex-direction:column;gap:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-size:.9rem;font-weight:500;margin-bottom:7px}
input,textarea{width:100%;border:1.5px solid rgba(16,26,61,.16);border-radius:12px;padding:13px 14px;background:#fff;color:var(--texte)}
input:focus,textarea:focus{outline:none;border-color:var(--bleu-klein)}
button[type="submit"]{align-self:flex-start;border:0;border-radius:999px;background:var(--orange-franc);color:#fff;padding:13px 24px;font-weight:600;cursor:pointer}

.site-footer{padding:30px 0 38px;border-top:1px solid rgba(16,26,61,.14);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:.86rem}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:flex-end}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline}

/* Alice page */
.bio-hero{padding:66px 0 60px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:stretch}
.bio-copy{display:flex;flex-direction:column;justify-content:center;min-height:470px}
.bio-hero h1{font-size:clamp(2.5rem,4vw,4rem);font-weight:700;line-height:1.04;max-width:14ch}
.bio-hero .lede{font-size:1.08rem;max-width:56ch;margin-top:24px}
.bio-visual{height:470px;display:flex;align-items:stretch;justify-content:center;border-radius:22px;overflow:hidden}
.bio-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:22px;clip-path:inset(0 round 22px)}
.bio-list{padding:24px 0 84px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.bio-item{background:var(--beige-creme);border-radius:18px;padding:26px 28px}
.bio-item:nth-child(1){background:var(--beige-creme)}
.bio-item:nth-child(2){background:var(--orange-tint)}
.bio-item:nth-child(3){background:var(--rose-tint)}
.bio-item:nth-child(4){background:var(--bleu-tint)}
.bio-item:nth-child(5){background:var(--orange-tint)}
.bio-item:nth-child(6){background:var(--beige-creme)}
.bio-item:nth-child(7){background:var(--bleu-tint)}
.bio-item:nth-child(8){background:var(--rose-tint)}
.bio-item h3{font-family:var(--display);font-size:1.08rem;font-weight:700;margin:0 0 8px;letter-spacing:-.015em}
.bio-item p{margin:0;font-size:.96rem}
.back-contact{padding:0 0 80px}
.back-contact a{display:inline-block;background:var(--bleu-klein);color:#fff;text-decoration:none;padding:13px 24px;border-radius:999px;font-weight:600}

/* Legal pages */
.legal-page{padding:72px 0 96px;max-width:900px}
.legal-page h1{font-size:clamp(2.5rem,4vw,4rem);font-weight:700;line-height:1.04;margin-bottom:46px}
.legal-content{display:grid;gap:32px}
.legal-content h2{font-family:var(--display);font-size:1.22rem;font-weight:700;margin:0 0 8px;letter-spacing:-.015em}
.legal-content p{margin:0;max-width:76ch}

@media (max-width:900px){
  .wrap{padding:0 24px}
  .site-nav{align-items:flex-start}.links{gap:14px 20px;justify-content:flex-end}
  .intro{grid-template-columns:1fr;padding:52px 0 68px}.intro-portrait{max-width:620px}.intro h1{max-width:15ch}
  .blocks{grid-template-columns:1fr}.block{min-height:220px}.panel-inner{grid-template-columns:1fr;gap:24px}
  .contact-grid{grid-template-columns:1fr;gap:42px}.field-row{grid-template-columns:1fr}
  .bio-hero{grid-template-columns:1fr;align-items:start}.bio-copy{min-height:auto}.bio-visual{height:auto;max-height:540px}.bio-photo{height:auto;max-height:540px}.bio-list{grid-template-columns:1fr}
}

@media (max-width:620px){
  body{font-size:16px}.wrap{padding:0 18px}.site-nav{display:block}.logo{height:32px}.links{margin-top:18px;justify-content:flex-start;gap:10px 18px}
  .intro{padding-top:42px}.intro h1{font-size:clamp(2.25rem,10vw,3.3rem)}
  .section-head h2{font-size:1.8rem}.block{padding:24px}.block::after{left:24px}.panel-inner{padding:30px 24px}
  .site-footer{align-items:flex-start;flex-direction:column}.footer-links{justify-content:flex-start;gap:12px 20px}
}

/* --- V6 : système typographique Montserrat équilibré --- */
h1, h2, h3, .section-label { font-family:'Montserrat', sans-serif; }
.site-nav, .site-nav a { font-family:'Montserrat', sans-serif; font-weight:600; }
body, p, li, label, input, textarea, button { font-family:'Montserrat', sans-serif; }
