:root {
  --text-deep: #1E2D3D;
  --muted-deep: #556270;
  --border-deep: rgba(10,22,40,0.10);
  --headline-font: "Times New Roman", Times, Georgia, serif;
}

html {
  font-optical-sizing: auto;
}

body {
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 300;
  line-height: 1.68;
  letter-spacing: -0.004em;
  background-image:
    radial-gradient(circle at 0% 0%, rgba(201,168,108,0.08) 0%, rgba(201,168,108,0) 28%),
    radial-gradient(circle at 88% 10%, rgba(42,107,74,0.05) 0%, rgba(42,107,74,0) 26%),
    linear-gradient(180deg, #FFFDF9 0%, #FFFFFF 22%, #FFFFFF 100%);
}

h1,
h2,
h3,
.section-headline,
.steps-headline,
.fullmakt-headline,
.cta-headline,
.policy-block h2,
.contact-panel h2,
.tl-title {
  text-wrap: balance;
  font-family: var(--headline-font) !important;
  font-weight: 400;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "clig" 1;
  font-synthesis: none;
}

h1 {
  letter-spacing: -0.016em;
  line-height: 1.04;
}

.hero-sub,
.hero-lead,
.section-lead,
.steps-footnote,
.fullmakt-sub,
.fullmakt-note,
.tl-desc,
.cta-sub,
.cta-note,
.policy-lead,
.policy-block p,
.contact-panel p,
.footer-text,
.footer-legal,
.faq-answer,
.info-card p,
.scenario-card p,
.help-card p,
.utbud-card p,
.trust-card p,
.trust-note p {
  font-weight: 300;
  color: var(--muted-deep);
}

nav {
  background: rgba(255,255,255,0.88);
  border-bottom: 1px solid rgba(10,22,40,0.06);
  box-shadow: 0 10px 24px rgba(10,22,40,0.06);
}

.logo {
  gap: 0;
}

.logo-lockup,
.footer-lockup {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.logo-lockup {
  max-width: min(72vw, 246px);
}

.logo-lockup .logo-mark {
  display: block;
  height: 50px;
  width: auto;
}

.section-headline,
.steps-headline,
.fullmakt-headline,
.cta-headline,
.policy-block h2,
.contact-panel h2,
.tl-title {
  letter-spacing: -0.01em;
  line-height: 1.14;
}

.nav-link,
.nav-link.active {
  color: var(--natt);
}

.nav-link {
  color: var(--muted);
}

.nav-link:hover,
.nav-link.active {
  background: rgba(10,22,40,0.05);
}

.nav-link:hover {
  color: var(--natt);
}

.nav-cta,
.btn-primary {
  box-shadow: 0 14px 32px rgba(10,22,40,0.16);
}

.hero-fjord {
  background-color: #FFFFFF;
  background-image:
    radial-gradient(circle at 14% 4%, rgba(201,168,108,0.09) 0%, rgba(201,168,108,0.03) 16%, transparent 38%),
    radial-gradient(circle at 84% 12%, rgba(42,107,74,0.07) 0%, rgba(42,107,74,0.025) 22%, transparent 42%),
    url('assets/brand/eira-fjord-photo-hero-v2.png'),
    linear-gradient(180deg, rgba(10,22,40,0.05) 0%, rgba(10,22,40,0.02) 18%, transparent 42%),
    linear-gradient(180deg, #FFFEFC 0%, #F8FBFD 56%, #FFFFFF 100%);
  background-position: left top, right top, center bottom, center top, center top;
  background-size: auto, auto, 106% auto, auto, auto;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
}

.hero-fjord::before {
  opacity: 1;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.96) 0%, rgba(255,255,255,0.9) 34%, rgba(255,255,255,0.58) 56%, rgba(255,255,255,0.18) 76%, rgba(255,255,255,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.42) 0%, rgba(255,255,255,0.08) 42%, rgba(255,255,255,0) 100%),
    radial-gradient(circle, rgba(10,22,40,0.055) 1px, transparent 1px);
  background-size: auto, auto, 44px 44px;
}

.hero-fjord::after {
  display: none;
}

.hero-inner,
.policy-hero-inner {
  z-index: 1;
}

.hero-fjord .hero-sub,
.hero-fjord .hero-lead {
  color: #394b5a;
  max-width: 38rem;
  text-shadow: 0 1px 0 rgba(255,255,255,0.55);
}

.hero-fjord .hero-sub {
  font-weight: 400;
}

.hero-eyebrow,
.eyebrow,
.section-eyebrow,
.policy-eyebrow {
  letter-spacing: 0.15em;
}

.utbud-tabs,
.faq-item,
.policy-card,
.contact-panel,
.info-card,
.scenario-card,
.help-card,
.utbud-card,
.trust-card,
.step-card,
.tl-detail-box {
  border-color: var(--border-deep);
}

.utbud-tabs {
  background: rgba(10,22,40,0.03);
}

.step-card,
.info-card,
.scenario-card,
.help-card,
.utbud-card,
.trust-card,
.contact-panel,
.policy-card,
.tl-detail-box,
.faq-item {
  box-shadow: 0 14px 34px rgba(10,22,40,0.06);
}

.section + .section,
.timeline-section,
.utbud-section,
.trust-section,
.policy-section,
footer {
  border-top-color: var(--border-deep);
}

footer {
  background: linear-gradient(180deg, #0A1628 0%, #0D1C31 100%);
  color: rgba(240,237,232,0.72);
}

.trust-strip {
  background: linear-gradient(135deg, #0A1628 0%, #11223A 58%, #0D1D33 100%);
}

.footer-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}

.footer-logo,
.footer-legal-title {
  color: #F4F7FA;
}

.footer-meta {
  order: 1;
  width: 100%;
}

.footer-logo {
  order: 2;
  display: inline-flex;
  align-items: center;
  gap: 0;
  text-decoration: none;
  margin-top: 0.35rem;
}

.footer-lockup {
  gap: 0;
}

.footer-lockup .logo-mark {
  display: block;
  height: 42px;
  width: auto;
}

.footer-text,
.footer-legal {
  color: rgba(240,237,232,0.68);
}

.footer-legal {
  border-top-color: rgba(143,163,184,0.18);
}

footer a:hover {
  color: #FFFFFF;
}

@media (max-width: 700px) {
  nav {
    background: rgba(255,255,255,0.94);
  }

  .logo {
    gap: 0;
  }

  .logo-lockup img {
    height: auto;
  }

  .logo-lockup .logo-mark {
    height: 44px;
  }

  .footer-logo {
    gap: 0;
  }

  .footer-lockup .logo-mark {
    height: 36px;
  }
}

@media (max-width: 540px) and (orientation: portrait) {
  .container {
    width: min(var(--container), calc(100% - 1rem)) !important;
  }

  .nav-inner {
    gap: 0.55rem 0.85rem !important;
    padding-block: 0.6rem !important;
    align-items: center !important;
  }

  .logo-lockup {
    max-width: min(68vw, 220px);
  }

  .logo-lockup .logo-mark {
    height: 42px;
  }

  .nav-links {
    gap: 0.35rem !important;
    padding-bottom: 0.15rem !important;
    scroll-padding-inline: 0.25rem;
  }

  .nav-link {
    padding: 0.48rem 0.62rem !important;
    font-size: 0.82rem !important;
  }

  .hero {
    padding-block: 3rem 3.25rem !important;
  }

  .hero-inner,
  .policy-hero-inner {
    max-width: 100% !important;
  }

  h1 {
    font-size: clamp(2.05rem, 11vw, 2.75rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.014em !important;
  }

  .section-headline,
  .steps-headline,
  .fullmakt-headline,
  .cta-headline,
  .policy-block h2,
  .contact-panel h2,
  .tl-title {
    font-size: clamp(1.65rem, 8vw, 2.1rem) !important;
    line-height: 1.12 !important;
  }

  .hero-sub,
  .hero-lead,
  .section-lead,
  .policy-lead,
  .tl-desc,
  .fullmakt-sub,
  .fullmakt-note {
    max-width: 100% !important;
    font-size: 0.98rem !important;
    line-height: 1.68 !important;
  }

  .hero-actions,
  .quick-links,
  .actions {
    gap: 0.75rem !important;
  }

  .quick-links {
    margin-top: 1.4rem !important;
  }

  .quick-link {
    width: 100%;
    justify-content: center;
  }

  .utbud-tabs {
    gap: 0.5rem !important;
    padding: 0.35rem !important;
  }

  .utbud-tab {
    min-height: 42px;
  }

  .step-card,
  .info-card,
  .scenario-card,
  .help-card,
  .utbud-card,
  .trust-card,
  .contact-panel,
  .policy-card,
  .tl-detail-box,
  .faq-item {
    padding: 1rem !important;
  }

  .footer-inner {
    gap: 0.9rem !important;
  }

  .footer-lockup .logo-mark {
    height: 34px;
  }

  .hero-fjord {
    background-size: auto, auto, cover, auto, auto;
    background-position: left top, right top, 64% bottom, center top, center top;
  }

  .hero-fjord::before {
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.88) 22%, rgba(255,255,255,0.58) 52%, rgba(255,255,255,0.12) 100%),
      radial-gradient(circle, rgba(10,22,40,0.045) 1px, transparent 1px);
    background-size: auto, 38px 38px;
  }
}
