:root{--color-bg: #0f172a;--color-bg-card: #1e293b;--color-bg-card-hover: #334155;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-accent: #38bdf8;--color-accent-hover: #7dd3fc;--color-keynote: #f472b6;--color-workshop: #a78bfa;--color-lightning: #fbbf24;--color-talk: #34d399;--color-intro: #60a5fa;--color-break: #475569;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--max-width: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.two-col p{color:var(--color-text-muted);line-height:1.8}.home-intro{display:grid;grid-template-columns:3fr 2fr;gap:3rem}.home-intro p{color:var(--color-text-muted);line-height:1.8}.home-accent-bar{width:32px;height:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-workshop));border-radius:2px;margin-bottom:1rem}.glance-card{background:var(--color-bg-card);border-radius:.75rem;border-top:2px solid var(--color-accent);padding:1.5rem}.glance-label{font-size:.65rem;font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.glance-item{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 0}.glance-item+.glance-item{border-top:1px solid rgba(148,163,184,.1)}.glance-item-icon{font-size:1rem;width:1.25rem;flex-shrink:0}.glance-item-meta{font-size:.7rem;color:var(--color-text-muted);margin-bottom:.15rem}.glance-item-value{font-size:.85rem;font-weight:500}.glance-link{display:block;margin-top:1rem;font-size:.85rem;color:var(--color-accent)}nav{position:sticky;top:0;z-index:100;background:#0f172ae6;backdrop-filter:blur(12px);border-bottom:1px solid rgba(148,163,184,.1);padding:1rem 0}nav .container{display:flex;justify-content:flex-end;align-items:center}nav .logo{font-weight:700;font-size:1.1rem;color:var(--color-text)}nav .logo span{color:var(--color-accent)}nav ul{list-style:none;display:flex;gap:2rem}nav a{color:var(--color-text-muted);font-size:.9rem;font-weight:500;transition:color .2s}nav a:hover,nav a[aria-current=page]{color:var(--color-accent)}.hero{text-align:center;min-height:64vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:0;background:url(/fjellheisen-hero.jpg) center / cover no-repeat}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,#0f172a4d,#0f172a99)}.hero .container{position:relative;z-index:2}.hero h1{font-size:7rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:1rem}.hero h1 span{background:linear-gradient(135deg,var(--color-accent),var(--color-workshop));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero .date{font-family:var(--font-mono);font-size:3.5rem;color:var(--color-accent);margin-bottom:2rem;font-weight:500;letter-spacing:.02em}section{padding:4rem 0}section h2{font-size:2rem;font-weight:700;margin-bottom:2rem;letter-spacing:-.01em}.day-heading{font-size:1.25rem;font-weight:600;color:var(--color-accent);margin-bottom:1rem;margin-top:1rem}.schedule-section-wide{max-width:1200px;margin:0 auto;padding:0 1.5rem}.schedule-grid-aligned{display:grid;grid-template-columns:5rem 1fr 1fr;gap:.25rem 1rem}.schedule-grid-aligned .day-heading{margin-top:0;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-accent)}.schedule-grid-aligned .time-label{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-muted);padding-top:.75rem}.schedule-grid-aligned .session-cell{display:flex;min-width:0}.schedule-grid-aligned .session-card{grid-template-columns:1fr;gap:0;flex:1;padding:.75rem 1rem}.schedule-grid-aligned .session-card .session-time,.schedule-mobile{display:none}.schedule-desktop{display:block}.schedule-grid{display:flex;flex-direction:column;gap:1rem}.session-card{display:grid;grid-template-columns:5rem 1fr;gap:1.5rem;padding:1.5rem;background:var(--color-bg-card);border-radius:.75rem;border-left:4px solid var(--color-break);transition:background .2s}.session-card:hover{background:var(--color-bg-card-hover)}.session-card[data-type=keynote]{border-left-color:var(--color-keynote)}.session-card[data-type=workshop]{border-left-color:var(--color-workshop)}.session-card[data-type=lightning]{border-left-color:var(--color-lightning)}.session-card[data-type=talk]{border-left-color:var(--color-talk)}.session-card[data-type=intro]{border-left-color:var(--color-intro)}.session-time{font-family:var(--font-mono);font-size:.9rem;color:var(--color-text-muted);padding-top:.15rem}.session-title{font-weight:600;font-size:1.1rem;margin-bottom:.25rem}.session-meta{font-size:.85rem;color:var(--color-text-muted)}.session-description{font-size:.9rem;color:var(--color-text-muted);margin-top:.5rem}.session-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:9999px;margin-left:.5rem;vertical-align:middle}.session-badge[data-type=keynote]{background:#f472b626;color:var(--color-keynote)}.session-badge[data-type=workshop]{background:#a78bfa26;color:var(--color-workshop)}.session-badge[data-type=lightning]{background:#fbbf2426;color:var(--color-lightning)}.session-badge[data-type=talk]{background:#34d39926;color:var(--color-talk)}.session-badge[data-type=intro]{background:#60a5fa26;color:var(--color-intro)}.speakers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.speaker-card{background:var(--color-bg-card);border-radius:.75rem;padding:2rem;text-align:center;transition:background .2s;cursor:pointer}.speaker-card:hover{background:var(--color-bg-card-hover)}.speaker-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-workshop));margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--color-bg)}.speaker-name{font-weight:600;font-size:1.1rem;margin-bottom:.25rem}.speaker-title{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.75rem}.speaker-avatar-photo,.modal-avatar-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}.speaker-bio{font-size:.85rem;color:var(--color-text-muted);line-height:1.5}dialog{background:var(--color-bg-card);border:1px solid rgba(148,163,184,.15);border-radius:1rem;padding:2rem;max-width:560px;width:calc(100% - 2rem);color:var(--color-text);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}dialog::backdrop{background:#0f172ad9;backdrop-filter:blur(4px)}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;line-height:1;padding:.25rem}.modal-close:hover{color:var(--color-text)}.modal-content{display:flex;gap:1.5rem;align-items:flex-start}.modal-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-workshop));flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--color-bg)}.modal-name{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.modal-title{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1rem}.modal-bio p{font-size:.9rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:.75rem}.modal-bio p:last-child{margin-bottom:0}.modal-sessions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.modal-session-chip{font-size:.75rem;font-weight:600;color:var(--color-accent);background:#38bdf81a;border-radius:9999px;padding:.2rem .65rem}.venue-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.venue-facts{display:flex;flex-direction:column;gap:1.5rem}.fact-item .label{display:block;font-size:.85rem;font-weight:600;color:var(--color-accent);margin-bottom:.25rem}.fact-item .value{display:block;font-size:.9rem;color:var(--color-text-muted);line-height:1.6}.map-container{width:100%;aspect-ratio:4 / 3;max-height:450px;border-radius:.75rem;overflow:hidden}.map-container iframe{width:100%;height:100%}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:var(--color-bg-card);border-radius:.75rem;padding:1.5rem}.faq-item h3{font-size:1rem;font-weight:600;margin-bottom:.5rem}.faq-item p{font-size:.9rem;color:var(--color-text-muted)}footer{border-top:1px solid rgba(148,163,184,.1);padding:2rem 0;text-align:center;color:var(--color-text-muted);font-size:.85rem}@media(max-width:768px){.hero h1{font-size:2.5rem}.hero .tagline{font-size:1.1rem}nav ul{gap:1rem}nav a{font-size:.8rem}.session-card{grid-template-columns:1fr;gap:.5rem}.schedule-mobile{display:block}.schedule-desktop{display:none}.two-col,.home-intro{grid-template-columns:1fr;gap:2rem}.modal-content{flex-direction:column;align-items:center;text-align:center}.modal-sessions{justify-content:center}.venue-layout{grid-template-columns:1fr}}
