/* ============================================================
   HOMÉOSPIRITS — Le Holon / Notre terroir (refonte 2026)
   Effets uniques à la page : carte d'identité du lieu, section
   spécimen "matière du lieu", halo Cognac d'Auteur, onglets
   terroirs, panneaux communes, parcours "Une année au Holon"
   (ligne de sève + ambiance teintée au scroll).
   Primitives partagées dans css/global.css. JS : js/le_holon.js.
   ============================================================ */

/* ---- HERO : texte à gauche sur le blanc, vignes à droite ---- */
.lh-hero { position: relative; min-height: calc(100vh - 110px); display: flex; align-items: center; overflow: hidden; background: var(--hs-paper); isolation: isolate; }
.lh-hero__bg { position: absolute; inset: 0; z-index: -2; }
.lh-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
/* voile : renforce le blanc à gauche quel que soit le format d'écran */
.lh-hero__wash { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(95deg, var(--hs-paper) 0%, var(--hs-paper) 22%, rgba(253, 250, 245, 0.82) 36%, rgba(253, 250, 245, 0) 58%); }

.lh-hero__in { width: 100%; padding: 4rem clamp(1.8rem, 5vw, 6rem); }
@media (min-width: 901px) { .lh-hero__copy { margin-left: clamp(2rem, 8vw, 9rem); } }
.lh-hero__copy { position: relative; max-width: 33rem; padding-left: 1.9rem; }
/* fil doré vertical décoratif à gauche du texte */
.lh-hero__copy::before { content: ''; position: absolute; left: 0; top: 0.35rem; bottom: 0.35rem; width: 2px;
  background: linear-gradient(var(--hs-gold), rgba(179, 139, 83, 0)); }

.lh-hero__eyebrow { display: inline-flex; align-items: center; gap: 0.9rem; margin-bottom: 1.3rem; }
.lh-hero__eyebrow .rule { width: 38px; height: 1px; background: var(--hs-gold-deep); display: block; }
.lh-hero__eyebrow .eyebrow { font-family: var(--f-sans); font-size: 0.62rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--hs-gold-deep); }

.lh-hero__h1 { font-family: var(--f-display); font-weight: 500; font-size: clamp(2.3rem, 4vw, 3.65rem); line-height: 1.08; letter-spacing: -0.01em; color: var(--hs-ink); }
.lh-hero__h1 em { font-style: italic; color: var(--hs-gold-deep); }

.lh-hero__lead { font-family: var(--f-serif); font-size: clamp(1.14rem, 1.4vw, 1.32rem); line-height: 1.62; color: var(--hs-ink-soft); margin-top: 1.5rem; max-width: 31rem; text-wrap: pretty; }

.lh-hero__cta { display: flex; flex-wrap: nowrap; gap: 1.1rem 1.6rem; align-items: center; margin-top: 2.2rem; }
.lh-hero__cta a { white-space: nowrap; }

/* petite signature de terroir : Vigne — Chai — Bouteille */
.lh-hero__chain { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(179, 139, 83, 0.28); }
.lh-hero__chain span { font-family: var(--f-sans); font-size: 0.58rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--hs-sage); }
.lh-hero__chain i { position: relative; width: 2.2rem; height: 1px; background: rgba(179, 139, 83, 0.5); }
.lh-hero__chain i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--hs-gold); transform: translate(-50%, -50%); box-shadow: 0 0 8px rgba(203, 165, 107, 0.5); }

@media (max-width: 900px) {
  .lh-hero { min-height: 84vh; }
  .lh-hero__bg img { object-position: 72% center; }
  .lh-hero__wash { background: linear-gradient(180deg, rgba(253, 250, 245, 0.94) 0%, rgba(253, 250, 245, 0.7) 42%, rgba(253, 250, 245, 0.25) 100%); }
  .lh-hero__in { padding: 4rem 1.6rem; }
  .lh-hero__copy { max-width: none; }
  .lh-hero__cta { flex-wrap: wrap; }
}

/* ---- LA MATIÈRE DU LIEU : spécimen éditorial ---- */
.matiere { background: var(--hs-cream); position: relative; overflow: hidden; }
.matiere__grid { display: grid; grid-template-columns: 1.04fr 0.96fr; align-items: center; gap: clamp(2.6rem, 6vw, 5.5rem); position: relative; }
.matiere__media { position: relative; }
.matiere__imgwrap { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--hs-forest-deep); box-shadow: 0 38px 80px -46px rgba(24, 34, 27, 0.72); }
.matiere__pan { position: absolute; inset: -6% 0; will-change: transform; }
.matiere__pan img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; transform: scale(1.04); transition: transform 1.6s var(--ease); display: block; }
.matiere__media:hover .matiere__pan img { transform: scale(1.12); }
.matiere__imgwrap::after { content: ''; position: absolute; inset: 0; border: 1px solid rgba(246, 242, 234, 0.26); pointer-events: none; z-index: 2; }
.matiere__frame { position: absolute; inset: -14px; border: 1px solid rgba(179, 139, 83, 0.42); pointer-events: none; z-index: 1; }
.matiere__plate { position: absolute; top: 1rem; left: 1rem; z-index: 3; display: inline-flex; align-items: center; gap: 0.5rem; background: var(--hs-paper); color: var(--hs-gold-deep); font-family: var(--f-sans); font-size: 0.5rem; letter-spacing: 0.24em; text-transform: uppercase; padding: 0.5rem 0.78rem; }
.matiere__scale { position: absolute; left: 1rem; bottom: 1rem; z-index: 3; display: flex; align-items: center; gap: 0.55rem; color: var(--hs-cream); font-family: var(--f-sans); font-size: 0.5rem; letter-spacing: 0.22em; text-transform: uppercase; text-shadow: 0 1px 6px rgba(20, 29, 23, 0.6); }
.matiere__scale .bar { width: 38px; height: 2px; background: var(--hs-gold-light); box-shadow: 0 0 8px rgba(203, 165, 107, 0.6); }
.matiere__vcap { position: absolute; top: 0; left: -2.4rem; height: 100%; display: flex; align-items: center; z-index: 1; }
.matiere__vcap span { writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--f-sans); font-size: 0.52rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--hs-sage); white-space: nowrap; }
.matiere__copy { position: relative; }
.matiere__ghost { position: absolute; top: -3.5rem; left: -0.6rem; z-index: 0; pointer-events: none; font-family: var(--f-display); font-weight: 600; font-style: italic; line-height: 0.8; font-size: clamp(5rem, 11vw, 9rem); color: transparent; -webkit-text-stroke: 1.3px rgba(146, 110, 60, 0.2); letter-spacing: -0.02em; }
.matiere__inner { position: relative; z-index: 1; }
.matiere__h { font-family: var(--f-display); font-size: clamp(2.4rem, 5vw, 3.7rem); line-height: 1.04; color: var(--hs-ink); margin: 0.35rem 0 0; }
.matiere__h em { font-style: italic; color: var(--hs-gold-deep); }
.matiere__lead { font-family: var(--f-serif); font-size: clamp(1.12rem, 1.5vw, 1.32rem); line-height: 1.62; color: var(--hs-ink-soft); margin-top: 1.5rem; max-width: 32rem; text-wrap: pretty; }
.matiere__lead::first-letter { font-family: var(--f-display); font-style: italic; font-size: 3.3em; line-height: 0.7; float: left; margin: 0.06em 0.14em 0 0; color: var(--hs-gold-deep); }
.matiere__tags { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.9rem; }
.matiere__tags span { display: inline-flex; align-items: center; gap: 0.55rem; font-family: var(--f-sans); font-size: 0.56rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--hs-forest); border: 1px solid rgba(38, 52, 42, 0.28); padding: 0.5rem 0.95rem 0.5rem 0.8rem; border-radius: 40px; }
.matiere__tags span::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--hs-sage); }
.matiere__tags span:nth-child(2)::before { background: var(--hs-lichen); }
.matiere__tags span:nth-child(3)::before { background: var(--hs-gold); }
@media (max-width: 860px) {
  .matiere__grid { grid-template-columns: 1fr; gap: 2.6rem; }
  .matiere__vcap { display: none; }
  .matiere__ghost { top: -2.4rem; left: -0.2rem; font-size: clamp(4rem, 18vw, 6rem); }
  .matiere__lead { max-width: none; }
}

/* ---- COGNAC D'AUTEUR : halo dérivant + grain overlay ---- */
.ho-auteur { background: var(--hs-forest-deep); color: var(--hs-cream); position: relative; overflow: hidden; isolation: isolate; }
.ho-auteur::before { content: ''; position: absolute; inset: -12% -12% auto -12%; height: 130%; z-index: 0; pointer-events: none;
  background: radial-gradient(58% 48% at 50% 6%, rgba(203, 165, 107, 0.20), rgba(203, 165, 107, 0) 62%),
             radial-gradient(125% 85% at 50% 122%, rgba(20, 29, 23, 0.62), transparent 56%);
  animation: auteurDrift 24s ease-in-out infinite; }
.ho-auteur::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0.4; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.ho-auteur > * { position: relative; z-index: 1; }
@keyframes auteurDrift { 0%, 100% { transform: translate(-2%, -1%) scale(1); } 50% { transform: translate(2%, 2.5%) scale(1.08); } }
@media (prefers-reduced-motion: reduce) { .ho-auteur::before { animation: none; } }

/* ---- TERROIRS : onglets à fondu (hauteur animée FLIP par JS) ---- */
.terroir { margin-top: 2.6rem; border: 1px solid rgba(38, 52, 42, 0.14); background: var(--hs-cream); }
.terroir__tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
.terroir__tab { background: transparent; border: none; border-right: 1px solid rgba(38, 52, 42, 0.1); border-bottom: 1px solid rgba(38, 52, 42, 0.14); cursor: pointer; text-align: left; padding: 1.15rem 1.4rem 1.05rem; position: relative; transition: background 0.4s var(--ease); }
.terroir__tab:last-child { border-right: none; }
.terroir__tab .rk { font-family: var(--f-sans); font-size: 0.5rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--hs-gold-deep); }
.terroir__tab .lab { display: block; font-family: var(--f-display); font-size: clamp(1.02rem, 1.8vw, 1.32rem); color: var(--hs-sage); margin-top: 0.32rem; transition: color 0.4s var(--ease); }
.terroir__tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--hs-gold); transform: scaleX(0); transform-origin: left; transition: transform 0.55s var(--ease); z-index: 2; }
.terroir__tab:hover .lab { color: var(--hs-ink-soft); }
.terroir__tab.is-active { background: var(--hs-paper); }
.terroir__tab.is-active .lab { color: var(--hs-ink); }
.terroir__tab.is-active::after { transform: scaleX(1); }
.terroir__stage { position: relative; overflow: hidden; transition: height 0.6s var(--ease); }
.terroir__panel { padding: 2.2rem clamp(1.4rem, 3vw, 2.4rem) 2.4rem; }
.terroir.is-ready .terroir__panel { position: absolute; top: 0; left: 0; width: 100%; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity 0.55s var(--ease), transform 0.65s var(--ease), visibility 0.55s; }
.terroir.is-ready .terroir__panel.is-active { position: relative; opacity: 1; visibility: visible; transform: none; }
.terroir__home { font-family: var(--f-sans); font-size: 0.54rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--hs-gold-deep); }
.terroir__lead { font-family: var(--f-display); font-style: italic; font-size: clamp(1.3rem, 2.3vw, 1.72rem); line-height: 1.25; color: var(--hs-ink); margin-top: 0.5rem; max-width: 42rem; }
.terroir__rows { margin-top: 1.6rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem 2.4rem; }
.terroir__r.full { grid-column: 1 / -1; }
.terroir__r .k { font-family: var(--f-sans); font-size: 0.52rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--hs-gold-deep); }
.terroir__r .v { font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.5; color: var(--hs-ink-soft); margin-top: 0.4rem; }
@media (max-width: 700px) { .terroir__tab .lab { font-size: 0.95rem; } .terroir__rows { grid-template-columns: 1fr; } }

/* ---- NOS COMMUNES : section sombre + panneaux qui s'élargissent ---- */
.ho-carnet { background: var(--hs-forest-deep); color: var(--hs-cream); position: relative; overflow: hidden; }
.ho-carnet__bg { position: absolute; inset: 0; z-index: 0; opacity: 0.22; }
.ho-carnet__bg img { width: 100%; height: 100%; object-fit: cover; }
.ho-carnet__in { position: relative; z-index: 1; }

.comm2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 2.6rem; background: rgba(233, 206, 163, 0.2); border: 1px solid rgba(233, 206, 163, 0.22); transition: grid-template-columns 0.7s var(--ease); }
.comm2[data-open="0"] { grid-template-columns: 1.7fr 0.9fr; }
.comm2[data-open="1"] { grid-template-columns: 0.9fr 1.7fr; }
.comm2__c { position: relative; display: flex; flex-direction: column; justify-content: center; background: var(--hs-forest); padding: 2.1rem 2rem; cursor: pointer; overflow: hidden; transition: background 0.5s var(--ease); }
.comm2__c::after { content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--hs-gold); transform: scaleX(0); transform-origin: left; transition: transform 0.55s var(--ease); }
.comm2__c.is-open { background: rgba(38, 52, 42, 0.5); }
.comm2__c.is-open::after { transform: scaleX(1); }
.comm2__code { font-family: var(--f-sans); font-size: 0.52rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--hs-lichen); }
.comm2__h { font-family: var(--f-display); font-size: clamp(1.35rem, 2.3vw, 1.8rem); color: var(--hs-cream); margin: 0.55rem 0 0; line-height: 1.1; padding-right: 2.2rem; }
.comm2__plus { position: absolute; top: 2.15rem; right: 2rem; width: 22px; height: 22px; opacity: 0.5; transition: opacity 0.4s, transform 0.5s var(--ease); }
.comm2__plus::before, .comm2__plus::after { content: ''; position: absolute; background: var(--hs-gold-light); }
.comm2__plus::before { left: 0; right: 0; top: 50%; height: 1.5px; transform: translateY(-50%); }
.comm2__plus::after { top: 0; bottom: 0; left: 50%; width: 1.5px; transform: translateX(-50%); transition: opacity 0.4s; }
.comm2__c.is-open .comm2__plus { opacity: 1; transform: rotate(90deg); }
.comm2__c.is-open .comm2__plus::after { opacity: 0; }
.comm2__body { max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.6s var(--ease), opacity 0.5s var(--ease), margin-top 0.5s var(--ease); }
.comm2__c.is-open .comm2__body { max-height: 420px; opacity: 1; margin-top: 1rem; }
.comm2__body p { font-family: var(--f-serif); font-size: 1.02rem; line-height: 1.55; color: rgba(246, 242, 234, 0.82); }
.comm2__body p + p { margin-top: 0.7rem; }
@media (max-width: 760px) { .comm2, .comm2[data-open="0"], .comm2[data-open="1"] { grid-template-columns: 1fr; } .comm2__c { height: auto !important; justify-content: flex-start; } .comm2__body { max-height: none; opacity: 1; margin-top: 1rem; } .comm2__plus { display: none; } }

/* ---- UNE ANNÉE AU HOLON : parcours vertical animé ---- */
.year { position: relative; background: var(--hs-sand); isolation: isolate; }
.year__amb { position: absolute; inset: 0; z-index: 0; pointer-events: none; background-color: var(--hs-sand); transition: background-color 1.1s var(--ease); }
.year__amb::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 55% at 50% -8%, rgba(255, 255, 255, 0.45), transparent 62%); }
.year__head, .year__track { position: relative; z-index: 1; }
.year__head { text-align: center; max-width: 44rem; margin: 0 auto; padding: 0 1.4rem; }
.year__head .s-eyebrow { justify-content: center; }
.year__head .s-lead { margin-top: 1rem; }

.year__track { position: relative; max-width: 76rem; margin: 4rem auto 0; padding: 0 1.4rem; }
.year__spine { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); background: rgba(146, 110, 60, 0.18); }
.year__sap { position: absolute; left: 0; top: 0; width: 100%; height: 0%; background: linear-gradient(var(--hs-gold-light), var(--hs-gold)); box-shadow: 0 0 12px rgba(203, 165, 107, 0.5); }
.year__bead { position: absolute; left: 50%; top: 0; width: 13px; height: 13px; border-radius: 50%; transform: translate(-50%, -50%); background: var(--hs-gold-light); box-shadow: 0 0 0 5px var(--hs-sand), 0 0 18px rgba(203, 165, 107, 0.7); z-index: 4; opacity: 0; transition: opacity 0.5s var(--ease); }
.year.is-armed .year__bead { opacity: 1; }

.band { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); min-height: 80vh; padding: 6vh 0; }
.band:nth-child(even) .band__media { order: 2; }
.band:nth-child(even) .band__copy  { order: 1; text-align: right; }
.band:nth-child(even) .band__copy .s-eyebrow,
.band:nth-child(even) .band__copy .band__sub { justify-content: flex-end; }
.band__node { position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border-radius: 50%; transform: translate(-50%, -50%); background: var(--hs-cream); border: 2px solid var(--hs-gold); z-index: 3; }
.band__media { position: relative; }
.band__fig { position: relative; overflow: hidden; aspect-ratio: 5 / 6; background: var(--hs-cream-warm); box-shadow: 0 30px 70px -40px rgba(24, 34, 27, 0.6); }
.band__pan { position: absolute; inset: -8% 0; will-change: transform; }
.band__pan img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.04); transition: transform 1.3s var(--ease), filter 1s var(--ease); }
.band:hover .band__pan img { transform: scale(1.1); }
.band__chip { position: absolute; bottom: 1rem; left: 1rem; z-index: 2; font-family: var(--f-sans); font-size: 0.5rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--hs-cream); background: rgba(20, 29, 23, 0.46); backdrop-filter: blur(3px); padding: 0.4rem 0.7rem; }
.band__copy { position: relative; }
.band__ghost { position: absolute; top: -3.2rem; z-index: 0; pointer-events: none; font-family: var(--f-display); font-weight: 600; line-height: 0.8; font-size: clamp(7rem, 16vw, 13rem); color: transparent; -webkit-text-stroke: 1.4px rgba(146, 110, 60, 0.32); letter-spacing: -0.03em; }
.band:nth-child(odd) .band__ghost  { left: -1rem; }
.band:nth-child(even) .band__ghost { right: -1rem; }
.band__inner { position: relative; z-index: 1; }
.band__copy .s-eyebrow { color: var(--hs-gold-deep); margin-bottom: 1rem; }
.band__season { font-family: var(--f-display); font-size: clamp(2.4rem, 4.6vw, 3.6rem); line-height: 1.02; color: var(--hs-ink); margin-bottom: 0.2rem; }
.band__season em { font-style: italic; color: var(--hs-gold-deep); }
.band__sub { display: flex; gap: 0.6rem; align-items: center; font-family: var(--f-sans); font-size: 0.56rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--hs-sage); margin-bottom: 1.1rem; }
.band__txt { font-family: var(--f-serif); font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.55; color: var(--hs-ink-soft); max-width: 30rem; text-wrap: pretty; }
.band:nth-child(even) .band__txt { margin-left: auto; }
.year__close { text-align: center; max-width: 30rem; margin: 1rem auto 0; }
.year__close p { font-family: var(--f-display); font-style: italic; font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--hs-cream); text-shadow: 0 1px 22px rgba(20, 29, 23, 0.45); }

@media (max-width: 820px) {
  .year__spine, .year__sap, .year__bead { left: 1.4rem; }
  .band { grid-template-columns: none; gap: 1.6rem; min-height: 0; padding: 7vh 0 7vh 3rem; }
  .band:nth-child(even) .band__media { order: 0; }
  .band:nth-child(even) .band__copy  { order: 0; text-align: left; }
  .band:nth-child(even) .band__copy .s-eyebrow,
  .band:nth-child(even) .band__copy .band__sub { justify-content: flex-start; }
  .band:nth-child(even) .band__txt { margin-left: 0; }
  .band__node { left: calc(1.4rem - 0.5px); top: 3rem; }
  .band__ghost { font-size: clamp(5rem, 22vw, 8rem); top: -2rem; }
  .band:nth-child(even) .band__ghost { right: auto; left: -0.5rem; }
}

/* ---- VISION DU LIEU : split + cépages ---- */
.ho-split { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.ho-split.rev .ho-split__fig { order: 2; }
.ho-split__fig { position: relative; aspect-ratio: 5/4; }
.ho-split__fig .framed__img { height: 100%; }
@media (max-width: 820px) { .ho-split { grid-template-columns: 1fr; gap: 2.4rem; } .ho-split.rev .ho-split__fig { order: 0; } }

.ho-ceps { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.6rem; }
.ho-ceps span { font-family: var(--f-sans); font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--hs-forest); border: 1px solid rgba(38, 52, 42, 0.3); padding: 0.5rem 1rem; border-radius: 40px; }

/* ---- CTA finale — bande cinématique ---- */
.ho-cta { position: relative; min-height: clamp(560px, 82vh, 760px); display: flex; align-items: center; justify-content: center; text-align: center; color: var(--hs-cream); overflow: hidden; isolation: isolate; background: var(--hs-forest-deep); }
.ho-cta__bg { position: absolute; inset: 0; z-index: -3; }
.ho-cta__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; transform: scale(1.06); animation: hoCtaKen 26s ease-in-out infinite alternate; }
@keyframes hoCtaKen { from { transform: scale(1.06); } to { transform: scale(1.16); } }
.ho-cta__veil { position: absolute; inset: 0; z-index: -2; background: radial-gradient(60% 64% at 50% 42%, rgba(20, 29, 23, 0.4), rgba(20, 29, 23, 0.72) 78%), linear-gradient(180deg, rgba(20, 29, 23, 0.55), rgba(20, 29, 23, 0.46) 40%, rgba(20, 29, 23, 0.85)); }
.ho-cta__grain { position: absolute; inset: 0; z-index: -1; opacity: 0.4; mix-blend-mode: overlay; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.ho-cta__ghost { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 0; font-family: var(--f-display); font-weight: 600; font-style: italic; font-size: clamp(7rem, 22vw, 19rem); line-height: 0.8; color: transparent; -webkit-text-stroke: 1.4px rgba(246, 242, 234, 0.08); white-space: nowrap; pointer-events: none; }
.ho-cta__chain { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2.6rem; padding-top: 1.5rem; border-top: 1px solid rgba(233, 206, 163, 0.24); }
.ho-cta__chain span { font-family: var(--f-sans); font-size: 0.56rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--hs-sage-light); }
.ho-cta__chain i { position: relative; width: 2rem; height: 1px; background: rgba(203, 165, 107, 0.5); }
.ho-cta__chain i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--hs-gold-light); transform: translate(-50%, -50%); box-shadow: 0 0 8px rgba(203, 165, 107, 0.6); }
@media (prefers-reduced-motion: reduce) { .ho-cta__bg img { animation: none; } }
