:root{
  --primary:#2563eb;
  --primary-600:#1e40af;
  --bg:#f8fafc;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --radius:14px;
  --max-width:1100px;
  --container-padding:clamp(1rem, 3vw, 2.5rem);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* header */
header.site-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:60;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0.6rem calc(var(--container-padding));
  transition:background 260ms ease, box-shadow 260ms ease, padding 260ms ease;
  background:transparent;
}
header.site-header.scrolled{
  background:rgba(255,255,255,0.96);
  box-shadow:0 6px 20px rgba(15,23,42,0.07);
  backdrop-filter:blur(6px);
  padding:0.4rem calc(var(--container-padding));
}

.header-inner{
  width:100%;
  max-width:var(--max-width);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.brand{
  display:flex;
  align-items:center;
  gap:0.75rem;
}
.brand img{
  width:48px;height:48px;border-radius:50%;object-fit:cover;
}
.brand .name{
  font-weight:700;font-size:1rem;
  color:var(--text);
}

nav.primary-nav{
  display:flex;
  gap:0.5rem;
  align-items:center;
}
nav.primary-nav a{
  padding:0.45rem 0.6rem;
  border-radius:8px;
  color:var(--text);
  font-weight:500;
  font-size:0.95rem;
  opacity:0.92;
}
nav.primary-nav a:hover{background:rgba(37,99,235,0.06)}

/* contact buttons in header */
.header-cta{
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.header-cta a.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:white;
  width:38px;
  height:38px;
  border-radius:9px;
  transition:transform 150ms ease;
}
.header-cta a.button:hover{transform:translateY(-3px)}
.email{background:var(--primary);}
.instagram{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);}
.linkedin{background:#0a66c2;}

/* ensure svg icons scale & inherit color */
.header-cta svg {
  width:18px;
  height:18px;
  display:block;
  stroke: currentColor;
  fill: none;
}

/* page container */
.page {
  max-width:var(--max-width);
  margin:0 auto;
  padding:calc(6.5rem + 1rem) var(--container-padding) 4rem;
}

/* HERO */
.hero{
  display:grid;
  grid-template-columns: 1fr 420px;
  gap:2rem;
  align-items:center;
  margin-bottom:1.25rem;
}
.hero-left{text-align:left;}
.kicker{
  display:inline-block;
  padding:0.35rem 0.6rem;
  background:linear-gradient(90deg, rgba(37,99,235,0.12), rgba(37,99,235,0.05));
  color:var(--primary);
  border-radius:999px;
  font-weight:600;
  font-size:0.9rem;
  margin-bottom:0.75rem;
}
h1.hero-title{
  margin:0 0 0.6rem 0;
  font-size:clamp(1.6rem, 3.8vw, 2.6rem);
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.02em;
}
p.lead{
  margin:0 0 1.1rem 0;
  color:var(--muted);
  font-size:1.02rem;
  max-width:60ch;
}

.hero-actions{
  display:flex;
  gap:0.75rem;
  align-items:center;
  margin-top:0.6rem;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:0.6rem;
  padding:0.6rem 1rem;
  border-radius:10px;
  background:var(--primary);
  color:white;
  font-weight:600;
  box-shadow:0 8px 30px rgba(37,99,235,0.12);
  transition:transform 180ms ease, background 180ms;
}
.btn:hover{transform:translateY(-3px); background:var(--primary-600)}
.btn.secondary{
  background:transparent;
  border:1px solid rgba(15,23,42,0.06);
  color:var(--text);
  box-shadow:none;
}
.cta-note{font-size:0.9rem;color:var(--muted);margin-top:0.6rem}

.hero-right{
  display:flex;
  justify-content:center;
  align-items:center;
}

.portrait-card{
  width:420px;
  max-width:100%;
  border-radius:16px;
  overflow:hidden;
  position:relative;
  box-shadow:0 14px 40px rgba(2,6,23,0.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.9), rgba(250,250,252,0.9));
  padding:0.6rem;
}
.portrait-card img{
  width:100%;
  height:420px;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.portrait-overlay{
  position:absolute;
  left:0;right:0;bottom:0;padding:1rem;
  display:flex;
  justify-content:space-between;
  gap:0.5rem;
  align-items:center;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,0.35));
  color:white;
}

section.card{
  background:var(--card);
  border-radius:var(--radius);
  padding:1.6rem;
  margin-top:1.25rem;
  box-shadow:0 8px 30px rgba(2,6,23,0.03);
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
  gap:1rem;
}
.service{
  padding:1rem;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(246,248,250,0.9), #fff);
  transition:transform 180ms ease, box-shadow 180ms ease;
}
.service:hover{transform:translateY(-6px); box-shadow:0 14px 30px rgba(2,6,23,0.06)}
.service h3{margin:0 0 0.5rem 0;font-size:1.05rem}
.service p{margin:0;color:var(--muted);font-size:0.95rem}

.logo-strip{
  display:flex;
  gap:1.4rem;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  padding:0.6rem 0;
}
.logo-strip img{max-height:56px;opacity:0.85;filter:grayscale(20%)}

.testimonials{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1rem;
}
.testimonial{
  background:linear-gradient(180deg,#fff,#fbfdff);
  border-left:4px solid var(--primary);
  padding:1rem;
  border-radius:10px;
  font-style:italic;
}
.testimonial cite{
  display:block;margin-top:0.6rem;font-style:normal;font-weight:700;color:var(--muted)
}

.book-strip{
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:1rem;
  border-radius:12px;
  background:linear-gradient(90deg, rgba(37,99,235,0.06), rgba(37,99,235,0.02));
}
.book-strip h3{margin:0;font-size:1.05rem}
.book-strip p{margin:0;color:var(--muted)}

footer.site-footer{
  margin-top:2.25rem;
  padding:1.25rem var(--container-padding);
  color:var(--muted);
  font-size:0.95rem;
  text-align:center;
}

@media (max-width:980px){
  .hero{grid-template-columns:1fr;gap:1rem}
  .portrait-card{width:100%}
  .header-inner{gap:0.6rem}
  nav.primary-nav{display:none}
  .page{padding:calc(5.2rem + 1rem) var(--container-padding) 3rem}
  .brand img{width:42px;height:42px}
}


@media (max-width:520px){
  .hero-left{text-align:left}
  .kicker{font-size:0.85rem}
}

.muted{color:var(--muted)}
.highlight{color:var(--primary);font-weight:700}

/* ==========================================================================
   Nye layouts til at bryde ensformigheden mellem de to første sektioner
   ========================================================================== */

/* Ny styling til Sektion 2 (Talks & Workshops) */
.hero.hero-alt {
  grid-template-columns: 420px 1fr; /* Bytte rundt på kolonnerne: billede først, så tekst */
  background: linear-gradient(145deg, rgba(37,99,235,0.03) 0%, rgba(255,255,255,0) 100%);
  border: 1px solid rgba(37, 99, 235, 0.08);
  border-radius: 24px;
  padding: 2.5rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

/* Sørg for at spacing på teksten i sektion 2 passer i det spejlvendte design */
.hero-left.text-right {
  padding-left: 1rem;
}

/* Responsiv tilpasning til tablets og mobiler (så billedet ryger øverst igen på små skærme) */
@media (max-width: 980px) {
  .hero.hero-alt {
    grid-template-columns: 1fr; /* Gå tilbage til én kolonne */
    padding: 1.5rem;
  }
  
  /* Tvinger billedet øverst på mobilen selvom det står først i HTML-koden */
  .hero.hero-alt .image-left {
    order: 2; 
  }
  .hero.hero-alt .text-right {
    order: 1;
    padding-left: 0;
  }
}


/* ==========================================================================
   Moderater side tweaks
   ========================================================================== */
/* Moderator-specifikke tweaks */
.moderator-page .card {
  border: 1px solid rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}

.moderator-page .card:hover {
  transform: translateY(-5px);
}

.moderator-page h4 {
  margin-top: 0;
  color: var(--mod-accent);
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}

/* Gør den specielle portrætform pæn på mobil */
@media (max-width: 980px) {
  .moderator-page .portrait-card {
    border-radius: 16px !important;
  }
  .moderator-page .portrait-card img {
    border-radius: 16px !important;
  }
}


/* ==========================================================================
   Science-specifikke grid-systemer og mobiljusteringer
   ========================================================================== */

.science-page .card {
  border: 1px solid rgba(15, 23, 42, 0.06);
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 240ms ease;
}

.science-page .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

/* Fix til mobilvisning af den mørke science-hero */
@media (max-width: 980px) {
  .science-hero > div {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}
