.hero { grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr); gap:40px; padding:40px 0 46px; align-items:center; }
.hero h1 { font-size:clamp(2.15rem,4.1vw,3.25rem); line-height:1.12; margin:12px 0 18px; }
.lead { font-size:1.125rem; line-height:1.55; margin:0 0 12px; }
.spread-formats { color:#285e52; font-weight:700; margin:0; }
.hero-offer { margin:22px 0 0; padding-left:15px; border-left:3px solid #b79143; }
.hero-offer strong { display:block; font-size:1.3rem; color:#541c2c; }
.hero-offer span { display:block; margin-top:3px; color:#485f5a; }
.hero .cta { margin-top:20px; gap:15px; }
.hero-explore { font-weight:700; text-underline-offset:4px; }
.interpretation-example { min-width:0; padding:24px; background:#fff; border:1px solid #c8ddd5; border-radius:20px; box-shadow:0 14px 35px #174d3d0d; }
.example-heading { display:flex; align-items:center; gap:16px; }
.example-heading img { width:58px; height:auto; flex-shrink:0; border-radius:4px; border:1px solid #b79143; }
.example-kicker { margin:0 0 7px; color:#287a71; font-size:.875rem; font-weight:700; }
.example-heading h2 { font:600 1.4rem/1.25 Georgia,serif; color:#541c2c; margin:0; }
.example-question { font-size:.9375rem; color:#485f5a; margin:16px 0; }
.interpretation-example h3 { font-size:.875rem; margin:0 0 5px; }
.example-answer, .example-feedback, .example-solution { padding:13px 15px; border-radius:9px; margin-top:10px; }
.example-answer { background:#f5f4f1; }
.example-feedback { background:#edf6f1; border-left:3px solid #287a71; }
.example-solution { border:1px solid #ebd7ab; background:#fffaf0; }
.example-answer p, .example-feedback p, .example-solution p { font-size:1rem; line-height:1.5; margin:0; }
.example-note { font-size:.875rem; line-height:1.45; color:#596963; margin:13px 0 0; }
.practice-ways { padding-top:22px; border-top:1px solid #dceae6; scroll-margin-top:24px; }
.ways-intro { max-width:820px; margin:0 0 24px; color:#485f5a; font-size:1.0625rem; }
.choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
.choice { padding:24px; display:flex; flex-direction:column; min-width:0; }
.choice-number { font:600 1.15rem Georgia,serif; color:#947028; margin-bottom:14px; }
.choice h3 { font-size:1.4rem; line-height:1.25; }
.choice p { line-height:1.6; }
.choice-detail { font-size:.9375rem; }
.choice-links { display:grid; gap:10px; margin-top:auto; }
.choice > a { margin-top:auto; }
.choice a { text-underline-offset:3px; }
.trial { display:flex; align-items:center; gap:30px; margin:28px 0; padding:25px; }
.trial h2 { margin:0 0 8px; font:600 1.65rem/1.3 Georgia,serif; color:#541c2c; }
.trial .button { flex-shrink:0; max-width:100%; }
.trial-terms { font-weight:700; color:#485f5a; }
@media(max-width:960px) {
  .hero { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:24px; }
  .choices { grid-template-columns:1fr; }
  .choice-number { margin-bottom:9px; }
  .trial { flex-direction:column; align-items:flex-start; gap:18px; }
}
@media(max-width:760px) {
  .hero { grid-template-columns:1fr; padding:26px 0 32px; gap:28px; }
  .hero h1 { font-size:clamp(1.9rem,7vw,2.6rem); margin:10px 0 15px; }
  .hero-copy .eyebrow { font-size:.875rem; letter-spacing:.08em; }
  .lead { font-size:1rem; }
  .hero-offer { margin-top:18px; }
  .hero .cta { gap:13px; }
  .interpretation-example { padding:20px; }
  .trial { padding:23px; }
}
@media(max-width:420px) {
  .hero .cta { align-items:stretch; flex-direction:column; }
  .hero-explore { text-align:center; }
  .button { padding:12px 15px; line-height:1.35; }
  .interpretation-example { padding:17px; }
  .choice { padding:22px; }
}
/* All slides share the same grid row: the tallest keeps the frame stable. */
.home-carousel { align-self:center; overflow:hidden; }
.carousel-stage { display:grid; min-width:0; }
.carousel-slide { grid-area:1 / 1; min-width:0; visibility:hidden; pointer-events:none; display:flex; flex-direction:column; }
.carousel-slide.is-active { visibility:visible; pointer-events:auto; animation:example-fade .22s ease-out; }
.carousel-slide .example-note { margin-top:auto; padding-top:14px; }
.carousel-heading { margin-bottom:14px; }
.carousel-heading h2 { font:600 1.5rem/1.25 Georgia,serif; color:#541c2c; margin:0; overflow-wrap:anywhere; }
.carousel-photo { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; border-radius:10px; margin-bottom:14px; }
.carousel-steps { margin:0; padding:0 0 0 23px; }
.carousel-steps li { margin:0 0 8px; padding-left:3px; font-size:1rem; line-height:1.45; }
.carousel-steps li::marker { color:#287a71; font-weight:700; }
.carousel-formats { color:#485f5a; font-size:.9375rem; line-height:1.45; margin:10px 0 0; }
.example-heading .consultant-avatar { width:66px; height:66px; object-fit:cover; border-radius:50%; border-color:#c8ddd5; }
.carousel-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px 0; }
.carousel-cards figure { margin:0; text-align:center; min-width:0; }
.carousel-cards img { display:block; width:100%; max-width:68px; height:auto; border-radius:3px; border:1px solid #b79143; margin:auto; }
.carousel-cards figcaption { margin-top:7px; font-size:.875rem; line-height:1.25; color:#485f5a; overflow-wrap:anywhere; }
.carousel-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; border-top:1px solid #d7e9e2; padding-top:14px; margin-top:17px; }
.carousel-controls[hidden] { display:none; }
.carousel-controls button { min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #bdd7cc; border-radius:8px; background:#f3f8f5; color:#245d52; font:700 1rem/1.2 Arial,Helvetica,sans-serif; cursor:pointer; }
.carousel-controls #carousel-prev, .carousel-controls #carousel-next { font-size:1.5rem; }
.carousel-controls button:hover { background:#e5f0e9; }
.carousel-controls button:focus-visible { outline:3px solid #fedb68; outline-offset:2px; }
.carousel-count { min-width:44px; text-align:center; color:#485f5a; font-size:.875rem; font-variant-numeric:tabular-nums; }
.carousel-controls .carousel-pause { margin-left:auto; max-width:100%; overflow-wrap:anywhere; }
@keyframes example-fade { from { opacity:.5; } to { opacity:1; } }
@media(max-width:420px) {
  .carousel-heading h2 { font-size:1.35rem; }
  .carousel-photo { aspect-ratio:3 / 2; }
  .carousel-controls { gap:6px; }
  .carousel-controls .carousel-pause { padding:8px; }
  .carousel-cards { gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .carousel-slide.is-active { animation:none; } }
/* Compact previews keep the main invitation visible beside the carousel. */
.home-carousel .carousel-cards { margin:10px 0; gap:8px; }
.home-carousel .carousel-cards img { max-width:46px; }
.home-carousel .carousel-cards figcaption { margin-top:5px; }
.home-carousel .example-answer, .home-carousel .example-feedback, .home-carousel .example-solution { padding:10px 12px; margin-top:8px; }
.home-carousel .example-note { font-size:.875rem; line-height:1.35; }
@media(max-width:360px) {
  .carousel-controls { display:grid; grid-template-columns:44px 44px 44px; justify-content:space-between; }
  .carousel-controls .carousel-pause { grid-column:1 / -1; width:100%; margin-left:0; }
}
