/* VTC 2025 — Global Styles */
:root{
  --blue:#004C92; --sky:#00ADEF; --green:#69B578; --orange:#F28C28; --navy:#0F172A; --white:#ffffff;
  --shadow-sm:0 2px 6px rgba(0,0,0,.05); --shadow-md:0 8px 24px rgba(2,6,23,.06); --shadow-lg:0 10px 28px rgba(2,6,23,.08);
}

*{box-sizing:border-box}
html,body{margin:0}
html{scroll-behavior:smooth}
body{font-family:Poppins,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--navy);background:var(--white);line-height:1.65}
img{max-width:100%;height:auto}

/* Header */
header{position:sticky;top:0;z-index:999;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#fff;box-shadow:var(--shadow-sm)}
header .logos{display:flex;gap:1rem;align-items:center}
header .logos img{height:45px;width:auto}
nav ul{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0}
nav a{text-decoration:none;font-weight:500;color:var(--blue);transition:color .25s ease}
nav a:hover{color:var(--orange)}

/* Hero */
.hero{position:relative;color:#fff;text-align:center;padding:10rem 2rem 7rem;background:linear-gradient(rgba(0,76,146,.6),rgba(0,76,146,.6)),url('images/hero-home.png') center/cover no-repeat}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:700;margin-bottom:.8rem}
.hero p{font-size:clamp(1.05rem,2.2vw,1.25rem);opacity:.95;margin:0 auto 1.5rem;max-width:900px}
.hero .details{font-size:.98rem;margin-bottom:2rem;opacity:.95}
.hero .cta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.hero .cta a,.btn-primary,.info-strip a{background:var(--orange);color:#fff;padding:.9rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .18s ease,background .3s ease}
.hero .cta a:hover,.btn-primary:hover,.info-strip a:hover{background:var(--green);transform:translateY(-2px)}

/* Info strip */
.info-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;background:var(--navy);color:#fff;padding:1rem;font-size:.95rem}

/* Sections */
section{padding:4rem 2rem;max-width:1100px;margin:auto}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.2vw,2.4rem);color:var(--blue);text-align:center;margin-bottom:1.25rem}
.section-intro{text-align:center;max-width:900px;margin:0 auto 2rem;color:#334155}

/* About */
.about p{margin-bottom:1rem}
.about .image-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.about .image-row img{width:100%;height:220px;object-fit:cover;border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.12)}

/* Schedule */
.schedule table{width:100%;border-collapse:collapse;margin-top:1.5rem}
.schedule th,.schedule td{padding:.85rem;border-bottom:1px solid #e2e8f0;text-align:left}
.schedule th{background:var(--blue);color:#fff;font-weight:600}

/* Tickets */
.tickets .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}
.ticket-card{background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);padding:1.5rem;text-align:center;transition:transform .25s ease}
.ticket-card:hover{transform:translateY(-6px)}
.ticket-card h3{color:var(--blue);font-family:'Playfair Display',serif;font-size:1.25rem}
.ticket-card .price{font-size:1.9rem;color:var(--orange);font-weight:700;margin:1rem 0}

/* Footer */
footer{text-align:center;background:var(--navy);color:#fff;padding:2rem 1rem;margin-top:4rem}
footer img{height:40px;margin:0 .5rem}

/* ======================= */
/* SPEAKERS — CONSISTENT   */
/* ======================= */

.bios-merged{background:#f9fafb}
.bios-merged .bios-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:1.5rem;
  margin-top:1.5rem;
}
.bio-card{
  background:#fff;border-radius:16px;box-shadow:0 10px 26px rgba(2,6,23,.08);
  padding:1.25rem 1.25rem 1.1rem;
  display:flex;flex-direction:column;align-items:center;
  min-height:520px;
  overflow:hidden;
}
.avatar.top{display:block !important;width:116px;height:116px;border-radius:50%;object-fit:cover;border:4px solid var(--sky);margin-top:.25rem}
.idlines-center{text-align:center;margin-top:.65rem;margin-bottom:.4rem;min-height:110px;display:flex;flex-direction:column;justify-content:center}
.idlines-center h3{font-family:'Playfair Display',serif;color:var(--blue);font-size:1.15rem;margin:.1rem 0 .2rem}
.idlines-center .location{color:#64748b;font-weight:500}
.idlines-center .title{margin:.15rem 0 0;font-weight:700;color:#0f172a;font-size:1rem}
.idlines-center .org{margin:.2rem 0 0;color:#475569;font-size:.95rem}
.bio-text{margin:.55rem 0 1rem;color:#334155;font-size:1rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;width:100%}
.bio-card.expanded .bio-text{-webkit-line-clamp:unset;overflow:visible}
.bio-toggle{align-self:center;appearance:none;border:none;cursor:pointer;background:var(--orange);color:#fff;font-weight:700;padding:.6rem 1rem;border-radius:999px;transition:background .25s ease,transform .2s ease}
.bio-toggle:hover{background:var(--green);transform:translateY(-1px)}
#speakers img{display:none !important}
#speakers img.avatar.top{display:block !important}
@media (max-width:640px){.bios-merged .bios-grid{grid-template-columns:1fr}}

/* Register page */
.register-hero{background:linear-gradient(rgba(0,76,146,.7),rgba(0,76,146,.7)),url('images/hero-register.png') center/cover no-repeat;color:#fff;text-align:center;padding:5rem 1.25rem 4rem}
.register-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);margin:.25rem 0 .5rem}
.register-hero p{opacity:.95;margin:0}
.wrap{max-width:1100px;margin:2rem auto;padding:0 1rem}
.grid{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem}
.card{background:#fff;border-radius:14px;box-shadow:var(--shadow-lg)}
.card h2{font-family:'Playfair Display',serif;color:var(--blue);font-size:1.6rem;padding:1.25rem 1.25rem 0}
.card .content{padding:1.25rem}
form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.full{grid-column:1/-1}
label{display:block;font-weight:600;margin-bottom:.35rem}
input,select,textarea{width:100%;padding:.75rem .9rem;border:1px solid #e5e7eb;border-radius:10px;font-family:inherit}
textarea{min-height:110px;resize:vertical}
.muted{color:#475569;font-size:.95rem}
.submit-row{display:flex;gap:.75rem;align-items:center;margin-top:.5rem}
.btn{appearance:none;border:none;padding:.9rem 1.3rem;border-radius:999px;font-weight:700;cursor:pointer}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--green)}
.banking .qr{width:100%;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:1.25rem;min-height:220px}
.banking .qr img{max-width:100%;height:auto;display:block}
@media (max-width:960px){.grid{grid-template-columns:1fr}form{grid-template-columns:1fr}}