/* ============================================================
   FLOREA GRUP — Page sections (home + shared layout)
   ============================================================ */

/* generic section head with right-aligned link */
.divisions__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.divisions__headcta { flex: none; padding-bottom: 0.4em; }
@media (max-width: 680px){ .divisions__head { flex-direction: column; align-items: flex-start; gap: 1rem; } }

.chip {
  display: inline-block; font-family: var(--display); font-weight: 700; font-size: 0.7rem;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--red);
  background: var(--red-wash); padding: 0.4em 0.7em; border-radius: 100px;
}

/* ---------- Intro ---------- */
.intro__grid { display: grid; grid-template-columns: minmax(120px, 0.4fr) 2fr; gap: clamp(1.5rem, 5vw, 5rem); align-items: start; }
.intro__statement { font-family: var(--display); font-weight: 700; font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.18; letter-spacing: -0.02em; }
.intro__statement strong { color: var(--red); font-weight: 700; }
.intro__body { margin-top: 1.4em; max-width: 60ch; }
@media (max-width: 760px){ .intro__grid { grid-template-columns: 1fr; } }

/* ---------- Divisions grid ---------- */
.dcard-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 1.8vw, 26px); }
@media (max-width: 920px){ .dcard-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .dcard-grid { grid-template-columns: 1fr; } }

.dcard {
  display: flex; flex-direction: column; background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
  transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease), border-color 0.45s var(--ease);
}
.dcard:hover { transform: translateY(-5px); box-shadow: 0 22px 48px -28px rgba(24,23,21,0.45); border-color: var(--concrete); }
.dcard__img { position: relative; aspect-ratio: 4/3; }
.dcard__img .ph, .dcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dcard__no {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  font-family: var(--display); font-weight: 800; font-size: 0.8rem; letter-spacing: 0.1em;
  color: #fff; background: var(--red); padding: 0.35em 0.6em; border-radius: 3px;
}
.dcard__body { padding: clamp(1.1rem, 2vw, 1.6rem); display: flex; flex-direction: column; gap: 0.45rem; flex: 1; }
.dcard__cat { font-family: var(--display); font-weight: 700; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--steel); }
.dcard__tag { color: var(--steel); font-size: 0.95rem; flex: 1; }
.dcard__link { margin-top: 0.6rem; }
.dcard:hover .dcard__link { color: var(--red); }
.dcard:hover .dcard__link svg { transform: translateX(4px); }

/* ---------- Stats band (dark) ---------- */
.statsband__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); margin-top: 2.5rem; }
.statsband { position: relative; overflow: hidden; }
.statsband__bg { position: absolute; inset: 0; background: #111; }
.statsband__bg video { width: 100%; height: 100%; object-fit: cover; }
.statsband__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(24,23,21,.15) 0%, rgba(24,23,21,.08) 40%, rgba(24,23,21,.1) 70%, rgba(24,23,21,.25) 100%);
}
@media (max-width: 760px){ .statsband__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }
.statbig { border-top: 2px solid var(--red); padding-top: 1.1rem; }
.statbig__n { font-family: var(--display); font-weight: 800; font-size: clamp(2.6rem, 5.5vw, 4.4rem); line-height: 0.95; color: #fff; letter-spacing: -0.03em; }
.statbig__l { color: #b6b2aa; margin-top: 0.5rem; font-size: 1rem; }

/* ---------- Projects teaser ---------- */
.pteaser-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: auto; gap: clamp(16px, 1.8vw, 24px); }
.pteaser-grid .pcard--big { grid-column: span 1; }
@media (min-width: 921px){ .pteaser-grid { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; } .pteaser-grid .pcard--big { grid-row: span 2; } }
@media (max-width: 920px){ .pteaser-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .pteaser-grid { grid-template-columns: 1fr; } }

.pcard { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 240px; }
.pcard__img { position: absolute; inset: 0; transition: transform 0.6s var(--ease); }
.pcard__img img, .pcard__img .ph { width: 100%; height: 100%; object-fit: cover; }
.pcard:hover .pcard__img { transform: scale(1.05); }
.pcard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(24,23,21,0.85)); }
.pcard__overlay { position: absolute; inset: auto 0 0 0; z-index: 2; padding: clamp(1.2rem, 2.5vw, 2rem); color: #fff; }
.pcard__meta { font-family: var(--display); font-weight: 700; font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.78); }
.pcard__title { font-family: var(--display); font-weight: 800; font-size: clamp(1.15rem, 1.8vw, 1.7rem); line-height: 1.1; margin-top: 0.35em; color: #fff; }
.pcard--big .pcard__title { font-size: clamp(1.5rem, 2.6vw, 2.4rem); }

/* ---------- Sustainability strip ---------- */
.sustain-strip { position: relative; overflow: hidden; }
.sustain-strip__bg { position: absolute; inset: 0; }
.sustain-strip__bg .ph, .sustain-strip__bg video { width: 100%; height: 100%; object-fit: cover; }
.sustain-strip__inner { position: relative; z-index: 2; padding-block: clamp(110px, 13vw, 190px); }

/* ---------- News teaser ---------- */
.nteaser-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2vw, 30px); }
@media (max-width: 880px){ .nteaser-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .nteaser-grid { grid-template-columns: 1fr; } }

.ncard { display: flex; flex-direction: column; }
.ncard__img { aspect-ratio: 16/10; border-radius: var(--radius); }
.ncard__img img, .ncard__img .ph { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); }
.ncard__body { padding-top: 1.1rem; display: flex; flex-direction: column; gap: 0.6rem; }
.ncard__meta { display: flex; align-items: center; gap: 0.8rem; font-size: 0.85rem; }
.ncard__ex { font-size: 0.95rem; }
.ncard h3 { transition: color 0.2s; }
.ncard:hover h3 { color: var(--red); }
.ncard:hover { cursor: pointer; }

/* ---------- CTA band ---------- */
.ctaband { background: var(--red); color: #fff; padding-block: clamp(56px, 7vw, 100px); }
.ctaband__inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.ctaband .btn--ghost { color: #fff; border-color: rgba(255,255,255,0.5); }
.ctaband .btn--ghost:hover { background: rgba(255,255,255,0.12); border-color: #fff; }
.ctaband__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ---------- Page hero (interior pages) ---------- */
.phero { padding-top: 150px; padding-bottom: clamp(40px, 5vw, 70px); position: relative; }
.phero--dark { background: var(--ink); color: #fff; }
.phero--has-bg { background-size: cover; background-position: center; }
.phero--has-bg .wrap { position: relative; z-index: 1; }
.phero__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.phero__title { margin-top: 0.4em; max-width: 18ch; }
.phero__sub { max-width: 56ch; margin-top: 1.2em; }
.crumb { font-family: var(--display); font-weight: 700; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--steel); display:flex; gap:.6em; align-items:center; }
.phero--dark .crumb { color: #9a968e; }

/* ---------- Article ---------- */
.article__header { padding-top: 150px; padding-bottom: 0; }
.article__meta { display: flex; gap: .6em; align-items: center; margin-top: 1.2em; font-size: .9rem; color: var(--steel); }
.article__meta .dot { width: 4px; height: 4px; border-radius: 50%; background: var(--line); display: inline-block; }
.article__body { padding-top: clamp(2.5rem, 4vw, 4rem); max-width: 720px; margin: 0 auto; }
.article__body > .wrap { max-width: 720px; }
.article__p { font-size: 1.07rem; line-height: 1.7; margin-top: 1.2em; color: var(--graphite); }
.article__p:first-child { margin-top: 0; }
.article__img { margin-top: 2.2em; border-radius: var(--radius); overflow: hidden; }
.article__pq { margin-top: 2em; padding: 1.8em 2em; background: var(--red-wash); border-left: 4px solid var(--red); border-radius: var(--radius); }
.article__pq blockquote { font-family: var(--display); font-weight: 600; font-size: 1.15rem; line-height: 1.6; color: var(--ink); font-style: italic; }

/* ---------- Inline article ---------- */
.feat-news-wrap { border-bottom: 1px solid var(--border); }
.feat-news-wrap.is-open { padding-bottom: clamp(1.5rem, 3vw, 3rem); }
.feat-news { cursor: pointer; }
.article__toc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem 2rem; margin-top: 1.5rem; }
.article__toc-h { display: block; font-family: var(--display); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--steel); margin-bottom: .8rem; }
.article__toc ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.article__toc a { color: var(--red); text-decoration: none; font-weight: 600; font-size: .95rem; }
.article__toc a:hover { text-decoration: underline; }
