/* RUBRIQUE ASTRO — styles isolés ; aucun CSS d’origine n’est modifié. */
@font-face {
  font-family: AstroSerif;
  src: url('../../../fonts/C059-Roman.otf') format('opentype');
  font-display: swap;
}
body.page-astro {
  --astro-wine: #790c3a;
  --astro-gold: #b48136;
  --astro-ink: #35212b;
  --astro-cream: #fffaf4;
  margin: 0;
  padding: 80px 0 0;
  background: radial-gradient(ellipse at 50% 15%, #fffaf4, #f9e8e3 80%);
  color: var(--astro-ink);
  font: 17px/1.65 Arial, sans-serif;
}
.page-astro *, .page-astro *::before, .page-astro *::after { box-sizing: border-box; }
.page-astro a { color: var(--astro-wine); }
.page-astro img { max-width: 100%; }
.page-astro h1, .page-astro h2, .page-astro h3 { font-family: AstroSerif, Georgia, serif; color: var(--astro-wine); line-height: 1.15; text-wrap: balance; }
.page-astro h1 { font-size: clamp(36px, 4.7vw, 64px); margin: 12px 0 24px; }
.page-astro h2 { font-size: clamp(29px, 3vw, 41px); margin: 15px 0; }
.page-astro h3 { font-size: 28px; margin: 14px 0 10px; }
.page-astro button, .page-astro input { font: inherit; }
.page-astro button, .page-astro summary { cursor: pointer; }
.page-astro [hidden] { display: none !important; }
.page-astro :focus-visible { outline: 3px solid #2676ae; outline-offset: 5px; }
.page-astro [id] { scroll-margin-top: 170px; }
.page-astro .astro-skip { position: fixed; top: -100px; left: 10px; z-index: 10000; padding: 12px 20px; background: white; }
.page-astro .astro-skip:focus { top: 8px; }
/* Le bandeau utilise exclusivement les fichiers communs du site. */
.page-astro .astro-main { padding: 0; margin: 0 auto; width: 100%; max-width: 1440px; min-height: 60vh; }
.page-astro .astro-hero { min-height: 440px; display: flex; align-items: center; background: #ecd5dc url('../images/hero.jpg') center 48% / cover no-repeat; padding: 42px 5%; }
.page-astro .astro-hero-copy { max-width: 620px; }
.page-astro .astro-hero-copy p:not(.astro-eyebrow) { font-size: 22px; line-height: 1.5; max-width: 500px; }
.page-astro .astro-eyebrow { font: 700 12px/1.5 Arial, sans-serif; letter-spacing: .15em; color: #845c56; margin: 0 0 12px; }
.page-astro .astro-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 46px; border: 1px solid #8d3555; border-radius: 30px; padding: 10px 23px; background: linear-gradient(#941d50, #65082e); color: #fffaf4; text-decoration: none; font: 600 15px/1.4 Arial, sans-serif; text-align: center; box-shadow: 0 2px 0 #b9894450; transition: filter .15s, transform .15s; }
.page-astro .astro-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
.page-astro .astro-button span { color: #f5d17e; font-size: 26px; line-height: 1; }
.page-astro .astro-secondary { background: #fff8f2; color: #790c3a; border-color: #dbc1b5; }
.page-astro .astro-gold { background: linear-gradient(#ffe4b8, #d2a765); color: #482907; border-color: #c39854; }
.page-astro .astro-search { position: relative; margin: -20px 4% 20px; padding: 24px 28px; border-radius: 24px; background: #fffaf7f5; border: 1px solid #e5cec2; box-shadow: 0 5px 12px #59313520; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 26px; }
.page-astro .astro-search h2 { font-size: 33px; margin: 0; }
.page-astro .astro-search h2 span { color: #ba8c43; }
.page-astro .astro-search form { border-left: 1px solid #e1c9bb; padding-left: 26px; }
.page-astro .astro-search label { display: block; margin-bottom: 7px; font-size: 15px; }
.page-astro .astro-input-row { display: flex; gap: 12px; align-items: center; }
.page-astro .astro-search input { width: 190px; min-width: 0; min-height: 46px; border-radius: 7px; border: 1px solid #cbb7b4; padding: 8px 10px; background: white; color: #35212b; }
.page-astro .astro-search small { display: block; margin-top: 8px; color: #695459; font-size: 12px; line-height: 1.6; }
.page-astro #astro-result { grid-column: 1/-1; padding-top: 20px; border-top: 1px solid #e2cfc2; }
.page-astro #astro-result a { font-weight: bold; }
.page-astro .astro-tabs { display: flex; justify-content: space-around; align-items: stretch; margin: 24px 5%; background: #f1dcd5; border: 1px solid #e4c8be; border-radius: 12px; overflow: hidden; }
.page-astro .astro-tabs a { flex: 1; padding: 12px 14px; text-align: center; text-decoration: none; font-weight: 600; font-size: 15px; }
.page-astro .astro-tabs a:first-child, .page-astro .astro-tabs a:hover { background: #790c3a; color: white; }
.page-astro .astro-section { margin: 40px 4%; }
.page-astro .astro-section > h2 { text-align: center; }
.page-astro .astro-section > h2::before { content: '✧'; color: #b48136; margin-right: 15px; font-size: 30px; }
.page-astro .astro-intro { text-align: center; margin: 12px auto 25px; max-width: 800px; }
.page-astro .astro-center { text-align: center; }
.page-astro .astro-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.page-astro .astro-two { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.page-astro .astro-three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.page-astro .astro-card, .page-astro .astro-share-card { background: linear-gradient(#fffaf6, #fceee5); border-radius: 17px; border: 1px solid #dfc3b7; box-shadow: 0 3px 5px #55333720; overflow: hidden; }
.page-astro .astro-card-picture { display: block; overflow: hidden; }
.page-astro .astro-card img { display: block; width: 100%; aspect-ratio: 1800/945; object-fit: cover; transition: transform .25s; }
.page-astro .astro-card-picture:hover img { transform: scale(1.035); }
.page-astro .astro-card-body { padding: 0 12px 20px; text-align: center; font-size: 14px; }
.page-astro .astro-card-body h3 a { text-decoration: none; }
.page-astro .astro-card-body p { margin: 8px 0 14px; }
.page-astro .astro-share-card { text-align: center; padding-bottom: 22px; }
.page-astro .astro-share-card > img, .page-astro .astro-share-card > a > img { width: 100%; display: block; aspect-ratio: 1800/945; object-fit: cover; }
.page-astro .astro-share-card > p { margin: 15px 20px; }
.page-astro .astro-quote { font: italic 25px/1.45 AstroSerif, Georgia, serif; color: #790c3a; }
.page-astro .astro-share { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; padding: 8px 12px 0; }
.page-astro .astro-share .astro-button { font-size: 12px; min-height: 42px; padding: 9px 14px; }
.page-astro .astro-more { margin-top: 22px; }
.page-astro .astro-more > summary { text-align: center; color: #790c3a; padding: 14px; font-weight: bold; }
.page-astro .astro-more .astro-grid { margin-top: 22px; }
.page-astro .astro-text-link { font-weight: bold; text-underline-offset: 4px; }
.page-astro .astro-explain, .page-astro .astro-disclaimer { margin: 30px 4%; padding: 26px 30px; border-radius: 20px; background: #f0dcd6; text-align: center; }
.page-astro .astro-disclaimer { font: italic 18px/1.6 Georgia, serif; }
.page-astro .astro-page-title { padding: 55px 7%; text-align: center; background: linear-gradient(#fff6edbb, #fff6edcc), url('../images/hero.jpg') center/cover; }
.page-astro .astro-page-title p { max-width: 800px; margin-left: auto; margin-right: auto; }
.page-astro .astro-article, .page-astro .astro-reading { margin: 28px 4%; padding: 32px; border: 1px solid #dfc7bd; background: #fff9f4; border-radius: 20px; }
.page-astro .astro-article h2, .page-astro .astro-reading h2 { font-size: 32px; }
.page-astro .astro-article h3 { margin-top: 32px; font-size: 26px; }
.page-astro .astro-main > .astro-grid { margin: 28px 4%; }
.page-astro .astro-grid > .astro-article { margin: 0; }
.page-astro .astro-breadcrumb { margin: 22px 4%; font-size: 14px; }
.page-astro .astro-sign-hero { margin: 24px 4%; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 44px; }
.page-astro .astro-sign-hero > img { display: block; width: 100%; border-radius: 24px; }
.page-astro .astro-sign-dates { font-family: Georgia, serif; font-size: 23px; }
.page-astro .astro-facts { display: flex; flex-wrap: wrap; gap: 14px; margin: 24px 0; }
.page-astro .astro-facts > div { background: #f6e6da; border-radius: 12px; padding: 15px 22px; }
.page-astro .astro-facts dt { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.page-astro .astro-facts dd { margin: 5px 0 0; color: #790c3a; font-weight: bold; }
.page-astro .astro-daily-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.page-astro .astro-reading .astro-daily-grid h3 { font-size: 25px; margin: 12px 0; }
.page-astro .astro-prev-next { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 15px; padding: 25px 4%; font-size: 14px; }
.page-astro .astro-status { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); max-width: 90vw; background: #540d2b; color: white; border-radius: 12px; padding: 0; z-index: 5000; }
.page-astro .astro-status:not(:empty) { padding: 14px 24px; box-shadow: 0 5px 20px #0003; }
@media (max-width: 1100px) {
  .page-astro .astro-search { grid-template-columns: 1fr; }
  .page-astro .astro-search form { border-left: 0; padding-left: 0; }
  .page-astro .astro-input-row { justify-content: start; }
}
@media (max-width: 700px) {
  .page-astro { font-size: 16px; }
  .page-astro .astro-hero { min-height: 460px; padding: 34px 6%; align-items: start; background-position: 65% center; position: relative; }
  .page-astro .astro-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #fff0e7e6, #fff0e7aa 55%, #fff0e733); }
  .page-astro .astro-hero-copy { position: relative; }
  .page-astro .astro-hero-copy p:not(.astro-eyebrow) { font-size: 19px; }
  .page-astro .astro-search { margin-top: -28px; padding: 24px 20px; }
  .page-astro .astro-search h2 { font-size: 29px; }
  .page-astro .astro-input-row { flex-direction: column; align-items: stretch; }
  .page-astro .astro-search input { width: 100%; }
  .page-astro .astro-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .page-astro .astro-tabs a { font-size: 13px; }
  .page-astro .astro-grid, .page-astro .astro-three { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .page-astro .astro-two { grid-template-columns: 1fr; }
  .page-astro .astro-card-body { font-size: 12px; padding: 0 9px 16px; }
  .page-astro .astro-card h3 { font-size: 25px; }
  .page-astro .astro-section { margin-top: 32px; }
  .page-astro .astro-section > h2::before { display: none; }
  .page-astro .astro-sign-hero { grid-template-columns: 1fr; gap: 20px; }
  .page-astro .astro-sign-hero > div { padding: 0 10px; }
  .page-astro .astro-article, .page-astro .astro-reading { padding: 23px; }
  .page-astro .astro-daily-grid { grid-template-columns: 1fr; gap: 0; }
  .page-astro .astro-share-card .astro-button { font-size: 12px; }
  .page-astro .astro-explain, .page-astro .astro-disclaimer { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { .page-astro * { scroll-behavior: auto !important; transition: none !important; } }
/* Priorité aux couleurs de la maquette, après les règles globales historiques. */
body.page-astro .astro-main h1,
body.page-astro .astro-main h2,
body.page-astro .astro-main h3 { color: #790c3a !important; }
body.page-astro .astro-hero { background-image: linear-gradient(90deg, #f3d7dc 0%, #f3d7dc 30%, #f3d7dc00 65%), url('../images/hero.jpg'); background-size: 100% 100%, auto 100%; background-position: center, right center; background-repeat: no-repeat; }
@media (max-width: 700px) { body.page-astro .astro-hero { background-size: 100% 100%, auto 100%; background-position: center, 60% center; } }
body.page-astro .astro-main h1 { font-size: clamp(36px, 4.7vw, 64px) !important; }
body.page-astro .astro-hero { background-image: linear-gradient(90deg, #f3d7dc 0%, #f3d7dc 45%, #f3d7dc00 78%), url('../images/hero.jpg'); background-size: 100% 100%, auto 130%; }
@media (max-width: 700px) { body.page-astro .astro-hero { background-size: 100% 100%, auto 100%; } }
body.page-astro .astro-main img { height: auto !important; }
body.page-astro .astro-main .astro-card img,
body.page-astro .astro-main .astro-share-card > img,
body.page-astro .astro-main .astro-share-card > a > img,
body.page-astro .astro-main .astro-sign-hero > img { aspect-ratio: 1800 / 945; object-fit: cover; }

/* Même hauteur de bandeau mobile que le menu commun. */
@media (max-width: 760px) {
  body.page-astro { padding-top: 76px; }
}

/* ===============================================================
   COULEURS DU SITE — BLEU NUIT, BLANC ET ACCENTS ROSES
   Le bandeau commun et ses fichiers restent inchangés.
   =============================================================== */
body.page-astro {
  --astro-wine: #ff83bd;
  --astro-ink: #f4eff8;
  --astro-cream: #111c3d;
  background: radial-gradient(ellipse at 50% 12%, #142048, #050c2a 72%);
  color: #f4eff8;
}
body.page-astro .astro-main h1,
body.page-astro .astro-main h2 {
  color: #fffaf7 !important;
}
body.page-astro .astro-main h3 {
  color: #ff9bcb !important;
}
body.page-astro .astro-main a:not(.astro-button) {
  color: #ff9bcb;
}
body.page-astro .astro-hero {
  background-color: #0a1332;
  background-image: linear-gradient(90deg, #09132f 0%, #09132f 38%, #09132f00 82%), url('../images/hero.jpg');
}
body.page-astro .astro-eyebrow,
body.page-astro .astro-search small {
  color: #d5c7dd;
}
body.page-astro .astro-search,
body.page-astro .astro-card,
body.page-astro .astro-share-card,
body.page-astro .astro-article,
body.page-astro .astro-reading {
  color: #f4eff8;
  background: linear-gradient(145deg, #142044, #11172f);
  border-color: #ff83bd40;
  box-shadow: 0 5px 18px #00000030;
}
body.page-astro .astro-search form,
body.page-astro #astro-result {
  border-color: #ff83bd40;
}
body.page-astro .astro-search input {
  background: #080f28;
  color: #fffaf7;
  color-scheme: dark;
  border-color: #8a659d;
}
body.page-astro .astro-tabs,
body.page-astro .astro-explain,
body.page-astro .astro-disclaimer {
  color: #f4eff8;
  background: #142044;
  border: 1px solid #ff83bd40;
}
body.page-astro .astro-tabs a:first-child,
body.page-astro .astro-tabs a:hover,
body.page-astro .astro-button {
  color: #fffaf7 !important;
  background: linear-gradient(120deg, #df348f, #b43fcb);
  border-color: #ef70bd;
}
body.page-astro .astro-secondary {
  color: #ffacd5 !important;
  background: #182345;
  border-color: #8d5a84;
}
body.page-astro .astro-gold {
  color: #482907 !important;
  background: linear-gradient(#ffe4b8, #d2a765);
  border-color: #c39854;
}
body.page-astro .astro-quote,
body.page-astro .astro-more > summary {
  color: #ffacd5;
}
body.page-astro .astro-facts > div {
  background: #212c50;
}
body.page-astro .astro-facts dd {
  color: #ffacd5;
}
body.page-astro .astro-page-title {
  color: #fffaf7;
  background: linear-gradient(#09132fdd, #09132fe6), url('../images/hero.jpg') center / cover;
}
body.page-astro .astro-status {
  background: #8f236d;
}
@media (max-width: 700px) {
  body.page-astro .astro-hero::before {
    background: linear-gradient(90deg, #09132ff0, #09132fb8 60%, #09132f55);
  }
}

/* Cartes panoramiques : format identique à l’export et à l’aperçu Facebook. */
@media (min-width: 701px) {
  body.page-astro .astro-sign-hero {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr);
    gap: 32px;
  }
}
body.page-astro .astro-card-picture {
  background: #09132f;
}

/* ===============================================================
   BANNIÈRE ENTIÈRE — AUCUN RECADRAGE DE LA ROUE DU ZODIAQUE
   =============================================================== */
body.page-astro .astro-hero {
  position: relative;
  isolation: isolate;
  overflow: visible;
  min-height: 470px;
  background: #09132f;
}
body.page-astro .astro-hero::before {
  content: none;
}
body.page-astro .astro-hero-copy {
  position: relative;
  z-index: 1;
  width: 52%;
  max-width: 640px;
  min-width: 0;
}
body.page-astro .astro-main .astro-hero-art {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: auto;
  max-width: 65%;
  height: 100% !important;
  object-fit: contain;
  object-position: right center;
  mask-image: linear-gradient(90deg, transparent, #000 23%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 23%);
}
body.page-astro .astro-main .astro-card img,
body.page-astro .astro-main .astro-share-card img,
body.page-astro .astro-main .astro-sign-hero > img {
  object-fit: contain;
}
@media (max-width: 700px) {
  body.page-astro .astro-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 32px 6% 0;
    gap: 20px;
  }
  body.page-astro .astro-hero-copy {
    width: 100%;
    max-width: none;
  }
  body.page-astro .astro-main .astro-hero-art {
    position: static;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    mask-image: none;
    -webkit-mask-image: none;
  }
}

/* Notification de partage : aucun affichage lorsqu’elle est vide. */
body.page-astro #astro-status[hidden] {
  display: none !important;
}
body.page-astro #astro-status {
  bottom: 86px;
}

/* ===============================================================
   VISUELS DISTINCTS : ORDINATEUR, MOBILE ET PARTAGE
   Les balises picture choisissent la source selon la largeur d’écran.
   =============================================================== */
body.page-astro .astro-sign-visual,
body.page-astro .astro-rubrique-visual {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 24px;
}
body.page-astro .astro-main .astro-sign-visual img,
body.page-astro .astro-main .astro-rubrique-visual img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: auto;
  object-fit: contain;
}
body.page-astro .astro-hero-visual {
  position: absolute;
  top: 0;
  right: 0;
  width: 65%;
  height: 100%;
  z-index: 0;
  mask-image: linear-gradient(90deg, transparent, #000 23%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 23%);
}
body.page-astro .astro-main .astro-hero-visual .astro-hero-art {
  position: static;
  width: 100%;
  max-width: 100%;
  height: 100% !important;
  object-fit: contain;
  object-position: right center;
  mask-image: none;
  -webkit-mask-image: none;
}
body.page-astro .astro-rubrique-visual {
  max-width: 1000px;
  margin: 28px auto 0;
}
@media (max-width: 700px) {
  body.page-astro .astro-hero-visual {
    position: static;
    width: 100%;
    height: auto;
    mask-image: none;
    -webkit-mask-image: none;
  }
  body.page-astro .astro-main .astro-hero-visual .astro-hero-art {
    height: auto !important;
  }
}
/* Sur ordinateur, fondu continu avec le fond du site, sans bord dur. */
@media (min-width: 701px) {
  body.page-astro .astro-hero-visual {
    width: 100%;
    mask-image: linear-gradient(90deg, transparent 0%, transparent 48%, #000 80%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 48%, #000 80%);
  }
}

/* ===============================================================
   RECHERCHE — DEUX CARTES ILLUSTRÉES POUR LES DEUX SIGNES
   =============================================================== */
body.page-astro #astro-result {
  scroll-margin-top: 104px;
  padding-top: 28px;
}
body.page-astro .astro-result-heading {
  text-align: center;
  margin: 0 auto 26px;
  max-width: 800px;
}
body.page-astro .astro-result-heading h3 {
  margin-top: 0;
  font-size: clamp(29px, 3vw, 40px);
}
body.page-astro .astro-result-heading > p {
  margin-bottom: 0;
  color: #ded8ed;
  line-height: 1.6;
}
body.page-astro .astro-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
body.page-astro .astro-result-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8a45670;
  border-radius: 21px;
  background: linear-gradient(145deg, #192344, #0a132e);
  box-shadow: 0 8px 26px #00000035;
}
body.page-astro .astro-result-label {
  margin: 0;
  padding: 15px 18px;
  color: #f0cc89;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
}
body.page-astro .astro-result-picture {
  display: block;
  background: #09132f;
}
body.page-astro .astro-main .astro-result-picture img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 1800 / 945;
  object-fit: contain;
}
body.page-astro .astro-result-body {
  padding: 24px 24px 28px;
  text-align: center;
}
body.page-astro .astro-result-body h4 {
  margin: 0 0 8px;
  color: #fffaf7;
  font-family: AstroSerif, Georgia, serif;
  font-size: 38px;
  line-height: 1.15;
}
body.page-astro .astro-result-subtitle {
  margin: 0 0 17px;
  color: #ffacd5;
  font-size: 15px;
}
body.page-astro .astro-result-qualities {
  display: inline-block;
  margin: 0 0 12px;
  padding: 7px 13px;
  border: 1px solid #f4b3cf35;
  border-radius: 20px;
  background: #f4b3cf0b;
  color: #f1dfef;
  font-size: 12px;
}
body.page-astro .astro-result-description {
  max-width: 380px;
  margin: 0 auto 20px;
  color: #d8d2e7;
  font-size: 14px;
  line-height: 1.65;
}
body.page-astro .astro-result-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
}
body.page-astro .astro-result-actions .astro-button {
  font-size: 14px;
  min-height: 46px;
  width: 100%;
  max-width: 300px;
}
body.page-astro .astro-result-more {
  font-size: 13px;
  text-underline-offset: 4px;
}
body.page-astro .astro-result-note {
  margin: 22px 0 0;
  color: #c4b9d1;
  text-align: center;
  font-size: 12px;
  line-height: 1.7;
}
body.page-astro .astro-result-unavailable {
  padding: 28px;
  border: 1px solid #f4b3cf40;
  border-radius: 21px;
  align-self: center;
}
@media (max-width: 700px) {
  body.page-astro .astro-result-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  body.page-astro .astro-result-body {
    padding: 22px 18px;
  }
}

/* ===============================================================
   QUATRE RUBRIQUES — PRÉSENTATION D’ACCUEIL, BANNIÈRE PLEINE LARGEUR
   =============================================================== */
body.page-astro.astro-hub .astro-main {
  max-width: none;
}
body.page-astro.astro-hub .astro-main > :not(.astro-landing-hero) {
  width: calc(100% - 8%);
  max-width: 1324px;
  margin-left: auto;
  margin-right: auto;
}
body.page-astro .astro-landing-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  aspect-ratio: 1920 / 800;
  padding: 40px 4.2%;
  overflow: hidden;
  background: #050c2a;
  border-bottom: 1px solid #e8b7df35;
}
body.page-astro .astro-landing-picture {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
}
body.page-astro .astro-main .astro-landing-picture img {
  display: block;
  width: 100%;
  height: 100% !important;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}
body.page-astro .astro-landing-copy {
  position: relative;
  width: 45%;
  max-width: 800px;
  min-width: 0;
}
body.page-astro .astro-main .astro-landing-copy h1 {
  margin: 22px 0;
  font-size: clamp(34px, 4.5vw, 86px) !important;
  line-height: 1.08;
  text-wrap: balance;
}
body.page-astro .astro-main .astro-landing-copy h1 span {
  color: #ff65ad !important;
  font-style: italic;
}
body.page-astro .astro-landing-intro {
  margin: 0 0 16px;
  color: #f6eff8;
  font-size: clamp(16px, 1.2vw, 23px);
  line-height: 1.65;
  max-width: 720px;
}
body.page-astro .astro-landing-signature {
  margin: 0 0 28px;
  color: #d8c9e6;
  font: italic 18px/1.5 Georgia, serif;
}
body.page-astro .astro-landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
body.page-astro .astro-landing-actions .astro-button {
  min-height: 50px;
  padding: 12px 22px;
  font-size: 15px;
}
body.page-astro .astro-landing-actions .astro-outline {
  background: #09132f88;
  border-color: #d7aa56;
  color: #fffaf7 !important;
}
@media (max-width: 1000px) and (min-width: 701px) {
  body.page-astro .astro-landing-hero {
    padding: 26px 4.2%;
  }
  body.page-astro .astro-landing-copy {
    width: 48%;
  }
  body.page-astro .astro-landing-signature {
    font-size: 14px;
    margin-bottom: 17px;
  }
  body.page-astro .astro-landing-actions .astro-button {
    min-height: 43px;
    padding: 9px 14px;
    font-size: 12px;
  }
}
@media (max-width: 700px) {
  body.page-astro .astro-landing-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    aspect-ratio: auto;
  }
  body.page-astro .astro-landing-picture {
    position: static;
    z-index: auto;
    width: 100%;
  }
  body.page-astro .astro-main .astro-landing-picture img {
    height: auto !important;
  }
  body.page-astro .astro-landing-copy {
    width: 100%;
    max-width: none;
    padding: 28px 6% 42px;
  }
  body.page-astro .astro-main .astro-landing-copy h1 {
    font-size: clamp(34px, 8vw, 50px) !important;
    margin: 16px 0 20px;
  }
  body.page-astro .astro-landing-actions {
    flex-direction: column;
    align-items: stretch;
  }
  body.page-astro .astro-landing-signature {
    font-size: 15px;
  }
}
