/* Aelyne — accueil. Tous les styles sont volontairement limités à #aelyne-home. */
#aelyne-home {
  --ah-blue:#173d63;
  --ah-blue-2:#285f8c;
  --ah-pink:#e94b87;
  --ah-sky:#a9c6dc;
  --ah-ink:#17324f;
  --ah-text:#687583;
  --ah-line:#dfe5ea;
  --ah-soft:#f7f9fb;
  background:#fff;
  color:var(--ah-ink);
  font-family:"DM Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  overflow:hidden;
}
#aelyne-home *,
#aelyne-home *::before,
#aelyne-home *::after {box-sizing:border-box}
#aelyne-home :where(h1,h2,h3,p,a,span,div,article,section,small,strong,b,i) {
  font-family:inherit;
  text-transform:none;
  letter-spacing:normal;
}
#aelyne-home :where(h1,h2,h3) {color:inherit;padding:0}
#aelyne-home p {margin:0 0 1em}
#aelyne-home a {text-decoration:none;box-shadow:none}
#aelyne-home img {max-width:100%}
#aelyne-home .ah-wrap {width:min(1225px,calc(100% - 72px));margin-inline:auto}

#aelyne-home .ah-hero {padding:44px 0 94px}
#aelyne-home .ah-hero-grid {display:grid;grid-template-columns:1.15fr .85fr;gap:105px}
#aelyne-home .ah-overline {font-size:13px;letter-spacing:.105em;font-weight:600;text-transform:uppercase}
#aelyne-home .ah-hero h1 {
  font-size:clamp(52px,5.3vw,78px);
  font-weight:400;
  line-height:.99;
  letter-spacing:-.055em;
  margin:27px 0 28px;
  max-width:650px;
}
#aelyne-home .ah-hero h1 .ah-accent {color:var(--ah-blue-2)}
#aelyne-home .ah-dot {color:var(--ah-pink)}
#aelyne-home .ah-hero-copy {font-size:17px;color:var(--ah-text);max-width:650px}
#aelyne-home .ah-actions {display:flex;align-items:center;gap:32px;margin-top:34px}
#aelyne-home .ah-primary,
#aelyne-home .ah-primary:visited {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--ah-blue);
  color:#fff!important;
  border-radius:999px;
  padding:14px 26px;
  min-width:250px;
  font-size:14px;
}
#aelyne-home .ah-primary:hover,
#aelyne-home .ah-primary:focus {background:var(--ah-blue-2);color:#fff!important}
#aelyne-home .ah-text-link,
#aelyne-home .ah-text-link:visited,
#aelyne-home .ah-side-more,
#aelyne-home .ah-side-more:visited {color:var(--ah-ink)!important}
#aelyne-home .ah-text-link {font-size:14px;border-bottom:1px solid var(--ah-line);padding-bottom:5px}
#aelyne-home .ah-side-title {
  font-size:12px;
  letter-spacing:.11em;
  font-weight:600;
  border-bottom:1px solid var(--ah-line);
  padding-bottom:16px;
}
#aelyne-home .ah-situation {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:18px;
  align-items:center;
  border-bottom:1px solid var(--ah-line);
  padding:24px 0;
}
#aelyne-home .ah-situation small {
  display:block;
  color:#8b939d;
  font-size:11px;
  line-height:1.2;
  margin:0;
  padding:0;
}
#aelyne-home .ah-situation h2 {
  font-size:21px;
  line-height:1.2;
  font-weight:500;
  margin:3px 0 4px;
  padding:0;
}
#aelyne-home .ah-situation p {
  font-size:13px;
  line-height:1.55;
  color:var(--ah-text);
  margin:0;
  padding:0;
}
#aelyne-home .ah-side-more {
  display:flex;
  justify-content:space-between;
  font-size:14px;
  margin-top:25px;
  padding-bottom:6px;
  border-bottom:1px solid var(--ah-line);
}
#aelyne-home .ah-icon {width:40px;height:40px;position:relative}
#aelyne-home .ah-icon i {
  position:absolute;
  display:block;
  border-radius:2px;
  transform:rotate(32deg);
  width:7px;
  height:30px;
  top:5px;
}
#aelyne-home .ah-icon i:nth-child(1) {left:6px;background:var(--ah-blue)}
#aelyne-home .ah-icon i:nth-child(2) {left:16px;background:var(--ah-pink)}
#aelyne-home .ah-icon i:nth-child(3) {left:26px;background:var(--ah-sky)}
#aelyne-home .ah-icon-squares i {transform:none;width:12px;height:12px}
#aelyne-home .ah-icon-squares i:nth-child(1) {left:5px;top:6px}
#aelyne-home .ah-icon-squares i:nth-child(2) {left:19px;top:6px;background:var(--ah-blue-2)}
#aelyne-home .ah-icon-squares i:nth-child(3) {left:19px;top:20px;background:var(--ah-pink)}
#aelyne-home .ah-icon-dots i {transform:none;width:12px;height:12px;border-radius:50%}
#aelyne-home .ah-icon-dots i:nth-child(1) {left:5px;top:6px}
#aelyne-home .ah-icon-dots i:nth-child(2) {left:21px;top:6px;background:var(--ah-blue)}
#aelyne-home .ah-icon-dots i:nth-child(3) {left:5px;top:22px;background:var(--ah-pink)}
#aelyne-home .ah-icon-dots i:nth-child(4) {left:21px;top:22px;background:var(--ah-sky)}

#aelyne-home .ah-rule {height:1px;background:var(--ah-line)}
#aelyne-home section.ah-block {padding:100px 0}
#aelyne-home .ah-section-grid {display:grid;grid-template-columns:.42fr 1.58fr;gap:72px}
#aelyne-home .ah-section-no {font-size:12px;letter-spacing:.11em;font-weight:600}
#aelyne-home .ah-section-content h2 {
  font-size:clamp(42px,4.5vw,63px);
  font-weight:400;
  line-height:1.03;
  letter-spacing:-.05em;
  margin:0 0 55px;
  max-width:820px;
}
#aelyne-home .ah-section-content h2 span {color:var(--ah-blue-2)}
#aelyne-home .ah-approach-list {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--ah-line);
}
#aelyne-home .ah-approach-item {
  padding:32px 32px 20px 0;
  border-right:1px solid var(--ah-line);
  min-height:255px;
}
#aelyne-home .ah-approach-item + article {padding-left:32px}
#aelyne-home .ah-approach-item:last-child {border-right:0}
#aelyne-home .ah-approach-item b {color:var(--ah-pink);font-size:12px;letter-spacing:.12em}
#aelyne-home .ah-approach-item h3 {font-size:22px;font-weight:500;line-height:1.25;margin:28px 0 14px}
#aelyne-home .ah-approach-item p {color:var(--ah-text);font-size:14px;margin:0}

#aelyne-home .ah-technical {background:var(--ah-blue);color:#fff}
#aelyne-home .ah-technical .ah-section-no {color:#bdd4e5}
#aelyne-home .ah-technical-head {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:80px;
  align-items:end;
  margin-bottom:52px;
}
#aelyne-home .ah-technical h2 {
  font-size:clamp(40px,4.4vw,62px);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.05em;
  margin:18px 0 0;
}
#aelyne-home .ah-technical-intro {color:#d7e1e9;margin:0}
#aelyne-home .ah-tech-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:1fr;
  border-top:1px solid rgba(255,255,255,.25);
  border-left:1px solid rgba(255,255,255,.25);
}
#aelyne-home .ah-tech-card {
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:235px;
  padding:30px 27px;
  border-right:1px solid rgba(255,255,255,.25);
  border-bottom:1px solid rgba(255,255,255,.25);
}
#aelyne-home .ah-tech-card.ah-featured {background:#fff;color:var(--ah-blue);position:relative}
#aelyne-home .ah-tech-card.ah-featured::before {
  content:"COMPÉTENCE CLÉ";
  position:absolute;
  right:20px;
  top:20px;
  color:var(--ah-pink);
  font-size:11px;
  font-weight:600;
  letter-spacing:.11em;
}
#aelyne-home .ah-tech-card h3 {font-size:21px;font-weight:500;line-height:1.25;margin:37px 0 13px}
#aelyne-home .ah-tech-card.ah-featured h3 {font-size:21px;margin-top:37px}
#aelyne-home .ah-tech-card p {color:#cbd9e4;font-size:14px;margin:0}
#aelyne-home .ah-tech-card.ah-featured p {color:var(--ah-text)}
#aelyne-home .ah-tech-index {font-size:12px;color:#9fc1d8}
#aelyne-home .ah-tech-card.ah-featured .ah-tech-index {color:var(--ah-pink)}

#aelyne-home .ah-spirit {background:var(--ah-soft)}
#aelyne-home .ah-spirit-grid {display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
#aelyne-home .ah-quote h2 {
  font-size:clamp(43px,5vw,67px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.055em;
  margin:20px 0;
}
#aelyne-home .ah-quote h2 span {color:var(--ah-blue-2)}
#aelyne-home .ah-profile {border-left:1px solid var(--ah-line);padding-left:60px}
#aelyne-home .ah-profile .ah-belief {font-size:26px;line-height:1.35;margin:0 0 27px}
#aelyne-home .ah-profile > p {color:var(--ah-text)}
#aelyne-home .ah-person {display:flex;align-items:center;gap:17px;margin-top:35px}
#aelyne-home .ah-avatar {
  height:56px;
  width:56px;
  border-radius:50%;
  background:var(--ah-blue);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:600;
}
#aelyne-home .ah-person strong {display:block}
#aelyne-home .ah-person span {font-size:13px;color:var(--ah-text)}

#aelyne-home .ah-proof {padding:86px 0}
#aelyne-home .ah-proof-grid {display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
#aelyne-home .ah-proof h2 {
  font-size:48px;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.045em;
  margin:18px 0;
}
#aelyne-home .ah-numbers {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--ah-line);
  border-left:1px solid var(--ah-line);
}
#aelyne-home .ah-number {padding:28px;border-right:1px solid var(--ah-line);border-bottom:1px solid var(--ah-line)}
#aelyne-home .ah-number strong {display:block;font-size:27px;font-weight:500}
#aelyne-home .ah-number span {color:var(--ah-text);font-size:13px}
#aelyne-home .ah-references {grid-column:1/-1}
#aelyne-home .ah-logos {display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
#aelyne-home .ah-logos i {
  font-style:normal;
  font-size:12px;
  padding:6px 12px;
  border:1px solid var(--ah-line);
  border-radius:999px;
}

#aelyne-home .ah-contact {padding:82px 0;background:var(--ah-blue);color:#fff}
#aelyne-home .ah-contact-grid {display:grid;grid-template-columns:1.5fr .5fr;gap:70px;align-items:end}
#aelyne-home .ah-contact h2 {
  font-size:clamp(44px,4.3vw,60px);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.05em;
  margin:17px 0 25px;
}
#aelyne-home .ah-contact h2 span {color:#d7e7f3}
#aelyne-home .ah-contact p {color:#eef4f8}
#aelyne-home .ah-contact-details {border-left:1px solid rgba(255,255,255,.28);padding-left:42px}
#aelyne-home .ah-contact-details a,
#aelyne-home .ah-contact-details a:visited,
#aelyne-home .ah-contact-details a:hover,
#aelyne-home .ah-contact-details a:focus {display:block;color:#fff!important;font-size:19px;margin:8px 0}
#aelyne-home .ah-contact-details small {display:block;color:#d7e7f3;margin-top:24px}

#aelyne-home a:focus-visible {outline:2px solid var(--ah-pink);outline-offset:5px}

@media (max-width:900px) {
  #aelyne-home .ah-wrap {width:min(calc(100% - 34px),720px)}
  #aelyne-home .ah-hero {padding:30px 0 70px}
  #aelyne-home .ah-hero-grid,
  #aelyne-home .ah-section-grid,
  #aelyne-home .ah-spirit-grid,
  #aelyne-home .ah-proof-grid,
  #aelyne-home .ah-contact-grid,
  #aelyne-home .ah-technical-head {grid-template-columns:1fr;gap:42px}
  #aelyne-home .ah-hero h1 {font-size:clamp(46px,14vw,53px)}
  #aelyne-home .ah-actions {align-items:flex-start;flex-direction:column;gap:20px}
  #aelyne-home section.ah-block {padding:75px 0}
  #aelyne-home .ah-approach-list {grid-template-columns:1fr}
  #aelyne-home .ah-approach-item,
  #aelyne-home .ah-approach-item + article {
    border-right:0;
    border-bottom:1px solid var(--ah-line);
    padding:28px 0;
    min-height:auto;
  }
  #aelyne-home .ah-tech-grid {grid-template-columns:1fr;grid-auto-rows:auto}
  #aelyne-home .ah-tech-card {height:auto;min-height:auto}
  #aelyne-home .ah-profile,
  #aelyne-home .ah-contact-details {
    border-left:0;
    border-top:1px solid var(--ah-line);
    padding:35px 0 0;
  }
  #aelyne-home .ah-numbers {grid-template-columns:1fr}
  #aelyne-home .ah-contact {padding:72px 0}
  #aelyne-home .ah-contact h2 {font-size:clamp(42px,11vw,54px)}
}
@media (max-width:480px) {
  #aelyne-home .ah-wrap {width:calc(100% - 30px)}
  #aelyne-home .ah-hero h1 {font-size:clamp(42px,13vw,50px)}
  #aelyne-home .ah-section-content h2,
  #aelyne-home .ah-quote h2,
  #aelyne-home .ah-proof h2 {font-size:clamp(36px,11vw,46px)}
  #aelyne-home .ah-primary {min-width:0;width:100%}
}
