@font-face{font-family:'Montserrat';font-style:normal;font-weight:600 900;font-display:swap;src:url(fonts/montserrat.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/source-sans-3.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-italic.woff2) format('woff2')}
  :root{
    --green:#586a41;--green-2:#66794d;--green-ink:#3a482c;
    --gold:#465a2e;--gold-2:#bccaa0;
    --paper:#f4efe3;--paper-2:#ece2cf;--white:#fffdf8;
    --ink:#33372b;--ink-soft:#5f6450;--ink-faint:#8c8f7c;
    --line:#e1d9c6;--line-dk:rgba(255,255,255,.16);--max:1220px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:76px}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{font-family:'Source Sans 3',system-ui,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4{font-family:'Montserrat',sans-serif;line-height:1.08;font-weight:800;letter-spacing:-.02em;color:var(--green-ink)}
  a{color:var(--green);text-decoration:none}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
  :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
  .tag{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
  .tag.box{background:var(--paper);color:var(--green-ink);padding:5px 11px;border-radius:2px;letter-spacing:.08em}
  .illus{width:100%;height:100%;display:block;object-fit:cover}
  .topo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

  header{position:sticky;top:0;z-index:80;background:var(--green);color:#fff}
  .nav{position:relative}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:26px;max-width:var(--max);margin:0 auto;padding:0 40px;height:70px}
  .brand{display:flex;align-items:center;gap:13px;color:#fff}
  .brand .hmark{height:42px;width:auto;flex:none;display:block}
  .brand b{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:.16em;color:#fff}
  nav ul{list-style:none;display:flex;gap:4px;align-items:center}
  nav a{font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.86);padding:9px 13px;border-radius:3px}
  nav a:hover{color:#fff;background:rgba(255,255,255,.1)}
  nav a.cta{background:var(--paper);color:var(--green-ink);margin-left:8px}
  nav a.cta:hover{background:#fff;color:var(--green-ink)}
  .menu-btn{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:8px 11px;border-radius:3px;cursor:pointer;font-size:1.05rem}
  @media(max-width:980px){
    .nav{gap:0}
    nav{position:static;width:0;height:0}
    .menu-btn{margin-left:auto}
    nav ul{position:absolute;top:100%;left:0;right:0;z-index:90;flex-direction:column;align-items:stretch;
           background:var(--green);border-top:1px solid var(--line-dk);box-shadow:0 14px 26px rgba(20,32,20,.22);
           padding:4px 40px 20px;gap:0;display:none;max-height:calc(100vh - 100%);overflow-y:auto}
    nav ul.open{display:flex}
    nav li{display:block}
    nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line-dk);border-radius:0}
    nav li:last-child a{border-bottom:none}
    nav a.cta{margin:16px 0 0;padding:14px 16px;text-align:center;border-radius:3px;border:none}
    .menu-btn{display:block}
  }

  .hero{position:relative;overflow:hidden;color:#fff;background:var(--green-ink)}
  .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
  .hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(20,32,20,.92) 0%,rgba(20,32,20,.74) 38%,rgba(20,32,20,.42) 66%,rgba(20,32,20,.12) 100%),linear-gradient(180deg,rgba(20,32,20,.12),rgba(20,32,20,.5))}
  .hero .topo{z-index:2;opacity:.5}
  .hero-inner{position:relative;z-index:3;max-width:var(--max);margin:0 auto;padding:118px 40px;min-height:600px;display:flex;align-items:center}
  .hero-copy{max-width:620px}
  .hero h1{color:#fff;font-size:clamp(2.3rem,4.9vw,4rem);font-weight:900;letter-spacing:-.025em;text-shadow:0 2px 26px rgba(12,20,10,.45)}
  .hero h1 em{font-style:normal;color:var(--gold-2)}
  .hero .lead{font-size:1.2rem;color:#eef2e6;max-width:48ch;margin-top:22px;line-height:1.5;text-shadow:0 1px 14px rgba(12,20,10,.45)}
  .hero .cta{margin-top:32px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
  .btn{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.86rem;font-weight:700;letter-spacing:.02em;padding:15px 30px;border-radius:3px;cursor:pointer;border:2px solid transparent}
  .btn-gold{background:var(--paper);color:var(--green-ink);border-color:var(--paper)}
  .btn-gold:hover{background:#fff}
  .btn-out{border-color:rgba(255,255,255,.5);color:#fff}
  .btn-out:hover{background:rgba(255,255,255,.12)}
  @media(max-width:900px){.hero-inner{padding:84px 40px;min-height:480px}}

  section{padding:88px 0}
  .shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;border-bottom:3px solid var(--green);padding-bottom:16px}
  .shead h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800}
  .shead .more{font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;color:var(--gold);white-space:nowrap}
  .shead .more:hover{color:var(--green)}

  .band{background:var(--green);color:#fff;position:relative;overflow:hidden}
  .band .in{position:relative;z-index:2}
  .band .shead{border-bottom-color:var(--gold-2)}
  .band .shead h2{color:#fff}
  .quote-hll{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.32;max-width:24ch;letter-spacing:-.015em}
  .quote-hll em{font-style:normal;color:var(--gold-2)}
  .qsrc{font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:600;color:#c6cfb9;letter-spacing:.04em;margin-top:18px}
  .comprendre-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .crit{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:54px}
  .crit>div{position:relative;padding-left:22px}
  .crit>div::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--gold-2)}
  .crit .c-ic{width:52px;height:52px;border:2px solid var(--gold-2);border-radius:50%;display:grid;place-items:center;color:var(--gold-2);font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.15rem;margin-bottom:18px}
  .crit h3{color:#fff;font-size:1.18rem;font-weight:800;margin-bottom:9px}
  .crit p{color:#dbe1d0;font-size:.98rem}
  @media(max-width:820px){.comprendre-grid{grid-template-columns:1fr;gap:30px}.crit{grid-template-columns:1fr;gap:26px;margin-top:34px}}

  .reg-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
  .reg-grid h3{font-size:1.15rem;font-weight:800;margin:0 0 14px;color:var(--green-ink)}
  table{width:100%;border-collapse:collapse;font-size:.96rem;margin-bottom:26px}
  th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}
  thead th{font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:#fff;background:var(--green);letter-spacing:.03em}
  tbody th{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.92rem;color:var(--green-ink);width:38%}
  td{color:var(--ink-soft)}
  .art-ref{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--gold);font-size:.86em}
  .reg-side{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:0 0 4px 4px;padding:28px 30px}
  .reg-side h3{margin-bottom:16px}
  .reg-side ul{list-style:none;display:grid;gap:14px}
  .reg-side li{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:.97rem;color:var(--ink)}
  .reg-side li b{font-family:'Montserrat',sans-serif}
  .reg-side .mk{color:var(--green);font-weight:800}
  .reg-side .btn{margin-top:22px;width:100%;text-align:center;background:var(--green);color:#fff;border:none}
  .reg-side .btn:hover{background:var(--green-2)}
  .refs{font-size:.86rem;color:var(--ink-faint);margin-top:8px;font-style:italic}
  @media(max-width:820px){.reg-grid{grid-template-columns:1fr;gap:34px}}

  .synd{background:var(--paper-2)}
  .synd-top{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;margin-bottom:20px}
  .synd-top .lead2{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(1.35rem,2.8vw,1.9rem);line-height:1.3;color:var(--green-ink);letter-spacing:-.015em}
  .synd-top .lead2 em{font-style:normal;color:var(--gold)}
  .synd-top .lead2{margin-bottom:26px}
  .synd-top p{color:var(--ink-soft);margin-top:0}
  .synd-figure{margin:0}
  .synd-img{border-radius:5px;overflow:hidden;border:1px solid var(--line);background:var(--paper);line-height:0}
  .synd-img .illus{height:auto}
  .synd-cap{font-size:.82rem;line-height:1.45;font-style:italic;color:var(--ink-faint);margin-top:10px}
  .missions{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:44px;padding-top:40px;border-top:1px solid var(--line)}
  .missions div{padding:0}
  .missions .mi{color:var(--green);margin-bottom:16px}
  .missions .mi svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .missions b{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.98rem;color:var(--green-ink);display:block;line-height:1.3}
  @media(max-width:820px){.synd-top{grid-template-columns:1fr;gap:30px}.synd-figure{order:-1}.missions{grid-template-columns:1fr 1fr;gap:30px}}

  .mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:8px}
  .mcard{text-align:center}
  .mlogo{display:grid;place-items:center;min-height:164px;margin-bottom:0;background:var(--white);border:1px solid var(--line);border-radius:5px;padding:26px 24px}
  .mlogo img{max-width:78%;max-height:96px;width:auto;height:auto;object-fit:contain;display:block}
  .mlogo .mono{display:none}
  .mlogo.no-logo{background:transparent;border-color:transparent;padding:0}
  .mlogo.no-logo .mono{width:78px;height:78px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:.02em}
  @media(max-width:640px){.mgrid{grid-template-columns:1fr 1fr;gap:24px}}

  .bureau{margin-top:52px;padding-top:40px;border-top:1px solid var(--line)}
  .bureau h3{font-size:1.25rem;font-weight:800;margin-bottom:26px}
  .bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
  .pcard{display:flex;align-items:center;gap:18px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:4px;padding:20px 22px}
  .pav{flex:none;width:58px;height:58px;border-radius:50%;background:var(--gold-2);color:var(--green-ink);display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:.04em;overflow:hidden}
  .pav img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1)}
  .pname{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.05rem;color:var(--green-ink);line-height:1.25}
  .prole{font-size:.9rem;color:var(--ink-soft);margin-top:2px}
  @media(max-width:820px){.bgrid{grid-template-columns:1fr;gap:16px}}

  .contact{background:var(--green);color:#fff}
  .contact .shead{border-bottom-color:var(--gold-2)}
  .contact .shead h2{color:#fff}
  .cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px;align-items:stretch;max-width:880px}
  .coord div{padding:4px 0}
  .coord dt{font-family:'Montserrat',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);margin-bottom:5px}
  .coord dd{font-size:1.06rem;color:#f1f3ea}
  .coord dd a{color:#f1f3ea;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--gold-2)}
  .coord dd a:hover{color:#fff}
  @media(max-width:600px){.cgrid{grid-template-columns:1fr;gap:30px 0}}

  footer{background:var(--green-ink);color:#c3ccb6;position:relative;overflow:hidden}
  footer .in{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:56px 40px 40px;display:flex;justify-content:space-between;gap:44px;flex-wrap:wrap}
  footer .flock{display:inline-flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:14px}
  footer .fmark{height:76px;width:auto;display:block}
  footer .fword{text-align:center}
  footer .fword .w1{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.02rem;letter-spacing:.42em;text-indent:.42em;color:#eef1e6}
  footer .fword .w2{display:flex;align-items:center;justify-content:center;gap:11px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.3em;text-indent:.3em;color:var(--gold-2);margin:7px 0}
  footer .fword .w2 i{height:1px;width:24px;background:var(--gold-2);display:inline-block;flex:none}
  footer .fword .w3{display:block;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.6rem;letter-spacing:.22em;text-indent:.22em;color:#c3ccb6}
  footer .fb{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:.16em;color:#fff;font-size:1.05rem}
  footer p{font-size:.92rem;max-width:38ch;margin-top:8px}
  footer .cols{display:flex;gap:56px;flex-wrap:wrap}
  footer h4{font-family:'Montserrat',sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);margin-bottom:14px}
  footer ul{list-style:none;display:grid;gap:9px;font-size:.92rem}
  footer ul a{color:#d6ddca}
  footer ul a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
  @media(max-width:600px){
    body{font-size:16px}
    .wrap{padding:0 22px}
    .nav{padding:0 22px;height:62px}
    nav ul{padding-left:22px;padding-right:22px}
    .brand .hmark{height:36px}
    .brand b{font-size:.98rem;letter-spacing:.18em}
    section{padding:58px 0}
    .shead{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:28px;padding-bottom:14px}
    .shead .more{white-space:normal}
    .hero-inner{padding:64px 22px;min-height:440px}
    .hero h1{font-size:clamp(1.9rem,8vw,2.4rem)}
    .hero .lead{font-size:1.05rem;margin-top:16px}
    .hero-shade{background:linear-gradient(180deg,rgba(20,32,20,.5),rgba(20,32,20,.8))}
    .quote{padding:34px 24px}
    .crit{gap:22px}
    .grid4{grid-template-columns:1fr 1fr;gap:14px}
    .mini{padding:22px 16px}
    .quota{flex-direction:column;align-items:flex-start;gap:14px;padding:24px 22px}
    .quota ul{flex-direction:column;gap:10px;margin-left:0}
    .badges{gap:16px}
    .badge-box{padding:24px 22px}
    #reglementation table,#reglementation tbody,#reglementation tr{display:block}
    #reglementation thead{display:none}
    #reglementation table{margin-bottom:30px}
    #reglementation tbody tr{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:4px;padding:15px 17px;margin-bottom:12px}
    #reglementation tbody th{display:block;width:auto;padding:0 0 10px;border:none;font-size:1.02rem}
    #reglementation tbody td{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:8px 0 0;border:none;border-top:1px solid var(--line);margin-top:8px;font-size:.95rem;text-align:right}
    #reglementation tbody td::before{content:attr(data-l);flex:none;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);text-align:left}
    table{font-size:.9rem}
    th,td{padding:11px 11px}
    tbody th{width:34%}
    .reg-side{padding:24px 22px}
    .missions{grid-template-columns:1fr;gap:26px;padding-top:32px}
    .synd-top .lead2{font-size:clamp(1.25rem,6vw,1.6rem)}
    .mgrid{gap:22px}
    .mlogo{min-height:124px;padding:18px}
    .mlogo img{max-height:72px;max-width:82%}
    .mlogo .mono{width:66px;height:66px;font-size:1.3rem}
    footer .in{padding:44px 22px 34px;gap:32px}
    footer .cols{gap:40px}
    footer .fmark{height:60px}
  }
  @media(max-width:480px){
    .hero .cta{flex-direction:column;align-items:stretch}
    .hero .cta .btn{text-align:center}
    .grid4{grid-template-columns:1fr}
    .mgrid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:360px){
    .wrap{padding:0 18px}
    .nav{padding:0 18px}
    nav ul{padding-left:18px;padding-right:18px}
    .hero-inner{padding:52px 18px;min-height:400px}
  }


.legal{padding:64px 0 88px}
.legal .wrap{max-width:820px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:900;padding-bottom:16px;border-bottom:3px solid var(--green);margin-bottom:12px}
.legal h2{font-size:1.25rem;font-weight:800;margin:40px 0 12px}
.legal p,.legal address{font-style:normal;margin-bottom:12px}
.legal a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.legal .maj{font-size:.92rem;color:var(--ink-faint)}
@media(max-width:600px){.legal{padding:44px 0 58px}}
