/*
 * OMVEJ UI v2
 * Roligt, redaktionelt og mobil-first.
 * Mindre stock/template. Mere papir, landskab og manifest.
 */

:root{
  --omvej-ink:#24211d;
  --omvej-soft-ink:#4f493f;
  --omvej-muted:#7a7163;
  --omvej-line:rgba(36,33,29,.13);

  --omvej-base:#f4ecdf;
  --omvej-paper:#fbf7ee;
  --omvej-paper-deep:#eadcc7;
  --omvej-cream:#fffaf0;

  --omvej-forest:#294833;
  --omvej-forest-dark:#1f3928;
  --omvej-moss:#697652;
  --omvej-clay:#a76643;
  --omvej-coffee:#513827;

  --omvej-radius-sm:6px;
  --omvej-radius:10px;
  --omvej-radius-lg:14px;

  --font-display:"Lora", Georgia, "Times New Roman", serif;
  --font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --shadow-soft:0 18px 45px rgba(37,31,23,.08);
  --shadow-card:0 10px 28px rgba(37,31,23,.06);
}

html{scroll-behavior:smooth;}
body{
  background:var(--omvej-base);
  color:var(--omvej-ink);
  font-family:var(--font-body);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;}
a:hover{color:var(--omvej-forest);}

::selection{background:rgba(166,95,61,.22);}

.omvej-page{
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(255,250,240,.75), transparent 30rem),
    linear-gradient(180deg, var(--omvej-paper) 0%, var(--omvej-base) 34%, #efe2ce 100%);
}

.omvej-container{width:min(100% - 32px, 1180px); margin-inline:auto;}
.omvej-container-narrow{width:min(100% - 32px, 760px); margin-inline:auto;}
.omvej-container-wide{width:min(100% - 24px, 1360px); margin-inline:auto;}

/* Header */
.omvej-header{
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(250,247,240,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--omvej-line);
}

.omvej-navbar{
  min-height:68px;
  padding:.55rem 0;
}
.omvej-navbar .omvej-container-wide{
	display:flex;
}

.omvej-brand{
  display:flex;
  align-items:center;
  gap:.65rem;
  text-decoration:none;
  color:var(--omvej-ink);
}
.omvej-brand-mark{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--omvej-forest);
  color:var(--omvej-paper);
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.04em;
  font-size:1.05rem;
}
.omvej-brand-word{
  display:block;
  font-family:var(--font-display);
  font-size:1.12rem;
  line-height:.95;
  font-weight:700;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.omvej-brand-tagline{
  display:block;
  margin-top:.1rem;
  font-size:.58rem;
  line-height:1;
  color:var(--omvej-muted);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
}

.omvej-nav{gap:.2rem; align-items:center;}
.omvej-nav .nav-link{
  color:var(--omvej-soft-ink);
  font-size:.86rem;
  font-weight:750;
  padding:.75rem .85rem;
  border-radius:999px;
}
.omvej-nav .nav-link:hover,
.omvej-nav .nav-link:focus{
  color:var(--omvej-forest);
  background:rgba(41,72,51,.07);
}

.omvej-navbar .navbar-toggler{
  border:1px solid var(--omvej-line);
  border-radius:999px;
  padding:.55rem .75rem;
  box-shadow:none!important;
}
.omvej-toggler-text{
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:850;
  color:var(--omvej-ink);
}

.omvej-actions{display:flex; align-items:center; gap:.55rem;}
.omvej-action-link{
  color:var(--omvej-soft-ink);
  text-decoration:none;
  font-size:.84rem;
  font-weight:750;
  padding:.6rem .65rem;
}

.btn-omvej,
.btn-omvej-light,
.btn-omvej-ghost{
  border-radius:999px;
  font-weight:850;
  font-size:.86rem;
  padding:.82rem 1.15rem;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  transition:transform 180ms ease, background 180ms ease, border-color 180ms ease;
}
.btn-omvej{
  background:var(--omvej-forest);
  border:1px solid var(--omvej-forest);
  color:#fff!important;
  box-shadow:0 8px 20px rgba(31,57,40,.18);
}
.btn-omvej:hover{background:var(--omvej-forest-dark); transform:translateY(-1px);}
.btn-omvej-light{background:var(--omvej-paper); border:1px solid rgba(255,255,255,.28); color:var(--omvej-ink)!important;}
.btn-omvej-ghost{background:transparent; border:1px solid var(--omvej-line); color:var(--omvej-ink)!important;}
.btn-omvej-ghost:hover{border-color:rgba(41,72,51,.35); background:rgba(41,72,51,.06);}

/* Main */
.omvej-main{padding-top:0;}
.omvej-breadcrumb-wrap{padding:1rem 0 0;}

.eyebrow{
  display:flex;
  align-items:center;
  gap:.65rem;
  color:var(--omvej-clay);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.68rem;
  font-weight:900;
}
.eyebrow:before{
  content:"";
  display:block;
  width:28px;
  height:1px;
  background:currentColor;
  opacity:.55;
}

.display-omvej{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.065em;
  line-height:.92;
  color:var(--omvej-ink);
}

.omvej-lead{
  color:var(--omvej-soft-ink);
  font-size:1.04rem;
  line-height:1.85;
  max-width:37rem;
}

/* Frontpage */
.front-hero{padding:4.6rem 0 3.5rem;}
.front-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(300px, .82fr);
  gap:clamp(2rem, 6vw, 6rem);
  align-items:center;
}
.front-hero h1{font-size:clamp(4.2rem, 10vw, 8.9rem); max-width:760px; margin:1.25rem 0 1.2rem;}
.front-hero h1 .green{color:var(--omvej-forest);}
.hero-actions{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.55rem;}
.hero-note{
  margin-top:1.5rem;
  color:var(--omvej-muted);
  font-size:.78rem;
  display:flex;
  gap:.7rem;
  align-items:center;
}
.hero-note:before{content:""; width:34px; height:1px; background:var(--omvej-line);}

.hero-photo-wrap{position:relative;}
.hero-photo{
  min-height:590px;
  background-image:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.26)), var(--hero-image);
  background-size:cover;
  background-position:center;
  border-radius:14px 14px 14px 2px;
  border:1px solid rgba(36,33,29,.08);
  box-shadow:var(--shadow-soft);
}
.hero-caption{
  position:absolute;
  left:-2rem;
  bottom:2.1rem;
  width:min(330px, 82%);
  background:rgba(251,247,238,.95);
  border:1px solid var(--omvej-line);
  padding:1.15rem 1.2rem;
  border-radius:10px 10px 10px 2px;
  box-shadow:var(--shadow-card);
}
.hero-caption strong{display:block; font-family:var(--font-display); font-size:1.05rem; margin-bottom:.25rem;}
.hero-caption span{display:block; color:var(--omvej-muted); font-size:.82rem; line-height:1.55;}

.principles{
  border-top:1px solid var(--omvej-line);
  border-bottom:1px solid var(--omvej-line);
  background:rgba(234,220,199,.55);
}
.principles-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.principle{
  padding:2.2rem 2rem;
  border-right:1px solid var(--omvej-line);
}
.principle:last-child{border-right:0;}
.principle h2{font-family:var(--font-display); font-size:1.22rem; margin-bottom:.45rem; letter-spacing:-.025em;}
.principle p{color:var(--omvej-muted); line-height:1.65; font-size:.92rem; margin:0;}

.section{padding:6.5rem 0;}
.section-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 420px);
  gap:2rem;
  align-items:end;
  margin-bottom:2.25rem;
}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(2.8rem, 5vw, 5.2rem);
  line-height:.98;
  letter-spacing:-.055em;
  margin:.9rem 0 0;
}
.section-intro{color:var(--omvej-soft-ink); line-height:1.8; margin:0;}

.omvej-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.35rem;
}
.route-card{
  background:var(--omvej-paper);
  border:1px solid var(--omvej-line);
  border-radius:10px 10px 10px 2px;
  overflow:hidden;
  box-shadow:var(--shadow-card);
}
.route-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  filter:saturate(.88) contrast(.98);
}
.route-card-body{padding:1.15rem 1.15rem 1.2rem;}
.badges{display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:.85rem;}
.badge-omvej{
  background:rgba(105,118,82,.14);
  color:var(--omvej-forest);
  border:1px solid rgba(105,118,82,.14);
  border-radius:999px;
  padding:.32rem .62rem;
  font-size:.68rem;
  font-weight:850;
}
.route-card h3{font-family:var(--font-display); font-size:1.32rem; letter-spacing:-.025em; margin:0 0 .55rem;}
.route-card p{color:var(--omvej-soft-ink); font-size:.9rem; line-height:1.65; margin:0 0 1rem;}
.route-meta{display:flex; flex-wrap:wrap; gap:.7rem; color:var(--omvej-ink); font-size:.74rem; font-weight:850;}

.community-band{padding:5.2rem 0;}
.community-panel{
  background:var(--omvej-forest);
  color:#fff;
  display:grid;
  grid-template-columns:.82fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
  padding:2rem;
  border-radius:14px 14px 14px 2px;
}
.community-panel img{
  width:100%;
  height:560px;
  object-fit:cover;
  border-radius:8px 8px 8px 2px;
  filter:saturate(.88);
}
.community-content{max-width:640px; padding-right:2rem;}
.community-content .eyebrow{color:#dccab0;}
.community-content h2{
  font-family:var(--font-display);
  font-size:clamp(2.8rem, 5vw, 5.4rem);
  line-height:.98;
  letter-spacing:-.055em;
  margin:1rem 0 1rem;
}
.community-content p{color:rgba(255,255,255,.78); line-height:1.8; max-width:42rem;}

.manifest-strip{padding:3rem 0 7rem;}
.manifest-box{
  background:rgba(251,247,238,.76);
  border:1px solid var(--omvej-line);
  border-radius:12px 12px 12px 2px;
  padding:2.1rem;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:2rem;
}
.manifest-box h2{
  font-family:var(--font-display);
  font-size:clamp(2rem, 4vw, 3.8rem);
  line-height:1.02;
  letter-spacing:-.055em;
  margin:0 0 1rem;
}
.manifest-box p{color:var(--omvej-soft-ink); line-height:1.85; max-width:720px;}
.text-link-omvej{font-weight:900; color:var(--omvej-forest); text-decoration:none; border-bottom:1px solid rgba(41,72,51,.35);}

/* Footer */
.omvej-footer{
  background:#201e1a;
  color:#f6efe2;
  padding:3rem 0 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3, minmax(130px, .55fr));
  gap:2.5rem;
  padding-bottom:2.3rem;
}
.footer-brand{font-family:var(--font-display); font-size:1.45rem; font-weight:700; letter-spacing:-.04em; text-transform:uppercase; margin-bottom:.8rem;}
.footer-text{color:rgba(246,239,226,.7); line-height:1.7; max-width:420px; font-size:.92rem;}
.footer-title{font-weight:900; font-size:.78rem; margin-bottom:.9rem;}
.footer-links{list-style:none; padding:0; margin:0; display:grid; gap:.55rem;}
.footer-links a{color:rgba(246,239,226,.7); text-decoration:none; font-size:.88rem;}
.footer-links a:hover{color:#fff;}
.footer-bottom{
  border-top:1px solid rgba(246,239,226,.12);
  padding:1.1rem 0;
  color:rgba(246,239,226,.52);
  font-size:.78rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
}

@media (max-width: 991.98px){
  .omvej-navbar{min-height:62px;}
  .omvej-navbar .navbar-collapse{
    padding:1rem 0 1.2rem;
    border-top:1px solid var(--omvej-line);
    margin-top:.7rem;
  }
  .omvej-nav .nav-link{font-size:1.08rem; padding:.85rem 0; border-radius:0;}
  .omvej-actions{margin-top:.8rem; align-items:stretch; flex-direction:column;}
  .omvej-action-link{padding:.5rem 0;}
  .front-hero{padding:2.3rem 0 2.5rem;}
  .front-hero-grid{grid-template-columns:1fr; gap:2.2rem;}
  .front-hero h1{font-size:clamp(3.75rem, 17vw, 6.5rem);}
  .hero-photo{min-height:430px;}
  .hero-caption{left:1rem; bottom:1rem;}
  .principles-grid{grid-template-columns:1fr;}
  .principle{border-right:0; border-bottom:1px solid var(--omvej-line); padding:1.55rem 0;}
  .principle:last-child{border-bottom:0;}
  .section{padding:4.3rem 0;}
  .section-head{grid-template-columns:1fr; align-items:start;}
  .omvej-card-grid{grid-template-columns:1fr;}
  .community-panel{grid-template-columns:1fr; padding:1rem;}
  .community-panel img{height:360px;}
  .community-content{padding:1.2rem .5rem 1.6rem;}
  .manifest-box{grid-template-columns:1fr; gap:1rem; padding:1.45rem;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width: 575.98px){
  .omvej-container, .omvej-container-narrow{width:min(100% - 24px, 1180px);}
  .front-hero h1{margin-top:1rem;}
  .omvej-lead{font-size:.98rem; line-height:1.75;}
  .hero-actions .btn-omvej, .hero-actions .btn-omvej-ghost{width:100%;}
  .hero-photo{min-height:380px; border-radius:10px 10px 10px 2px;}
  .hero-caption{position:relative; left:auto; bottom:auto; width:calc(100% - 1rem); margin:-3.8rem auto 0;}
  .section-title{font-size:2.75rem;}
  .route-card{border-radius:8px 8px 8px 2px;}
  .community-content h2{font-size:2.75rem;}
  .footer-grid{grid-template-columns:1fr; gap:1.7rem;}
  .footer-bottom{display:grid;}
}

/* About / Hvad er en OMVEJ */
.container-narrow{width:min(100% - 32px, 760px); margin-inline:auto;}
.container-medium{width:min(100% - 32px, 1080px); margin-inline:auto;}
.container-wide{width:min(100% - 24px, 1320px); margin-inline:auto;}

.omvej-about{
  background:
    radial-gradient(circle at 16% 0%, rgba(255,250,240,.95), transparent 32rem),
    linear-gradient(180deg, var(--omvej-paper) 0%, var(--omvej-base) 42%, #eadcc7 100%);
}

.omvej-article-hero{
  padding:clamp(4rem, 9vw, 8rem) 0 clamp(2.5rem, 6vw, 5rem);
  border-bottom:1px solid var(--omvej-line);
}
.omvej-article-hero h1{
  font-family:var(--font-display);
  font-size:clamp(3.5rem, 8vw, 7.3rem);
  line-height:.94;
  letter-spacing:-.065em;
  max-width:880px;
  margin:1.1rem 0 1.25rem;
}
.omvej-article-hero .lead{
  color:var(--omvej-soft-ink);
  font-size:clamp(1.05rem, 2vw, 1.35rem);
  line-height:1.75;
  max-width:680px;
  margin:0;
}

.omvej-definition-section{padding:clamp(2.5rem, 6vw, 5.5rem) 0;}
.definition-panel{
  background:rgba(251,247,238,.82);
  border:1px solid var(--omvej-line);
  border-left:5px solid var(--omvej-forest);
  padding:clamp(1.4rem, 4vw, 3rem);
  box-shadow:var(--shadow-card);
}
.definition-kicker{
  color:var(--omvej-clay);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.68rem;
  font-weight:900;
  margin:0 0 1rem;
}
.definition-panel h2{
  font-family:var(--font-display);
  font-size:clamp(2rem, 4.3vw, 4rem);
  line-height:1.04;
  letter-spacing:-.05em;
  margin:0 0 1.3rem;
  max-width:900px;
}
.definition-panel p{
  color:var(--omvej-soft-ink);
  font-size:1rem;
  line-height:1.85;
  max-width:760px;
  margin:0 0 1rem;
}
.definition-panel p:last-child{margin-bottom:0;}

.omvej-text-flow{padding:clamp(2rem, 6vw, 5rem) 0;}
.omvej-text-flow h2,
.omvej-nearby-section h2,
.omvej-not-section h2,
.omvej-mission-section h2{
  font-family:var(--font-display);
  letter-spacing:-.055em;
  line-height:1.02;
}
.omvej-text-flow h2{
  font-size:clamp(2.4rem, 5vw, 4.4rem);
  margin:0 0 1.6rem;
}
.omvej-text-flow p{
  color:var(--omvej-soft-ink);
  font-size:1.06rem;
  line-height:1.95;
  margin:0 0 1.05rem;
}
.omvej-text-flow .standalone-line{
  font-family:var(--font-display);
  color:var(--omvej-forest);
  font-size:clamp(2.2rem, 5vw, 4.5rem);
  line-height:1;
  letter-spacing:-.055em;
  margin:2rem 0;
}

.omvej-principles-section{
  padding:clamp(3.5rem, 8vw, 7rem) 0;
  background:rgba(234,220,199,.55);
  border-top:1px solid var(--omvej-line);
  border-bottom:1px solid var(--omvej-line);
}
.split-heading{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 430px);
  gap:2rem;
  align-items:end;
  margin-bottom:2rem;
}
.split-heading h2{
  font-family:var(--font-display);
  font-size:clamp(2.7rem, 5.5vw, 5.2rem);
  line-height:.98;
  letter-spacing:-.06em;
  margin:.8rem 0 0;
}
.split-heading > p{
  color:var(--omvej-soft-ink);
  line-height:1.8;
  margin:0;
}
.omvej-about .principles-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  border-top:1px solid var(--omvej-line);
  border-left:1px solid var(--omvej-line);
  background:rgba(251,247,238,.34);
}
.principle-card{
  padding:clamp(1.25rem, 2.3vw, 2rem);
  min-height:260px;
  border-right:1px solid var(--omvej-line);
  border-bottom:1px solid var(--omvej-line);
}
.principle-card span{
  display:block;
  color:var(--omvej-clay);
  font-weight:900;
  letter-spacing:.12em;
  font-size:.72rem;
  margin-bottom:1.1rem;
}
.principle-card h3{
  font-family:var(--font-display);
  font-size:clamp(1.45rem, 2.2vw, 2.15rem);
  line-height:1.07;
  letter-spacing:-.04em;
  margin:0 0 .9rem;
}
.principle-card p{
  color:var(--omvej-soft-ink);
  line-height:1.75;
  margin:0;
  font-size:.94rem;
}

.omvej-nearby-section{padding:clamp(3.5rem, 7vw, 6rem) 0;}
.nearby-block{
  padding:clamp(1.5rem, 4vw, 3rem) 0;
  border-top:1px solid var(--omvej-line);
  border-bottom:1px solid var(--omvej-line);
}
.nearby-block h2{
  font-size:clamp(2.35rem, 5vw, 4.8rem);
  max-width:900px;
  margin:1rem 0 1.25rem;
}
.nearby-block p{
  color:var(--omvej-soft-ink);
  font-size:1.05rem;
  line-height:1.85;
  max-width:760px;
  margin:0;
}

.omvej-not-section{
  padding:clamp(3rem, 6vw, 5.5rem) 0;
  background:var(--omvej-forest);
  color:#fff;
}
.not-grid{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(280px, .8fr);
  gap:clamp(2rem, 5vw, 5rem);
  align-items:center;
}
.not-grid .eyebrow{color:#dccab0;}
.not-grid h2{
  font-size:clamp(2.7rem, 5.5vw, 5.4rem);
  margin:1rem 0 0;
}
.not-copy p{
  color:rgba(255,255,255,.78);
  font-size:1.05rem;
  line-height:1.9;
  margin:0 0 1rem;
}
.not-copy p:last-child{margin-bottom:0;}

.omvej-mission-section{
  padding:clamp(4rem, 8vw, 7rem) 0;
}
.omvej-mission-section h2{
  font-size:clamp(2.3rem, 5vw, 4.6rem);
  margin:1rem 0 0;
}

.omvej-final-quote{
  padding:0 0 clamp(5rem, 9vw, 8rem);
}
.omvej-final-quote blockquote{
  font-family:var(--font-display);
  font-size:clamp(2.7rem, 6vw, 6rem);
  line-height:.98;
  letter-spacing:-.065em;
  margin:0;
  padding:clamp(1.5rem, 4vw, 3rem) 0 0;
  border-top:1px solid var(--omvej-line);
}
.quote-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:2rem;
}
.btn-omvej-primary,
.btn-omvej-secondary{
  border-radius:999px;
  font-weight:850;
  font-size:.86rem;
  padding:.82rem 1.15rem;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform 180ms ease, background 180ms ease, border-color 180ms ease;
}
.btn-omvej-primary{
  background:var(--omvej-forest);
  border:1px solid var(--omvej-forest);
  color:#fff!important;
  box-shadow:0 8px 20px rgba(31,57,40,.18);
}
.btn-omvej-primary:hover{background:var(--omvej-forest-dark); transform:translateY(-1px);}
.btn-omvej-secondary{
  background:transparent;
  border:1px solid var(--omvej-line);
  color:var(--omvej-ink)!important;
}
.btn-omvej-secondary:hover{border-color:rgba(41,72,51,.35); background:rgba(41,72,51,.06);}

@media (max-width: 991.98px){
  .split-heading,
  .not-grid{grid-template-columns:1fr; align-items:start;}
  .omvej-about .principles-grid{grid-template-columns:1fr 1fr;}
  .principle-card{min-height:230px;}
}

@media (max-width: 575.98px){
  .container-narrow,
  .container-medium{width:min(100% - 24px, 760px);}
  .omvej-article-hero{padding-top:3rem;}
  .omvej-article-hero h1{font-size:3.65rem;}
  .definition-panel{border-left-width:4px;}
  .omvej-about .principles-grid{grid-template-columns:1fr;}
  .principle-card{min-height:auto;}
  .quote-actions .btn-omvej-primary,
  .quote-actions .btn-omvej-secondary{width:100%;}
}
