/* ==========================================================================
   Forsiden. Porteret 1:1 fra ACS-forside-linje-kopi.dc.html.
   ========================================================================== */

/* --- Mørkt hero med foto ------------------------------------------------- */

.acs-fhero { background: var(--acs-evergreen); position: relative; overflow: hidden; }
.acs-fhero__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 58%;
  display: block;
}
.acs-fhero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg,
    rgba(12, 18, 16, .9) 0%,
    rgba(12, 18, 16, .78) 42%,
    rgba(12, 18, 16, .56) 74%,
    rgba(12, 18, 16, .42) 100%);
}
.acs-fhero__section {
  background: transparent;
  position: relative;
  overflow: hidden;
  min-height: 100svh;
  display: flex;
  align-items: center;
}
.acs-fhero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--acs-maxw);
  margin: 0 auto;
  padding: clamp(104px, 10vw, 150px) var(--acs-gutter) clamp(48px, 6vw, 96px);
  display: flex;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
  flex-wrap: wrap;
}
.acs-fhero__text { flex: 1 1 100%; max-width: 760px; position: relative; z-index: 2; }
.acs-fhero h1 {
  margin: 0;
  font-weight: var(--acs-w-light);
  font-size: clamp(36px, 4.9vw, 62px);
  line-height: 1.06;
  letter-spacing: var(--acs-track-tight);
  color: var(--acs-on-dark);
}
.acs-fhero__lead {
  margin: 34px 0 0;
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: var(--acs-w-body);
  line-height: 1.65;
  max-width: 50ch;
  color: var(--acs-on-dark);
}
.acs-scribble--hero svg {
  bottom: -16px;
  height: 26px;
}
@media (max-width: 700px) {
  .acs-fhero__section { min-height: 0; }
  .acs-fhero h1 { font-size: clamp(30px, 8.6vw, 40px); }
}

/* --- Hvorfor Academy ----------------------------------------------------- */

.acs-why__head {
  display: flex;
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: clamp(24px, 3vw, 40px);
}
.acs-why__head > div { flex: 1.1 1 400px; min-width: 300px; }
.acs-why__head h2 {
  margin: 0;
  font-weight: var(--acs-w-light);
  font-size: clamp(26px, 3.4vw, 44px);
  line-height: 1.14;
  letter-spacing: var(--acs-track-tight-2);
  color: var(--acs-ink);
}
.acs-why__line { margin-top: clamp(26px, 3.4vw, 46px); }
.acs-why__line svg { width: 100%; height: 22px; display: block; overflow: visible; }
.acs-why__steps {
  margin-top: clamp(14px, 1.8vw, 22px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: clamp(20px, 3vw, 44px);
}
/* Stregen binder de tre trin sammen på tværs af kolonnerne. På mobil står
   trinnene under hinanden, og så peger den ikke på noget. */
@media (max-width: 700px) {
  .acs-why__line { display: none; }
  .acs-why__steps { margin-top: 30px; }
}
.acs-why__label {
  font-size: 12px;
  color: var(--acs-label-palm);
  font-weight: var(--acs-w-label);
  letter-spacing: .12em;
}
.acs-why__steps h3 {
  margin: 8px 0 6px;
  font-size: 17px;
  font-weight: var(--acs-w-medium);
  color: var(--acs-ink);
}
.acs-why__steps p:not(.acs-eyebrow) {
  margin: 0;
  font-size: 15px;
  font-weight: var(--acs-w-body);
  line-height: 1.55;
  color: #4a544a;
}

/* --- Academy-blokken (støvblå) — LÅST, må ikke ændres -------------------- */

.acs-product { background: #587A8C; color: var(--acs-on-dark); }
.acs-product__inner {
  max-width: var(--acs-maxw);
  margin: 0 auto;
  padding: var(--acs-section-y) var(--acs-gutter);
  display: flex;
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
  flex-wrap: wrap;
}
.acs-product__text { flex: 1.15 1 400px; min-width: 300px; }
.acs-product__eyebrow { color: var(--acs-cream); }
.acs-product h2 {
  margin: 0;
  font-weight: var(--acs-w-light);
  font-size: clamp(24px, 3vw, 44px);
  line-height: 1.1;
  letter-spacing: var(--acs-track-tight-2);
  color: var(--acs-on-dark);
  white-space: nowrap;
}
.acs-product__lead {
  margin: 20px 0 0;
  font-size: 15px;
  font-weight: var(--acs-w-light);
  line-height: 1.6;
  max-width: 48ch;
  color: rgba(255, 255, 255, .9);
}
.acs-product__grid {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 clamp(24px, 3vw, 40px);
}
.acs-product__cell { padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, .3); }
.acs-product__cell:nth-last-child(2) { border-bottom: 1px solid rgba(255, 255, 255, .3); }
.acs-product__cell h3 {
  margin: 0 0 5px;
  font-size: 16px;
  font-weight: var(--acs-w-medium);
  color: var(--acs-on-dark);
}
.acs-product__cell p:not(.acs-eyebrow) {
  margin: 0;
  font-size: 14px;
  font-weight: var(--acs-w-light);
  line-height: 1.5;
  color: rgba(255, 255, 255, .88);
}
.acs-product__more {
  padding: 16px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .3);
  display: flex;
  align-items: flex-end;
}
.acs-product__more a {
  font-size: 16px;
  font-weight: var(--acs-w-medium);
  color: var(--acs-on-dark);
}
.acs-product__more a:hover { color: var(--acs-cream); }
.acs-product__shot { flex: 1 1 360px; min-width: 300px; }
.acs-product__shot figure {
  margin: 0;
  position: relative;
  background: var(--acs-blue);
  padding: clamp(18px, 2.4vw, 30px);
  box-shadow: 0 44px 84px -28px rgba(0, 0, 0, .7), 0 14px 30px -14px rgba(0, 0, 0, .45);
}
.acs-product__shot img { width: 100%; height: auto; display: block; }
@media (max-width: 700px) {
  .acs-product h2 { white-space: normal; }
  .acs-product__grid { grid-template-columns: 1fr; }
}

/* --- Sådan hjælper vi: tre kort med line-art ----------------------------- */

.acs-help__head { max-width: 720px; margin-bottom: clamp(28px, 3.5vw, 48px); }
.acs-help__head h2 {
  margin: 0 0 18px;
  font-weight: var(--acs-w-light);
  font-size: clamp(26px, 3.4vw, 46px);
  line-height: 1.12;
  letter-spacing: var(--acs-track-tight-2);
  color: var(--acs-ink);
}
.acs-help__head p:not(.acs-eyebrow) {
  margin: 0;
  font-size: 17px;
  font-weight: var(--acs-w-light);
  line-height: 1.6;
  color: var(--acs-ink-muted);
}
.acs-help__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(16px, 1.8vw, 24px);
}
.acs-help__card {
  padding: clamp(24px, 2.8vw, 38px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}
.acs-help__card svg { width: 76px; height: 52px; display: block; overflow: visible; margin: 0 auto 10px; }
.acs-help__card h3 {
  margin: 0;
  font-size: clamp(19px, 2vw, 24px);
  font-weight: var(--acs-w-body);
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--acs-ink);
}
.acs-help__card p:not(.acs-eyebrow) {
  margin: 0;
  font-size: 15px;
  font-weight: var(--acs-w-body);
  line-height: 1.6;
}
.acs-help__card--dark h3 { color: var(--acs-on-dark); }
.acs-help__card--dark p:not(.acs-eyebrow) { color: rgba(226, 212, 186, .82); }

/* --- Viden i bevægelse --------------------------------------------------- */

.acs-serie { background: var(--acs-evergreen); }
.acs-serie__inner {
  max-width: var(--acs-maxw);
  margin: 0 auto;
  padding: var(--acs-section-y) var(--acs-gutter);
  display: flex;
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  flex-wrap: wrap;
}
.acs-serie__text { flex: 1.1 1 400px; min-width: 300px; }
.acs-serie h2 {
  margin: 0 0 12px;
  max-width: 22ch;
  font-weight: var(--acs-w-light);
  font-size: clamp(24px, 3.1vw, 42px);
  line-height: 1.08;
  letter-spacing: var(--acs-track-tight);
  color: var(--acs-on-dark);
}
.acs-serie p:not(.acs-eyebrow) {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: var(--acs-w-body);
  line-height: 1.6;
  color: rgba(255, 255, 255, .82);
  max-width: 48ch;
}
.acs-serie a {
  font-size: 16px;
  font-weight: var(--acs-w-medium);
  color: var(--acs-on-dark);
}
.acs-serie a:hover { color: var(--acs-label-palm-dk); }
.acs-serie__portrait { flex: 0 0 calc((100% - 2 * clamp(16px, 1.8vw, 24px)) / 3); min-width: 220px; }
.acs-serie__portrait img {
  width: 100%;
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  object-position: 50% 30%;
  display: block;
  background: #e2d7c0;
}
@media (max-width: 700px) {
  .acs-serie__portrait { flex: 1 1 100%; max-width: 220px; }
}

/* --- Samarbejde: tre trin ------------------------------------------------ */

.acs-coop { background: var(--acs-sand); overflow: hidden; }
.acs-coop__inner {
  max-width: var(--acs-maxw);
  margin: 0 auto;
  padding: clamp(40px, 5vw, 72px) var(--acs-gutter);
}
.acs-coop__head {
  display: flex;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  flex-wrap: wrap;
}
.acs-coop__head > div { flex: 1 1 320px; min-width: 280px; }
.acs-coop__head h2 {
  margin: 0;
  max-width: 13ch;
  font-weight: var(--acs-w-light);
  font-size: clamp(26px, 3.6vw, 46px);
  line-height: 1.12;
  letter-spacing: var(--acs-track-tight-2);
  color: var(--acs-ink);
}
.acs-coop__steps {
  margin-top: clamp(32px, 4vw, 56px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(24px, 3vw, 48px);
}
.acs-coop__step { border-top: 1px solid #c4b599; padding-top: 20px; }
.acs-coop__n {
  font-weight: var(--acs-w-light);
  font-size: clamp(34px, 3.6vw, 48px);
  line-height: 1;
  color: var(--acs-blue);
}
.acs-coop__step h3 {
  margin: 12px 0 8px;
  font-size: 18px;
  font-weight: var(--acs-w-medium);
  color: var(--acs-ink);
}
.acs-coop__step p:not(.acs-eyebrow) {
  margin: 0;
  font-size: 15px;
  font-weight: var(--acs-w-body);
  line-height: 1.6;
  color: #4a544a;
}

/* --- Aktuel viden (billedbaggrund) + indlejret footer -------------------- */

.acs-news { position: relative; background: var(--acs-evergreen); overflow: hidden; }
.acs-news__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 62%;
  display: block;
  transform: scaleX(1.03);
  transform-origin: left center;
}
.acs-news__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(4, 27, 21, .9) 0%,
    rgba(4, 27, 21, .78) 42%,
    rgba(4, 27, 21, .5) 72%,
    rgba(4, 27, 21, .32) 100%);
}
.acs-news__inner {
  position: relative;
  max-width: var(--acs-maxw);
  margin: 0 auto;
  padding: clamp(52px, 7vw, 104px) var(--acs-gutter);
}
.acs-news__col { max-width: min(620px, 52%); }
.acs-news h2 {
  margin: 0 0 clamp(28px, 3.4vw, 42px);
  font-weight: var(--acs-w-light);
  font-size: clamp(30px, 4.2vw, 54px);
  line-height: 1.06;
  letter-spacing: var(--acs-track-tight);
  color: var(--acs-on-dark);
  max-width: 20ch;
  text-wrap: pretty;
}
.acs-news__list { display: flex; flex-direction: column; }
.acs-news__row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 15px 0;
  border-top: 1px solid var(--acs-rule-dark);
  color: var(--acs-on-dark);
}
.acs-news__row:last-child { border-bottom: 1px solid var(--acs-rule-dark); }
.acs-news__row span:first-child {
  flex: 1;
  font-size: 16px;
  font-weight: var(--acs-w-body);
  line-height: 1.4;
}
.acs-news__arrow {
  display: inline-block;
  color: var(--acs-label-palm-dk);
  transition: transform .4s cubic-bezier(.22, .61, .36, 1);
}
.acs-news__row:hover .acs-news__arrow,
.acs-news__row:focus-visible .acs-news__arrow { transform: translateX(8px); }
@media (prefers-reduced-motion: reduce) {
  .acs-news__arrow { transition: none; }
}
.acs-news__all {
  display: inline-block;
  margin-top: clamp(22px, 2.6vw, 32px);
  font-size: 16px;
  font-weight: var(--acs-w-label);
  color: var(--acs-on-dark);
}
.acs-news a:hover { color: var(--acs-label-palm-dk); }
@media (max-width: 860px) {
  .acs-news__col { max-width: 100%; }
}

/* Footeren ligger inde i .acs-news og skal over sløret, ikke bag det. */
.acs-news .acs-footer { position: relative; z-index: 1; }
