@media (max-width: 768px) {
  .carousel-img {
    border: none !important;
    width: 100vw;
    max-width: 320px;
    min-width: 220px;
    height: 200px;
    max-height: 200px;
    min-height: 200px;
    object-fit: cover;
    margin: 0 auto;
    display: block;
    border-radius: 10px;
    box-shadow: none;
  }
  .carousel-btn {
    display: none !important;
  }
}
/* Grunnlayout for ny hamburger-meny */
.topnav {
  position: relative;
  background: #222;
  padding: .75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.topnav .brand{
  display: none;
}
.menu-links {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}
.menu-links a {
  color: #fff; text-decoration: none; font-weight: 700; font-family: 'Cinzel', serif; font-size: 1.1rem;
}
.menu-links a:hover, .menu-links a:focus { text-decoration: underline; }

/* Hamburger-knappen – skjules på desktop */
.menu-toggle {
  display: none;
  background: none;
  border: 0;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  position: absolute;
  top: .35rem;
  line-height: 1;
}

@media (max-width: 768px) {
  .menu-toggle {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    right: auto;
  }
  .menu-links {
    display: none;
    flex-direction: column;
    position: absolute;
    left: 50%;
    top: 3.25rem;
    transform: translateX(-50%);
    right: auto;
    background: #222;
    padding: 1rem;
    border-radius: 0 0 10px 10px;
    min-width: 60%;
    box-shadow: 0 8px 20px rgba(0,0,0,.25);
    align-items: center;
  }
  .menu-links.active { display: flex; }
}
}

@media (max-width: 768px) {
  .menu-toggle {
    display: block;
    right: 1rem;
    left: auto;
  }
}
}

/* MOBIL: Vis hamburger, skjul lenker til de åpnes */
/* ====== Hamburgermeny og mobilnav ====== */
.menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem 1rem;
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  z-index: 1001;
}
.menu-icon {
  width: 28px;
  height: 3px;
  background: #fff;
  display: block;
  position: relative;
}
.menu-icon::before, .menu-icon::after {
  content: '';
  width: 28px;
  height: 3px;
  background: #fff;
  position: absolute;
  left: 0;
  transition: 0.2s;
}
.menu-icon::before { top: -9px; }
.menu-icon::after { top: 9px; }

.mobilnav {
  display: none;
  flex-direction: column;
  background: #222;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  margin-top: 0;
  border-radius: 14px;
  border: 1.5px solid #444;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  z-index: 1000;
  padding: 0.7rem 0 0.5rem 0;
  text-align: center;
}
.mobilnav.active {
  display: flex;
}
.mobilnav a {
  color: #fff;
  font-size: 1.3rem;
  padding: 0.7rem 0;
  text-decoration: none;
  font-family: 'Cinzel', serif;
  font-weight: bold;
}
.mobilnav a:focus, .mobilnav a:hover { text-decoration: underline; }

@media (max-width: 900px) {
  .menu-toggle { display: block; }
  .nav-links { display: none !important; }
}
@media (min-width: 901px) {
  .mobilnav { display: none !important; }
  .menu-toggle { display: none !important; }
  .nav-links { display: inline-block !important; }
}
/* Skjul piler på mobil */
@media (max-width: 768px) {
  .carousel-btn { display: none; }
  .carousel-track { border-width: 3px; }
}
.btn:focus, .btn:hover {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  background: var(--blue-dark);
  color: var(--white);
}
/* Felles navigasjon for alle sider */
.topnav {
  background: #222;
  padding: 0.5em 0;
  text-align: center;
  min-height: 56px;
  position: relative;
  width: 100%;
  z-index: 10;
}
.topnav a {
  color: #fff;
  margin: 0 1em;
  text-decoration: none;
  font-weight: bold;
  font-family: 'Cinzel', serif;
  font-size: 1.2rem;
}
.topnav a:focus,
.topnav a:hover {
  text-decoration: underline;
}
nav {
  background: #222;
  padding: 0.5em 0;
  text-align: center;
  font-family: 'Cinzel', serif;
  font-size: 1.2rem;
}
nav a {
  color: #fff;
  margin: 0 1em;
  text-decoration: none;
  font-weight: bold;
  font-family: 'Cinzel', serif;
  font-size: 1.2rem;
}
/* Enkel bildekarusell for galleri */
.carousel-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 2rem auto;
  max-width: 700px;
}
.carousel-track {
  width: 100%;
  max-width: 600px;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  /* border removed for mobile and desktop uniformity */
}
.carousel-img {
  display: none;
  width: 480px;
  height: 300px;
  border-radius: 10px;
  box-shadow: none;
  object-fit: cover;
  max-width: 100%;
  min-width: 220px;
  max-height: 400px;
  min-height: 200px;
  margin: 0 auto;
  border: none;
}

@media (max-width: 768px) {
  .carousel-img {
    width: 100vw;
    max-width: 320px;
    min-width: 220px;
    height: 200px;
    max-height: 200px;
    min-height: 200px;
  }
}
.carousel-img.active {
  display: block;
}
.carousel-btn {
  background: var(--blue-dark);
  color: #fff;
  border: none;
  font-size: 2rem;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.carousel-btn:hover {
  background: var(--accent);
}
footer, .footer {
  background: #222;
  color: #fff;
  padding: 20px 0;
  text-align: center;
  font-family: 'Cinzel', serif;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: auto;
  width: 100%;
  position: relative;
  bottom: 0;
  left: 0;
}


:root {
    --white: #ffffff;
    --black: #000000;
    --blue-dark: #1b2d79;
    --grey-dark: #575757;
    --grey-light: #c2c2c2;
    --blue-deep: #000347;
    --accent: #fb2056;
  }
  
  html, body {
    height: 100%;
  }
  body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Cinzel', serif;
    font-size: 1.2rem;
    background: var(--black);
    color: var(--white);
    margin: 0;
  }
footer {
  flex-shrink: 0;
}
  
  .hero {
    text-align: center;
    padding: 2rem 1rem;
  }
  
  .hero-img {
    width: 30%;       /* størrelsen på bildet */
    height: 30%;
    border-radius: 100%; /* gjør bildet rundt */
    margin-bottom: 1.5rem;
    /*border: 4px solid var(--accent); /* ramme i profilfarge */
  }
  
  .hero h1 {
    font-size: clamp(2rem, 4vw, 3.5rem);
    margin-bottom: 1rem;
  }
  
  .hero p {
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    opacity: .95;
    margin-bottom: 1.5rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .btn {
    display: inline-block;
    background: var(--accent);
    color: var(--white);
    text-decoration: none;
    padding: 1rem;
    margin: 0 0.5rem 0.5rem 0.5rem;
    font-size: 1rem;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s ease;
  }
  
  .btn:hover {
    background: var(--blue-dark);
  }
  
hr {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin: 3rem 0 3rem 0;
    border: var(--blue-dark);
    border-top: 3px solid var(--grey-dark);
    border-bottom: 1px solid var(--grey-light);
}



  /* Responsive til mobil, nettbrett */

  /* ====== Base & variabler ====== */
:root{
    --white:#ffffff; --black:#000000;
    --blue-dark:#1b2d79; --grey-dark:#575757; --grey-light:#c2c2c2;
    --blue-deep:#000347; --accent:#fb2056;
  
    /* typografi/spacing skaleres med clamp() for mobil→desktop */
    --fs-h1: clamp(2rem, 4vw, 3.5rem);
    --fs-p:  clamp(1rem, 2.2vw, 1.2rem);
    --space: clamp(1rem, 3vw, 2rem);
    --content-max: 1100px;
  }
  
  html { box-sizing: border-box; }
  *, *::before, *::after { box-sizing: inherit; }
  
  body{
    margin:0; color:var(--white); background:var(--black);
    font-family:'Cinzel', serif; font-size:16px; line-height:1.5;
  }
  
  /* ====== Layout-begrensning ====== */
  .wrapper { max-width: var(--content-max); margin: 0 auto; padding: 0 1rem; }
  
  /* ====== Hero ====== */
  .hero{
    text-align:center;
    padding: calc(var(--space) * 1.5) var(--space);
  }
  .hero .hero-img{
    width: 160px; height:160px; border-radius:50%; object-fit:cover;
    display:block; margin: 0 auto var(--space);
   
  }
  .hero h1{ font-size: var(--fs-h1); margin: 0 0 .2rem; }
  .hero p{ font-size: var(--fs-p); margin: 0 auto var(--space); max-width: 42rem; }
  
  /* CTA */
  .btn{
    display:inline-block; background:var(--accent); color:var(--white);
    text-decoration:none; padding:.8rem 1.25rem; border-radius:.5rem;
    font-size:1rem; transition: transform .12s ease, background .25s ease;
  }
  .btn:hover{ background:var(--blue-dark); transform: translateY(-1px); }
  
  /* ====== Bilder responsivt ====== */
  img{ max-width:100%; height:auto; }
  
  /* ====== Breakpoints ====== */
  /* Nettbrett */
  @media (min-width: 768px){
    .hero{ padding: calc(var(--space) * 2) var(--space); }
    .hero .hero-img{ width: 200px; height:200px; }
  }
  
  /* Desktop */
  @media (min-width: 1024px){
    .hero{ padding: calc(var(--space) * 2.5) var(--space); }
    .hero .hero-img{ width: 220px; height:220px; }
  }
  
  /* Ekstra stor desktop */
  @media (min-width: 1440px){
    .hero .hero-img{ width: 240px; height:240px; }
  }
  
  /* Tilgjengelighet / preferanser */
  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
  }
  