
:root {
  --bg: #fff8ef;
  --surface: #ffffff;
  --surface-soft: #fff3e2;
  --ink: #18202b;
  --muted: #667085;
  --line: #f1d7b7;
  --orange: #f5a74c;
  --orange-2: #ffc477;
  --orange-3: #ffe0b8;
  --amber: #ef922d;
  --deep: #17212d;
  --deep-2: #243142;
  --shadow: 0 18px 50px rgba(49, 37, 25, .10);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--ink); background:
  radial-gradient(circle at 8% 4%, rgba(255,184,102,.24), transparent 23rem),
  linear-gradient(180deg,#fffaf4 0%,var(--bg) 42%,#fff 100%); line-height:1.65; }
a { color:#b95d00; text-decoration:none; }
a:hover { color:#864200; }
img { max-width:100%; }
.shell { width:min(1180px, calc(100% - 36px)); margin:0 auto; }
.topbar { position:sticky; top:0; z-index:50; backdrop-filter: blur(18px); background:rgba(255,250,244,.92); border-bottom:1px solid rgba(224,151,77,.22); }
.nav { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.02em; color:var(--deep); }
.brand-mark { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--orange),#ef7f12); box-shadow:0 8px 20px rgba(239,127,18,.26); font-size:.76rem; line-height:1; text-align:center; }
.brand small { display:block; color:var(--muted); font-weight:650; font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; }
.nav-links { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.nav-links a { color:#374151; font-weight:700; font-size:.88rem; padding:10px 12px; border-radius:10px; }
.nav-links a:hover, .nav-links a.active { background:var(--surface-soft); color:#a65300; }
.nav-toggle { display:none; border:1px solid var(--line); background:#fff; border-radius:11px; padding:10px 12px; font-size:1rem; color:var(--deep); }

.hero { position:relative; min-height:720px; display:flex; align-items:flex-end; overflow:hidden; background:#1b2028; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 46%; z-index:0; }
.hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,16,24,.16) 0%,rgba(13,20,29,.58) 46%,rgba(13,20,29,.96) 100%); }
.hero-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,16,24,.10),rgba(13,20,29,.54) 48%,rgba(13,20,29,.95)); }
.hero::after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,184,102,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,184,102,.08) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,transparent 18%,black 100%); }
.hero-content { position:relative; z-index:2; color:#fff; padding:40px 42px; margin:120px auto 54px; max-width:1040px; background:rgba(17,24,33,.76); border:1px solid rgba(255,207,152,.25); border-radius:30px; box-shadow:0 24px 70px rgba(0,0,0,.25); backdrop-filter:blur(10px); }
.eyebrow { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,184,102,.18); border:1px solid rgba(255,207,152,.50); color:#ffe5c2; font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.hero h1 { margin:18px 0 14px; font-size:clamp(2.55rem,5.4vw,5.1rem); line-height:.98; max-width:980px; letter-spacing:-.045em; }
.hero .subtitle { font-size:clamp(1.1rem,2vw,1.42rem); max-width:880px; color:#f9e6d0; margin:0 0 22px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 28px; }
.chip { display:inline-flex; gap:9px; align-items:center; padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.20); color:#fff; font-weight:700; font-size:.9rem; }
.actions { display:flex; flex-wrap:wrap; gap:12px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 18px; border-radius:13px; font-weight:800; border:1px solid var(--line); background:#fff; color:var(--deep); box-shadow:0 8px 24px rgba(36,49,66,.08); }
.btn:hover { transform:translateY(-1px); color:var(--deep); box-shadow:0 12px 30px rgba(36,49,66,.12); }
.btn.primary { background:linear-gradient(135deg,var(--orange-2),var(--orange)); color:#2f1c08; border-color:transparent; }
.btn.ghost { background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.26); box-shadow:none; }
.btn.disabled { opacity:.55; pointer-events:none; }

main { overflow:hidden; }
.section { padding:82px 0; }
.section.compact { padding:58px 0; }
.section.alt { background:rgba(255,255,255,.72); border-block:1px solid rgba(241,215,183,.75); }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px; }
.section-head .kicker { color:#bf6507; font-weight:850; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; }
h2 { font-size:clamp(1.9rem,3.4vw,3rem); line-height:1.12; margin:.35rem 0 .7rem; letter-spacing:-.035em; }
h3 { font-size:1.18rem; line-height:1.25; margin:0 0 8px; }
p { margin:.5rem 0 1rem; }
.lead { color:#4b5563; font-size:1.08rem; max-width:820px; }
.grid { display:grid; gap:22px; }
.grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { position:relative; background:rgba(255,255,255,.90); border:1px solid rgba(224,151,77,.26); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); overflow:hidden; }
.card::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,var(--orange-3),var(--orange)); }
.card .icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; margin-bottom:18px; background:var(--surface-soft); color:#b85f00; font-size:1.15rem; }
.card p { color:var(--muted); }
.theme-panel { background:linear-gradient(135deg,#fff5e6,#fff 70%); border:1px solid #f0c991; border-radius:30px; padding:42px; box-shadow:var(--shadow); position:relative; overflow:hidden; }
.theme-panel::after { content:""; position:absolute; width:230px; height:230px; border-radius:50%; right:-80px; top:-90px; background:radial-gradient(circle,rgba(242,155,56,.22),transparent 65%); }
.theme-title { color:#aa5400; font-size:clamp(1.7rem,3.2vw,2.7rem); }
.timeline { display:grid; gap:10px; }
.date-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:15px 18px; border-radius:14px; background:#fff9f1; border:1px solid #f3d6b3; }
.date-row strong { color:#8d4300; }
.callout { padding:18px 20px; border-radius:16px; background:#fff2df; border:1px solid #efc58f; color:#5e3b19; }

.speakers { grid-template-columns:repeat(3,minmax(0,1fr)); }
.speaker-card { text-align:center; }
.speaker-placeholder { aspect-ratio:1/1; width:min(100%,230px); margin:0 auto 20px; border-radius:24px; border:2px dashed #e6b879; background:linear-gradient(145deg,#fffdf9,#fff2e2); position:relative; overflow:hidden; }
.speaker-placeholder::after { content:""; position:absolute; inset:16px; border:1px solid rgba(239,174,98,.28); border-radius:18px; background-image:linear-gradient(rgba(241,171,90,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(241,171,90,.06) 1px,transparent 1px); background-size:18px 18px; }
.tba { display:inline-flex; padding:5px 9px; border-radius:999px; background:#fff0da; color:#a55200; font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }

.stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stat { padding:28px; background:linear-gradient(145deg,#222f3f,#17212d); color:#fff; border-radius:22px; position:relative; overflow:hidden; }
.stat::after { content:""; position:absolute; width:120px; height:120px; right:-40px; bottom:-55px; background:radial-gradient(circle,var(--orange-2),transparent 68%); opacity:.45; }
.stat strong { display:block; font-size:2.2rem; color:#ffd9ae; }
.stat span { color:#d2d8df; }

.logo-row { display:flex; align-items:center; justify-content:center; gap:28px; flex-wrap:wrap; margin-top:24px; }
.org-logo { width:min(320px,42vw); height:150px; padding:22px 28px; border-radius:18px; background:#fff; border:1px solid #ecd2b2; box-shadow:0 12px 36px rgba(70,48,25,.08); display:flex; align-items:center; justify-content:center; }
.org-logo img { max-height:100px; max-width:100%; object-fit:contain; }
.logo-placeholders { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:22px; }
.logo-placeholder { min-height:120px; border:2px dashed #e7bb84; background:linear-gradient(145deg,#fffdf9,#fff5e9); border-radius:18px; position:relative; overflow:hidden; }
.logo-placeholder::after { content:""; position:absolute; inset:12px; border:1px solid rgba(241,190,127,.32); border-radius:12px; background-image:linear-gradient(rgba(241,171,90,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(241,171,90,.06) 1px,transparent 1px); background-size:18px 18px; }

.table-wrap { overflow-x:auto; border:1px solid #efd7bb; border-radius:18px; background:#fff; }
table { width:100%; border-collapse:collapse; min-width:620px; }
th,td { padding:15px 18px; border-bottom:1px solid #f1e1cf; text-align:left; }
th { background:#fff3e3; color:#7f3d00; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; }
tr:last-child td { border-bottom:0; }

.page-hero { padding:82px 0 64px; background:
 linear-gradient(110deg,rgba(255,239,219,.98),rgba(255,250,244,.96)),
 linear-gradient(rgba(242,155,56,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(242,155,56,.08) 1px,transparent 1px); background-size:auto,42px 42px,42px 42px; border-bottom:1px solid #f0d2ad; }
.page-hero h1 { font-size:clamp(2.4rem,5vw,4.2rem); line-height:1; margin:.5rem 0 1rem; letter-spacing:-.045em; }
.page-hero p { max-width:820px; color:#596273; font-size:1.08rem; }
.venue-photo { border-radius:28px; overflow:hidden; box-shadow:var(--shadow); }
.venue-photo img { width:100%; height:420px; object-fit:cover; display:block; }
.committee-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.role-card { background:#fff; border:1px solid #efd7bb; border-radius:18px; padding:22px; box-shadow:0 10px 30px rgba(69,49,30,.06); }
.role-card h3 { color:#a55200; }
.person { padding:10px 0; border-top:1px solid #f5e6d4; }
.person:first-of-type { border-top:0; }
.person strong { display:block; }
.person span { color:var(--muted); font-size:.94rem; }

footer { background:var(--deep); color:#cbd2dc; padding:54px 0 34px; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:34px; }
footer h3 { color:#fff; }
footer a { color:#ffd19b; }
footer .fine { margin-top:32px; padding-top:22px; border-top:1px solid rgba(255,255,255,.10); font-size:.84rem; color:#98a3b1; }

@media (max-width: 900px) {
  .nav-toggle { display:block; }
  .nav-links { display:none; position:absolute; top:72px; left:18px; right:18px; background:#fffaf4; border:1px solid #efcfaa; border-radius:16px; padding:10px; box-shadow:var(--shadow); }
  .nav-links.open { display:grid; }
  .nav-links a { display:block; }
  .hero { min-height:650px; }
  .grid.three,.speakers { grid-template-columns:1fr; }
  .grid.two,.committee-grid { grid-template-columns:1fr; }
  .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .logo-placeholders { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .shell { width:min(100% - 24px,1180px); }
  .hero { min-height:690px; }
  .hero-content { padding:30px 24px; margin:92px auto 38px; }
  .theme-panel { padding:28px 22px; }
  .section { padding:64px 0; }
  .stat-grid { grid-template-columns:1fr 1fr; }
  .logo-placeholders { grid-template-columns:1fr 1fr; }
  .org-logo { width:100%; }
}
