/* Grand Manor additions on top of the Matmon proposal system. */

.gm-logo { width: clamp(120px, 16vw, 170px); height: auto; margin-bottom: 1.5rem; }

/* Towns */
.towns { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); }
.town { background: var(--color-surface); padding: 1.15rem 1.25rem; }
.town strong { display: block; font-family: var(--font-display); font-weight: 800; font-size: var(--text-lg); letter-spacing: -0.01em; line-height: 1.15; }
.town span { display: block; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-muted); margin-top: 0.4rem; }
.town--home { background: var(--color-primary); }
.town--home strong { color: #fff; }
.town--home span { color: var(--color-gold-bright); }
.towns__note { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: 1rem; }

.guardrail {
  margin-top: clamp(1.75rem, 3.5vw, 2.5rem);
  border-left: 3px solid var(--color-gold-bright);
  background: var(--color-surface-2);
  padding: 1rem 1.25rem; font-size: var(--text-sm); color: var(--color-text); max-width: 46em;
}

/* Photos */
.gm-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.5rem); }
@media (max-width: 760px) { .gm-photos { grid-template-columns: 1fr; } }
.gm-photos .shot img { aspect-ratio: 4 / 3; object-fit: cover; }
.photo-note { font-size: var(--text-xs); color: var(--color-text-faint); margin-top: 0.85rem; }

/* Weekly slots */
.slots { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(1rem, 2.5vw, 1.5rem); margin-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.slot { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.15); padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.slot--feature { border-color: var(--color-gold-bright); background: rgba(246,184,25,0.08); }
.slot__amt { font-family: var(--font-display); font-weight: 800; font-size: var(--text-2xl); line-height: 1; letter-spacing: -0.03em; color: var(--color-cyan); margin-bottom: 0.75rem; }
.slot--feature .slot__amt { color: var(--color-gold-bright); }
.slot h3 { font-size: var(--text-base); color: #fff; margin-bottom: 0.45rem; font-weight: 700; }
.slot p { font-size: var(--text-sm); color: rgba(247,246,243,0.75); line-height: 1.5; }

/* Working together */
.together { background: var(--color-surface-2); }
.together__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
.card__kicker { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-cyan-deep); margin-bottom: 1rem; }
.card--gold .card__kicker { color: var(--color-gold); }
.card__intro { margin-bottom: 1rem !important; }
.steps { margin: 0; padding: 0; list-style: none; counter-reset: s; }
.steps li { counter-increment: s; position: relative; padding-left: 2.1rem; margin-bottom: 0.85rem; font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; }
.steps li:last-child { margin-bottom: 0; }
.steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: 0.72rem; font-weight: 800; display: grid; place-items: center; }
.ticks { margin: 0; padding: 0; list-style: none; }
.ticks li { position: relative; padding-left: 1.25rem; margin-bottom: 0.75rem; font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; }
.ticks li:last-child { margin-bottom: 0; }
.ticks li::before { content: ''; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; background: var(--color-gold-bright); }
.ticks li strong { color: var(--color-text); }

/* Investment */
.money__cards--four { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: 0; }
.money__cards--four .card { display: flex; flex-direction: column; }
.card__figure .per { font-size: 0.4em; font-weight: 600; letter-spacing: 0; }
.addon {
  margin-top: clamp(1.25rem, 3vw, 2rem);
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: center;
  border: 1px dashed var(--color-border); padding: clamp(1.25rem, 3vw, 1.75rem); background: var(--color-bg);
}
@media (max-width: 620px) { .addon { grid-template-columns: 1fr; } }
.addon h3 { font-size: var(--text-lg); margin-bottom: 0.5rem; }
.addon p { font-size: var(--text-sm); color: var(--color-text-muted); }
.addon .card__kicker { margin-bottom: 0.6rem; }
.addon__price { font-family: var(--font-display); font-weight: 800; font-size: var(--text-2xl); color: var(--color-primary); letter-spacing: -0.03em; line-height: 1; text-align: right; }
.addon__price span { display: block; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-muted); margin-top: 0.45rem; }
@media (max-width: 620px) { .addon__price { text-align: left; } }
.summary__title { font-size: var(--text-xl); margin: clamp(2.5rem, 5vw, 3.5rem) 0 1rem; }
tr.subtotal td { color: var(--color-text-muted); }

.honest .ticks li { font-size: var(--text-sm); }

/* Signature */
.signature { background: var(--color-surface); color: var(--color-text); padding: clamp(1.5rem, 4vw, 2.75rem); margin-top: clamp(2rem, 4vw, 3rem); border-top: 4px solid var(--color-gold-bright); }
.signature__head { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; border-bottom: 1px solid var(--color-divider); padding-bottom: 1.25rem; margin-bottom: 1.5rem; }
.signature__head img { width: clamp(80px, 10vw, 110px); height: auto; flex: none; }
.signature__kicker { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 800; margin-bottom: 0.35rem; letter-spacing: -0.01em; }
.signature__parties { font-size: var(--text-sm); color: var(--color-text-muted); }
.signature__choice { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; align-items: center; margin-bottom: clamp(1.75rem, 4vw, 2.5rem); }
.signature__label { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-muted); margin: 0; }
.signature__boxes { display: flex; flex-wrap: wrap; gap: 0.75rem 1.75rem; }
.signature__boxes span { display: inline-flex; align-items: center; gap: 0.55rem; font-size: var(--text-sm); font-weight: 600; }
.signature__boxes i { width: 1.05rem; height: 1.05rem; border: 2px solid var(--color-primary); display: inline-block; }
.signature__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(1.75rem, 5vw, 3.5rem); }
.sig__party { font-size: var(--text-xs); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-primary); margin-bottom: 2.75rem; }
.sig__line { border-bottom: 1.5px solid var(--color-text); height: 0; }
.sig__line--short { margin-top: 2.5rem; }
.sig__cap { font-size: var(--text-xs); color: var(--color-text-muted); margin: 0.45rem 0 0; }
.sig__row { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.25rem; }

@media print {
  .slot, .together .card, .town, .addon, .signature, .gm-photos .shot { break-inside: avoid; }
  .signature { border: 1px solid var(--color-border); }
  .asks { break-before: page; }
}

/* Fixes */
.foot__logo, .topbar__logo img { height: auto; }
.sprints__head .eyebrow { font-size: var(--text-xs); font-weight: 700; line-height: 1.4; color: var(--color-cyan); margin-bottom: 1.25rem; }
.money__cards--four .card__figure { white-space: nowrap; }

/* Recommendation */
.rec { background: var(--color-surface-2); }
.rec__head { max-width: 46rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.rec__head h2 { font-size: var(--text-2xl); margin: 0.5rem 0 1.25rem; }
.rec__sum { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr; align-items: stretch; gap: clamp(0.75rem, 2vw, 1.25rem); }
.rec__part { background: var(--color-surface); border: 1px solid var(--color-border); padding: clamp(1.25rem, 3vw, 1.75rem); display: flex; flex-direction: column; gap: 0.35rem; }
.rec__part--total { background: var(--color-primary); border-color: var(--color-primary); }
.rec__amt { font-family: var(--font-display); font-weight: 800; font-size: var(--text-2xl); line-height: 1; letter-spacing: -0.03em; color: var(--color-primary); }
.rec__part--total .rec__amt { color: var(--color-gold-bright); }
.rec__lbl { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-text); margin-top: 0.4rem; }
.rec__part--total .rec__lbl { color: #fff; }
.rec__sub { font-size: var(--text-sm); color: var(--color-text-muted); }
.rec__part--total .rec__sub { color: rgba(255,255,255,0.78); }
.rec__op { align-self: center; font-family: var(--font-display); font-weight: 800; font-size: var(--text-xl); color: var(--color-text-faint); }
@media (max-width: 760px) {
  .rec__sum { grid-template-columns: 1fr; }
  .rec__op { justify-self: center; line-height: 1; }
}

.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); }
.fact { background: var(--color-surface); padding: clamp(1.25rem, 2.5vw, 1.6rem); }
.fact__value { font-family: var(--font-display); font-weight: 800; font-size: var(--text-xl); line-height: 1; letter-spacing: -0.02em; color: var(--color-cyan-deep); margin-bottom: 0.7rem; }
.fact p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; }
.fact a { color: var(--color-text); text-underline-offset: 2px; }

.range { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.range__title { font-family: var(--font-display); font-weight: 700; font-size: var(--text-lg); margin-bottom: 1.1rem; }
.range__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.5rem); align-items: stretch; }
@media (max-width: 860px) { .range__grid { grid-template-columns: 1fr; } }
.tier { background: var(--color-bg); border: 1px solid var(--color-border); padding: clamp(1.25rem, 2.5vw, 1.6rem); }
.tier p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; }
.tier__name { font-size: var(--text-xs) !important; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 0.6rem; }
.tier__amt { font-family: var(--font-display); font-weight: 800; font-size: var(--text-xl); line-height: 1; letter-spacing: -0.02em; color: var(--color-text); }
.tier__amt span { font-size: 0.5em; font-weight: 600; letter-spacing: 0; color: var(--color-text-muted); }
.tier__total { font-weight: 700; color: var(--color-text) !important; margin: 0.5rem 0 0.85rem; }
.tier--rec { background: var(--color-surface); border: 2px solid var(--color-gold-bright); box-shadow: 0 10px 30px rgba(11,28,40,0.08); }
.tier--rec .tier__name { color: var(--color-gold); }
.tier--rec .tier__amt { color: var(--color-primary); }
.range__note { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: 1rem; }

/* Who we reach */
.who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.5rem); margin-bottom: clamp(2rem, 4vw, 2.75rem); }
@media (max-width: 760px) { .who { grid-template-columns: 1fr; } }
.who__item { border-top: 3px solid var(--color-cyan); padding-top: 0.9rem; }
.who__item strong { display: block; font-family: var(--font-display); font-weight: 800; font-size: var(--text-lg); margin-bottom: 0.35rem; }
.who__item span { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; }

/* Expandable details */
.more { margin-top: clamp(1.5rem, 3vw, 2rem); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.more > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 0; font-family: var(--font-display); font-weight: 700; font-size: var(--text-base); color: var(--color-primary); }
.more > summary::-webkit-details-marker { display: none; }
.more > summary::after { content: '+'; flex: none; width: 2rem; height: 2rem; border-radius: 50%; border: 1.5px solid currentColor; display: grid; place-items: center; font-size: 1.2rem; font-weight: 600; line-height: 1; transition: transform 0.2s ease; }
.more[open] > summary::after { content: '\2212'; }
.more > summary:hover { color: var(--color-cyan-deep); }
.more > summary:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 4px; }
.more__body { padding: 0.5rem 0 clamp(1.75rem, 3.5vw, 2.5rem); }
.more__intro { max-width: 46em; margin-bottom: clamp(1.5rem, 3vw, 2rem); }
.more--dark { border-color: rgba(255,255,255,0.18); }
.more--dark > summary { color: var(--color-gold-bright); }
.more--dark > summary:hover { color: #fff; }
.more--dark .more__intro { color: rgba(247,246,243,0.78); font-size: var(--text-sm); }
.more .money__cards--four { margin-top: 0.5rem; }
.summary__title--first { margin-top: 0; }
.more .sprint:last-of-type { border-bottom: 0; }
.more--say { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.more--say .more__body { padding-top: 0; }
.honest--terms { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.signature__grid--one { grid-template-columns: minmax(0, 560px); }

/* What we say: theme tiles */
.themes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(0.75rem, 2vw, 1.25rem); margin: 0.5rem 0 clamp(2rem, 4vw, 2.75rem); }
.theme { grid-column: span 2; background: var(--color-surface); border: 1px solid var(--color-border); border-top: 3px solid var(--color-cyan); padding: clamp(1.1rem, 2.5vw, 1.5rem); }
.theme:nth-child(4), .theme:nth-child(5) { grid-column: span 3; }
.theme h3 { font-family: var(--font-display); font-weight: 800; font-size: var(--text-lg); margin-bottom: 0.45rem; }
.theme p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; }
@media (max-width: 860px) { .themes { grid-template-columns: 1fr 1fr; } .theme, .theme:nth-child(4), .theme:nth-child(5) { grid-column: span 1; } .theme:nth-child(5) { grid-column: span 2; } }
@media (max-width: 560px) { .themes { grid-template-columns: 1fr; } .theme:nth-child(5) { grid-column: span 1; } }

/* Hero: Grand Manor drone video */
.hero--place { background: #1b2430; min-height: calc(100vh - 58px); min-height: calc(100svh - 58px); display: flex; flex-direction: column; justify-content: flex-end; padding-block: clamp(6rem, 14vw, 10rem) clamp(3rem, 6vw, 4.5rem); }
.hero--place::after { display: none; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero__shade { position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(14,20,28,0.2) 0%, rgba(14,20,28,0) 30%, rgba(14,20,28,0.15) 50%, rgba(14,20,28,0.72) 78%, rgba(14,20,28,0.9) 100%),
              linear-gradient(90deg, rgba(14,20,28,0.45) 0%, rgba(14,20,28,0.05) 50%, rgba(14,20,28,0) 75%); }
.hero--place h1 { font-size: clamp(2rem, 0.9rem + 3vw, 3.75rem); max-width: 16em; text-shadow: 0 2px 18px rgba(0,0,0,0.35); }
.hero--place .hero__sub { font-size: var(--text-base); margin-bottom: 2rem; text-shadow: 0 1px 10px rgba(0,0,0,0.4); }
.hero--place > .wrap { position: relative; z-index: 1; width: 100%; }
.hero__gm { width: clamp(110px, 11vw, 150px); height: auto; margin-bottom: clamp(1.25rem, 3vw, 2rem); display: block; }
.hero--place .hero__meta { color: var(--color-gold-bright); }
.hero--place .hero__sub { color: rgba(255,255,255,0.88); }
.hero--place .hero__fact dt { color: rgba(255,255,255,0.66); }
.hero__caption { position: absolute; z-index: 1; right: clamp(1rem, 3vw, 2rem); top: clamp(5rem, 9vw, 6rem); margin: 0; font-size: var(--text-xs); letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,0.8); text-shadow: 0 1px 6px rgba(0,0,0,0.5); }
@media (max-width: 760px) { .hero--place { min-height: 0; padding-top: 7rem; } .hero__caption { display: none; } }
@media (prefers-reduced-motion: reduce) { .hero__video { display: none; } .hero--place { background: #1b2430 none; } }

/* The place families will see */
.place { background: var(--color-surface); border-bottom: 1px solid var(--color-divider); }
.place__head { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: end; margin-bottom: clamp(2rem, 4vw, 3rem); }
.place__head h2 { font-size: var(--text-2xl); margin: 0; }
.place__head h2 span { display: block; color: var(--color-gold); font-size: 0.5em; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.9rem; }
.place__head p { margin: 0; color: var(--color-text-muted); max-width: 34em; }
.place__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(0.6rem, 1.5vw, 1rem); }
.place__shot { margin: 0; position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #dfe3e6; }
.place__shot--wide { grid-column: 1 / -1; aspect-ratio: 21 / 8; }
.place__shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.place__shot--wide img { object-position: center 60%; }
.place__shot figcaption { position: absolute; left: 0; bottom: 0; padding: 0.55rem 0.85rem; font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; background: rgba(14,20,28,0.6); }
@media (max-width: 860px) { .place__head { grid-template-columns: 1fr; } .place__grid { grid-template-columns: 1fr 1fr; } .place__shot--wide { aspect-ratio: 16 / 9; } .place__shot:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; } }
@media (max-width: 560px) { .place__grid { grid-template-columns: 1fr; } .place__shot:last-child { aspect-ratio: 4 / 3; } }
@media print { .hero__video { display: none; } .hero--place { min-height: 0; background: #1b2430 none; } .place { break-inside: avoid; } }

/* Hero refinements: corner logo, title, lead paragraph */
.hero--place .hero__gm { position: absolute; z-index: 1; top: clamp(1.5rem, 3vw, 2.5rem); right: clamp(1.25rem, 4vw, 3.5rem); width: clamp(150px, 17vw, 250px); height: auto; margin: 0; filter: drop-shadow(0 2px 12px rgba(0,0,0,0.45)); }
.hero--place .hero__title { font-size: clamp(1.6rem, 0.9rem + 2.4vw, 3rem); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-gold-bright); max-width: none; margin: 0 0 1.5rem; line-height: 1.1; text-shadow: 0 2px 16px rgba(0,0,0,0.4); }
.hero--place .hero__sub--lead { font-size: clamp(1.3rem, 0.95rem + 1.4vw, 2.15rem); font-weight: 600; line-height: 1.35; color: #fff; max-width: 30em; margin-bottom: 2.25rem; padding: 0.35rem 0 0.35rem clamp(1rem, 2vw, 1.5rem); border-left: 5px solid var(--color-gold-bright); text-shadow: 0 2px 14px rgba(0,0,0,0.5); }
@media (max-width: 760px) { .hero--place { padding-top: 9.5rem; } .hero--place .hero__gm { width: 150px; } }

/* Social post previews (The place families will see) */
.platform { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--color-surface-offset); margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem); }
.platform__btn { appearance: none; border: 0; cursor: pointer; font: inherit; font-size: var(--text-sm); font-weight: 700; padding: 0.6rem 1.3rem; border-radius: 999px; background: transparent; color: var(--color-text-muted); transition: background 0.2s ease, color 0.2s ease; }
.platform__btn.is-active { background: var(--color-primary); color: #fff; }
.platform__btn:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 2px; }
.posts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.9rem, 1.6vw, 1.4rem); align-items: start; }
.post { margin: 0; min-width: 0; }
.post__label { margin: 0 0 0.6rem; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-gold); }
.post__frame { background: #fff; border: 1px solid #dddfe2; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(11,28,40,0.06); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; color: #050505; }
.post__head { display: flex; align-items: center; gap: 0.55rem; padding: 0.7rem 0.75rem 0.55rem; }
.post__avatar { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 1px solid #e4e6eb; display: grid; place-items: center; overflow: hidden; }
.post__avatar img { width: 30px; height: auto; display: block; }
.post__who { min-width: 0; flex: 1; line-height: 1.2; }
.post__who strong { display: block; font-size: 0.8125rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.post__meta { display: block; font-size: 0.72rem; color: #65676b; white-space: nowrap; }
.post__meta svg { display: inline-block; width: 11px; height: 11px; vertical-align: -1px; }
.post__dots { color: #65676b; font-weight: 700; letter-spacing: 1px; }
.post__text { margin: 0; padding: 0 0.75rem 0.65rem; font-size: 0.8125rem; line-height: 1.4; color: #050505; }
.post__media { position: relative; aspect-ratio: 1 / 1; background: #111; }
.post__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.post__play { position: absolute; inset: 0; margin: auto; width: 62px; height: 62px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.9); background: rgba(10,16,24,0.55); color: #fff; cursor: pointer; display: grid; place-items: center; transition: transform 0.2s ease, background 0.2s ease; }
.post__play svg { width: 28px; height: 28px; margin-left: 3px; }
.post__play:hover { transform: scale(1.06); background: rgba(13,82,112,0.85); }
.post__play:focus-visible { outline: 3px solid var(--color-gold-bright); outline-offset: 3px; }
.post__media.is-playing .post__play { display: none; }
.post__cta { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; padding: 0.6rem 0.75rem; background: #f0f2f5; }
.post__cta span { min-width: 0; line-height: 1.25; }
.post__cta small { display: block; font-size: 0.65rem; color: #65676b; text-transform: uppercase; letter-spacing: 0.02em; }
.post__cta strong { display: block; font-size: 0.8125rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.post__cta b { flex: none; font-size: 0.78rem; font-weight: 600; background: #e4e6eb; border-radius: 6px; padding: 0.45rem 0.7rem; }
.post__cta--ig { background: #fff; border-bottom: 1px solid #efefef; color: #0095f6; padding-block: 0.65rem; }
.post__cta--ig strong { font-size: 0.8125rem; color: #0095f6; }
.post__cta--ig svg { width: 16px; height: 16px; }
.post__actions { display: flex; justify-content: space-around; border-top: 1px solid #e4e6eb; margin: 0 0.75rem; padding: 0.35rem 0 0.4rem; }
.post__actions span { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; font-weight: 600; color: #65676b; padding: 0.35rem 0.3rem; }
.post__actions svg { width: 17px; height: 17px; }
.post__icons { display: flex; gap: 0.85rem; padding: 0.6rem 0.75rem 0.45rem; }
.post__icons svg { width: 23px; height: 23px; }
.post__icons .post__save { margin-left: auto; }
.post__ig .post__text { padding-bottom: 0.8rem; }
.post__ig .post__text strong { font-weight: 600; }
.posts[data-show="fb"] .ig-only, .posts[data-show="ig"] .fb-only { display: none; }
.posts[data-show="ig"] .post__frame { border-radius: 8px; border-color: #dbdbdb; }
.posts[data-show="ig"] .post__avatar { border: 2px solid transparent; background: linear-gradient(#fff,#fff) padding-box, linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7) border-box; }
.posts__note { margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0; font-size: var(--text-sm); color: var(--color-text-muted); max-width: 46em; }
@media (max-width: 1100px) { .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; } }
@media (max-width: 560px) { .posts { grid-template-columns: 1fr; max-width: 420px; } }
@media print { .platform, .post__play { display: none; } .posts { grid-template-columns: repeat(2, 1fr); } .post { break-inside: avoid; } }

/* Simple header, no video */
.hero--simple, .hero--simple:is(*) { background: #1b2430; min-height: 0; padding-block: clamp(9.5rem, 16vw, 14.5rem) clamp(3rem, 6vw, 4.5rem); }
@media (prefers-reduced-motion: reduce) { .hero--simple { background: #1b2430; } }
@media print { .hero--simple { background: #1b2430; } }
@media (max-width: 760px) { .hero--simple { padding-top: 9rem; } }

/* Textured header */
.hero--simple { position: relative; overflow: hidden; isolation: isolate;
  background-color: #1b2430;
  background-image:
    radial-gradient(ellipse 60% 80% at 88% 10%, rgba(232, 178, 40, 0.16), transparent 60%),
    radial-gradient(ellipse 70% 90% at 0% 100%, rgba(46, 84, 120, 0.45), transparent 65%),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(45deg, rgba(0,0,0,0.12) 0 1px, transparent 1px 7px);
}
.hero--simple::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0.35; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (prefers-reduced-motion: reduce), print { .hero--simple { background-color: #1b2430; } }
