/* ==========================================================================
   DRONEMOTIVE — pages.css  (Unterseiten)
   ========================================================================== */

/* ------------------------------------------------------------ Gemeinsame Heroes */
.about-hero, .svc-hero, .idx-hero, .ct-hero, .pr-hero, .faq-hero, .lg-hero { padding: clamp(2.5rem, 5vw, 5rem) 0 clamp(3rem, 6vw, 6rem); }
.about-hero .crumbs, .svc-hero .crumbs, .idx-hero .crumbs, .ct-hero .crumbs, .pr-hero .crumbs, .faq-hero .crumbs { grid-column: 1 / -1; }
.about-hero .eyebrow, .svc-hero .eyebrow, .idx-hero .eyebrow, .ct-hero .eyebrow, .pr-hero .eyebrow, .faq-hero .eyebrow { grid-column: 1 / -1; }
.about-hero__title, .svc-hero__title, .idx-hero__title, .ct-hero__title, .pr-hero__title, .faq-hero__title {
  grid-column: 1 / 11; font: 400 clamp(3rem, 9.4vw, 10rem)/.92 var(--serif); letter-spacing: -.03em; margin: 0 0 clamp(1.6rem, 3vw, 3rem);
}
.idx-hero__title, .ct-hero__title, .pr-hero__title, .faq-hero__title { font-size: clamp(2.8rem, 7.6vw, 8rem); }
.about-hero__lede, .svc-hero__lede, .idx-hero__lede, .ct-hero__lede, .pr-hero__lede, .faq-hero__lede {
  grid-column: 1 / 8; font: 400 clamp(1.25rem, 2vw, 1.75rem)/1.3 var(--serif); color: var(--ink); max-width: 36ch; margin: 0;
}
.idx-hero__lede { grid-column: 1 / 10; max-width: 68ch; color: var(--muted); font: 400 clamp(1rem, 1.3vw, 1.12rem)/1.65 var(--sans); }
.faq-hero__lede { font-family: var(--sans); font-size: 1.08rem; line-height: 1.55; color: var(--muted); }
.pr-hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; padding: 0; background: var(--char); color: var(--chalk); overflow: hidden; isolation: isolate; }
.pr-hero__image { position: absolute; inset: -3% 0; z-index: -2; margin: 0; }
.pr-hero__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pr-hero__image figcaption { position: absolute; right: var(--gutter); bottom: 1.5rem; z-index: 2; color: rgba(242, 240, 234, .72); font: 600 .66rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.pr-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 14, 15, .76) 0%, rgba(10, 14, 15, .48) 50%, rgba(10, 14, 15, .12) 100%), linear-gradient(0deg, rgba(10, 14, 15, .72) 0%, transparent 65%); }
.pr-hero__inner { width: 100%; padding-top: calc(var(--hdr) + 3rem); padding-bottom: clamp(4rem, 9vh, 7rem); }
.pr-hero .crumbs { color: rgba(242, 240, 234, .78); margin-bottom: clamp(3rem, 10vh, 8rem); }
.pr-hero .eyebrow { color: var(--copper-l); }
.pr-hero__title { color: var(--chalk); text-shadow: 0 2px 28px rgba(0, 0, 0, .24); }
.pr-hero__lede { color: rgba(242, 240, 234, .88); }

/* ------------------------------------------------------------ Über uns */
.about-hero { padding-bottom: 0; }
.about-hero__lede { grid-column: 1 / 7; }
.about-hero__img1 { grid-column: 1 / 9; margin: clamp(3rem, 6vw, 6rem) 0 0; }
.about-hero__img1 img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.about-hero__img2 { grid-column: 10 / 13; margin: 0; align-self: end; transform: translateY(clamp(2rem, 6vw, 7rem)); }
.about-hero__img2 img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.about-hero figcaption { padding-bottom: .4rem; }

.about-text { padding: clamp(6rem, 12vw, 12rem) 0 clamp(4rem, 8vw, 8rem); }
.about-text__h { grid-column: 1 / 6; font: 400 clamp(2.4rem, 4.6vw, 4.6rem)/1 var(--serif); letter-spacing: -.02em; margin: 0; }
.about-text__cols { grid-column: 7 / 13; display: grid; gap: 1.4rem; font-size: 1.08rem; line-height: 1.65; }
.about-text__cols p:first-child::first-letter { font: 400 4.6em/.8 var(--serif); float: left; padding: .06em .1em 0 0; color: var(--copper-d); }

.principles { background: var(--char); color: var(--chalk); padding: clamp(4.5rem, 9vw, 9rem) 0; }
.principles .eyebrow { color: var(--copper-l); }
.principles__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 6vw, 7rem); border-top: 1px solid var(--line-d); }
.principles__list li { padding: clamp(1.6rem, 3vw, 2.6rem) 0; border-bottom: 1px solid var(--line-d); display: grid; grid-template-columns: 3rem 1fr; column-gap: 1rem; }
.principles__n { grid-row: span 2; font: 600 .74rem/1.9 var(--sans); letter-spacing: .18em; color: var(--copper-l); }
.principles h3 { font: 400 clamp(1.6rem, 2.4vw, 2.3rem)/1.1 var(--serif); margin-bottom: .6rem; }
.principles p:last-child { color: var(--muted-d); max-width: 44ch; }

.about-not { padding: clamp(5rem, 10vw, 10rem) 0; background: var(--paper); }
.about-not__l { grid-column: 1 / 6; }
.about-not__list { grid-column: 7 / 13; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--char); }
.about-not__list li { padding: 1.4rem 0; border-bottom: 1px solid var(--line); color: var(--muted); line-height: 1.6; }
.about-not__list strong { display: block; color: var(--ink); font-weight: 600; margin-bottom: .3rem; }

.about-j { padding: clamp(4.5rem, 9vw, 9rem) 0; }
.about-j__t { grid-column: 1 / 7; display: grid; gap: 1.4rem; align-content: start; }
.about-j__t p { color: var(--muted); max-width: 46ch; }
.about-j__t .btn-line { justify-self: start; }
.about-j__l { grid-column: 8 / 13; border-top: 1px solid var(--char); align-self: end; }
.about-j__item { display: grid; grid-template-columns: 1fr auto; row-gap: .5rem; column-gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); transition: padding-left .5s var(--ease), color .3s; }
.about-j__item span { grid-column: 1 / -1; font: 600 .7rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--copper-d); }
.about-j__item strong { font: 400 clamp(1.4rem, 2.2vw, 2rem)/1.12 var(--serif); }
.about-j__item i { font-style: normal; align-self: end; transition: transform .45s var(--ease); }
.about-j__item:hover { padding-left: 1rem; color: var(--copper-d); }
.about-j__item:hover i { transform: translateX(6px); }

/* ------------------------------------------------------------ Leistungen (Index) */
.svc-hero__title { grid-column: 1 / 12; }
.svc-rows { padding: clamp(1rem, 3vw, 3rem) 0 clamp(3rem, 6vw, 6rem); }
.svc-row { padding: clamp(2.5rem, 6vw, 6rem) 0; }
.svc-row__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: center; }
.svc-row__img { display: block; grid-column: 1 / 8; grid-row: 1; overflow: hidden; background: var(--char); }
.svc-row__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.svc-row__txt { grid-column: 9 / 13; grid-row: 1; display: grid; gap: 1.2rem; justify-items: start; }
.svc-row--r .svc-row__img { grid-column: 6 / 13; }
.svc-row--r .svc-row__txt { grid-column: 1 / 5; }
.svc-row__n { font: 600 .74rem/1 var(--sans); letter-spacing: .2em; color: var(--copper-d); margin: 0; }
.svc-row__t { font: 400 clamp(2.4rem, 4.6vw, 4.8rem)/.98 var(--serif); letter-spacing: -.02em; }
.svc-row__txt > p { color: var(--muted); }
.svc-row__uses { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.svc-row__uses li { border: 1px solid var(--line); padding: .45rem .8rem; font-size: .82rem; }

.factors { background: var(--paper); padding: clamp(4.5rem, 9vw, 9rem) 0; border-top: 1px solid var(--line); }
.factors__l { grid-column: 1 / 6; display: grid; gap: 1.2rem; align-content: start; }
.factors__l p:last-child { color: var(--muted); max-width: 40ch; }
.factors__list { grid-column: 7 / 13; margin: 0; border-top: 1px solid var(--char); }
.factors__list > div { padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.factors dt { font: 400 clamp(1.5rem, 2.4vw, 2.2rem)/1.1 var(--serif); display: flex; gap: 1rem; align-items: baseline; }
.factors dt span { font: 600 .72rem/1 var(--sans); letter-spacing: .18em; color: var(--copper-d); }
.factors dd { margin: .6rem 0 0 2.6rem; color: var(--muted); max-width: 50ch; }

.svc-outcome { padding: clamp(4rem, 8vw, 7rem) 0; border-top: 1px solid var(--line); }
.svc-outcome__head { grid-column: 1 / 5; }
.svc-outcome__list { grid-column: 5 / 10; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--char); }
.svc-outcome__list li { position: relative; padding: 1rem 0 1rem 1.5rem; border-bottom: 1px solid var(--line); color: var(--muted); line-height: 1.55; }
.svc-outcome__list li::before { content: ""; position: absolute; left: 0; top: 1.7rem; width: .65rem; height: 1px; background: var(--copper-d); }
.svc-outcome__price { grid-column: 10 / 13; align-self: start; margin: 0; padding: 1.4rem; background: var(--paper); border-top: 2px solid var(--copper); }
.svc-outcome__price span { display: block; margin-bottom: .8rem; color: var(--copper-d); font: 600 .68rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; }
.svc-outcome__price p { color: var(--muted); font-size: .94rem; line-height: 1.6; }

/* ------------------------------------------------------------ Leistung (Detail) */
.sv-hero__title { font: 400 clamp(3rem, 8.4vw, 9rem)/.92 var(--serif); letter-spacing: -.03em; margin: 0 0 clamp(1.4rem, 3vw, 2.6rem); }
.sv-hero__lead { font: 400 clamp(1.2rem, 1.9vw, 1.65rem)/1.32 var(--serif); max-width: 34ch; margin: 0; }
.sv-hero__act { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem; margin-top: 2rem; }

/* split */
.sv-hero--split { padding: clamp(2rem, 4vw, 4rem) 0 clamp(3rem, 6vw, 6rem); }
.sv-hero--split .crumbs { grid-column: 1 / -1; }
.sv-hero--split .sv-hero__txt { grid-column: 1 / 7; align-self: center; padding-block: 2rem; }
.sv-hero--split .sv-hero__img { grid-column: 8 / 13; margin: 0; }
.sv-hero--split .sv-hero__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.sv-hero--split .sv-hero__title { font-size: clamp(3rem, 7vw, 7.4rem); }
/* typographic */
.sv-hero--typo { padding-top: clamp(2rem, 4vw, 4rem); }
.sv-hero--typo .sv-hero__title { font-size: clamp(3.4rem, 12.5vw, 14rem); line-height: .86; margin-bottom: clamp(2rem, 4vw, 4rem); }
.sv-hero__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; }
.sv-hero--typo .sv-hero__img { margin: clamp(2.5rem, 5vw, 5rem) 0 0; }
.sv-hero--typo .sv-hero__img img { width: 100%; height: clamp(320px, 56vh, 640px); object-fit: cover; }
/* immersive + letterbox */
.sv-hero--immersive, .sv-hero--letter { position: relative; color: var(--chalk); background: var(--char); overflow: hidden; isolation: isolate; }
.sv-hero--immersive { min-height: 100svh; display: flex; align-items: flex-end; }
.sv-hero--immersive .sv-hero__img, .sv-hero--letter .sv-hero__img { position: absolute; inset: -6% 0; z-index: -2; margin: 0; }
.sv-hero--immersive .sv-hero__img img, .sv-hero--letter .sv-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.sv-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 18, 20, .72), rgba(12, 18, 20, .1) 55%), linear-gradient(180deg, rgba(12, 18, 20, .45), rgba(12, 18, 20, 0) 25%); }
.sv-hero--immersive .sv-hero__inner { padding-top: calc(var(--hdr) + 2rem); padding-bottom: clamp(3.5rem, 8vh, 6rem); }
.sv-hero--immersive .sv-hero__title { font-size: clamp(3.6rem, 11vw, 12rem); }
.sv-hero--immersive .sv-hero__lead { color: rgba(242, 240, 234, .9); margin-bottom: 2rem; }
.sv-hero--letter { padding: calc(var(--hdr) + 2rem) 0 clamp(3rem, 7vw, 7rem); min-height: min(86svh, 860px); display: flex; align-items: flex-end; }
.sv-hero--letter::before, .sv-hero--letter::after { content: ""; position: absolute; left: 0; right: 0; height: clamp(40px, 8vh, 90px); background: var(--char); z-index: -1; }
.sv-hero--letter::before { top: 0; } .sv-hero--letter::after { bottom: 0; }
.sv-hero--letter .wrap { width: 100%; }
.sv-hero--letter .sv-hero__title { font-size: clamp(3.2rem, 9vw, 10rem); }
.sv-hero--letter .sv-hero__lead { color: rgba(242, 240, 234, .9); }

/* tall */
.sv-tall { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 6vw, 7rem); padding-top: clamp(2rem, 4vw, 4rem); }
.sv-tall__side { position: sticky; top: calc(var(--hdr) + 1.5rem); align-self: start; height: calc(100svh - var(--hdr) - 3rem); }
.sv-tall__side figure { height: 100%; margin: 0; }
.sv-tall__side img { width: 100%; height: 100%; object-fit: cover; }
.sv-tall__main .sv-hero__title { font-size: clamp(3rem, 6.4vw, 7rem); }
.sv-tall__p { margin: 1.6rem 0 0; max-width: 56ch; font-size: 1.06rem; line-height: 1.65; color: var(--muted); }
.sv-tall__main .sv-intro, .sv-tall__main section { padding-block: clamp(2.5rem, 5vw, 5rem); }
.sv-tall__main .wrap { padding-inline: 0; }
.sv-tall__main .grid { display: block; }

/* Abschnitte */
.sv-intro { padding: clamp(4rem, 8vw, 8rem) 0 clamp(2rem, 4vw, 4rem); }
.sv-intro .eyebrow { grid-column: 1 / 4; }
.sv-intro__txt { grid-column: 4 / 11; display: grid; gap: 1.4rem; font-size: 1.1rem; line-height: 1.65; color: var(--muted); }
.sv-intro__first { font: 400 clamp(1.6rem, 2.8vw, 2.5rem)/1.2 var(--serif); color: var(--ink); }

.sv-uses { padding: clamp(3.5rem, 7vw, 7rem) 0; }
.sv-uses__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 6vw, 7rem); border-top: 1px solid var(--char); counter-reset: u; }
.sv-uses__list li { display: grid; grid-template-columns: 3rem 1fr; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.sv-uses__n { font: 600 .72rem/2 var(--sans); letter-spacing: .18em; color: var(--copper-d); grid-row: span 2; }
.sv-uses__list h3 { font: 400 clamp(1.5rem, 2.2vw, 2rem)/1.12 var(--serif); margin-bottom: .5rem; }
.sv-uses__list p { color: var(--muted); max-width: 44ch; }

.sv-flow { padding: clamp(3.5rem, 7vw, 7rem) 0; background: var(--paper); }
.sv-flow__list { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--char); }
.sv-flow__list li { display: grid; grid-template-columns: clamp(3.5rem, 8vw, 8rem) 1fr; gap: 1rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.sv-flow__n { font: 400 clamp(2.4rem, 5vw, 5rem)/.9 var(--serif); color: var(--copper-d); }
.sv-flow h3 { font: 400 clamp(1.5rem, 2.4vw, 2.2rem)/1.1 var(--serif); margin-bottom: .5rem; }
.sv-flow p { color: var(--muted); max-width: 60ch; }
.sv-flow__more { margin-top: 2rem; }

.sv-deliv { padding: clamp(3.5rem, 7vw, 7rem) 0; }
.sv-deliv__h { grid-column: 1 / 6; font: 400 clamp(2.2rem, 4vw, 4rem)/1 var(--serif); letter-spacing: -.02em; margin: 0; }
.sv-deliv__list { grid-column: 7 / 13; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--char); }
.sv-deliv__list li, .sv-notes__list li { padding: 1rem 0 1rem 1.6rem; border-bottom: 1px solid var(--line); position: relative; }
.sv-deliv__list li::before, .sv-notes__list li::before { content: ""; position: absolute; left: 0; top: 1.55rem; width: .7rem; height: 1px; background: var(--copper-d); }

.sv-notes { padding: clamp(3.5rem, 7vw, 7rem) 0; background: var(--char); color: var(--chalk); }
.sv-notes__h { grid-column: 1 / 6; font: 400 clamp(2.2rem, 4vw, 4rem)/1 var(--serif); letter-spacing: -.02em; margin: 0; }
.sv-notes__list { grid-column: 7 / 13; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-d); color: var(--muted-d); }
.sv-notes__list li { border-color: var(--line-d); }
.sv-notes__list li::before { background: var(--copper-l); }

.sv-faq { padding: clamp(4rem, 8vw, 8rem) 0; }
.sv-faq__h { grid-column: 1 / 5; font: 400 clamp(2.2rem, 4vw, 4rem)/1 var(--serif); letter-spacing: -.02em; margin: 0; }
.sv-faq__list { grid-column: 6 / 13; }
.sv-faq__more { margin-top: 1.6rem; }
.sv-detail { padding-block: clamp(2rem, 5vw, 5rem); }
.sv-detail figure { margin: 0; }
.sv-detail img { width: 100%; max-height: 70vh; object-fit: cover; }

.sv-related { padding: clamp(4rem, 8vw, 8rem) 0; background: var(--paper); border-top: 1px solid var(--line); }
.sv-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.4rem, 3vw, 3rem) var(--gap); }
.rel-proj { display: block; }
.rel-proj .reveal-img { overflow: hidden; background: var(--char); }
.rel-proj img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.rel-proj__n { font: 600 .7rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--copper-d); margin: 1rem 0 .5rem; }
.rel-proj__t { font: 400 clamp(1.5rem, 2.2vw, 2.1rem)/1.1 var(--serif); }
.sv--letterbox .sv-intro, .sv--letterbox .sv-flow { background: var(--char); color: var(--chalk); }
.sv--letterbox .sv-intro__first { color: var(--chalk); }
.sv--letterbox .sv-intro__txt, .sv--letterbox .sv-flow p { color: var(--muted-d); }
.sv--letterbox .sv-flow__list, .sv--letterbox .sv-flow__list li { border-color: var(--line-d); }
.sv--letterbox .sv-flow__n { color: var(--copper-l); }
.sv--letterbox .eyebrow { color: var(--copper-l); }
.sv--letterbox .sv-flow .sec-title { color: var(--chalk); }
.sv--letterbox .sv-flow__more .ul { color: var(--chalk); }

/* ------------------------------------------------------------ Projekte (Index) */
.idx { padding: 0 0 clamp(4rem, 8vw, 8rem); }
.pgrid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(3rem, 7vw, 7rem); }
.pcard { grid-column: span 6; }
.pcard a { display: block; }
.pcard__img { overflow: hidden; background: var(--char); }
.pcard__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pcard__body { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; padding-top: 1.2rem; align-items: start; }
.pcard__n { font: 400 clamp(2.4rem, 4vw, 4rem)/.8 var(--serif); color: var(--copper-d); }
.pcard__t { font: 400 clamp(1.8rem, 3vw, 3rem)/1.02 var(--serif); letter-spacing: -.015em; }
.pcard__s { margin-top: .5rem; color: var(--muted); }
.pcard__m { margin-top: .7rem; font: 600 .68rem/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
/* Magazin-Rhythmus über data-p (0–5) */
.pcard[data-p="0"] { grid-column: 1 / 9; }
.pcard[data-p="1"] { grid-column: 9 / 13; align-self: end; }
.pcard[data-p="1"] .pcard__img img { aspect-ratio: 3 / 4; }
.pcard[data-p="2"] { grid-column: 1 / 6; }
.pcard[data-p="2"] .pcard__img img { aspect-ratio: 4 / 5; }
.pcard[data-p="3"] { grid-column: 6 / 13; margin-top: clamp(0px, 8vw, 9rem); }
.pcard[data-p="4"] { grid-column: 1 / 8; }
.pcard[data-p="5"] { grid-column: 8 / 13; align-self: end; }
.pcard[data-p="5"] .pcard__img img { aspect-ratio: 1 / 1; }

/* ------------------------------------------------------------ Projekt (Detail) */
.pj-hero__num { font: 400 clamp(4rem, 9vw, 9rem)/.8 var(--serif); color: transparent; -webkit-text-stroke: 1px currentColor; margin: 0 0 1.2rem; }
.pj-hero__title { font: 400 clamp(3.2rem, 9vw, 9.6rem)/.9 var(--serif); letter-spacing: -.03em; margin: 0 0 1.2rem; }
.pj-hero__sub { font: 400 clamp(1.3rem, 2.2vw, 2rem)/1.2 var(--serif); font-style: italic; color: var(--copper-d); margin: 0 0 1.6rem; }
.pj-hero__lead, .pj-split__lead { font-size: 1.08rem; line-height: 1.6; color: var(--muted); max-width: 46ch; margin-bottom: 2rem; }

.pfacts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.6rem; border-top: 1px solid currentColor; }
.pfacts > div { padding: .8rem 0; border-bottom: 1px solid var(--line); }
.pfacts dt { font: 600 .66rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: .4rem; }
.pfacts dd { margin: 0; font-size: .96rem; }

/* fullbleed */
.pj-hero--full { position: relative; min-height: 100svh; display: flex; align-items: flex-end; color: var(--chalk); background: var(--char); overflow: hidden; isolation: isolate; }
.pj-hero--full .pj-hero__img { position: absolute; inset: -6% 0; z-index: -2; }
.pj-hero--full .pj-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.pj-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 18, 20, .75), rgba(12, 18, 20, .05) 60%), linear-gradient(180deg, rgba(12, 18, 20, .45), rgba(12, 18, 20, 0) 25%); }
.pj-hero--full .pj-hero__inner { padding-top: calc(var(--hdr) + 2rem); padding-bottom: clamp(3rem, 8vh, 6rem); }
.pj-hero--full .pj-hero__title { font-size: clamp(3.6rem, 12vw, 13rem); }
.pj-hero--full .pj-hero__sub { color: var(--copper-l); }
.pj-lead { padding: clamp(4rem, 8vw, 8rem) 0; }
.pj-lead__t { grid-column: 1 / 8; font: 400 clamp(1.8rem, 3.4vw, 3.2rem)/1.15 var(--serif); letter-spacing: -.01em; margin: 0; }
.pj-lead__f { grid-column: 9 / 13; align-self: end; }

/* Galerie-Elemente */
.gitem { margin: 0; }
.gitem__a { display: block; overflow: hidden; background: var(--char); cursor: zoom-in; }
.gitem img { width: 100%; height: auto; transition: transform 1.2s var(--ease); }
.gitem__a:hover img { transform: scale(1.035); }
.gitem figcaption span { color: var(--copper-d); font-weight: 600; margin-right: .5rem; }
.pj-gal { padding-bottom: clamp(3rem, 6vw, 6rem); }
.pj-gal--mosaic .wrap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem) var(--gap); }
.pj-gal--mosaic .g-a { grid-column: 1 / 9; }
.pj-gal--mosaic .g-b { grid-column: 9 / 13; align-self: end; }
.pj-gal--mosaic .g-c { grid-column: 2 / 7; }
.pj-gal--mosaic .g-d { grid-column: 7 / 13; margin-top: 6vw; }
.pj-gal--mosaic .g-e { grid-column: 1 / 13; }
.pj-gal--mosaic .g-b img { aspect-ratio: 3 / 4; object-fit: cover; }

/* split */
.pj-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 7rem); padding-top: clamp(2rem, 4vw, 4rem); padding-bottom: clamp(3rem, 6vw, 6rem); }
.pj-split__side { position: sticky; top: calc(var(--hdr) + 1.5rem); align-self: start; }
.pj-split__main { display: grid; gap: clamp(2rem, 4vw, 4rem); }
.pj-split .pj-hero__title { font-size: clamp(3rem, 6vw, 6.4rem); }

/* portrait */
.pj-hero--portrait { padding: clamp(2rem, 4vw, 4rem) 0 clamp(3rem, 6vw, 6rem); }
.pj-hero--portrait .crumbs { grid-column: 1 / -1; }
.pj-hero--portrait .pj-hero__img { grid-column: 1 / 6; margin: 0; }
.pj-hero--portrait .pj-hero__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.pj-hero--portrait .pj-hero__txt { grid-column: 7 / 13; align-self: end; }
.pj-gal--stagger .wrap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem) var(--gap); }
.pj-gal--stagger .g-l { grid-column: 1 / 8; }
.pj-gal--stagger .g-r { grid-column: 6 / 13; }

/* strip */
.pj-hero--letter { position: relative; color: var(--chalk); background: var(--char); padding: calc(var(--hdr) + 1rem) 0 clamp(2.5rem, 5vw, 4rem); isolation: isolate; overflow: hidden; min-height: min(90svh, 900px); display: flex; flex-direction: column; justify-content: flex-end; }
.pj-hero--letter .pj-hero__img { position: absolute; inset: -6% 0; z-index: -2; margin: 0; }
.pj-hero--letter .pj-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.pj-hero--letter::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 18, 20, .8), rgba(12, 18, 20, .15) 70%), linear-gradient(180deg, rgba(12, 18, 20, .5), transparent 25%); }
.pj-hero--letter .crumbs { color: rgba(242, 240, 234, .85); }
.pj-hero--letter .pj-hero__row { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; flex-wrap: wrap; margin-bottom: 2rem; }
.pj-hero--letter .pj-hero__sub { color: var(--copper-l); }
.pj-hero--letter .pj-hero__lead { color: rgba(242, 240, 234, .88); margin: 0; }
.pj-hero--letter .pfacts > div { border-color: var(--line-d); }
.pj-hero--letter .pfacts dt { color: var(--muted-d); }
.pj-strip__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding-block: clamp(2.5rem, 5vw, 4rem) 1.4rem; }
.pj-strip__hint { font-size: .84rem; color: var(--muted); margin: 0; }
.pj-strip { display: flex; gap: var(--gap); overflow-x: auto; padding: 0 var(--gutter) 1.4rem; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--copper) transparent; }
.pj-strip .gitem { flex: 0 0 auto; width: clamp(280px, 52vw, 760px); scroll-snap-align: start; }
.pj-strip .gitem img { height: clamp(260px, 48vh, 520px); object-fit: cover; }

/* timeline */
.pj-hero--time { padding: clamp(2rem, 4vw, 4rem) 0 clamp(2rem, 4vw, 4rem); }
.pj-hero--time .crumbs { grid-column: 1 / -1; }
.pj-hero--time .pj-hero__txt { grid-column: 1 / 6; align-self: end; }
.pj-hero--time .pj-hero__img { grid-column: 7 / 13; margin: 0; }
.pj-hero--time .pj-hero__img img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.pj-hero--time > .wrap:last-child { margin-top: 2rem; }
.time { list-style: none; margin: 0; padding: 0 0 0 clamp(1.4rem, 5vw, 6rem); border-left: 1px solid var(--copper); display: grid; gap: clamp(2.5rem, 6vw, 6rem); }
.time__item { position: relative; max-width: 900px; }
.time__item::before { content: ""; position: absolute; left: calc(-1 * clamp(1.4rem, 5vw, 6rem) - 5px); top: .4rem; width: 9px; height: 9px; border-radius: 50%; background: var(--copper); }
.time__phase { display: block; font: 600 .7rem/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--copper-d); margin-bottom: 1rem; }

/* dark */
.pj--dark { background: var(--char); color: var(--chalk); }
.pj--dark .pj-hero--dark { padding: calc(var(--hdr) + 2rem) 0 clamp(3rem, 6vw, 6rem); }
.pj--dark .crumbs { grid-column: 1 / -1; }
.pj-hero--dark .pj-hero__txt { grid-column: 1 / 7; align-self: end; }
.pj-hero--dark .pj-hero__img { grid-column: 8 / 13; margin: 0; }
.pj-hero--dark .pj-hero__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.pj--dark .pj-hero__sub { color: var(--copper-l); }
.pj--dark .pj-hero__lead, .pj--dark .ptext p, .pj--dark .pj-split__lead { color: var(--muted-d); }
.pj--dark .pfacts > div { border-color: var(--line-d); }
.pj--dark .pfacts dt, .pj--dark .gitem figcaption { color: var(--muted-d); }
.pj--dark .gitem figcaption span { color: var(--copper-l); }
.pj-gal--cols .wrap { columns: 2; column-gap: var(--gap); }
.pj-gal--cols .gitem { break-inside: avoid; margin-bottom: clamp(1.6rem, 3vw, 3rem); }

/* Text-Block (alle Varianten) */
.ptext { padding: clamp(3.5rem, 7vw, 7rem) 0; border-top: 1px solid var(--line); }
.pj--dark .ptext { border-color: var(--line-d); }
.ptext__a { grid-column: 1 / 5; } .ptext__b { grid-column: 5 / 9; } .ptext__c { grid-column: 9 / 13; }
.ptext__h { font: 600 .72rem/1.3 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--copper-d); margin: 0 0 1.4rem; }
.pj--dark .ptext__h { color: var(--copper-l); }
.ptext p { margin-bottom: 1rem; color: var(--muted); line-height: 1.65; }
.ptext__list { list-style: none; padding: 0; margin: 0 0 1.4rem; }
.ptext__list li { padding: .7rem 0 .7rem 1.4rem; border-bottom: 1px solid var(--line); position: relative; }
.pj--dark .ptext__list li { border-color: var(--line-d); }
.ptext__list li::before { content: ""; position: absolute; left: 0; top: 1.3rem; width: .6rem; height: 1px; background: currentColor; }
.pnote { font-size: .86rem; font-style: italic; }

.pj-rel { padding: clamp(3.5rem, 7vw, 7rem) 0; background: var(--paper); color: var(--ink); }
.pj-rel__l { grid-column: 1 / 6; display: grid; gap: 1rem; align-content: start; }
.pj-rel__r { grid-column: 7 / 13; border-top: 1px solid var(--char); }
.pj-next { display: block; background: var(--copper); color: var(--char); padding: clamp(3rem, 7vw, 7rem) 0; transition: background .5s var(--ease); }
.pj-next:hover { background: var(--copper-d); color: var(--chalk); }
.pj-next__in { display: flex; flex-direction: column; gap: 1rem; }
.pj-next__k { font: 600 .72rem/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; }
.pj-next__t { font: 400 clamp(2.8rem, 9vw, 9.6rem)/.92 var(--serif); letter-spacing: -.03em; }
.pj-next__t i { font-style: normal; display: inline-block; transition: transform .5s var(--ease); }
.pj-next:hover i { transform: translateX(.2em); }

/* ------------------------------------------------------------ Journal (Index) */
.jgrid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(2.5rem, 6vw, 6rem); }
.jcard { grid-column: span 4; }
.jcard a { display: block; }
.jcard__img { overflow: hidden; background: var(--char); }
.jcard__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 1.2s var(--ease); }
.jcard a:hover .jcard__img img { transform: scale(1.04); }
.jcard__cat { font: 600 .68rem/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--copper-d); margin: 1.1rem 0 .6rem; }
.jcard__title { font: 400 clamp(1.5rem, 2.2vw, 2.2rem)/1.08 var(--serif); letter-spacing: -.01em; }
.jcard__ex { margin-top: .7rem; color: var(--muted); font-size: .96rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.jgrid .jcard[data-p="0"] { grid-column: 1 / 8; }
.jgrid .jcard[data-p="0"] .jcard__title { font-size: clamp(2.2rem, 4vw, 4rem); }
.jgrid .jcard[data-p="1"] { grid-column: 9 / 13; align-self: end; }
.jgrid .jcard[data-p="1"] .jcard__img img { aspect-ratio: 3 / 4; }
.jgrid .jcard[data-p="2"] { grid-column: 1 / 5; }
.jgrid .jcard[data-p="3"] { grid-column: 5 / 9; margin-top: 5vw; }
.jgrid .jcard[data-p="4"] { grid-column: 9 / 13; }
.jgrid .jcard[data-p="5"] { grid-column: 2 / 10; }
.jgrid .jcard[data-p="5"] .jcard__img img { aspect-ratio: 16 / 9; }
.jcard--rel { grid-column: auto; }

/* ------------------------------------------------------------ Artikel */
.art-meta { list-style: none; padding: 0; margin: 0 0 1.6rem; display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; font: 600 .7rem/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--copper-d); }
.art-title { font: 400 clamp(2.8rem, 7.6vw, 8rem)/.94 var(--serif); letter-spacing: -.03em; margin: 0 0 1.6rem; max-width: 16ch; }
.art-excerpt { font: 400 clamp(1.25rem, 2vw, 1.7rem)/1.3 var(--serif); color: var(--ink); max-width: 38ch; margin: 0; }
.art-hero { padding-top: clamp(2rem, 4vw, 4rem); }
.art-hero--cover .art-hero__img { margin: clamp(2.5rem, 5vw, 5rem) 0 0; }
.art-hero--cover .art-hero__img img { width: 100%; height: clamp(320px, 62vh, 720px); object-fit: cover; }
.art-hero--split { padding-bottom: clamp(2rem, 4vw, 4rem); }
.art-hero--split .crumbs { margin-bottom: 1rem; }
.art-hero--split .art-hero__txt { grid-column: 1 / 7; align-self: center; }
.art-hero--split .art-hero__img { grid-column: 8 / 13; margin: 0; }
.art-hero--split .art-hero__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.art-hero--split .art-title { font-size: clamp(2.6rem, 5.6vw, 6rem); }
.art-hero--typo .art-title { font-size: clamp(3rem, 10vw, 11rem); max-width: 14ch; }
.art-hero__row { display: flex; justify-content: space-between; align-items: flex-end; gap: clamp(1.5rem, 4vw, 4rem); flex-wrap: wrap; margin-top: 2rem; }
.art-hero--typo .art-hero__img { flex: 0 1 min(28vw, 360px); min-width: 220px; margin: 0; }
.art-hero--typo .art-hero__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }

.art-body { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr) minmax(0, 2fr); column-gap: clamp(1.5rem, 4vw, 5rem); padding-block: clamp(3rem, 6vw, 6rem); }
.art-toc { position: sticky; top: calc(var(--hdr) + 1.5rem); align-self: start; font-size: .9rem; border-top: 1px solid var(--char); padding-top: 1rem; }
.art-toc__t { font: 600 .68rem/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--copper-d); margin-bottom: 1rem; }
.art-toc ol { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.art-toc a { color: var(--muted); transition: color .3s; }
.art-toc a:hover, .art-toc a.is-current { color: var(--ink); }
.art-toc__m { margin-top: 1.4rem; font-size: .8rem; color: var(--muted); }
.art-prose { grid-column: 2; font-size: clamp(1.05rem, 1.25vw, 1.2rem); line-height: 1.72; max-width: 68ch; }
.art-prose > * + * { margin-top: 1.3em; }
.art-prose .lede { font: 400 clamp(1.6rem, 2.6vw, 2.3rem)/1.25 var(--serif); }
.art-prose h2 { font: 400 clamp(2rem, 3.4vw, 3.2rem)/1.04 var(--serif); letter-spacing: -.02em; margin-top: 2.4em; }
.art-prose h3 { font: 600 1.1rem/1.3 var(--sans); margin-top: 1.9em; }
.art-prose ul, .art-prose ol { padding-left: 1.3em; display: grid; gap: .5em; }
.art-prose blockquote { margin-inline: 0; padding: .4em 0 .4em 1.4em; border-left: 2px solid var(--copper); font: italic 400 clamp(1.5rem, 2.4vw, 2.1rem)/1.25 var(--serif); }
.art-prose blockquote cite { display: block; margin-top: .6em; font: 600 .78rem/1.4 var(--sans); font-style: normal; letter-spacing: .1em; color: var(--muted); }
.art-prose a { color: var(--copper-d); text-decoration: underline; text-underline-offset: .2em; }
.art-prose .note, .art-prose aside { background: var(--paper); border-left: 3px solid var(--mineral); padding: 1.1em 1.3em; font-size: .96em; }
.art-prose figure { margin-inline: 0; }
.art-prose figure a { display: block; overflow: hidden; cursor: zoom-in; }
.art-prose figure img { width: 100%; height: auto; }
.art-prose figcaption { font-size: .8rem; letter-spacing: .04em; color: var(--muted); padding-top: .6rem; }
.art-prose .sources { font-size: .9rem; line-height: 1.55; border-top: 1px solid var(--char); padding-top: 1rem; color: var(--muted); }
.art-prose .sources li { overflow-wrap: anywhere; }
.art-end { margin-top: 4rem; padding-top: 1.4rem; border-top: 1px solid var(--char); font-size: .9rem; color: var(--muted); display: grid; gap: 1rem; }
.art-end__cta { display: flex; flex-wrap: wrap; gap: .6rem 2rem; }
.art-more { padding: clamp(3.5rem, 7vw, 7rem) 0; background: var(--paper); border-top: 1px solid var(--line); }
.art-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.art-more .jcard, .sv-related .jcard { grid-column: auto; }

/* ------------------------------------------------------------ Kontakt */
.ct__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(2rem, 7vw, 8rem); padding-block: 1rem clamp(4rem, 8vw, 8rem); align-items: start; }
.inq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1.6rem; }
.inq__intro { grid-column: 1 / -1; color: var(--muted); font-size: .96rem; margin: 0; }
.field { display: grid; gap: .5rem; align-content: start; }
.field--wide { grid-column: 1 / -1; }
.field label { font: 600 .74rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.opt { font-weight: 400; letter-spacing: .04em; text-transform: none; color: var(--muted); }
.field input:not([type="checkbox"]), .field select, .field textarea {
  width: 100%; font: inherit; font-size: 1rem; color: var(--ink); background: var(--paper); border: 0; border-bottom: 1px solid var(--char);
  padding: .9rem .2rem; border-radius: 0; transition: border-color .3s, background .3s; appearance: none;
}
.field select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 14px) 55%, calc(100% - 9px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 2rem; }
.field textarea { resize: vertical; min-height: 9rem; border: 1px solid var(--char); padding: .9rem; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; background: #fff; }
.field [aria-invalid="true"] { border-color: var(--err); }
.err { color: var(--err); font-size: .86rem; min-height: 0; margin: 0; }
.err:empty { display: none; }
.field--check { grid-template-columns: auto 1fr; column-gap: .9rem; align-items: start; }
.field--check input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; accent-color: var(--copper-d); }
.field--check label { font: 400 .94rem/1.5 var(--sans); letter-spacing: 0; text-transform: none; }
.field--check .err { grid-column: 1 / -1; }
.inq__actions { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem 2rem; }
.inq__hint { font-size: .86rem; color: var(--muted); max-width: 44ch; margin: 0; }
.inq .btn:disabled { opacity: .65; cursor: wait; }

.inq-done { border-top: 1px solid var(--char); padding-top: 2rem; display: grid; gap: 1.4rem; }
.inq-done[hidden] { display: none; }
.inq-done__t { font: 400 clamp(2rem, 3.8vw, 3.6rem)/1 var(--serif); letter-spacing: -.02em; margin: 0; }
.inq-done__t em { color: var(--copper-d); }
.inq-done__steps { padding-left: 1.2em; display: grid; gap: .5rem; color: var(--muted); }
.inq-done__pre { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--paper); border: 1px solid var(--line); padding: 1.2rem; font: .88rem/1.55 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; max-height: 22rem; overflow: auto; margin: 0; }
.inq-done__actions { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: center; }
.inq-done__status { min-height: 1.4em; font-size: .9rem; color: var(--copper-d); margin: 0; }

.ct__side { display: grid; gap: 2rem; position: sticky; top: calc(var(--hdr) + 1.5rem); }
.ct-box { border-top: 1px solid var(--char); padding-top: 1rem; }
.ct-box__h { font: 600 .72rem/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--copper-d); margin-bottom: 1rem; }
.ct-box address { font-style: normal; display: grid; gap: .9rem; line-height: 1.5; }
.ct-box p { margin: 0 0 .6rem; }
.ct-list { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .5rem; font-size: .95rem; color: var(--muted); }
.ct-list li { padding-left: 1.2rem; position: relative; }
.ct-list li::before { content: ""; position: absolute; left: 0; top: .75em; width: .6rem; height: 1px; background: var(--copper-d); }

/* ------------------------------------------------------------ Ablauf */
.pr-steps { padding-bottom: clamp(3rem, 6vw, 6rem); }
.pr-steps__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: clamp(2rem, 6vw, 7rem); }
.pr-steps__nav { position: sticky; top: calc(var(--hdr) + 1.5rem); align-self: start; border-top: 1px solid var(--char); padding-top: 1rem; }
.pr-steps__nav ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.pr-steps__nav a { display: flex; gap: .9rem; font-size: .96rem; color: var(--muted); transition: color .3s; }
.pr-steps__nav a:hover { color: var(--ink); }
.pr-steps__nav span { font: 600 .7rem/1.8 var(--sans); letter-spacing: .16em; color: var(--copper-d); }
.pr-step { display: grid; grid-template-columns: clamp(4rem, 12vw, 12rem) 1fr; gap: 1rem; padding: clamp(2.5rem, 5vw, 5rem) 0; border-top: 1px solid var(--char); }
.pr-step__n { font: 400 clamp(4rem, 10vw, 10rem)/.8 var(--serif); color: transparent; -webkit-text-stroke: 1px var(--copper-d); margin: 0; }
.pr-step__t { font: 400 clamp(2rem, 4vw, 4rem)/1 var(--serif); letter-spacing: -.02em; margin: 0 0 1.2rem; }
.pr-step__body > p { max-width: 58ch; color: var(--muted); line-height: 1.65; margin-bottom: 1.2rem; }
.pr-step__list { list-style: none; padding: 0; margin: 0 0 1.4rem; max-width: 52ch; }
.pr-step__list li { padding: .65rem 0 .65rem 1.4rem; border-bottom: 1px solid var(--line); position: relative; }
.pr-step__list li::before { content: ""; position: absolute; left: 0; top: 1.2rem; width: .6rem; height: 1px; background: var(--copper-d); }
.pr-step__res { color: var(--ink) !important; }
.pr-feas { background: var(--char); color: var(--chalk); padding: clamp(4.5rem, 9vw, 9rem) 0; }
.pr-feas__l { grid-column: 1 / 6; }
.pr-feas__r { grid-column: 7 / 13; display: grid; gap: 1.2rem; color: var(--muted-d); line-height: 1.65; align-content: start; }

/* ------------------------------------------------------------ FAQ */
.faq { padding-bottom: clamp(4rem, 8vw, 8rem); }
.faq__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); column-gap: clamp(2rem, 6vw, 7rem); }
.faq__nav { position: sticky; top: calc(var(--hdr) + 1.5rem); align-self: start; border-top: 1px solid var(--char); padding-top: 1rem; }
.faq__nav-t { font: 600 .68rem/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--copper-d); margin-bottom: 1rem; }
.faq__nav ul { list-style: none; padding: 0; margin: 0 0 1.6rem; display: grid; gap: .6rem; font-size: .96rem; }
.faq__nav ul a { color: var(--muted); transition: color .3s; }
.faq__nav ul a:hover { color: var(--ink); }
.faq__search { display: grid; gap: .5rem; }
.faq__search[hidden] { display: none; }
.faq__search label { font: 600 .7rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.faq__search input { width: 100%; font: inherit; padding: .75rem .8rem; border: 1px solid var(--char); background: var(--paper); border-radius: 0; }
.faq__count { font-size: .84rem; color: var(--muted); margin: 0; }
.faq-group { margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.faq-group__t { font: 400 clamp(2rem, 3.6vw, 3.4rem)/1 var(--serif); letter-spacing: -.02em; margin: 0 0 1.4rem; }
.faq-group[hidden] { display: none; }

/* ------------------------------------------------------------ Rechtliches */
.lg-hero { padding-bottom: clamp(2rem, 4vw, 4rem); }
.lg-hero__title { font: 400 clamp(3rem, 8vw, 8rem)/.94 var(--serif); letter-spacing: -.03em; margin: 0 0 1.4rem; }
.lg-hero__lede { max-width: 56ch; color: var(--muted); font-size: 1.08rem; line-height: 1.6; }
.lg { padding-bottom: clamp(4rem, 8vw, 8rem); }
.lg__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); column-gap: clamp(2rem, 6vw, 7rem); }
.lg__toc { position: sticky; top: calc(var(--hdr) + 1.5rem); align-self: start; border-top: 1px solid var(--char); padding-top: 1rem; font-size: .92rem; }
.lg__toc-t { font: 600 .68rem/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--copper-d); margin-bottom: 1rem; }
.lg__toc ol { padding-left: 1.2em; display: grid; gap: .5rem; color: var(--muted); }
.lg__toc a { color: var(--muted); } .lg__toc a:hover { color: var(--ink); }
.lg__other { list-style: none; padding: 1.2rem 0 0; margin: 1.6rem 0 0; border-top: 1px solid var(--line); display: grid; gap: .5rem; }
.lg__body { max-width: 72ch; line-height: 1.7; }
.lg-sec { padding-bottom: 2.4rem; }
.lg-sec h2 { font: 400 clamp(1.7rem, 2.6vw, 2.4rem)/1.1 var(--serif); margin: 1.6rem 0 .9rem; }
.lg-sec h3 { font: 600 1.02rem/1.3 var(--sans); margin: 1.4rem 0 .5rem; }
.lg-sec p, .lg-sec ul, .lg-sec ol { margin-bottom: 1rem; }
.lg-sec ul, .lg-sec ol { padding-left: 1.3em; display: grid; gap: .4em; }
.lg-sec a { color: var(--copper-d); text-decoration: underline; text-underline-offset: .2em; }
.lg-sec address { font-style: normal; }
.lg__body .notice { margin-bottom: 2rem; }

/* ------------------------------------------------------------ 404 */
.nf { position: relative; min-height: 100svh; display: flex; align-items: flex-end; color: var(--chalk); background: var(--char); overflow: hidden; isolation: isolate; }
.nf__img { position: absolute; inset: -6% 0; z-index: -2; }
.nf__img img { width: 100%; height: 100%; object-fit: cover; }
.nf__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 18, 20, .8), rgba(12, 18, 20, .25) 60%); }
.nf__inner { padding-top: calc(var(--hdr) + 2rem); padding-bottom: clamp(3rem, 8vh, 6rem); }
.nf__title { font: 400 clamp(3.4rem, 11vw, 12rem)/.9 var(--serif); letter-spacing: -.03em; margin: 0 0 1.4rem; }
.nf__title span { display: block; } .nf__title em { color: var(--copper-l); }
.nf__lede { max-width: 44ch; color: rgba(242, 240, 234, .88); margin-bottom: 2rem; }
.nf__links { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; }
.nf__links a { display: inline-flex; gap: .6rem; padding: .7rem 0; border-bottom: 1px solid var(--line-d); transition: border-color .3s, color .3s; }
.nf__links a:hover { border-color: var(--copper-l); color: var(--copper-l); }

/* ------------------------------------------------------------ Responsiv */
@media (max-width: 1100px) {
  .about-hero__title, .svc-hero__title, .idx-hero__title, .ct-hero__title, .pr-hero__title, .faq-hero__title { grid-column: 1 / -1; }
  .about-hero__lede, .svc-hero__lede, .idx-hero__lede, .ct-hero__lede, .pr-hero__lede, .faq-hero__lede { grid-column: 1 / 10; }
  .art-body { grid-template-columns: minmax(0, 1fr); }
  .art-toc { position: static; margin-bottom: 2rem; }
  .art-prose { grid-column: 1; }
  .ct__grid, .sv-tall, .pj-split, .pr-steps__grid, .faq__grid, .lg__grid { grid-template-columns: 1fr; }
  .ct__side, .sv-tall__side, .pj-split__side, .pr-steps__nav, .faq__nav, .lg__toc { position: static; }
  .sv-tall__side { height: 52vh; }
  .ct__side { margin-top: 3rem; }
  .sv-related__grid, .art-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jcard, .jgrid .jcard[data-p] { grid-column: span 6; margin-top: 0; }
  .jgrid .jcard[data-p="0"] { grid-column: 1 / -1; }
  .pcard[data-p] { grid-column: span 6; margin-top: 0; }
  .pcard[data-p="0"], .pcard[data-p="3"] { grid-column: 1 / -1; }
  .ptext__a, .ptext__b { grid-column: span 6; } .ptext__c { grid-column: 1 / -1; margin-top: 2rem; }
}
@media (max-width: 760px) {
  .pr-hero__image figcaption { display: none; }
  .about-hero__lede, .svc-hero__lede, .idx-hero__lede, .ct-hero__lede, .pr-hero__lede, .faq-hero__lede { grid-column: 1 / -1; }
  .about-hero__img1, .about-hero__img2 { grid-column: 1 / -1; transform: none; margin-top: 1.6rem; }
  .about-hero__img2 { max-width: 60%; }
  .about-text__h, .about-text__cols, .about-not__l, .about-not__list, .about-j__t, .about-j__l, .factors__l, .factors__list, .svc-outcome__head, .svc-outcome__list, .svc-outcome__price,
  .sv-intro .eyebrow, .sv-intro__txt, .sv-deliv__h, .sv-deliv__list, .sv-notes__h, .sv-notes__list, .sv-faq__h, .sv-faq__list,
  .pj-lead__t, .pj-lead__f, .ptext__a, .ptext__b, .ptext__c, .pj-rel__l, .pj-rel__r, .pr-feas__l, .pr-feas__r { grid-column: 1 / -1; }
  .about-text__cols, .about-not__list, .about-j__l, .factors__list, .svc-outcome__list, .svc-outcome__price, .sv-deliv__list, .sv-notes__list, .sv-faq__list, .pj-lead__f, .pj-rel__r, .pr-feas__r { margin-top: 1.6rem; }
  .principles__list, .sv-uses__list { grid-template-columns: 1fr; }
  .svc-row__img, .svc-row--r .svc-row__img { grid-column: 1 / -1; grid-row: 1; }
  .svc-row__txt, .svc-row--r .svc-row__txt { grid-column: 1 / -1; grid-row: 2; margin-top: 1.4rem; }
  .sv-hero--split .sv-hero__txt, .sv-hero--split .sv-hero__img { grid-column: 1 / -1; }
  .sv-hero--split .sv-hero__img { margin-top: 1.4rem; }
  .sv-related__grid, .art-more__grid { grid-template-columns: 1fr; }
  .pcard[data-p], .jcard, .jgrid .jcard[data-p] { grid-column: 1 / -1; }
  .pj-gal--mosaic .wrap > *, .pj-gal--stagger .wrap > * { grid-column: 1 / -1 !important; margin-top: 0 !important; }
  .pj-hero--portrait .pj-hero__img, .pj-hero--portrait .pj-hero__txt, .pj-hero--time .pj-hero__txt, .pj-hero--time .pj-hero__img, .pj-hero--dark .pj-hero__txt, .pj-hero--dark .pj-hero__img { grid-column: 1 / -1; }
  .pj-hero--portrait .pj-hero__txt, .pj-hero--time .pj-hero__img, .pj-hero--dark .pj-hero__img { margin-top: 1.6rem; }
  .pj-gal--cols .wrap { columns: 1; }
  .pj-strip .gitem { width: 78vw; }
  .art-hero--split .art-hero__txt, .art-hero--split .art-hero__img { grid-column: 1 / -1; }
  .art-hero--split .art-hero__img { margin-top: 1.6rem; }
  .art-hero--typo .art-hero__img { flex-basis: 100%; }
  .inq { grid-template-columns: 1fr; }
  .pr-step { grid-template-columns: 1fr; }
  .pr-step__n { font-size: 4rem; }
  .pfacts { grid-template-columns: 1fr; }
  .sv-flow__list li { grid-template-columns: 3.4rem 1fr; }
}
@media print {
  .art-toc, .lg__toc, .faq__nav, .pr-steps__nav { display: none; }
}

/* ------------------------------------------------------------ Bild-Platzhalter (Datei noch nicht geliefert) */
.img-ph { display: grid; place-items: center; width: 100%; background: linear-gradient(135deg, #2a3232, #181c1c); color: rgba(242, 240, 234, .55); font: 600 .68rem/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; position: relative; overflow: hidden; }
.img-ph::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(45deg, transparent 0 22px, rgba(189, 118, 82, .07) 22px 23px); }
.img-ph span { position: relative; }
.hero__media .img-ph, .interlude__media .img-ph, .svc__pimg .img-ph { height: 100%; aspect-ratio: auto !important; }

/* ------------------------------------------------------------ Über uns · Werkzeug */
.tool { padding: clamp(4.5rem, 9vw, 9rem) 0; background: var(--paper); border-block: 1px solid var(--line); }
.tool__head { grid-column: 1 / 6; display: grid; gap: 1.2rem; align-content: start; }
.tool__head p:last-child { color: var(--muted); max-width: 40ch; }
.tool__fig { grid-column: 6 / 13; margin: 0; }
.tool__fig img, .tool__fig .img-ph { width: 100%; height: auto; }
.tool__fig figcaption { font-size: .8rem; color: var(--muted); padding-top: .7rem; }
.tool__list { grid-column: 1 / -1; list-style: none; margin: clamp(2.5rem, 5vw, 5rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 4vw, 4rem); border-top: 1px solid var(--char); }
.tool__list li { display: grid; grid-template-columns: 2.6rem 1fr; gap: .8rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.tool__n { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--copper); color: var(--paper); font: 700 .8rem/1 var(--sans); }
.tool__list h3 { font: 400 clamp(1.4rem, 2vw, 1.9rem)/1.1 var(--serif); margin-bottom: .5rem; }
.tool__list p { color: var(--muted); font-size: .95rem; line-height: 1.55; }

/* ------------------------------------------------------------ Leistungen · Fluggerätklassen */
.classes { padding: clamp(4.5rem, 9vw, 9rem) 0; background: var(--chalk); border-top: 1px solid var(--line); }
.classes__fig { margin: 0 0 clamp(2rem, 4vw, 4rem); }
.classes__fig img, .classes__fig .img-ph { width: 100%; height: auto; }
.classes__fig figcaption { font-size: .8rem; color: var(--muted); padding-top: .7rem; }
.classes__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.4rem, 3vw, 3rem); border-top: 1px solid var(--char); }
.classes__list li { padding-top: 1.4rem; display: grid; gap: .5rem; align-content: start; }
.classes__n { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--copper); color: var(--paper); font: 700 .8rem/1 var(--sans); }
.classes__list h3 { font: 400 clamp(1.7rem, 2.4vw, 2.3rem)/1.05 var(--serif); margin-top: .6rem; }
.classes__w { font: 600 .7rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--copper-d); }
.classes__list p:last-child { color: var(--muted); font-size: .95rem; line-height: 1.55; }
.classes__note { margin-top: 2.4rem; max-width: 60ch; font-size: .92rem; color: var(--muted); }

/* ------------------------------------------------------------ Ablauf · Schrittbild */
.pr-step__fig { margin: 1.6rem 0 0; max-width: 760px; }
.pr-step__fig img, .pr-step__fig .img-ph { width: 100%; height: auto; }

@media (max-width: 1100px) {
  .tool__head { grid-column: 1 / -1; } .tool__fig { grid-column: 1 / -1; margin-top: 2rem; }
  .tool__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .classes__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .tool__list, .classes__list { grid-template-columns: 1fr; }
}
