/* style.css - change colors and fonts here (top of file) */
:root{
  --red:#F25022; --green:#7FBA00; --blue:#00A4EF; --yellow:#FFB900;
  --text:#1B1B1B; --muted:#605E5C; --light:#F6F5F4; --line:#E1DFDD;
  --font:"Segoe UI","Segoe UI Variable",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:var(--font);color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-weight:600;letter-spacing:-.02em}
section{padding:84px 0}
.bg-light2{background:var(--light)}
.eyebrow{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}
.sec-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sec-head .num{font-size:.78rem;font-weight:700;color:#fff;background:var(--text);padding:3px 8px}
.sec-title{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;margin:0 0 28px;max-width:720px}
/* buttons */
.btn-ms{background:var(--blue);color:#fff;border:0;border-radius:0;padding:12px 26px;font-weight:600;transition:.2s;position:relative}
.btn-ms:hover{background:#0086c7;color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,164,239,.3)}
.btn-ms-out{border:1.5px solid var(--text);color:var(--text);border-radius:0;padding:11px 24px;font-weight:600;background:#fff;transition:.2s}
.btn-ms-out:hover{background:var(--text);color:#fff}
.btn-sm.btn-ms,.btn-sm.btn-ms-out{padding:5px 12px}
/* loader */
#loader{position:fixed;inset:0;background:#fff;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
#loader img{height:64px}
.sq4{display:grid;grid-template-columns:22px 22px;gap:5px}
.sq4 i{width:22px;height:22px;display:block}
.sq4 i:nth-child(1){background:var(--red)}.sq4 i:nth-child(2){background:var(--green)}
.sq4 i:nth-child(3){background:var(--blue)}.sq4 i:nth-child(4){background:var(--yellow)}
#loader .bar{width:180px;height:3px;background:var(--line);overflow:hidden}
#loader .bar b{display:block;height:100%;width:0;background:var(--text)}
#loader small{letter-spacing:.14em;font-size:.7rem;color:var(--muted);text-transform:uppercase}
/* navbar */
.navbar{background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.navbar.scrolled{box-shadow:0 4px 18px rgba(0,0,0,.07)}
.navbar img{height:40px}
.navbar .divider{width:1px;height:28px;background:var(--line)}
.navbar .nav-link{color:var(--text);font-size:.92rem;padding:8px 12px!important;position:relative}
.navbar .nav-link::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--blue);transform:scaleX(0);transition:.25s}
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{transform:scaleX(1)}
/* hero */
.hero{padding:64px 0 40px;position:relative;overflow:hidden;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:56px 56px;background-position:-1px -1px}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 96%)}
.hero .container{position:relative;z-index:1}
.hero h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.05;margin:14px 0 18px}
.hero h1 em{font-style:normal;color:var(--blue)}
.tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--text);padding:5px 12px;font-size:.78rem;font-weight:600;margin:0 6px 6px 0;background:#fff}
.tag i{width:8px;height:8px;display:inline-block}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mosaic .m{padding:22px 18px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.mosaic .m small{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;opacity:.9}
.mosaic .m div{font-size:1.15rem;font-weight:600;line-height:1.25}
.mosaic .m i{font-size:1.5rem}
.m1{background:var(--red)}.m2{background:var(--green)}.m3{background:var(--blue)}.m4{background:var(--yellow);color:var(--text)!important}
/* countdown strip */
.strip{border:1px solid var(--line);background:#fff;padding:20px 24px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;position:relative;margin-top:36px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.strip::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--red) 25%,var(--green) 25% 50%,var(--blue) 50% 75%,var(--yellow) 75%)}
.strip .lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.count{display:flex;gap:10px}
.count div{min-width:70px;text-align:center;padding:8px 6px;background:var(--light)}
.count b{display:block;font-size:1.7rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.count span{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
/* cards */
.card-sq{border:1px solid var(--line);border-left:4px solid var(--blue);padding:20px;height:100%;background:#fff}
.c1{border-left-color:var(--red)}.c2{border-left-color:var(--green)}.c3{border-left-color:var(--blue)}.c4{border-left-color:var(--yellow)}
.info-card{background:#fff;border:1px solid var(--line);padding:24px;position:relative;height:100%}
.info-card::before{content:"";position:absolute;left:0;top:0;width:48px;height:4px}
.info-card.c1::before{background:var(--red)}.info-card.c2::before{background:var(--green)}.info-card.c3::before{background:var(--blue)}.info-card.c4::before{background:var(--yellow)}
.check li{list-style:none;padding-left:26px;position:relative;margin-bottom:8px}
.check{padding:0;margin:0}
.check li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;background:var(--green)}
/* speaker */
.photo-wrap{position:relative;max-width:340px}
.photo-wrap::before{content:"";position:absolute;left:-14px;bottom:-14px;width:70%;height:70%;background:var(--yellow);z-index:0}
.photo-wrap::after{content:"";position:absolute;right:-10px;top:-10px;width:32%;height:32%;background:var(--blue);z-index:0}
.photo-wrap img,.photo-wrap .avatar{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;display:block}
.avatar{background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:3rem}
.a1{background:var(--red)}.a2{background:var(--green)}.a3{background:var(--blue)}.a4{background:var(--yellow);color:var(--text)}
/* program cards */
.pcard{background:#fff;border:1px solid var(--line);padding:26px 22px;height:100%;position:relative;transition:.25s;overflow:hidden}
.pcard:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,0,0,.08)}
.pcard::before{content:"";position:absolute;left:0;top:0;height:4px;width:36px;background:var(--blue);transition:width .3s}
.pcard:hover::before{width:100%}
.pcard.p1::before{background:var(--red)}.pcard.p2::before{background:var(--green)}.pcard.p3::before{background:var(--blue)}.pcard.p4::before{background:var(--yellow)}
.pcard i{font-size:1.7rem;color:var(--text)}
.pcard h5{margin:14px 0 6px;font-size:1.05rem}
.pcard p{color:var(--muted);margin:0;font-size:.93rem}
/* team */
.member{background:#fff;border:1px solid var(--line);height:100%;transition:.25s}
.member:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,0,0,.09)}
.member .ph{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--light)}
.member .ph img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.member:hover .ph img{transform:scale(1.05)}
.member .ph .avatar{width:100%;height:100%}
.member .ph::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:36px;background:var(--blue)}
.member.k1 .ph::after{background:var(--red)}.member.k2 .ph::after{background:var(--green)}.member.k4 .ph::after{background:var(--yellow)}
.member .meta{padding:14px 14px 16px}
.member .meta b{display:block;line-height:1.25}
.member .meta span{font-size:.82rem;color:var(--muted)}
/* register */
.reg-side{background:var(--light);padding:34px;height:100%;position:relative}
.step{display:flex;gap:14px;margin-bottom:22px}
.step .n{flex:0 0 38px;height:38px;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.step:nth-child(1) .n{background:var(--red)}.step:nth-child(2) .n{background:var(--green)}.step:nth-child(3) .n{background:var(--blue)}
.reg-card{background:#fff;border:1px solid var(--line);padding:30px;position:relative;box-shadow:0 14px 40px rgba(0,0,0,.06)}
.reg-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--red) 25%,var(--green) 25% 50%,var(--blue) 50% 75%,var(--yellow) 75%)}
.form-control,.form-select{border-radius:0;border-color:#c8c6c4;padding:10px 12px}
.form-control:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,164,239,.15)}
.form-label{font-weight:600;font-size:.85rem;margin-bottom:4px}
/* venue + footer */
.venue-pin{width:64px;height:64px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex:0 0 64px}
footer{background:#1B1B1B;color:#c8c6c4;padding:48px 0 28px;font-size:.92rem}
footer a{color:#fff;text-decoration:none}footer a:hover{color:var(--blue)}
footer .logos img{height:46px;background:#fff;padding:5px}
footer .sqline{display:flex;height:4px;margin-bottom:34px}
footer .sqline i{flex:1}
/* mobile sticky button */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px;background:#fff;border-top:1px solid var(--line);display:none;transition:transform .3s}
.mobile-cta.hide{transform:translateY(110%)}
@media(max-width:991px){.mobile-cta{display:block}body.has-cta{padding-bottom:68px}section{padding:60px 0}.strip{padding:16px}.count div{min-width:58px}}
/* pass */
.pass{max-width:420px;margin:0 auto;background:#fff;border:1px solid var(--line);border-top:6px solid var(--blue)}
.pass .head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.pass .head img{height:34px}
.pass .body{padding:18px}
.pass dt{font-size:.7rem;color:var(--muted);text-transform:uppercase;font-weight:600;margin-top:10px}
.pass dd{margin:0;font-weight:600}
.pass .qr{display:flex;justify-content:center;padding:14px 0 6px}
/* admin small tiles */
.tile{border:1px solid var(--line);border-top:4px solid var(--blue);padding:16px;height:100%;background:#fff}
.tile.t1{border-top-color:var(--red)}.tile.t2{border-top-color:var(--green)}.tile.t3{border-top-color:var(--blue)}.tile.t4{border-top-color:var(--yellow)}
.tile small{color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.06em}
.tile div{font-weight:600}

/* ===== Spacing refinements: more white space, less crowding ===== */
body{line-height:1.65}
section{padding:110px 0}
.container{max-width:1160px}
.sec-head{margin-bottom:14px}
.sec-title{margin-bottom:48px}
.hero{padding:88px 0 56px}
.hero h1{margin:20px 0 24px}
.hero .lead{margin-bottom:28px}
.hero .tag{margin:0 8px 10px 0}
.hero .d-flex.gap-2{gap:14px!important;margin-top:8px}
.mosaic{gap:14px}
.mosaic .m{padding:28px 24px;min-height:176px}
.strip{margin-top:72px;padding:26px 32px}
.hero::after{background:linear-gradient(180deg,rgba(255,255,255,.9),#fff 92%)}
.hero{background-image:linear-gradient(#efedeb 1px,transparent 1px),linear-gradient(90deg,#efedeb 1px,transparent 1px)}
.info-card{padding:32px}
.info-card h5{margin-bottom:12px}
.pcard{padding:34px 28px}
.pcard h5{margin:18px 0 10px}
.member .meta{padding:18px 18px 20px}
.reg-side{padding:44px 38px}
.reg-card{padding:40px}
.step{margin-bottom:28px}
.photo-wrap{margin-bottom:18px}
footer{padding:64px 0 32px}
.count{gap:14px}
.count div{min-width:80px;padding:12px 8px}
.navbar{padding-top:10px;padding-bottom:10px}
@media(max-width:991px){
  section{padding:76px 0}
  .hero{padding:56px 0 40px}
  .strip{margin-top:48px;padding:20px}
  .sec-title{margin-bottom:34px}
  .mosaic .m{min-height:150px;padding:22px 18px}
  .reg-side,.reg-card{padding:28px 22px}
  .count div{min-width:62px}
}
