/* Alrydev — feuille de style partagée (pages intérieures) */
@font-face{
  font-family:"Inter"; font-style:normal; font-weight:100 900;
  font-display:swap; src:url("/fonts/inter-var.woff2") format("woff2");
}
:root{
  --violet:#8c3189; --violet-d:#5b1f59; --violet-dd:#3f163e;
  --orange:#dd7929; --orange-d:#c56620; --amber:#f8ae41;
  --magenta:#9c2563; --rose:#db1a5d;
  --cream:#fbf8f2; --ink:#2a2130; --muted:#6f6875;
  --line:#ece6ee;
  --shadow:0 12px 34px rgba(60,20,60,.10);
  --shadow-sm:0 6px 18px rgba(60,20,60,.07);
  --grad:linear-gradient(120deg,#8c3189 0%,#9c2563 52%,#db1a5d 100%);
}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  margin:0; color:var(--ink); background:#fff; line-height:1.65; font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:var(--violet)}
.container{max-width:1120px; margin:0 auto; padding:0 24px}

/* Buttons */
.btn{display:inline-flex; align-items:center; gap:8px; border-radius:999px; font-weight:700; font-size:16px; padding:13px 24px; cursor:pointer; border:none; font-family:inherit; text-decoration:none; background:var(--orange); color:#fff; box-shadow:0 8px 20px rgba(221,121,41,.32); transition:transform .12s ease, box-shadow .12s ease}
.btn:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(221,121,41,.42); color:#fff}
.btn.ghost{background:#fff; color:var(--violet); border:1.5px solid #e6d6e6; box-shadow:none}
.btn.ghost:hover{border-color:var(--violet); color:var(--violet)}
.btn-sm{padding:10px 18px; font-size:14.5px}

/* Header */
header.nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
header.nav .container{display:flex; align-items:center; justify-content:space-between; height:70px; gap:20px}
header.nav .logo{font-weight:800; font-size:23px; color:var(--violet); letter-spacing:-.03em; text-decoration:none}
header.nav .logo span{color:var(--orange)}
header.nav .nav-links{display:flex; align-items:center; gap:26px; font-size:15px; font-weight:500}
header.nav .nav-links a{color:#4a4350; text-decoration:none}
header.nav .nav-links a:hover{color:var(--violet)}
header.nav .nav-cta{display:flex; align-items:center; gap:16px}
header.nav .nav-tel{font-weight:700; color:var(--violet); font-size:15px}

/* Bandeau échéances */
.deadline{background:var(--violet-dd); color:#f0dcef}
.deadline .container{display:flex; align-items:center; justify-content:center; gap:14px; padding:14px 24px; text-align:center; flex-wrap:wrap; font-size:14.5px}
.deadline strong{color:var(--amber)}

/* Article */
main.article{max-width:860px; padding-top:10px; padding-bottom:24px}
.crumb{font-size:13.5px; color:var(--muted); padding:22px 0 0}
.crumb a{color:var(--muted); text-decoration:none}
.crumb a:hover{color:var(--violet)}
main.article h1{font-size:clamp(30px,4.4vw,44px); color:var(--violet-dd); line-height:1.1; margin:16px 0 10px; font-weight:900; letter-spacing:-.02em}
.lede{font-size:19px; color:#4c4553; margin:0 0 10px}
main.article h3{font-size:19px; color:var(--violet-dd); margin:0 0 8px; font-weight:800; letter-spacing:-.01em}
.secteur h3{color:var(--violet); font-size:17px}
main.article h2{font-size:clamp(22px,2.8vw,29px); color:var(--violet-dd); margin:40px 0 12px; font-weight:800; letter-spacing:-.02em}
main.article p{margin:0 0 15px}
main.article ul{margin:0 0 15px; padding-left:22px}
main.article li{margin:7px 0}
.actions{margin:28px 0; display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.page-img{width:100%; aspect-ratio:16/7; object-fit:cover; border-radius:20px; box-shadow:var(--shadow); display:block; margin:8px 0 10px; background:#efe9f0}

/* Encadrés */
.encadre{background:linear-gradient(135deg,#fff9ef,#fdf3e2); border:1px solid #f2e2bf; border-radius:18px; padding:20px 22px; margin:24px 0; box-shadow:var(--shadow-sm)}
.encadre strong{color:var(--violet)}
.cle{background:#fff; border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:14px; padding:16px 20px; margin:18px 0; box-shadow:var(--shadow-sm)}
.cle strong{color:var(--violet)}
.mythe{background:#fff; border:1px solid var(--line); border-left:4px solid var(--rose); border-radius:14px; padding:16px 20px; margin:18px 0; box-shadow:var(--shadow-sm)}
.mythe strong{color:var(--rose)}

/* Accordéon FAQ */
details{background:#fff; border:1px solid var(--line); border-radius:16px; margin-bottom:12px; padding:4px 22px; box-shadow:var(--shadow-sm)}
summary{font-weight:700; color:var(--violet-dd); font-size:16.5px; cursor:pointer; list-style:none; position:relative; padding:16px 34px 16px 0}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; position:absolute; right:4px; top:13px; font-size:24px; color:var(--orange); font-weight:400}
details[open] summary::after{content:"–"}
details p{margin:0 0 16px; color:#5a5361}

/* CTA band */
.cta-band{background:var(--grad); color:#fff; padding:52px 0; margin-top:52px}
.cta-band .container{max-width:860px}
.cta-band h2{color:#fff; margin:0 0 10px; font-size:clamp(23px,3vw,32px); font-weight:900; letter-spacing:-.02em}
.cta-band p{margin:0 0 20px; color:#f3dff0; font-size:17px}
.cta-band .btn{background:#fff; color:var(--violet); box-shadow:0 8px 20px rgba(0,0,0,.15)}
.cta-band .btn:hover{color:var(--violet)}

/* Hub Morbihan : secteurs / communes / métiers */
.secteur{background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin:0 0 14px; box-shadow:var(--shadow-sm)}
.secteur strong{color:var(--violet-dd)}
.communes{font-size:15.5px; color:#5a5361; line-height:1.7; margin:0}
.metiers{background:linear-gradient(135deg,#fff9ef,#fdf3e2); border:1px solid #f2e2bf; border-radius:18px; padding:20px 24px; margin:26px 0; box-shadow:var(--shadow-sm)}
.metiers a{font-weight:700}

/* Blog */
.intro{font-size:18px; color:#4c4553; max-width:62ch; margin:0 0 28px}
.post{background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 26px; margin:0 0 16px; box-shadow:var(--shadow-sm); transition:transform .14s ease, box-shadow .14s ease}
.post:hover{transform:translateY(-3px); box-shadow:var(--shadow)}
.post .tag,.article .tag{display:inline-block; background:#fdf3e2; border:1px solid #f2e2bf; color:var(--orange); font-size:12.5px; font-weight:700; padding:4px 12px; border-radius:999px; margin-bottom:10px}
.article .post h2{font-size:22px; color:var(--violet-dd); margin:6px 0 8px; font-weight:800; letter-spacing:-.01em}
.post h2 a{text-decoration:none}
.post p{margin:0 0 10px; color:#5a5361}
.post .date,.article .date{font-size:13.5px; color:var(--muted)}
.article .soon h2{color:var(--violet-dd); font-size:23px; margin:40px 0 14px; font-weight:800}
.soon ul{columns:2; gap:26px; padding-left:20px; color:#5a5361}
.soon li{margin:7px 0; break-inside:avoid}

/* Blog article */
.article .meta{color:var(--muted); font-size:14px; margin:0 0 22px}
.article .chapo{font-size:19px; color:#4c4553; line-height:1.6; margin:0 0 26px}
.term{background:#fff; border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:14px; padding:18px 22px; margin:18px 0; box-shadow:var(--shadow-sm)}
.term .sigle{display:inline-block; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--rose); margin-bottom:4px}
.article .term h2{font-size:19px; margin:2px 0 8px; color:var(--violet-dd); font-weight:800}
.term p{margin:0; color:#4c4553}
.checklist{list-style:none; padding:0; margin:18px 0}
.checklist li{position:relative; padding:12px 16px 12px 48px; background:#fff; border:1px solid var(--line); border-radius:14px; margin:0 0 10px; box-shadow:var(--shadow-sm)}
.checklist li::before{content:"✓"; position:absolute; left:14px; top:50%; transform:translateY(-50%); width:24px; height:24px; border-radius:50%; background:var(--grad); color:#fff; font-weight:900; font-size:13px; display:flex; align-items:center; justify-content:center}
.checklist li strong{color:var(--violet-dd)}
.related{background:var(--cream); border-top:1px solid var(--line); padding:34px 0}
.related h2{font-size:20px; color:var(--violet-dd); margin:0 0 12px; font-weight:800}
.related ul{margin:0; padding-left:20px}
.related li{margin:8px 0}

/* Footer */
footer{background:var(--violet-dd); color:#c9aec7; padding:48px 0; font-size:14.5px}
footer .container{display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap}
footer .logo{font-weight:800; font-size:20px; color:var(--violet); letter-spacing:-.03em}
footer .logo span{color:var(--orange)}
footer strong{color:#fff}
footer a{color:#e7d3e4}
.mentions{font-size:12.5px; color:#957d93}
.foot-note{font-size:12.5px; color:#957d93; margin-top:12px; max-width:46ch}

@media(max-width:860px){
  header.nav .nav-links{display:none}
  .cta-band{padding:40px 0}
}
@media(max-width:520px){
  header.nav .nav-tel{display:none}
}
