@keyframes livePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.upcoming-wrap{max-width:920px;margin:0 auto}.upcoming-card{background:var(--warm);border:1.5px solid var(--gold);border-radius:24px;padding:0;overflow:hidden;box-shadow:0 30px 60px -25px rgba(194,154,74,.25)}.tournament-philosophy cite,.upcoming-banner{font-size:13px;font-weight:700;text-transform:uppercase}.upcoming-banner{background:var(--ink);color:var(--cream);padding:18px 32px;display:flex;align-items:center;gap:12px;letter-spacing:.1em}.upcoming-banner .live-dot{width:8px;height:8px;background:var(--gold-soft);border-radius:50%;animation:livePulse 1.5s infinite}.upcoming-content{padding:36px}.upcoming-content h2{font-family:"Fraunces",serif;font-size:clamp(28px,3.4vw,40px);font-weight:500;line-height:1.15;margin-bottom:22px;letter-spacing:-.015em}.event-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:26px}.event-meta-item .ml{font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:6px}.event-meta-item .mv,.session-card h3{font-family:"Fraunces",serif;font-size:18px;color:var(--ink);font-weight:500;line-height:1.35}.event-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.event-cta .form-link{color:var(--muted);text-decoration:none;font-size:13.5px;font-weight:600}.event-cta .form-link:hover{color:var(--oxblood)}.sessions-section{background:var(--warm);border-bottom:1px solid var(--line)}.sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1200px;margin:0 auto 50px}.session-card{background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:38px 28px;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:flex-start}.session-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -25px rgba(42,37,32,.12),0 0 0 1px var(--gold-soft);border-color:transparent}.session-icon,.sessions-info-banner .banner-meta{display:flex;justify-content:center;margin-bottom:24px}.session-icon{width:58px;height:58px;background:rgba(194,154,74,.08);border-radius:18px;align-items:center;font-size:26px;transition:all .35s ease;color:var(--gold)}.session-card:hover .session-icon{background:var(--gold);color:#fff;transform:scale(1.05) rotate(4deg);box-shadow:0 8px 20px -6px rgba(194,154,74,.4)}.session-card h3{font-size:22px;font-weight:600;margin-bottom:12px;line-height:1.25}.session-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.65}.sessions-info-banner{max-width:860px;margin:0 auto;background:var(--cream-soft);border:1.5px dashed var(--gold-soft);border-radius:24px;padding:36px;text-align:center;box-shadow:0 4px 20px rgba(42,37,32,.01)}.sessions-info-banner h4{font-size:22px;margin-bottom:10px}.sessions-info-banner p{font-size:15px;color:var(--ink-soft);margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}.sessions-info-banner .banner-meta{gap:36px;flex-wrap:wrap}.banner-meta-item{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--ink)}.banner-meta-item span{color:var(--gold);font-size:16px}.event-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:1080px;margin:0 auto 42px}.event-detail-panel{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:28px}.event-detail-panel h3,.sessions-info-banner h4,.tournament-placeholder-card h3{font-family:"Fraunces",serif;font-weight:600;color:var(--ink)}.event-detail-panel h3{font-size:22px;line-height:1.25;margin-bottom:12px}.event-detail-panel p,.tournament-placeholder-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.65}.event-list{list-style:none;display:grid;gap:10px;margin-top:14px}.camp-creds li,.camp-schedule li,.event-list li{position:relative;padding-left:20px;color:var(--ink-soft);font-size:14.5px;line-height:1.55}.camp-creds li::before,.event-list li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--gold)}.tournaments-section{background:var(--cream-soft)}.tournaments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:920px;margin:40px auto 0}.tournament-placeholder-card{background:var(--warm);border:1px solid var(--line);border-radius:24px;padding:32px;display:flex;flex-direction:column;position:relative;transition:all .35s cubic-bezier(.16,1,.3,1)}.tournament-placeholder-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -15px rgba(42,37,32,.08);border-color:var(--gold-soft)}.tournament-placeholder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.status-badge{background:var(--cream-soft);color:var(--oxblood);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border-radius:100px;border:1px solid rgba(194,154,74,.2)}.piece-icon{font-size:24px;color:var(--gold-soft)}.date-badge{font-size:12.5px;font-weight:700;color:var(--oxblood);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.tournament-placeholder-card h3{font-size:21px;margin-bottom:10px}.tournament-placeholder-card p{line-height:1.6;margin-bottom:20px;flex:1}.placeholder-footer{font-size:12px;color:var(--muted);font-style:italic;border-top:1px solid var(--line);padding-top:14px}.tournament-intro-grid{max-width:1040px;margin:0 auto 34px;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:stretch}.tournament-info-panel{background:var(--warm);border:1px solid var(--line);border-radius:18px;padding:30px}.tournament-info-panel h3{font-family:"Fraunces",serif;font-size:22px;font-weight:600;margin-bottom:12px}.tournament-info-panel p{color:var(--ink-soft);font-size:14.5px;line-height:1.65}.tournament-info-panel .event-list{margin-top:0}.tournament-card-meta{display:grid;gap:9px;margin:2px 0 20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tournament-card-meta span{display:flex;justify-content:space-between;gap:18px;color:var(--ink-soft);font-size:13.5px}.tournament-card-meta strong{color:var(--ink);font-weight:800;min-width:76px}.tournament-philosophy{max-width:800px;margin:60px auto 0;text-align:center;padding:45px 30px 0;border-top:1px solid var(--line)}.tournament-philosophy blockquote{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(18px,2.2vw,24px);line-height:1.55;color:var(--ink-soft);margin-bottom:14px}.tournament-philosophy cite{letter-spacing:.12em;color:var(--gold);font-style:normal}@media (max-width:900px){.sessions-grid{grid-template-columns:repeat(2,1fr);gap:20px}.tournaments-grid{gap:20px}.event-detail-grid,.event-meta-grid,.tournament-intro-grid,.tournaments-grid{grid-template-columns:1fr}.event-meta-grid{gap:16px;padding:20px 0}.upcoming-content{padding:26px 22px}}@media (max-width:600px){.sessions-grid{grid-template-columns:1fr}.sessions-info-banner{padding:28px 20px}.banner-meta{flex-direction:column;gap:12px;align-items:center}}.camp-section{background:var(--cream)}.camp-wrap{max-width:920px;margin:0 auto}.camp-card{position:relative;background:var(--warm);border:1.5px solid var(--line);border-radius:24px;padding:40px 40px 32px;box-shadow:0 10px 40px -24px rgba(42,37,32,.25)}.camp-badge{position:absolute;top:-13px;left:40px;background:var(--ink);color:var(--cream);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:100px}.camp-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:30px}.camp-col-title{font-family:"Fraunces",serif;font-weight:500;font-size:18px;color:var(--ink);margin-bottom:16px}.camp-creds,.camp-schedule{list-style:none;display:flex;flex-direction:column;gap:12px}.camp-creds li,.camp-schedule li{padding-left:26px;font-size:15px;line-height:1.5}.camp-creds li::before{top:8px;width:8px;height:8px}.camp-schedule li::before{content:"♟";position:absolute;left:0;top:0;color:var(--gold);font-size:14px}.camp-dates,.camp-schedule li strong{color:var(--ink);font-weight:700}.camp-dates{font-size:15px;margin-bottom:16px}.camp-levels{margin-top:16px;font-size:14px;color:var(--ink-soft);font-style:italic}.camp-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px}.camp-price{display:flex;align-items:baseline;gap:8px}.camp-price-amt{font-family:"Fraunces",serif;font-size:34px;font-weight:600;color:var(--ink);line-height:1}.camp-price-sub{font-size:14px;color:var(--ink-soft);font-weight:600}.camp-ctas{display:flex;gap:12px;flex-wrap:wrap}.camp-location{margin-top:22px;font-size:13.5px;color:var(--ink-soft);text-align:center}@media (max-width:720px){.camp-card{padding:34px 22px 26px}.camp-badge{left:22px}.camp-grid{grid-template-columns:1fr;gap:26px}.camp-footer{align-items:stretch}.camp-ctas,.camp-footer{flex-direction:column}.camp-ctas .btn-outline,.camp-ctas .btn-primary{width:100%}.camp-price{justify-content:center}}