/* Guided homepage: the existing forest stays visible behind every chapter. */
.home-page { --home-gold: #e9bd73; --home-ivory: #f8f2e9; --home-muted: #d4e1ea; }
.home-page .home-section { position: relative; isolation: isolate; padding: clamp(72px, 7vw, 112px) 0; color: var(--home-ivory); background: transparent; }
.home-page .home-section > .container { width: min(1280px, calc(100% - 80px)); }
.home-page .home-kicker { color: var(--home-gold); font: 700 11px/1.4 Manrope, sans-serif; letter-spacing: .23em; text-transform: uppercase; margin: 0 0 16px; }
.home-page .home-heading { margin-bottom: 38px; }
.home-page .home-heading-center { text-align: center; }
.home-page .home-heading h2, .home-page .home-section h2 { color: var(--home-ivory); font: 500 clamp(45px, 4.8vw, 72px)/.98 'Cormorant Garamond', Georgia, serif; letter-spacing: -.025em; margin: 0; }
.home-page .home-heading p:last-child { color: var(--home-muted); font-size: 17px; margin: 14px auto 0; max-width: 65ch; }
.home-page .home-section h2 em { color: var(--home-gold); font-weight: 500; }
.home-page .home-lead { color: #e7edf2; font-size: 18px; line-height: 1.7; max-width: 58ch; }
.home-page .home-gold-link, .home-page .home-outline-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 54px; padding: 12px 24px; border-radius: 7px; font: 700 14px/1.3 Manrope, sans-serif; text-decoration: none; transition: transform .2s, background .2s, border-color .2s; }
.home-page .home-gold-link { color: #112338; background: linear-gradient(110deg, #ffe4a2, #e7b869 60%, #c79655); border: 1px solid #ffe2a0; box-shadow: 0 8px 24px #030e1bb0; }
.home-page .home-outline-link { color: #f5cf8b; background: #061a2bc9; border: 1px solid #e9bd73aa; }
.home-page .home-gold-link:hover, .home-page .home-outline-link:hover { transform: translateY(-2px); }
.home-page .home-outline-link:hover { background: #153247; border-color: #ffe4a2; }
.home-page .home-gold-link span, .home-page .home-outline-link span { font-size: 22px; font-weight: 400; line-height: .8; }

/* The opening screen offers a primary path and two immediate alternatives. */
.home-page .hero-action { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
.home-page .hero-action .hero-cta { width: 370px; }
.home-hero-links { display: flex; flex-wrap: wrap; gap: 13px 25px; }
.home-hero-links a { color: #ffe2a2; font-size: 14px; font-weight: 700; text-underline-offset: 5px; text-decoration-color: #e9bd7380; }
.home-hero-links a:hover { color: #fff; }
.home-hero-links span { margin-left: 6px; }

/* A three-way route directly beneath the hero. */
.home-page .home-guide { padding-top: 63px; padding-bottom: 70px; }
.home-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-guide-card { position: relative; display: flex; align-items: center; gap: 17px; min-height: 174px; padding: 24px 25px; overflow: hidden; border: 1px solid #bed7e166; border-radius: 14px; color: #fff; background: #071d2d; text-decoration: none; box-shadow: 0 12px 35px #020a1570; transition: transform .25s, border-color .25s; }
.home-guide-card::before { content: ''; position: absolute; inset: 0; opacity: .42; background: linear-gradient(90deg, #041523 10%, #041523a8 58%, #04152358), var(--guide-image) center / cover; transition: transform .35s; }
.home-guide-card > * { position: relative; z-index: 1; }
.home-guide-card:hover { transform: translateY(-4px); border-color: #f1cb86; }
.home-guide-card:hover::before { transform: scale(1.04); }
.home-guide-icon { align-self: flex-start; color: var(--home-gold); }
.home-guide-icon .line-icon { width: 38px; height: 38px; }
.home-guide-copy { display: grid; gap: 7px; max-width: 24ch; }
.home-guide-copy strong { font: 500 27px/1 'Cormorant Garamond', Georgia, serif; color: #fff8e9; }
.home-guide-copy small { color: #d9e5ee; font: 400 13px/1.5 Manrope, sans-serif; }
.home-guide-arrow { align-self: flex-end; margin-left: auto; display: grid; place-items: center; width: 29px; height: 29px; flex: 0 0 29px; border: 1px solid #e9bd73bb; border-radius: 50%; color: #e9bd73; font-size: 18px; }

/* Existing program cards remain the canonical preview. */
.home-page .premium-programs { padding-top: 68px; padding-bottom: 72px; background: transparent; }
.home-page .premium-programs .program-copy .button-link { color: #0c2034; background: linear-gradient(110deg, #ffe4a2, #e7b869 60%, #c79655); border-color: #ffe3aa; font-weight: 700; }
.home-page .premium-programs .program-copy .button-link:hover { background: #ffe3a2; color: #07192c; }
.home-program-footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px 28px; margin-top: 30px; }
.home-program-footer p { color: #e5edf3; font-size: 14px; margin: 0; }
.home-page .premium-programs .fine-print { text-align: center; margin-top: 24px; }

/* A bespoke story is explained through a real portrait and three steps. */
.home-page .home-scenario { padding-top: 80px; padding-bottom: 80px; }
.home-scenario-layout, .home-artists-layout, .home-dates-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(36px, 5vw, 88px); }
.home-scenario-photo, .home-artists-photo { position: relative; overflow: hidden; border-radius: 18px; border: 1px solid #d4e6ec70; box-shadow: 0 15px 42px #020e1977; }
.home-scenario-photo { min-height: 560px; }
.home-scenario-photo img, .home-artists-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-scenario-photo img { position: absolute; inset: 0; object-position: 51% 42%; }
.home-scenario-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #06162573, transparent 45%); pointer-events: none; }
.home-scenario-copy h2 { max-width: 12ch; }
.home-scenario-copy .home-lead { margin: 20px 0 23px; }
.home-process { display: grid; gap: 0; padding: 0; margin: 0 0 24px; list-style: none; }
.home-process li { display: grid; grid-template-columns: 48px 1fr; gap: 17px; padding: 13px 0; border-top: 1px solid #e9bd734b; }
.home-process li > span { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #e9bd73aa; border-radius: 50%; color: #f3cb85; font-size: 13px; }
.home-process h3 { margin: 0 0 4px; color: #fff5e4; font: 500 23px/1.1 'Cormorant Garamond', Georgia, serif; }
.home-process p { color: #d8e5ed; font-size: 13px; line-height: 1.55; margin: 0; }

/* A dedicated artist chapter makes the route unmistakable. */
.home-page .home-artists { padding-top: 66px; padding-bottom: 66px; }
.home-artists-copy { padding: 28px 0; }
.home-artists-copy h2 { max-width: 13ch; }
.home-artists-copy .home-lead { margin: 21px 0; }
.home-artists-copy ul { display: grid; gap: 8px; list-style: none; padding: 0; margin: 0 0 28px; }
.home-artists-copy li { display: flex; align-items: center; gap: 12px; color: #e6eef3; font-size: 14px; }
.home-artists-copy .line-icon { color: var(--home-gold); width: 19px; height: 19px; }
.home-artists-photo { height: 470px; }
.home-artists-photo img { object-position: center 35%; }

/* Real event photography, one authentic Avito excerpt, and two clear routes. */
.home-proof-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 22px; align-items: stretch; }
.home-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-height: 320px; }
.home-photo-grid a { display: block; min-width: 0; border: 1px solid #d3e8ee8c; border-radius: 9px; overflow: hidden; }
.home-photo-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.home-photo-grid a:hover img { transform: scale(1.04); }
.home-review { display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 29px 31px; border: 1px solid #e8c48d8f; border-radius: 12px; background: #f5eee1f5; color: #152b3e; }
.home-review-stars { color: #c68f3e; font-size: 21px; letter-spacing: .08em; }
.home-page .home-review p { margin: 17px 0; color: #152b3e; font: 500 23px/1.22 'Cormorant Garamond', Georgia, serif; }
.home-review footer { font-size: 12px; color: #51606b; }
.home-proof-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 26px; }

/* Calendar thumbnail is navigation only; actual dates are on the dates page. */
.home-dates-layout { grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); max-width: 1080px; }
.home-calendar { padding: 22px; border-radius: 13px; border: 1px solid #dce9eb94; background: #07223ad9; box-shadow: 0 15px 32px #020c1c77; }
.home-calendar-header { display: flex; align-items: center; justify-content: space-between; color: #fff7e8; font: 500 28px/1.1 'Cormorant Garamond', Georgia, serif; padding: 0 0 15px; border-bottom: 1px solid #e9bd7370; }
.home-calendar-header .line-icon { color: var(--home-gold); width: 26px; height: 26px; }
.home-calendar-week, .home-calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; }
.home-calendar-week { margin-top: 16px; color: #9fb2c4; font-size: 11px; }
.home-calendar-days { gap: 5px; margin-top: 12px; }
.home-calendar-day { display: grid; place-items: center; min-height: 34px; border: 1px solid #c9deea24; border-radius: 5px; color: #e2edf3; font-size: 12px; }
.home-calendar-day.is-weekend { color: #f3c783; }
.home-calendar-day.is-blank { border-color: transparent; }
.home-dates-copy h2 { margin-bottom: 19px; }
.home-date-facts { display: flex; flex-wrap: wrap; gap: 19px 30px; padding: 19px 0 27px; margin: 20px 0 0; border-top: 1px solid #e9bd735c; }
.home-date-facts > div { display: flex; align-items: center; gap: 10px; color: #c7d8e3; font-size: 11px; line-height: 1.4; }
.home-date-facts strong { color: #f9f4e9; font-size: 14px; font-weight: 700; }
.home-date-facts .line-icon { color: var(--home-gold); width: 27px; height: 27px; }

/* Native details keep all answers keyboard accessible and readable without JS. */
.home-page .home-faq { padding-top: 75px; padding-bottom: 85px; }
.home-faq-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .6fr); gap: 24px; align-items: start; }
.home-faq-list { display: grid; gap: 9px; }
.home-faq-list details { border: 1px solid #c9dfeb70; border-radius: 7px; background: #052039c9; overflow: hidden; }
.home-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; padding: 16px 21px; list-style: none; color: #f6f0e6; font: 600 15px/1.5 Manrope, sans-serif; }
.home-faq-list summary::-webkit-details-marker { display: none; }
.home-faq-list summary span::before { content: '+'; color: var(--home-gold); font-size: 23px; font-weight: 400; line-height: 1; }
.home-faq-list details[open] summary span::before { content: '−'; }
.home-faq-list details p { color: #d9e5ec; font-size: 14px; line-height: 1.65; padding: 0 21px 18px; margin: 0; }
.home-faq-help { min-height: 100%; padding: 25px; border: 1px solid #d3b87f94; border-radius: 10px; background: linear-gradient(145deg, #153951cb, #031725e8); }
.home-faq-help > span { color: var(--home-gold); font-size: 43px; }
.home-faq-help h3 { color: #fff5e4; font: 500 31px/1.1 'Cormorant Garamond', Georgia, serif; margin: 4px 0 12px; }
.home-faq-help p { color: #d8e5ed; font-size: 13px; line-height: 1.6; margin-bottom: 22px; }

/* Finish against the existing lantern-lit forest. */
.home-page .home-final { text-align: center; padding: 100px 0 115px; }
.home-final h2 { max-width: 12ch; margin: auto !important; }
.home-final > .container > p:not(.home-kicker) { color: #ecf2f4; font-size: 17px; margin: 22px auto 28px; max-width: 53ch; }

@media (max-width: 1100px) {
  .home-page .home-section > .container { width: calc(100% - 64px); }
  .home-guide-card { padding: 20px; }
  .home-guide-copy strong { font-size: 23px; }
  .home-scenario-layout, .home-artists-layout { gap: 34px; }
  .home-scenario-photo { min-height: 520px; }
  .home-proof-layout { grid-template-columns: 1fr; }
  .home-review { min-height: 170px; }
}
@media (max-width: 767px) {
  .home-page .home-section { padding: 62px 0; }
  .home-page .home-section > .container { width: calc(100% - 40px); }
  .home-page .home-heading h2, .home-page .home-section h2 { font-size: clamp(42px, 11vw, 56px); }
  .home-page .home-heading p:last-child { font-size: 15px; }
  .home-page .home-lead { font-size: 15px; line-height: 1.7; }
  .home-page .hero-action .hero-cta { width: min(100%, 370px); }
  .home-hero-links { gap: 9px 18px; }
  .home-hero-links a { font-size: 12px; }
  .home-guide-grid { grid-template-columns: 1fr; gap: 11px; }
  .home-guide-card { min-height: 122px; }
  .home-guide-copy strong { font-size: 27px; }
  .home-page .premium-programs { padding-top: 55px; padding-bottom: 65px; }
  .home-program-footer { flex-direction: column; text-align: center; }
  .home-scenario-layout, .home-artists-layout, .home-dates-layout { grid-template-columns: 1fr; }
  .home-scenario-photo { min-height: 350px; }
  .home-scenario-copy h2, .home-artists-copy h2 { max-width: 100%; }
  .home-artists-copy { padding: 0; }
  .home-artists-photo { height: 340px; }
  .home-photo-grid { min-height: 235px; }
  .home-review { padding: 22px; }
  .home-review p { font-size: 21px; }
  .home-dates-layout { gap: 31px; }
  .home-dates-copy { order: -1; }
  .home-date-facts { gap: 15px; }
  .home-faq-layout { grid-template-columns: 1fr; }
  .home-faq-help { min-height: auto; }
  .home-page .home-final { padding: 78px 0 94px; }
}
@media (max-width: 380px) {
  .home-page .home-section > .container { width: calc(100% - 32px); }
  .home-photo-grid { gap: 6px; min-height: 175px; }
  .home-review p { font-size: 19px; }
  .home-faq-list summary { font-size: 14px; padding-inline: 15px; }
  .home-faq-list details p { padding-inline: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-guide-card, .home-guide-card::before, .home-photo-grid img, .home-gold-link, .home-outline-link { transition: none !important; }
}

/* A small, native anchor invites the visitor to scroll beyond the opening scene. */
.home-page .hero-scroll-hint {position:absolute;z-index:3;left:calc(70% - .4 * var(--hero-gutter));top:auto;bottom:max(0px,calc(100% - 100svh));transform:translateX(-50%);width:130px;padding:10px 2px;color:#f2c477;text-decoration:none;text-align:center;text-shadow:0 2px 8px #000;}
.hero-scroll-motion {display:flex;flex-direction:column;align-items:center;gap:10px;}
.hero-scroll-mouse {position:relative;display:block;width:23px;height:39px;border:1.5px solid currentColor;border-radius:14px;}
.hero-scroll-mouse::after {content:'';position:absolute;top:7px;left:9px;width:2px;height:10px;border-radius:2px;background:currentColor;}
.hero-scroll-label {font:500 12px/1.5 Manrope,sans-serif;}
.hero-scroll-chevron {width:22px;height:16px;}
.hero-scroll-hint:hover {color:#ffe4aa;}
.hero-scroll-hint:focus-visible {outline:2px solid #ffe4aa;outline-offset:3px;border-radius:8px;}
#home-guide-title {scroll-margin-top:calc(var(--header-panel-height,72px) + 30px);}
@media(prefers-reduced-motion:no-preference){.hero-scroll-motion{animation:hero-scroll-invitation 2.4s ease-in-out infinite;}@keyframes hero-scroll-invitation{0%,100%{transform:translateY(-4px)}50%{transform:translateY(5px)}}}
@media(max-width:1199px){.home-page .hero{display:flex;flex-direction:column;padding-bottom:0;}.home-page .hero-content{flex:1;min-height:0;}.home-page .hero-scroll-hint{position:static;transform:none;width:fit-content;max-width:100%;margin:24px auto 0;padding:8px 0;text-align:center;}.hero-scroll-motion{align-items:center;gap:6px;}.hero-scroll-label{font-size:13px;}.hero-scroll-mouse{width:17px;height:28px;margin-left:0;}.hero-scroll-mouse::after{left:6px;top:5px;height:7px;}.hero-scroll-chevron{margin-left:0;width:21px;height:13px;}}

