/* October refinement: shared interaction rhythm, existing brand tokens. */
:root { --motion-fast:180ms; --motion-panel:240ms; --motion-ease:cubic-bezier(.2,.7,.2,1); }
.button,.text-link,.watch-link { transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast); }
a:focus-visible,button:focus-visible { outline:2px solid var(--green); outline-offset:5px; }
#questions .question-item { transition:background-color var(--motion-fast); }
#questions .question-item:hover,#questions .question-item:focus-within { background:rgba(22,120,62,.045); }
#questions .question-item a::after { content:''; position:absolute; inset:0; }
#questions .question-item a { min-height:44px; }
#questions .question-arrow { display:inline-block; margin-left:5px; color:#16783e; transition:transform var(--motion-fast); }
#questions .question-item:hover .question-arrow,#questions .question-item:focus-within .question-arrow { transform:translate(3px,-3px); }
.program-topic { transition:background-color var(--motion-panel); }
.program-topic.is-arrival { background:#16783e0d; }
.program-topic.is-arrival .topic-number { color:#16783e; }
.topic-detail .topic-prompt-label { margin:0 0 10px; color:#16783e; font:500 10px/1.5 var(--body); letter-spacing:.08em; text-transform:uppercase; }
.topic-detail .topic-anchor { display:inline-flex; gap:16px; align-items:center; padding-block:10px; line-height:1.6; text-decoration:none; border-bottom:1px solid #aaa38f; }
.topic-detail .topic-anchor span { color:#16783e; }
.topic-detail .topic-anchor:hover { color:#16783e; border-color:#16783e; }
.tariff-grid { align-items:stretch; }
.tariff-card { position:relative; display:flex; flex-direction:column; padding-top:48px; transition:border-color var(--motion-panel),background-color var(--motion-panel); }
.tariff-card--business { background:transparent; }
.tariff-card h3 { margin-top:18px; }
.tariff-card .tariff-kicker { min-height:3em; }
.tariff-card .tariff-price { white-space:nowrap; }
.tariff-card .tariff-description { flex:1; }
.tariff-selection { position:absolute; top:14px; right:20px; display:flex; align-items:center; gap:7px; font:500 10px/1.5 var(--body); color:var(--green); visibility:hidden; }
.tariff-selection::before { content:''; width:6px; height:6px; background:currentColor; }
.tariff-card.is-selected { border-color:var(--green); background:#142019; }
.tariff-card.is-selected .tariff-selection { visibility:visible; }
.tariff-card.is-selected .tariff-price { color:var(--ivory); }
.tariff-card .button.is-selected { border-color:var(--green); background:var(--green); color:#080808; }
.tariff-card--vip { border-style:solid; }
.tariff-card .button { margin-top:22px; }
@media(max-width:900px) {
 /* Place the supplied artwork in its own composition between title and copy. */
 .hero { --hero-art-height:0px; }
 .hero-inner { padding-bottom:28px; }
 .hero-scene { display:none; }
 .hero::before { background:none; }
 #hero-title::after { content:''; display:block; height:clamp(160px,47vw,280px); margin:12px -12px 18px; background-image:linear-gradient(0deg,#080808 0%,transparent 22%,transparent 85%,#080808 100%),linear-gradient(90deg,#080808,transparent 30%,transparent 88%,#080808),url("optimized/backgrounds/hero-philosopher-960.webp"); background-size:100% 100%,100% 100%,auto 145%; background-position:center,center,58% 39%; background-repeat:no-repeat; }
 .hero-motion { inset:170px 0 auto 45%; height:200px; opacity:.3; }
 .hero-lead { margin-top:0; }
 .hero-organizers { margin-top:22px; }
 .hero-bottom { margin-top:22px; }
}
@media(max-width:700px) {
 /* Mobile rhythm: retain content, remove desktop-sized gaps. */
 body:not(.internal-page) { --section-space:56px; }
 .tariffs-heading { gap:0; }
 .tariffs-heading .section-lead { margin-top:18px; }
 .team-layout { gap:28px; }
 .evidence-grid { row-gap:48px; }
 .hero-inner { padding-top:28px; }
 .hero .hero-eyebrow { margin-top:22px; margin-bottom:16px; }
 .hero-actions { margin-top:22px; gap:10px; }
 .hero-actions .button { min-height:48px; }
 .hero .hero-lead { font-size:17px; line-height:1.6; }
 .hero .hero-audience { margin-top:14px; font-size:13px; }
 .tariff-card .tariff-kicker { min-height:0; }
 .tariff-card { padding-top:42px; }
 .tariff-card h3 { margin-top:6px; }
 .tariff-card .tariff-description { margin-block:16px; }
 .tariff-card .button { margin-top:6px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { transition:none!important; animation:none!important; }
}
