:root {
  --blue: #0A84FF;
  --navy: #17345F;
  --light-blue: #DCEEFF;
  --pale-blue: #F1F7FC;
  --white: #FFFFFF;
  --off-white: #F9FBFD;
  --text: #1E3552;
  --muted: #53657B;
  --border: #DCE6EF;
  --shadow: 0 24px 70px rgba(23, 52, 95, 0.08);
  --container: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: Inter, Manrope, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 14px;
  left: 14px;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--navy);
  color: var(--white);
  transform: translateY(-180%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.page-shell { overflow: hidden; }

.site-header {
  border-bottom: 1px solid rgba(23, 52, 95, .07);
  background: rgba(255,255,255,.96);
}
.header-inner {
  min-height: 102px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand { text-decoration: none; }
.brand-word { color: var(--navy); font-size: 2rem; font-weight: 760; letter-spacing: -.045em; }
.brand-word strong { color: var(--blue); font-weight: 820; }
.header-note { margin: 0; color: var(--navy); font-size: .86rem; font-weight: 700; }

.hero {
  position: relative;
  min-height: 690px;
  display: grid;
  align-items: center;
  padding: 92px 0 104px;
  background: radial-gradient(circle at 85% 34%, rgba(220,238,255,.62), transparent 26%), linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}
.hero-glow {
  position: absolute;
  width: 560px;
  height: 560px;
  right: -250px;
  top: 10%;
  border-radius: 50%;
  background: rgba(220,238,255,.32);
  filter: blur(12px);
}
.hero-network { position:absolute; right:2%; top:11%; width:42%; height:72%; opacity:.55; pointer-events:none; }
.hero-network .line { position:absolute; height:1px; background:linear-gradient(90deg,transparent,rgba(10,132,255,.3),transparent); transform-origin:left center; }
.line-a { width:78%; top:30%; left:12%; transform:rotate(-14deg); }
.line-b { width:66%; top:52%; left:19%; transform:rotate(18deg); }
.line-c { width:52%; top:67%; left:28%; transform:rotate(-9deg); }
.hero-network .point { position:absolute; width:9px; height:9px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 7px rgba(10,132,255,.08); animation:nodePulse 5.5s ease-in-out infinite; }
.point-a { left:12%; top:28%; }
.point-b { left:47%; top:44%; animation-delay:1s; }
.point-c { right:14%; top:25%; animation-delay:2s; }
.point-d { right:24%; bottom:20%; animation-delay:.7s; }

.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.72fr); gap:clamp(44px,7vw,100px); align-items:center; }
.hero-copy { max-width:730px; }
.status-badge { width:fit-content; display:inline-flex; align-items:center; gap:10px; padding:10px 15px; border:1px solid rgba(10,132,255,.24); border-radius:999px; background:#F1F8FF; color:var(--navy); font-size:.82rem; font-weight:760; letter-spacing:.035em; text-transform:uppercase; }
.status-dot { width:9px; height:9px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 5px rgba(10,132,255,.12); }
.hero-title { margin:30px 0 24px; color:var(--navy); font-size:clamp(2.75rem,5.2vw,5.2rem); line-height:1; letter-spacing:-.055em; font-weight:760; }
.hero-title span,.hero-title strong { display:block; }
.hero-title strong { color:var(--blue); font-weight:790; }
.hero-intro { max-width:690px; margin:0; color:var(--muted); font-size:clamp(1.06rem,1.42vw,1.24rem); }
.hero-signature { margin:26px 0 0; color:var(--navy); font-weight:780; }

.hero-statement { position:relative; padding:38px 34px 36px; border:1px solid rgba(23,52,95,.09); border-radius:30px; background:rgba(255,255,255,.9); box-shadow:var(--shadow); backdrop-filter:blur(8px); }
.hero-statement::before { content:""; position:absolute; top:34px; left:-1px; width:4px; height:58px; border-radius:0 99px 99px 0; background:linear-gradient(180deg,var(--blue),var(--light-blue)); }
.statement-label,.eyebrow { margin:0 0 8px; color:var(--blue); font-size:.78rem; font-weight:820; letter-spacing:.09em; text-transform:uppercase; }
.statement-main { margin:0; color:var(--navy); font-size:clamp(1.45rem,2.15vw,2.05rem); font-weight:780; line-height:1.18; letter-spacing:-.03em; }
.statement-values { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 22px; }
.statement-values span,.audience-list span { padding:7px 11px; border-radius:999px; background:var(--pale-blue); color:var(--navy); font-size:.78rem; font-weight:740; }
.statement-text { margin:0; color:var(--muted); font-size:.94rem; }

.about-section,.audiences-section,.closing-section { padding:108px 0; }
.about-grid,.audiences-grid { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(46px,8vw,110px); align-items:start; }
.section-heading h2,.prepare-heading h2,.audiences-grid h2,.closing-card h2 { margin:0; color:var(--navy); font-size:clamp(2rem,3.3vw,3.2rem); line-height:1.1; letter-spacing:-.04em; }
.about-copy { padding-top:5px; border-top:1px solid var(--border); }
.about-copy p { max-width:760px; margin:24px 0 0; color:var(--muted); font-size:1.05rem; }
.about-copy p:first-child { color:var(--text); font-size:1.14rem; }

.prepare-section { padding:104px 0 110px; background:linear-gradient(180deg,#F8FBFE 0%,#fff 100%); border-top:1px solid rgba(23,52,95,.06); border-bottom:1px solid rgba(23,52,95,.06); }
.prepare-heading { max-width:780px; margin-bottom:54px; }
.prepare-heading > p:last-child { margin:18px 0 0; color:var(--muted); }
.topic-list { border-top:1px solid var(--border); }
.topic-item { display:grid; grid-template-columns:72px minmax(0,1fr); gap:26px; padding:30px 0; border-bottom:1px solid var(--border); }
.topic-number { margin:3px 0 0; color:var(--blue); font-size:.82rem; font-weight:820; letter-spacing:.08em; }
.topic-item h3 { margin:0; color:var(--navy); font-size:1.35rem; line-height:1.2; letter-spacing:-.02em; }
.topic-item p:not(.topic-number) { max-width:780px; margin:8px 0 0; color:var(--muted); }

.audiences-section { background:var(--white); }
.audience-list { display:flex; flex-wrap:wrap; gap:10px; padding-top:8px; }
.audience-list span { font-size:.86rem; padding:9px 13px; }

.closing-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:44px; align-items:center; padding:58px 64px; overflow:hidden; border-radius:36px; background:linear-gradient(135deg,#EAF4FF 0%,#F8FBFE 50%,#EEF6FF 100%); border:1px solid rgba(10,132,255,.14); }
.closing-copy > p:not(.eyebrow):not(.soon) { max-width:760px; margin:16px 0 0; color:var(--muted); }
.soon { margin:22px 0 0; color:var(--navy); font-weight:800; }
.closing-status { position:relative; height:142px; display:grid; place-items:center; }
.closing-status-line { position:absolute; width:180px; height:1px; background:rgba(10,132,255,.32); transform:rotate(-16deg); }
.closing-status-dot { position:absolute; top:24px; right:28px; width:11px; height:11px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 8px rgba(10,132,255,.09); }
.closing-status-text { position:relative; z-index:1; padding:12px 18px; border-radius:999px; background:rgba(255,255,255,.78); color:var(--navy); font-size:.9rem; font-weight:820; }

.site-footer { border-top:1px solid rgba(23,52,95,.08); background:var(--off-white); }
.footer-inner { min-height:156px; display:flex; justify-content:space-between; align-items:center; gap:32px; padding-block:34px; }
.footer-inner p { margin:0; color:var(--muted); font-size:.9rem; }
.footer-brand { margin-bottom:4px!important; color:var(--navy)!important; font-size:1.25rem!important; font-weight:800; }
.footer-meta { text-align:right; }

@keyframes nodePulse { 0%,100% { transform:scale(1); opacity:.72; } 50% { transform:scale(1.18); opacity:1; } }

@media (max-width:930px) {
  .hero { min-height:auto; padding:72px 0 84px; }
  .hero-grid,.about-grid,.audiences-grid { grid-template-columns:1fr; gap:38px; }
  .hero-statement { max-width:700px; }
  .hero-network { width:68%; right:-15%; opacity:.35; }
  .closing-card { grid-template-columns:1fr 170px; padding:48px; }
}

@media (max-width:650px) {
  body { font-size:17px; }
  .container { width:min(calc(100% - 28px),var(--container)); }
  .header-inner { min-height:88px; }
  .brand-word { font-size:1.72rem; }
  .header-note { display:none; }
  .hero { padding:52px 0 68px; }
  .hero-network { display:none; }
  .status-badge { font-size:.72rem; padding:9px 12px; }
  .hero-title { margin-top:24px; font-size:clamp(2.45rem,13vw,3.85rem); }
  .hero-intro { font-size:1.03rem; }
  .hero-statement { padding:29px 24px 27px; border-radius:24px; }
  .about-section,.prepare-section,.audiences-section,.closing-section { padding:72px 0; }
  .section-heading h2,.prepare-heading h2,.audiences-grid h2,.closing-card h2 { font-size:2rem; }
  .prepare-heading { margin-bottom:36px; }
  .topic-item { grid-template-columns:48px minmax(0,1fr); gap:16px; padding:26px 0; }
  .topic-item h3 { font-size:1.2rem; }
  .closing-card { grid-template-columns:1fr; padding:34px 26px; border-radius:26px; }
  .closing-status { display:none; }
  .footer-inner { min-height:auto; flex-direction:column; align-items:flex-start; }
  .footer-meta { text-align:left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}

@media (prefers-contrast: more) {
  :root { --muted:#314A66; --border:#9AB9CC; }
  .status-badge,.hero-statement,.closing-card { border-width:2px; }
}

/* Programme HandiIA */
.handiia-section {
  padding: 0 0 108px;
  background: var(--white);
}

.handiia-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(36px, 7vw, 88px);
  align-items: center;
  padding: 46px 52px;
  overflow: hidden;
  border: 1px solid rgba(10, 132, 255, .14);
  border-radius: 30px;
  background: linear-gradient(135deg, #F4FAFF 0%, #FFFFFF 62%, #EDF7FF 100%);
  box-shadow: 0 18px 55px rgba(23, 52, 95, .055);
}

.handiia-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, var(--blue), #7CC7FF);
}

.handiia-content {
  max-width: 760px;
}

.handiia-content h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.handiia-content > p:last-child {
  margin: 16px 0 0;
  color: var(--muted);
}

.handiia-link-wrap {
  min-width: 190px;
  text-align: right;
}

.handiia-link {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 17px;
  border: 1px solid var(--navy);
  border-radius: 999px;
  color: var(--navy);
  background: rgba(255,255,255,.72);
  font-size: .9rem;
  font-weight: 780;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.handiia-link:hover {
  color: var(--white);
  background: var(--navy);
  border-color: var(--navy);
  transform: translateY(-1px);
}

.handiia-arrow {
  font-size: 1.18rem;
  line-height: 1;
}

.handiia-url {
  margin: 8px 3px 0 0;
  color: var(--muted);
  font-size: .78rem;
}

@media (max-width: 930px) {
  .handiia-card {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .handiia-link-wrap {
    text-align: left;
  }

  .handiia-url {
    margin-left: 3px;
  }
}

@media (max-width: 650px) {
  .handiia-section {
    padding-bottom: 72px;
  }

  .handiia-card {
    padding: 30px 24px 30px 28px;
    border-radius: 24px;
  }

  .handiia-content h2 {
    font-size: 2rem;
  }

  .handiia-link {
    width: 100%;
  }
}
