:root  {
    --bg: #eeeeee;
    --bg-soft: #71C5EA;
    --bg-soft-blue: #71C5EA;
    --panel: #0d1a30;
    --line: rgba(148, 180, 219, 0.4);
    --blue-deep: #003d79;
    --blue: #0060b3;
    --blue-bright: #2e9cff;
    --text: #333333;
    --text-dim: #8ca3c2;
    --text-faint: #0B56C4;
}
*  {
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html  {
    scroll-behavior:smooth;
}
body  {
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', sans-serif;
    line-height:1.6;
    overflow-x:hidden;
}
h1,h2,h3,.display  {
    font-family:'Inter', sans-serif;
    letter-spacing:-0.01em;
}
a  {
    color:inherit; 
    text-decoration:none;
}
img  {
    max-width:100%; 
    display:block;
}
.bg-bflp-light {
    background-color: #71C5EA;
}
.bg-bflp-dark {
    background-color: #307FE3;
}
.marked {
    color: red;
    font-size: 150%;
}

/* HERO */
.hero {
    position:relative; padding:180px 0 120px;
    border-bottom:1px solid var(--line);
    overflow:hidden;
}
.eyebrow-line {
    display:flex; align-items:center; gap:12px; margin-bottom:28px; color:var(--text-faint); font-size:13px;
}
.eyebrow-line .rule {width:36px; height:1px; background:var(--blue-bright);}
.hero h1 {
    font-size: clamp(38px, 6vw, 74px);
    font-weight:700;
    line-height:1.04;
    max-width:920px;
    color:var(--text);
}
.hero h1 span {color:var(--blue-bright);}
.hero .sub {
margin-top:26px; max-width:560px; color:var(--text-dim); font-size:17px;
}
.hero-meta {
}
@media (max-width:640px) { .hero-meta {grid-template-columns:1fr; gap:20px;} }
.hero-meta .item .k {font-size:12px; margin-bottom:6px;}
.hero-meta .item .v {font-size:16px; font-weight:500;}
.hero-actions {display:flex; gap:16px; margin-top:48px; flex-wrap:wrap;}

/* SECTION LABELS */
.section {padding:20px 0; border-bottom:1px solid var(--line); position:relative;}
.section-head {display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; flex-wrap:wrap;}
.section-head h2 {font-size: clamp(28px,3.4vw,42px); font-weight:600;}
.section-num {font-size:13px; color:var(--text-faint); font-variant-numeric: tabular-nums;}
.section-desc {max-width:460px; color:var(--text-dim); font-size:15px;}

/* ABOUT */
.about-grid {display:grid; grid-template-columns: 1.1fr 0.9fr; gap:64px;}
@media (max-width:860px) { .about-grid {grid-template-columns:1fr;} }
.about-copy p {color:var(--text-dim); font-size:16px; margin-bottom:20px; max-width:52ch;}
.stat-panel {
border:1px solid var(--line); border-radius:10px; padding:32px;
background:linear-gradient(180deg, var(--panel), transparent);
}
.stat-row {display:flex; justify-content:space-between; padding:18px 0; border-bottom:1px solid var(--line);}
.stat-row:last-child {border-bottom:none;}
.stat-row .label {color:var(--text-dim); font-size:14px;}
.stat-row .val {font-family:'Inter',sans-serif; font-size:20px; font-weight:600; color:var(--blue-bright);}

/* COUNTDOWN */
.countdown-section {
}
.countdown-inner {
    text-align:center;
}
.countdown-inner h2 {
    font-size:clamp(26px,3.6vw,40px); 
    margin-bottom:56px;
}
.timer {
    display:grid; 
    grid-template-columns:repeat(4,1fr); 
    gap:20px; 
    max-width:720px; 
    margin:0 auto;
}
@media (max-width:640px) { .timer {gap:10px;} }
.timer .box {
    position:relative;
}
.timer .box{
    border:2px #317EE3 solid; 
    border-radius:15px; 
    padding:10px 8px;
    background: rgba(13,26,48,0);
    position:relative;
}
.timer .box::after {
    content:""; 
    position:absolute; inset:0; 
    border-radius:10px;
    box-shadow: inset 0 0 24px rgba(46,156,255,0);
    pointer-events:none;
}
.timer .num {
    font-family:'Inter',sans-serif; 
    font-size:clamp(32px,6vw,56px); 
    font-weight:700;
    color:var(--text); 
    font-variant-numeric: tabular-nums;
}
.timer .lbl {
    margin-top:5px; 
    font-size:12pt; 
    color: #333;
}

/* SPEAKERS */
.speaker-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
@media (max-width:900px) { 
    .speaker-grid {
        grid-template-columns:repeat(2,1fr);
    } 
}
@media (max-width:520px) { 
    .speaker-grid {
        grid-template-columns:1fr;
    } 
}
.speaker-card {
    border:1px solid var(--line); 
    border-radius:10px; 
    overflow:hidden;
}
.speaker-photo {
    aspect-ratio:1/1; 
    display:flex; 
    align-items:center; 
    justify-content:center;
    position:relative; 
    overflow:hidden;
}
.speaker-photo::before {
content:""; position:absolute; width:160%; height:160%; top:-30%; left:-30%;
background: repeating-linear-gradient(115deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 22px);
}
.speaker-body {padding:18px 20px 22px;}
.speaker-body .name {font-weight:600; font-size:16px;}
.speaker-body .role {color:var(--text-dim); font-size:13px; margin-top:4px;}

/* HIGHLIGHTS */
.highlight-grid {display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden;}
@media (max-width:700px) { .highlight-grid {grid-template-columns:1fr;} }
.highlight-item {background:var(--bg); padding:36px; }
.highlight-item .hi-top {display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:22px;}
.highlight-item .hi-icon {
width:38px; height:38px; border-radius:8px; background:rgba(46,156,255,0.12);
display:flex; align-items:center; justify-content:center; color:var(--blue-bright); font-size:18px;
}
.highlight-item h3 {font-size:19px; font-weight:600; margin-bottom:10px;}
.highlight-item p {color:var(--text-dim); font-size:14.5px; max-width:44ch;}

/* VENUE */
.venue-grid {display:grid; grid-template-columns:0.95fr 1.05fr; gap:48px; align-items:stretch;}
@media (max-width:860px) { .venue-grid {grid-template-columns:1fr;} }
.venue-info {border:1px solid var(--line); border-radius:10px; padding:36px; background:var(--panel);}
.venue-info h3 {font-size:22px; margin-bottom:6px;}
.venue-info .addr {color:var(--text-dim); font-size:14.5px; margin-bottom:28px;}
.venue-line {display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--line);}
.venue-line:first-of-type {border-top:none;}
.venue-line .k {width:96px; flex-shrink:0; color:var(--text-faint); font-size:13px;}
.venue-line .v {font-size:14.5px;}
.map-frame {border:1px solid var(--line); border-radius:10px; overflow:hidden; min-height:340px;}
.map-frame iframe {width:100%; height:100%; min-height:340px; border:0; filter: grayscale(0.15) contrast(1.05);}

/* REGISTRATION */
.reg-grid {display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px;}
@media (max-width:860px) { .reg-grid {grid-template-columns:1fr;} }
.reg-copy h2 {font-size:clamp(28px,3.4vw,40px); margin-bottom:18px;}
.reg-copy p {color:var(--text-dim); font-size:15px; max-width:40ch; margin-bottom:28px;}
.reg-points {list-style:none;}
.reg-points li {display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--line); font-size:14.5px; color:var(--text-dim);}
.reg-points li:first-child {border-top:none;}
.reg-points li span {color:var(--blue-bright);}

form.reg-form {border:1px solid var(--line); border-radius:10px; padding:36px; background:var(--panel);}
.field {margin-bottom:20px;}
.field label {display:block; font-size:13px; color:var(--text-dim); margin-bottom:8px;}
.field input, .field select {
width:100%; padding:13px 14px; border-radius:6px; border:1px solid var(--line);
background:var(--bg); color:var(--text); font-size:14.5px; font-family:inherit;
}
.field input:focus, .field select:focus {outline:none; border-color:var(--blue-bright);}
.field-row {display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:520px) { .field-row {grid-template-columns:1fr;} }
.reg-form .btn {width:100%; justify-content:center; margin-top:6px;}
.form-note {font-size:12.5px; color:var(--text-faint); margin-top:14px; text-align:center;}
.success-msg {
display:none; text-align:center; padding:40px 10px; border:1px solid var(--line); border-radius:10px; background:var(--panel);
}
.success-msg .check {
width:52px; height:52px; border-radius:50%; margin:0 auto 18px; display:flex; align-items:center; justify-content:center;
background: rgba(46,156,255,0.14); color:var(--blue-bright); font-size:24px;
}
.success-msg h3 {margin-bottom:8px;}
.success-msg p {color:var(--text-dim); font-size:14px;}

footer {padding:48px 0; text-align:center;}
footer p {color:var(--text-faint); font-size:13px;}

::selection {background:var(--blue-bright); color:#03101f;}
:focus-visible {outline:2px solid var(--blue-bright); outline-offset:2px;}
@media (prefers-reduced-motion: reduce) {
html {scroll-behavior:auto;}
* {transition:none !important;}
}
.btn3d {
  position: relative;
  transition: all 0.08s ease;
  box-shadow: 0 5px 0 0 #004085, 0 7px 5px 0 rgba(0, 0, 0, 0.3);
  /* Adjust color hex values to match your chosen button variant */
}

.btn3d:active {
  top: 4px;
  box-shadow: 0 1px 0 0 #004085, 0 2px 3px 0 rgba(0, 0, 0, 0.3);
}