/* ============================================================
   DIRO Holdings — main.css
   One stylesheet for all pages (EN root + /de/).
   Font url() is relative to THIS file, so ../assets works everywhere.
   ============================================================ */

/* ---- Fonts (only Light 300 + Medium 500, subset) ---- */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format("woff2");
}

/* ---- Design tokens ---- */
:root {
  --anthracite: #2E3034;
  --paper: #F3F1EC;
  --copper: #9C6B47;          /* decorative only on dark */
  --copper-hover: #875B3B;
  --copper-dark: #875B3B;     /* copper as TEXT on paper (>=4.5:1) */
  --copper-light: #C89A73;    /* text labels on dark */
  --platinum: #C9C9CB;
  --graphite: #232320;

  --ink: #232320;             /* body text on paper */
  --ink-soft: #4a4a46;        /* secondary text on paper */

  --maxw: 1200px;
  --gutter: clamp(22px, 5vw, 64px);
  --section-y: clamp(80px, 12vw, 172px);
  --nav-h: 72px;

  --ease: cubic-bezier(.16, 1, .3, 1);
}

/* ---- Reset / base ---- */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
body {
  margin: 0;
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 300;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; }
figure { margin: 0; }

/* ---- Shared layout ---- */
.wrap {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.section { padding-block: var(--section-y); position: relative; }
.section--dark { background: var(--anthracite); color: var(--platinum); }
.section--paper { background: var(--paper); color: var(--ink); }

[id] { scroll-margin-top: calc(var(--nav-h) + 12px); }

/* ---- Typography helpers ---- */
.eyebrow {
  font-weight: 500;
  font-size: .72rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--copper-dark);       /* on paper: darker copper for >=4.5:1 */
  margin: 0 0 1.1rem;
  display: inline-flex;
  align-items: center;
  gap: .7em;
}
.section--dark .eyebrow { color: var(--copper-light); }  /* on dark: light copper */
.eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: .8;
  flex: none;
}

.h-section {
  font-weight: 500;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
}
.section--paper .h-section { color: var(--graphite); }
.section--dark .h-section { color: var(--platinum); }

.lede { font-weight: 300; }
.section--dark .lede { color: var(--platinum); }

/* ============================================================
   NAV
   ============================================================ */
.nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  transition: background-color .3s var(--ease), backdrop-filter .3s var(--ease),
              border-color .3s var(--ease);
  background: transparent;
  border-bottom: 1px solid transparent;
}
.nav__inner {
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.nav__brand { display: flex; align-items: center; }
.nav__brand img { height: 20px; width: auto; }
.nav__right { display: flex; align-items: center; gap: clamp(1.1rem, 2.4vw, 2.2rem); }
.nav__links { display: flex; align-items: center; gap: clamp(1.1rem, 2.2vw, 2rem); }
.nav__links a {
  font-size: .82rem;
  letter-spacing: .04em;
  color: var(--platinum);
  opacity: .82;
  transition: opacity .25s var(--ease), color .25s var(--ease);
}
.nav__links a:hover { opacity: 1; color: #fff; }

.nav--scrolled {
  background: rgba(46, 48, 52, .85);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom-color: rgba(156, 107, 71, .55);
}

/* language switch */
.lang {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: .8rem;
  letter-spacing: .06em;
}
.lang a { color: var(--platinum); opacity: .72; transition: opacity .25s var(--ease); }
.lang a:hover { opacity: 1; }
.lang a[aria-current="true"] { color: var(--copper-light); opacity: 1; font-weight: 500; }
.lang__sep { opacity: .35; }

/* focus states — visible copper outline everywhere */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--copper-light);
  outline-offset: 3px;
  border-radius: 2px;
}
.section--paper a:focus-visible { outline-color: var(--copper); }

/* skip link */
.skip {
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 100;
  background: var(--anthracite);
  color: var(--platinum);
  padding: .6rem 1rem;
  border-radius: 4px;
  transition: top .2s var(--ease);
}
.skip:focus { top: 12px; }

/* ---- language hint bar (EN page, dezent) ---- */
.langhint {
  display: none;
  position: fixed;
  z-index: 45;
  top: var(--nav-h);
  left: 0; right: 0;
  background: rgba(35, 35, 32, .96);
  color: var(--platinum);
  font-size: .82rem;
  letter-spacing: .02em;
  border-bottom: 1px solid rgba(156, 107, 71, .4);
}
.langhint.is-visible { display: block; }
.langhint__inner {
  max-width: var(--maxw);
  margin-inline: auto;
  padding: .55rem var(--gutter);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.langhint a { color: var(--copper-light); border-bottom: 1px solid transparent; }
.langhint a:hover { border-bottom-color: var(--copper-light); }
.langhint button {
  background: none; border: none; color: var(--platinum);
  opacity: .72; cursor: pointer; font: inherit; padding: 0 .2rem;
}
.langhint button:hover { opacity: 1; }

/* ============================================================
   MOBILE MENU (hamburger + full-screen overlay)
   ============================================================ */
.nav__toggle {
  display: none;                 /* shown only on small screens */
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 42px;
  height: 42px;
  padding: 10px 9px;
  margin-right: -6px;
  background: none;
  border: 0;
  cursor: pointer;
}
.nav__toggle span {
  display: block;
  width: 100%;
  height: 1.5px;
  background: var(--platinum);
  border-radius: 2px;
}
.mobilemenu {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: var(--anthracite);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.2rem;
  padding: calc(var(--nav-h) + 1rem) var(--gutter) var(--gutter);
  opacity: 0;
  transition: opacity .3s var(--ease);
}
.mobilemenu.is-open { opacity: 1; }
.mobilemenu[hidden] { display: none; }
.mobilemenu__close {
  position: absolute;
  top: 14px;
  right: max(var(--gutter), 16px);
  width: 44px;
  height: 44px;
  background: none;
  border: 0;
  color: var(--platinum);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: color .25s var(--ease);
}
.mobilemenu__close:hover { color: var(--copper-light); }
.mobilemenu__nav {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}
.mobilemenu__nav a {
  font-weight: 500;
  font-size: clamp(1.7rem, 8vw, 2.4rem);
  line-height: 1.1;
  letter-spacing: .01em;
  color: var(--platinum);
  transition: color .25s var(--ease);
}
.mobilemenu__nav a:hover,
.mobilemenu__nav a:focus-visible { color: var(--copper-light); }
.mobilemenu__lang { font-size: 1.05rem; letter-spacing: .08em; }
body.menu-open { overflow: hidden; }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  min-height: 100vh;          /* fallback */
  min-height: 100svh;
  display: flex;
  align-items: center;
  background: var(--anthracite);
  color: var(--platinum);
  overflow: hidden;
}
/* grain */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .04;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size: 160px 160px;
  z-index: 1;
}
/* oversized copper O */
.hero__o {
  position: absolute;
  right: -15%;
  top: 50%;
  transform: translateY(-50%);
  height: 120vh;
  width: auto;
  opacity: .08;
  pointer-events: none;
  z-index: 0;
  will-change: transform;
}
.hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gutter);
  padding-top: var(--nav-h);
}
.hero__logo {
  width: min(560px, 82vw);
  height: auto;
  margin: 0 0 clamp(1.6rem, 3.5vw, 2.6rem);
}
.hero__eyebrow {
  font-weight: 500;
  font-size: clamp(.66rem, 1.5vw, .78rem);
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--copper-light);
  margin: 0 0 1.4rem;
}
.hero__line {
  font-weight: 300;
  font-size: clamp(1.55rem, 3.3vw, 2.7rem);
  line-height: 1.28;
  letter-spacing: -0.005em;
  color: var(--platinum);
  max-width: 20ch;
  text-wrap: balance;   /* keep short trailing lines from hanging */
}
.hero__cue {
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
}
.hero__cue span {
  font-size: .62rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--copper-light);
  opacity: .7;
}
.hero__cue i { width: 1px; height: 46px; background: var(--copper); opacity: .65; }

/* ============================================================
   ABOUT
   ============================================================ */
.about__grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.about__body p + p { margin-top: 1.3rem; }
.about__body p { max-width: 56ch; color: var(--ink-soft); }

/* skyline band */
.skyband {
  position: relative;
  margin-top: clamp(3rem, 7vw, 6rem);
  width: 100%;
  height: clamp(220px, 34vw, 460px);
  overflow: hidden;
}
.skyband img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 116%;
  top: -8%;
  object-fit: cover;
  object-position: center 40%;
  will-change: transform;
}
/* overlay removed (senior review): the dark image sits as a clean editorial block on paper */

/* founder signature line */
.founder {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .1rem .2rem;
  margin-top: clamp(1.6rem, 3vw, 2.2rem);
  font-size: .98rem;
}
.founder__rule {
  width: 40px;
  height: 1px;
  background: var(--copper);
  margin-right: 1rem;
  flex: none;
}
.founder__name { font-weight: 500; color: var(--graphite); }
.founder__role { font-weight: 300; color: var(--ink-soft); }

/* ============================================================
   PRESENCE BAND (#facts) — quiet, static footprint line
   ============================================================ */
.presence { max-width: 940px; }
.presence__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .8rem 1.6rem;
  flex-wrap: wrap;
  margin-bottom: clamp(1.4rem, 3vw, 2.1rem);
}
.presence__top .eyebrow { margin: 0; }
.presence__held {
  font-weight: 500;
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(201, 201, 203, .72);
}
.presence__cities {
  font-weight: 500;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  line-height: 1.16;
  letter-spacing: -0.01em;
  color: var(--platinum);
}
.presence__sectors {
  margin-top: clamp(1rem, 2vw, 1.4rem);
  font-size: .98rem;
  line-height: 1.6;
  letter-spacing: .02em;
  color: rgba(201, 201, 203, .75);
  max-width: 60ch;
}
.presence__soft { color: rgba(201, 201, 203, .55); }

/* ============================================================
   PORTFOLIO
   ============================================================ */
.portfolio__head { max-width: 640px; margin-bottom: clamp(2.4rem, 5vw, 3.6rem); }
.portfolio__head .lede { margin-top: 1rem; color: var(--ink-soft); }

.cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(1rem, 2vw, 1.5rem);
}
.card {
  flex: 0 1 calc((100% - 2 * clamp(1rem, 2vw, 1.5rem)) / 3);
  min-width: 260px;
  background: var(--anthracite);
  color: var(--platinum);
  padding: clamp(1.6rem, 2.4vw, 2.2rem);
  position: relative;
  overflow: hidden;
  transition: transform .4s var(--ease);
}
.card__rule {
  position: absolute;
  left: 0; top: 0;
  height: 2px;
  width: 40%;
  background: var(--copper);
  transition: width .45s var(--ease);
}
.card:hover { transform: translateY(-6px); }
.card:hover .card__rule,
.card:focus-within .card__rule { width: 100%; }

.card__name {
  font-weight: 500;
  font-size: 1.32rem;
  color: var(--platinum);
  margin-top: .4rem;
}
.card__tag {
  margin-top: .5rem;
  font-weight: 500;
  font-size: .66rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--copper-light);
}
.card__meta {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .6rem .8rem;
}
.card__status { margin-top: .7rem; }
.card__loc { font-size: .84rem; color: rgba(201, 201, 203, .72); letter-spacing: .02em; }
.pill {
  display: inline-block;
  font-size: .66rem;
  letter-spacing: .06em;
  padding: .28em .7em;
  border: 1px solid rgba(201, 201, 203, .4);
  border-radius: 999px;
  color: var(--platinum);
  white-space: nowrap;
}
.card__desc {
  margin-top: 1.1rem;
  font-size: .95rem;
  line-height: 1.62;
  color: rgba(201, 201, 203, .82);
}
.portfolio__note {
  margin-top: clamp(1.8rem, 3.5vw, 2.6rem);
  font-size: .8rem;
  line-height: 1.6;
  color: var(--ink-soft);
  max-width: 62ch;
}

/* ============================================================
   REGION
   ============================================================ */
.region__grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}
.region__body p + p { margin-top: 1.3rem; }
.region__body .lede { color: rgba(201, 201, 203, .86); max-width: 52ch; }
.region__map {
  position: relative;
}
.region__map img, .region__map svg {
  width: 100%;
  height: auto;
  will-change: transform;
}

/* ============================================================
   APPROACH
   ============================================================ */
.approach__head { margin-bottom: clamp(2.4rem, 5vw, 3.6rem); }
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
}
.step__num {
  font-weight: 500;
  font-size: 1.6rem;
  color: var(--copper);
  letter-spacing: .02em;
}
.step__rule { width: 34px; height: 2px; background: var(--copper); margin: 1rem 0 1.1rem; }
.step__title {
  font-weight: 500;
  font-size: 1.22rem;
  color: var(--graphite);
  margin-bottom: .7rem;
}
.step__text { color: var(--ink-soft); max-width: 40ch; }

/* ============================================================
   FOOTER / CONTACT
   ============================================================ */
.footer { background: var(--anthracite); color: var(--platinum); }
.footer__top {
  padding-top: var(--section-y);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}
.footer__lead .eyebrow { color: var(--copper-light); }
.footer__lead .h-section { color: var(--platinum); margin-bottom: 1.1rem; }
.footer__lead p { color: rgba(201, 201, 203, .82); max-width: 46ch; }

.footer__mark { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.6rem; }
.footer__mark img { height: 40px; width: auto; }
.footer__addr {
  font-size: .92rem;
  line-height: 1.75;
  color: rgba(201, 201, 203, .78);
  font-style: normal;
}
.footer__addr a { color: var(--copper-light); transition: color .25s var(--ease); }
.footer__addr a:hover { color: #e0b892; }

.footer__nav {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  align-items: flex-start;
}
.footer__nav .footer__col-title {
  font-size: .68rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--copper-light);
  margin-bottom: .5rem;
}
.footer__nav a {
  font-size: .9rem;
  color: rgba(201, 201, 203, .78);
  transition: color .25s var(--ease);
}
.footer__nav a:hover { color: #fff; }
.footer__lang { margin-top: 1.2rem; }

.footer__bottom {
  border-top: 1px solid rgba(156, 107, 71, .5);
  padding-block: 1.5rem 2rem;
}
.footer__bottom .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer__copy { font-size: .8rem; letter-spacing: .04em; color: rgba(201, 201, 203, .72); }

/* ============================================================
   LEGAL / PRIVACY SUBPAGES
   ============================================================ */
.sub {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
}
.sub__main { flex: 1; padding-top: clamp(2.6rem, 6vw, 4.6rem); padding-bottom: clamp(3rem, 8vw, 6rem); }
.sub__footer {
  background: var(--anthracite);
  border-top: 1px solid rgba(156, 107, 71, .5);
  padding-block: 1.4rem;
}
.sub__footer .wrap {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
}
.sub__footer .footer__copy { font-size: .8rem; color: rgba(201, 201, 203, .72); letter-spacing: .04em; }
.sub__footer a { color: var(--copper-light); font-size: .8rem; }
.sub__footer a:hover { color: #e0b892; }
.sub__inner { max-width: 760px; }
.sub__inner .eyebrow { color: var(--copper-dark); }
.sub__inner h1 {
  font-weight: 500;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.12;
  color: var(--graphite);
  margin-bottom: 2rem;
}
.sub__block { margin-bottom: 1.6rem; color: var(--ink-soft); }
.sub__block strong { color: var(--graphite); font-weight: 500; }
.sub__addr {
  font-style: normal;
  line-height: 1.8;
  color: var(--ink);
  margin-bottom: 2rem;
}
.sub__addr a { color: var(--copper-dark); }
.sub__addr a:hover { color: #6f4a30; }
.sub__back {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  margin-top: 2.4rem;
  font-size: .9rem;
  color: var(--copper-dark);
}
.sub__back:hover { color: #6f4a30; }
/* dark mini-nav for subpages */
.nav--solid {
  position: static;
  background: var(--anthracite);
  border-bottom: 1px solid rgba(156, 107, 71, .5);
}
.nav--solid .nav__links a,
.nav--solid .lang a { color: var(--platinum); }

/* ============================================================
   REVEAL SYSTEM (progressive enhancement)
   Base state visible; only html.js-anim hides, then .in reveals.
   ============================================================ */
html.js-anim .reveal { opacity: 0; transform: translateY(20px); }
html.js-anim .reveal.in {
  opacity: 1;
  transform: none;
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
/* stagger */
html.js-anim .reveal.in[data-d="1"] { transition-delay: .06s; }
html.js-anim .reveal.in[data-d="2"] { transition-delay: .12s; }
html.js-anim .reveal.in[data-d="3"] { transition-delay: .18s; }
html.js-anim .reveal.in[data-d="4"] { transition-delay: .24s; }
html.js-anim .reveal.in[data-d="5"] { transition-delay: .30s; }

/* hero fade-in on load */
html.js-anim .hero__logo,
html.js-anim .hero__eyebrow,
html.js-anim .hero__line { opacity: 0; transform: translateY(14px); }
html.js-anim .hero.is-ready .hero__logo,
html.js-anim .hero.is-ready .hero__eyebrow,
html.js-anim .hero.is-ready .hero__line {
  opacity: 1;
  transform: none;
  transition: opacity .6s var(--ease), transform .6s var(--ease);
}
html.js-anim .hero.is-ready .hero__eyebrow { transition-delay: .12s; }
html.js-anim .hero.is-ready .hero__line { transition-delay: .24s; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .about__grid { grid-template-columns: 1fr; gap: 1.6rem; }
  .region__grid { grid-template-columns: 1fr; gap: 2.2rem; }
  .region__map { order: -1; }
  .steps { grid-template-columns: 1fr; gap: 2.2rem; }
  .footer__grid { grid-template-columns: 1fr; gap: 2.4rem; }
  .card { flex: 0 1 calc((100% - clamp(1rem,2vw,1.5rem)) / 2); }
}
@media (max-width: 760px) {
  .nav__links { display: none; }         /* replaced by the mobile menu */
  .nav__toggle { display: inline-flex; }
}
@media (max-width: 560px) {
  .card { flex: 0 1 100%; min-width: 0; }
  .cards { justify-content: stretch; }
}

/* ============================================================
   REDUCED MOTION — end states immediate, no parallax transitions
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  html.js-anim .reveal,
  html.js-anim .reveal.in,
  html.js-anim .hero__logo,
  html.js-anim .hero__eyebrow,
  html.js-anim .hero__line {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .card { transition: none; }
  .mobilemenu { transition: none !important; }
  * { scroll-behavior: auto !important; }
}

/* Presence-Band: Klammerzusatz bricht als Ganzes um (nur Desktop) */
@media (min-width: 769px) {
  .presence__soft { display: inline-block; white-space: nowrap; }
}
