/* ==========================================================================
   UpNorth Network – Komponenten (helles, redaktionelles System)
   01 Schriften  02 Hero & Seitenkopf  03 Bildflächen  04 Karten & Kacheln
   05 Listen & Tabellen  06 Stufen, Schritte, Zeitstrahl  07 Zahlen
   08 Akkordeon  09 Zitate  10 Raster & Marken  11 Formulare  12 Beiträge
   13 Callouts & CTA  14 Paginierung  15 Blockeditor
   ========================================================================== */

/* ------------------------------------------------------------------ 01 */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:300;font-display:swap;
	src:url("../fonts/montserrat-latin-300-normal.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;
	src:url("../fonts/montserrat-latin-400-normal.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;
	src:url("../fonts/montserrat-latin-500-normal.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;
	src:url("../fonts/montserrat-latin-600-normal.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;
	src:url("../fonts/montserrat-latin-700-normal.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;
	src:url("../fonts/montserrat-latin-800-normal.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ------------------------------------------------------------------ 02 */
/* Hero: ein durchgehendes Bild über die volle Breite, Text darüber.
   Der Text sitzt am unteren Rand – so bleibt oben Luft für das Motiv und
   der Blick läuft von der Überschrift über den Button in die Seite hinein. */
.un-hero{
	position:relative; overflow:hidden; display:flex; align-items:flex-end;
	min-height:var(--un-hero-h); background:#fff;
	padding-top:clamp(3rem,6vw,5.5rem);
	padding-bottom:clamp(2.5rem,5vw,4.25rem);
	border-bottom:1px solid var(--un-line);
}
.un-hero > .un-wrap{ position:relative; z-index:2; width:100%; }
/*
 * Achtung: „ch“ bezieht sich auf die Schriftgröße dieses Kastens (16 px),
 * nicht auf die der Überschrift. Ein Wert in ch presste die Überschrift
 * früher in eine schmale Spalte. Deshalb hier eine echte Breite.
 */
.un-hero__text{ max-width:min(820px,58%); }
.un-hero .un-eyebrow{ margin-bottom:1.2rem; }
.un-display--hero{
	font-size:clamp(2rem,5vw,4.5rem); line-height:1.02; letter-spacing:.005em;
	margin-bottom:1.9rem;
}
.un-hero__claim{
	color:var(--un-dark); font-size:.72rem; letter-spacing:var(--track-xwide);
	max-width:none; margin:0;
}
.un-hero .un-btns{ margin-top:2.5rem; }

/* Mit Foto: dunkler Verlauf darunter, damit die Schrift immer lesbar bleibt */
.un-hero--photo{ background:var(--un-ink); border-bottom:0; }
.un-hero__media{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.un-hero__img{ width:100%; height:100%; object-fit:cover; object-position:var(--un-hero-pos,center); }
.un-hero__media picture{ display:block; width:100%; height:100%; }
.un-hero--photo .un-hero__media::after{
	content:""; position:absolute; inset:0;
	background:
		linear-gradient(90deg,rgba(42,30,25,.62) 0%,rgba(42,30,25,.30) 44%,rgba(42,30,25,.02) 70%,rgba(42,30,25,0) 100%),
		linear-gradient(180deg,rgba(42,30,25,.10) 0%,rgba(42,30,25,.10) 34%,rgba(42,30,25,.66) 100%);
}
.un-hero--photo .un-display{ color:#fff; }
.un-hero--photo .un-display em{ color:var(--un-gold); }
.un-hero--photo .un-hero__claim{ color:rgba(255,255,255,.86); }
.un-hero--photo .un-eyebrow{ color:var(--un-gold); }

/* Ohne Foto bleibt eine ruhige helle Fläche stehen */
.un-hero:not(.un-hero--photo) .un-hero__media{ background:var(--un-light); }

/* Seitenkopf der Unterseiten – Typo auf Weiß, Haarlinie unten */
.un-phead{
	position:relative; background:#fff;
	padding-block:clamp(2.5rem,5vw,4.5rem);
	border-bottom:1px solid var(--un-line);
}
.un-phead__inner{ max-width:880px; }
.un-phead .un-display{ margin-bottom:1.25rem; }
.un-phead p{ max-width:64ch; }
.un-phead--light{ background:var(--un-light); }
.un-phead--center .un-phead__inner{ max-width:820px; margin-inline:auto; text-align:center; }

.un-breadcrumb{
	font-size:.62rem; letter-spacing:var(--track-wide); text-transform:uppercase;
	margin-bottom:2rem; color:var(--un-grey);
}
.un-breadcrumb a{ color:var(--un-grey); }
.un-breadcrumb a:hover{ color:var(--un-dark); }
.un-breadcrumb span+span::before{ content:"·"; margin:0 .7rem; opacity:.6; }

/* ------------------------------------------------------------------ 03 Bildflächen */
/* Platzhalter, bis eigene Fotos hinterlegt sind. Sieht bewusst ruhig aus. */
.un-frame{
	position:relative; display:block; width:100%; overflow:hidden;
	border-radius:var(--radius); background:var(--un-light);
	background-image:
		url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96.3 91.83' fill='none'%3E%3Cpath d='M19.94 89.33 48.15 67.54 76.36 89.33 64.36 55.77 93.8 35.67 58.17 36.71 48.15 2.5 38.13 36.71 2.5 35.67' stroke='%23CDA24A' stroke-opacity='.5' stroke-width='3' stroke-miterlimit='10'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:center; background-size:64px auto;
}
.un-frame::after{
	content:""; position:absolute; inset:0; border:1px solid var(--un-line);
	border-radius:inherit; pointer-events:none;
}
.un-frame--wide{ aspect-ratio:16/10; }
.un-frame--card{ aspect-ratio:7/5; }
.un-frame--tall{ aspect-ratio:4/5; }
.un-frame--square{ aspect-ratio:1/1; }
.un-frame--portrait{ aspect-ratio:3/4; }
.un-frame__note{
	position:absolute; left:0; right:0; bottom:1.5rem; text-align:center;
	font-size:.58rem; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-grey);
}
.un-frame img{ width:100%; height:100%; object-fit:cover; }

/* Bild mit versetzter Goldlinie – nur als Akzent, sparsam einsetzen */
.un-media{ position:relative; }
.un-media img{ width:100%; object-fit:cover; border-radius:var(--radius); }
.un-media--offset::after{
	content:""; position:absolute; inset:20px -20px -20px 20px;
	border:1px solid var(--un-gold); border-radius:var(--radius); z-index:-1; pointer-events:none;
}
.un-media--offset-left::after{ inset:20px 20px -20px -20px; }
.un-media--tall img,.un-media--tall .un-frame{ aspect-ratio:4/5; }
.un-media--wide img,.un-media--wide .un-frame{ aspect-ratio:16/10; }
.un-media--square img,.un-media--square .un-frame{ aspect-ratio:1/1; }

.un-caption{
	margin-top:1rem; font-size:.64rem; letter-spacing:var(--track-mid);
	text-transform:uppercase; color:var(--un-grey);
}

/* ------------------------------------------------------------------ 04 */
.un-card{
	background:#fff; border:1px solid var(--un-line); border-radius:var(--radius);
	padding:clamp(1.6rem,2.6vw,2.25rem); height:100%; display:flex; flex-direction:column;
	transition:border-color .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease);
}
.un-card:hover{ border-color:var(--un-gold); }
.un-card h3{ font-size:1.05rem; margin-bottom:.85rem; }
.un-card p{ font-size:.92rem; line-height:1.8; }
.un-card__icon{ display:block; margin-bottom:1.4rem; color:var(--un-gold); }
.un-card__icon svg{ width:30px; height:30px; stroke-width:1.2; }
.un-card__foot{ margin-top:auto; padding-top:1.5rem; }
.un-card--boxed{ background:#fff; }
.un-card--fill{ background:var(--un-light); border-color:transparent; }
.un-section--light .un-card{ background:#fff; }

.un-tile{ display:flex; gap:1.35rem; align-items:flex-start; }
.un-tile__ico{
	flex:none; width:50px; height:50px; display:grid; place-items:center;
	background:var(--un-light); color:var(--un-gold); border-radius:var(--radius-sm);
}
.un-tile__ico svg{ width:20px; height:20px; }
.un-tile h4{ margin-bottom:.5rem; }
.un-tile p{ font-size:.9rem; margin:0; line-height:1.8; }
.un-section--ink .un-tile__ico{ background:rgba(255,255,255,.07); }

/* Bildkarte (Fallbeispiel-Teaser) */
.un-imgcard{ display:block; height:100%; }
.un-imgcard .un-frame,.un-imgcard img{ margin-bottom:1.5rem; }
.un-imgcard img{ aspect-ratio:7/5; object-fit:cover; border-radius:var(--radius); transition:opacity .5s var(--ease); }
.un-imgcard:hover img{ opacity:.88; }
.un-imgcard__kicker{
	display:block; font-size:.62rem; font-weight:500; letter-spacing:var(--track-wide);
	text-transform:uppercase; color:var(--un-gold); margin-bottom:.6rem;
}
.un-imgcard h3{ font-size:1.1rem; margin-bottom:.9rem; color:var(--un-dark); }
.un-imgcard__meta{
	display:flex; gap:2rem; padding-top:1.1rem; border-top:1px solid var(--un-line);
	font-size:.72rem; color:var(--un-grey);
}
.un-imgcard__meta b{ display:block; color:var(--un-dark); font-weight:600; font-size:.9rem; }

/* ------------------------------------------------------------------ 05 */
.un-check{ list-style:none; padding:0; margin:0; display:grid; gap:1.15rem; }
.un-check li{ position:relative; padding-left:2.1rem; margin:0; font-size:.94rem; line-height:1.8; }
.un-check li::before{
	content:""; position:absolute; left:0; top:.45em; width:20px; height:20px; border-radius:50%;
	background:var(--un-gold-pale) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11' fill='none'%3E%3Cpath d='M1 5.5 5 9.5 13 1.5' stroke='%23A97F31' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px auto no-repeat;
}
.un-check strong{ display:block; }
.un-section--ink .un-check li::before{ background-color:rgba(205,162,74,.22); }

/* Sachliche Angaben: eine Karte, innen mit feinen Trennlinien */
.un-deflist{
	display:grid; gap:0; background:#fff;
	border:1px solid var(--un-line); border-radius:var(--radius); overflow:hidden;
}
.un-deflist__row{
	display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,2.15fr);
	gap:clamp(.5rem,2vw,2rem);
	padding:1.3rem clamp(1.25rem,2.2vw,1.85rem);
	border-bottom:1px solid var(--un-line);
}
.un-deflist__row:last-child{ border-bottom:0; }
.un-deflist__row dt,.un-deflist__key{
	font-size:.68rem; font-weight:600; letter-spacing:var(--track-mid); text-transform:uppercase;
	color:var(--un-dark); margin:0; line-height:1.8;
}
.un-deflist__row dd,.un-deflist__val{ margin:0; font-size:.94rem; line-height:1.8; }
@media (max-width:640px){ .un-deflist__row{ grid-template-columns:minmax(0,1fr); gap:.4rem; } }
.un-card .un-deflist__row,.un-contactbox .un-deflist__row,
.un-grid--sidebar > aside .un-deflist__row{
	grid-template-columns:minmax(0,1fr); gap:.35rem; padding:0;
	background:transparent; border:0; border-radius:0; box-shadow:none;
}
.un-card .un-deflist,.un-contactbox .un-deflist,
.un-grid--sidebar > aside .un-deflist{ gap:1.35rem; background:transparent; border:0; border-radius:0; }
.un-card .un-deflist__row,.un-contactbox .un-deflist__row,
.un-grid--sidebar > aside .un-deflist__row{ border-bottom:0; }
.un-section--ink .un-deflist{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); }
.un-section--ink .un-deflist__row{ border-color:rgba(255,255,255,.12); }
.un-section--ink .un-deflist__key{ color:#fff; }

.un-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.un-table{ width:100%; min-width:640px; border-collapse:collapse; font-size:.92rem; }
.un-table thead th{
	background:transparent; color:var(--un-gold); text-align:left; padding:0 1.5rem 1.1rem 0;
	font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase;
	border-bottom:1px solid var(--un-gold);
}
.un-table thead th:last-child{ padding-right:0; }
.un-table td{ padding:1.6rem 1.5rem 1.6rem 0; border-bottom:1px solid var(--un-line); vertical-align:top; line-height:1.8; }
.un-table td:last-child{ padding-right:0; }
.un-table td:first-child{ font-weight:600; color:var(--un-dark); width:20%; }
.un-table caption{ caption-side:bottom; padding-top:1.5rem; font-size:.74rem; color:var(--un-grey); text-align:left; }
.un-section--ink .un-table td{ border-bottom-color:rgba(255,255,255,.14); color:rgba(255,255,255,.72); }
.un-section--ink .un-table td:first-child{ color:#fff; }

/* ------------------------------------------------------------------ 06 */
.un-steps{ display:grid; gap:0; }
.un-step{
	display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(1.5rem,3.5vw,3.5rem);
	padding:clamp(2rem,3.5vw,2.75rem) 0; border-top:1px solid var(--un-line);
}
.un-step:last-child{ border-bottom:1px solid var(--un-line); }
.un-step__no{
	font-size:.68rem; font-weight:600; letter-spacing:var(--track-wide);
	color:var(--un-gold); min-width:3ch; padding-top:.45em;
}
.un-step h3{ margin-bottom:.75rem; }
.un-step p{ margin-bottom:0; max-width:70ch; }
.un-section--ink .un-step{ border-color:rgba(255,255,255,.14); }

.un-tiers{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:1px solid var(--un-line); border-radius:var(--radius); overflow:hidden; background:#fff; }
@media (max-width:900px){ .un-tiers{ grid-template-columns:minmax(0,1fr); } }
.un-tier{
	padding:clamp(2rem,3vw,2.75rem); display:flex; flex-direction:column; position:relative;
	border-right:1px solid var(--un-line);
}
.un-tier:last-child{ border-right:0; }
@media (max-width:900px){
	.un-tier{ border-right:0; border-bottom:1px solid var(--un-line); }
	.un-tier:last-child{ border-bottom:0; }
}
.un-tier__badge{
	position:absolute; top:0; right:0; padding:.5rem 1rem;
	font-size:.56rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase;
	color:var(--un-gold); border-left:1px solid var(--un-line); border-bottom:1px solid var(--un-line);
}
.un-tier__no{ font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide); color:var(--un-gold); margin-bottom:1.1rem; }
.un-tier h3{ font-size:1.35rem; margin-bottom:.5rem; }
.un-tier__for{ font-size:.82rem; color:var(--un-grey); margin-bottom:2rem; padding-bottom:1.75rem; border-bottom:1px solid var(--un-line); line-height:1.7; }
.un-tier ul{ list-style:none; padding:0; margin:0 0 2rem; display:grid; gap:1rem; font-size:.9rem; }
.un-tier ul li{ margin:0; padding-left:1.5rem; position:relative; line-height:1.75; }
.un-tier ul li::before{ content:""; position:absolute; left:0; top:.72em; width:8px; height:1px; background:var(--un-gold); }
.un-tier__bind{ margin-top:auto; padding-top:1.75rem; border-top:1px solid var(--un-line); font-size:.8rem; color:var(--un-grey); line-height:1.7; }
.un-tier__bind b{ display:block; font-size:.6rem; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-dark); margin-bottom:.5rem; }
.un-tier--featured{ background:var(--un-light); }

.un-timeline{ position:relative; display:grid; gap:0; }
.un-timeline::before{ content:""; position:absolute; left:3px; top:10px; bottom:10px; width:1px; background:var(--un-line); }
.un-tl{ position:relative; padding:0 0 clamp(2.25rem,4vw,3.25rem) clamp(2.5rem,4.5vw,3.5rem); }
.un-tl:last-child{ padding-bottom:0; }
.un-tl::before{ content:""; position:absolute; left:0; top:8px; width:7px; height:7px; background:var(--un-gold); border-radius:50%; }
.un-tl__phase{ font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-gold); margin-bottom:.7rem; }
.un-tl h3{ font-size:1.1rem; margin-bottom:.75rem; }
.un-tl p{ font-size:.92rem; }
.un-section--ink .un-timeline::before{ background:rgba(255,255,255,.16); }

/* ------------------------------------------------------------------ 07 */
.un-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--un-line); }
@media (max-width:860px){ .un-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.un-stat{ padding:2.5rem clamp(1rem,2vw,2rem) 0 0; border-right:1px solid var(--un-line); }
.un-stat:last-child{ border-right:0; }
@media (max-width:860px){
	.un-stat:nth-child(2n){ border-right:0; }
	.un-stat:nth-child(-n+2){ border-bottom:1px solid var(--un-line); padding-bottom:2.5rem; }
}
.un-stat__v{
	display:block; font-size:clamp(1.9rem,3.4vw,2.8rem); font-weight:300; line-height:1;
	color:var(--un-dark); letter-spacing:.01em; margin-bottom:1rem;
}
.un-stat__l{ font-size:.74rem; font-weight:400; line-height:1.75; color:var(--un-grey); max-width:26ch; }
.un-section--ink .un-stats,.un-section--ink .un-stat{ border-color:rgba(255,255,255,.16); }
.un-section--ink .un-stat__v{ color:var(--un-gold); }
.un-section--ink .un-stat__l{ color:rgba(255,255,255,.6); }

/* ------------------------------------------------------------------ 08 */
.un-acc{ display:grid; gap:.85rem; }
.un-acc__item{
	background:#fff; border:1px solid var(--un-line); border-radius:var(--radius);
	padding:0 clamp(1.35rem,2.4vw,2rem); transition:border-color .35s var(--ease);
}
.un-acc__item:hover{ border-color:var(--un-gold-pale); }
.un-acc__btn{
	width:100%; display:flex; align-items:center; justify-content:space-between; gap:2rem;
	padding:1.5rem 0; background:none; border:0; cursor:pointer; text-align:left;
	font-family:var(--font-sans); font-size:.95rem; font-weight:500; color:var(--un-dark);
	transition:color .25s var(--ease);
}
.un-acc__btn:hover{ color:var(--un-gold-deep); }
.un-acc__btn i{ flex:none; width:14px; height:14px; position:relative; }
.un-acc__btn i::before,.un-acc__btn i::after{ content:""; position:absolute; background:var(--un-gold); transition:transform .3s var(--ease); }
.un-acc__btn i::before{ left:0; top:6.5px; width:14px; height:1px; }
.un-acc__btn i::after{ left:6.5px; top:0; width:1px; height:14px; }
.un-acc__btn[aria-expanded="true"] i::after{ transform:scaleY(0); }
.un-acc__panel{ overflow:hidden; height:0; transition:height .35s var(--ease); }
.un-acc__inner{ padding:0 0 1.75rem; max-width:76ch; font-size:.92rem; }
.un-section--ink .un-acc__item{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); }
.un-section--ink .un-acc__btn{ color:#fff; }

/* ------------------------------------------------------------------ 09 */
.un-quotes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--un-line); }
@media (max-width:940px){ .un-quotes{ grid-template-columns:minmax(0,1fr); } }
.un-quote{
	padding:2.75rem clamp(1.5rem,2.6vw,2.5rem) 2.75rem 0;
	border-right:1px solid var(--un-line); display:flex; flex-direction:column;
}
.un-quote:last-child{ border-right:0; padding-right:0; }
@media (max-width:940px){
	.un-quote{ border-right:0; border-bottom:1px solid var(--un-line); padding-right:0; }
	.un-quote:last-child{ border-bottom:0; }
}
.un-quote__mark{ font-size:.9rem; color:var(--un-gold); letter-spacing:.35em; margin-bottom:1.5rem; }
.un-quote p{ font-size:.98rem; color:var(--un-dark); font-weight:400; line-height:1.8; }
.un-quote__by{ margin-top:auto; padding-top:2rem; }
.un-quote__by b{ display:block; font-size:.85rem; color:var(--un-dark); font-weight:600; }
.un-quote__by span{ font-size:.72rem; color:var(--un-grey); letter-spacing:.03em; }

.un-bigquote{
	max-width:none; margin-inline:auto; text-align:center;
	background:var(--un-light); border-radius:var(--radius-lg);
	padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,4rem);
}
.un-bigquote blockquote{ max-width:820px; margin-inline:auto !important; }
.un-bigquote blockquote{
	border:0; padding:0; margin:0;
	font-size:clamp(1.15rem,2.1vw,1.6rem); font-weight:400; line-height:1.6; color:var(--un-dark);
}
.un-section--ink .un-bigquote blockquote{ color:#fff; }
.un-bigquote__star{ color:var(--un-gold); margin-bottom:2rem; display:flex; justify-content:center; }
.un-bigquote__star svg{ width:26px; height:26px; }

/* ------------------------------------------------------------------ 10 */
.un-logos{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; border:1px solid var(--un-line); border-radius:var(--radius); overflow:hidden; background:#fff; }
@media (max-width:900px){ .un-logos{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:560px){ .un-logos{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.un-logo{
	display:grid; place-items:center; min-height:112px; padding:1.5rem;
	font-size:.68rem; font-weight:500; letter-spacing:var(--track-mid); text-transform:uppercase;
	color:var(--un-grey); text-align:center;
	border-right:1px solid var(--un-line); border-bottom:1px solid var(--un-line);
	transition:color .3s var(--ease);
}
.un-logo:hover{ color:var(--un-dark); }

.un-marquee{ overflow:hidden; border-block:1px solid var(--un-line); padding:1.5rem 0; }
.un-marquee__track{ display:flex; gap:4rem; width:max-content; animation:un-marq 46s linear infinite; }
.un-marquee:hover .un-marquee__track{ animation-play-state:paused; }
.un-marquee span{
	font-size:.66rem; font-weight:500; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-grey);
	display:inline-flex; align-items:center; gap:4rem; white-space:nowrap;
}
.un-marquee span::after{ content:"★"; color:var(--un-gold); font-size:.6rem; }
@keyframes un-marq{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

/* Sternchen-Trenner */
.un-divider{ display:flex; align-items:center; gap:1.5rem; color:var(--un-gold); }
.un-divider::before,.un-divider::after{ content:""; flex:1; height:1px; background:var(--un-line); }
.un-divider svg{ width:18px; height:18px; flex:none; }

/* ------------------------------------------------------------------ 11 */
.un-form{ display:grid; gap:1.75rem; }
.un-form__row{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; }
@media (max-width:640px){ .un-form__row{ grid-template-columns:minmax(0,1fr); } }
.un-field{ display:grid; gap:.65rem; }
.un-field label,.un-form .un-label{
	font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-dark);
}
.un-field .req{ color:var(--un-gold); }
.un-field input[type="text"],.un-field input[type="email"],.un-field input[type="tel"],
.un-field input[type="url"],.un-field input[type="number"],.un-field input[type="search"],
.un-field select,.un-field textarea,
.un-search input[type="search"]{
	width:100%; padding:1rem 1.15rem; font-family:var(--font-sans); font-size:.94rem; color:var(--un-dark);
	background:var(--un-light); border:1px solid transparent; border-radius:var(--radius-sm);
	transition:border-color .25s var(--ease), background .25s var(--ease);
}
.un-field textarea{ min-height:150px; resize:vertical; line-height:1.8; }
.un-field select{
	appearance:none;
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23CDA24A' stroke-width='1.2' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 1.1rem center; background-size:11px; padding-right:2.75rem;
}
.un-field input:focus,.un-field select:focus,.un-field textarea:focus{
	outline:none; background:#fff; border-color:var(--un-gold);
}
.un-field input::placeholder,.un-field textarea::placeholder{ color:#B9B2A9; }
.un-field__hint{ font-size:.72rem; color:var(--un-grey); line-height:1.6; }
.un-field--error input,.un-field--error select,.un-field--error textarea{ border-color:#B4453C; }
.un-field__err{ font-size:.72rem; color:#B4453C; }

.un-field label.un-consent,
.un-consent{
	display:flex; align-items:flex-start; gap:.9rem;
	font-size:.82rem; font-weight:400; line-height:1.75; color:var(--un-brown);
	text-transform:none; letter-spacing:0;
}
.un-consent input[type="checkbox"]{ flex:none; width:17px; height:17px; margin-top:.2rem; accent-color:var(--un-gold); cursor:pointer; }
.un-hp{ position:absolute !important; left:-9999px !important; opacity:0; height:0; width:0; overflow:hidden; }

.un-notice{ padding:1.25rem 1.5rem; border:1px solid var(--un-gold); border-radius:var(--radius-sm); background:var(--un-paper); font-size:.92rem; margin-bottom:2.5rem; }
.un-notice--ok{ border-color:#3F7D58; color:#2C5B3F; }
.un-notice--err{ border-color:#B4453C; color:#8E332C; }
.un-notice p:last-child{ margin-bottom:0; }

.un-formbox{ background:transparent; }
.un-formbox--boxed{
	border:1px solid var(--un-line); border-radius:var(--radius-lg);
	padding:clamp(1.75rem,4vw,3rem); background:#fff;
}
.un-fieldset{ border:0; padding:0; margin:0; }
.un-fieldset legend{
	padding:0 0 1.5rem; font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide);
	text-transform:uppercase; color:var(--un-gold);
}
.un-formstep{ padding-bottom:2.5rem; margin-bottom:2.5rem; border-bottom:1px solid var(--un-line); }
.un-formstep:last-of-type{ border-bottom:0; margin-bottom:0; padding-bottom:0; }

/* --- Mehrstufiges Formular ---------------------------------------------
   Ohne JavaScript stehen alle Schritte untereinander; erst das Skript
   blendet sie einzeln ein und zeigt Fortschritt, Weiter und Zurück. */
.un-wizard{ gap:0; }
.un-wizard .un-formstep{
	display:grid; gap:1.75rem;
	padding-bottom:0; margin-bottom:0; border-bottom:0;
}
.un-wizard .un-formstep[hidden]{ display:none; }
.un-wizard .un-fieldset legend{ padding-bottom:0; }

.un-wizard__bar{ display:grid; gap:.7rem; margin-bottom:2rem; }
.un-wizard__track{ height:2px; background:var(--un-line); overflow:hidden; }
.un-wizard__fill{
	display:block; height:100%; width:33%; background:var(--un-gold);
	transition:width .35s ease;
}
.un-wizard__meta{
	margin:0; font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide);
	text-transform:uppercase; color:var(--un-grey);
}
.un-wizard__meta [data-wizard-name]{ color:var(--un-ink); }
.un-wizard__sep{ margin:0 .5rem; color:var(--un-line); }

.un-wizard__hint{
	margin:1.5rem 0 0; font-size:.78rem; color:#8E332C;
}
.un-wizard__nav{
	display:flex; flex-wrap:wrap; gap:1rem; align-items:center;
	margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--un-line);
}
.un-wizard__nav [hidden]{ display:none; }

/* --- Auswahlkarten im ersten Schritt ------------------------------------
   Untereinander statt nebeneinander: Die Formularspalte ist zu schmal für
   drei Karten, der Text bräche sonst nach jedem zweiten Wort um. */
.un-choices{ display:grid; gap:.75rem; }

.un-choice{ display:block; margin:0; cursor:pointer; }
.un-choice input{
	position:absolute; width:1px; height:1px; margin:-1px; padding:0;
	overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.un-choice__box{
	display:grid; grid-template-columns:auto minmax(0,1fr); gap:.2rem 1.15rem;
	align-items:start;
	padding:1.3rem 1.4rem; border:1px solid var(--un-line); background:#fff;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.un-choice__ico{ grid-row:1 / span 2; display:flex; padding-top:.2rem; color:var(--un-gold); }
.un-choice__ico svg{ width:24px; height:24px; }
.un-choice__title{
	font-family:var(--font-sans); font-size:.95rem; font-weight:700;
	letter-spacing:0; text-transform:none; color:var(--un-ink); line-height:1.35;
}
.un-choice__text{
	font-size:.8rem; line-height:1.7; letter-spacing:0; text-transform:none;
	font-weight:400; color:var(--un-brown);
}

/* Mit JavaScript nennt die Fortschrittszeile den Schritt – dann ist die
   Beschriftung des Fieldsets doppelt. Für Screenreader bleibt sie erhalten. */
.un-wizard--js .un-fieldset legend{
	position:absolute; width:1px; height:1px; margin:-1px; padding:0;
	overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.un-choice:hover .un-choice__box{ border-color:var(--un-gold); }
.un-choice input:focus-visible + .un-choice__box{ outline:2px solid var(--un-gold); outline-offset:2px; }
.un-choice input:checked + .un-choice__box{
	border-color:var(--un-gold); box-shadow:inset 0 0 0 1px var(--un-gold);
}

.un-field .un-field__ta--short{ min-height:96px; }

.un-search{ display:flex; gap:1rem; align-items:flex-end; }
.un-search input[type="search"]{ flex:1; }
.un-search button{
	padding:1rem 1.5rem; background:var(--un-dark); color:#fff; border:0;
	border-radius:var(--radius-pill); cursor:pointer;
	font-family:var(--font-sans); font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide);
	text-transform:uppercase; color:var(--un-gold-deep); white-space:nowrap;
}
.un-search button:hover{ background:var(--un-gold); color:#fff; }

/* ------------------------------------------------------------------ 12 */
.un-post{ display:flex; flex-direction:column; height:100%; }
.un-post__media{ display:block; margin-bottom:1.75rem; }
.un-post__media img{ width:100%; aspect-ratio:14/9; object-fit:cover; border-radius:var(--radius); transition:opacity .5s var(--ease); }
.un-post:hover .un-post__media img{ opacity:.88; }
.un-post__meta{ font-size:.62rem; font-weight:500; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-gold); margin-bottom:.9rem; }
.un-post h3{ font-size:1.05rem; margin-bottom:.8rem; line-height:1.45; }
.un-post h3 a{ color:var(--un-dark); }
.un-post h3 a:hover{ color:var(--un-gold-deep); }
.un-post p{ font-size:.9rem; line-height:1.8; }
.un-post__more{ margin-top:auto; padding-top:1.5rem; }

.un-entry{ max-width:70ch; font-size:1rem; }
.un-entry h2{ margin-top:3.25rem; font-size:clamp(1.25rem,2vw,1.6rem); }
.un-entry h3{ margin-top:2.25rem; font-size:1.05rem; }
.un-entry h2:first-child,.un-entry h3:first-child{ margin-top:0; }
.un-entry img{ margin-block:2.5rem; }
.un-entry ul,.un-entry ol{ margin-bottom:1.75rem; }
.un-entry li{ margin-bottom:.7rem; }
.wp-caption-text,.un-entry figcaption{ font-size:.72rem; color:var(--un-grey); margin-top:1rem; letter-spacing:.03em; }
.alignleft{ float:left; margin:.5rem 2.5rem 2rem 0; }
.alignright{ float:right; margin:.5rem 0 2rem 2.5rem; }
.aligncenter{ margin-inline:auto; }
.alignwide{ width:min(1100px,92vw); margin-inline:calc(50% - min(550px,46vw)); max-width:none; }
.alignfull{ width:100vw; margin-inline:calc(50% - 50vw); max-width:none; }

.un-meta{ display:flex; flex-wrap:wrap; gap:2rem; font-size:.66rem; letter-spacing:var(--track-mid); text-transform:uppercase; color:var(--un-grey); }
.un-tags{ display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; padding:0; margin:2.5rem 0 0; }
.un-tags li{ margin:0; }
.un-tags a{
	display:inline-block; padding:.45rem 1rem; border:1px solid var(--un-line); border-radius:var(--radius-pill);
	font-size:.62rem; letter-spacing:var(--track-mid); text-transform:uppercase; color:var(--un-grey);
}
.un-tags a:hover{ border-color:var(--un-gold); color:var(--un-dark); }

.un-sidebar .widget{ margin-bottom:3rem; }
.un-sidebar .widget-title,
.un-sidebar .widget h1,.un-sidebar .widget h2,.un-sidebar .widget h3,
.un-sidebar h2{
	font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase;
	color:var(--un-dark); padding-bottom:1.1rem; margin-bottom:1.5rem; border-bottom:1px solid var(--un-line);
}
.un-sidebar ul{ list-style:none; padding:0; }
.un-sidebar li{ margin-bottom:.85rem; font-size:.88rem; line-height:1.7; }
.un-sidebar a{ color:var(--un-brown); }
.un-sidebar a:hover{ color:var(--un-gold-deep); }

.un-comments{ margin-top:5rem; padding-top:3.5rem; border-top:1px solid var(--un-line); }
.un-comments ol{ list-style:none; padding:0; }
.un-comments .children{ padding-left:clamp(1rem,4vw,3rem); }
.un-comments .comment-body{ padding:2rem 0; border-bottom:1px solid var(--un-line); }
.un-comments .comment-author img{ border-radius:50%; float:left; margin-right:1.25rem; }
.un-comments .comment-metadata{ font-size:.7rem; color:var(--un-grey); letter-spacing:.04em; }
.comment-form{ display:grid; gap:1.5rem; margin-top:2.5rem; }
.comment-form input[type="text"],.comment-form input[type="email"],
.comment-form input[type="url"],.comment-form textarea{
	width:100%; padding:.9rem 0; font-family:var(--font-sans); font-size:.94rem;
	border:0; border-bottom:1px solid var(--un-line); background:transparent;
}
.comment-form textarea{ min-height:140px; }
.comment-form .submit{
	justify-self:start; padding:1.05rem 2.25rem; background:transparent; color:var(--un-gold-deep);
	border:1px solid var(--un-gold); font-family:var(--font-sans); font-size:.68rem; font-weight:600;
	letter-spacing:var(--track-wide); text-transform:uppercase; cursor:pointer;
}
.comment-form .submit:hover{ background:var(--un-gold); color:#fff; }

/* Team – bewusst ohne Portraitfotos, nur Name und Zuständigkeit */
.un-team{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
@media (max-width:860px){ .un-team{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .un-team{ grid-template-columns:minmax(0,1fr); } }
.un-member{
	border-top:1px solid var(--un-line); padding:1.5rem clamp(1rem,2.5vw,2.5rem) 0 0;
}
.un-member:first-child{ padding-left:0; }
.un-member h3{ font-size:1.02rem; margin-bottom:.35rem; }
.un-member__role{ font-size:.62rem; font-weight:500; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-gold); margin-bottom:1.1rem; }
.un-member p{ font-size:.88rem; line-height:1.8; }

/* ------------------------------------------------------------------ 13 */
.un-callout{
	border-left:1px solid var(--un-gold);
	padding:.35rem 0 .35rem clamp(1.5rem,2.5vw,2.25rem); margin-block:2.75rem;
}
.un-callout__label{
	font-size:.62rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase;
	color:var(--un-gold); margin-bottom:1rem;
}
.un-callout p{ font-size:.94rem; line-height:1.85; }
.un-callout p:last-child{ margin-bottom:0; }
.un-callout--fill{
	background:var(--un-light); border-left:0; border-radius:var(--radius);
	padding:clamp(1.5rem,3vw,2.25rem);
}
.un-section--ink .un-callout__label{ color:var(--un-gold); }

.un-cta{ background:#fff; }
/* Dunkler Abschluss als eigene Fläche mit weichen Ecken, nicht randlos */
.un-cta--ink{ background:#fff; color:inherit; }
.un-cta--ink .un-cta__inner{
	background:var(--un-ink); color:rgba(255,255,255,.7);
	border-radius:var(--radius-lg); padding:clamp(2.25rem,5vw,4rem);
}
.un-cta--ink h2,.un-cta--ink .un-display{ color:#fff; }
.un-cta--ink .un-eyebrow{ color:var(--un-gold); }
.un-cta__inner{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(2.5rem,5vw,5rem); align-items:center; }
@media (max-width:860px){ .un-cta__inner{ grid-template-columns:minmax(0,1fr); } }

.un-split-cta{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); }
@media (max-width:800px){ .un-split-cta{ grid-template-columns:minmax(0,1fr); } }
.un-split-cta__half{
	background:var(--un-light); border-radius:var(--radius-lg);
	padding:clamp(2rem,4vw,3.25rem);
	transition:background .4s var(--ease);
}

.un-split-cta__half h3{ font-size:clamp(1.2rem,2vw,1.55rem); margin-bottom:1.1rem; line-height:1.45; }
.un-split-cta__half p{ font-size:.94rem; }

/* ------------------------------------------------------------------ 14 */
.un-pagination{ margin-top:clamp(3.5rem,6vw,5rem); display:flex; justify-content:center; }
.un-pagination .nav-links{ display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.un-pagination .page-numbers{
	min-width:42px; height:42px; display:grid; place-items:center; padding:0 .75rem;
	border:1px solid transparent; border-radius:var(--radius-pill); font-size:.78rem; font-weight:500; color:var(--un-brown);
	transition:all .25s var(--ease);
}
.un-pagination .page-numbers:hover{ color:var(--un-gold-deep); }
.un-pagination .page-numbers.current{ border-color:var(--un-gold); color:var(--un-dark); }
.un-postnav{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--un-line); margin-top:4.5rem; }
@media (max-width:640px){ .un-postnav{ grid-template-columns:minmax(0,1fr); } }
.un-postnav a{ padding:2rem 2rem 2rem 0; display:block; border-right:1px solid var(--un-line); }
.un-postnav a:last-child{ border-right:0; }
.un-postnav span{ display:block; font-size:.6rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase; color:var(--un-gold); margin-bottom:.7rem; }
.un-postnav b{ font-size:.94rem; color:var(--un-dark); font-weight:500; line-height:1.6; }
.un-postnav .is-next{ text-align:right; padding-right:0; padding-left:2rem; }

/* 404 */
.un-404{ text-align:center; padding-block:clamp(6rem,14vw,11rem); }
.un-404__code{
	font-size:.68rem; letter-spacing:var(--track-xwide); text-transform:uppercase;
	color:var(--un-gold); margin-bottom:2rem;
}

/* ------------------------------------------------------------------ 15 */
.wp-block-button__link{
	background:transparent; color:var(--un-gold-deep); border:1px solid var(--un-gold); border-radius:0;
	padding:1.05rem 2.25rem; font-size:.68rem; font-weight:600; letter-spacing:var(--track-wide); text-transform:uppercase;
}
.wp-block-button__link:hover{ background:var(--un-gold); color:#fff; }
.wp-block-quote{ border-left:1px solid var(--un-gold); padding-left:2rem; }
.wp-block-separator{ border-top:1px solid var(--un-line); max-width:100%; }
.wp-block-table td,.wp-block-table th{ border:0; border-bottom:1px solid var(--un-line); padding:1rem 1.25rem 1rem 0; }
.wp-block-image figcaption{ font-size:.72rem; color:var(--un-grey); }
.has-un-gold-color{ color:var(--un-gold) !important; }
.has-un-gold-background-color{ background-color:var(--un-gold) !important; }
.has-un-dark-color{ color:var(--un-dark) !important; }
.has-un-dark-background-color{ background-color:var(--un-dark) !important; }
.has-un-light-background-color{ background-color:var(--un-light) !important; }

/* ------------------------------------------------------- Logo-Platzhalter */
/* Wird nur angezeigt, solange im Customizer kein Originallogo hinterlegt ist. */
.un-brand--placeholder{ flex-direction:column; align-items:flex-start; gap:calc(var(--un-logo-h) * .07); line-height:1; }
.un-brand__word{
	font-size:calc(var(--un-logo-h) * .49); font-weight:700; letter-spacing:-.015em;
	color:var(--un-dark); text-transform:lowercase; line-height:1;
}
.un-brand__sub{
	font-size:calc(var(--un-logo-h) * .18); font-weight:500; letter-spacing:.46em;
	text-transform:uppercase; color:var(--un-gold); padding-left:.1em; line-height:1;
}
.un-header.is-stuck .un-brand__word{ font-size:calc(var(--un-logo-h) * .42); }
.un-footer__brand{ line-height:1; }

/* ==========================================================================
   16 Startseite – Bausteine des Gestaltungsentwurfs
   ========================================================================== */

/* --- Über uns: Überschrift links, Text rechts an der Haarlinie ---------- */
/* Überschrift über die volle Breite, darunter die Absätze nebeneinander –
   getrennt durch dieselben senkrechten Haarlinien wie der Abschnitt darunter. */
.un-about__grid{ display:grid; gap:clamp(2rem,4vw,2.75rem); }
.un-about__head h2{ margin-bottom:0; }
.un-about__cols{
	display:grid; gap:0;
	border-top:1px solid var(--un-line);
	padding-top:clamp(1.75rem,3.5vw,2.25rem);
}
.un-about__cols--1{ grid-template-columns:minmax(0,1fr); }
.un-about__cols--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.un-about__cols--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.un-about__cols > p{
	margin:0; max-width:none; font-size:.94rem;
	padding-inline:clamp(1.5rem,3vw,2.75rem);
	border-left:1px solid var(--un-line);
}
.un-about__cols > p:first-child{ border-left:0; padding-left:0; }
.un-about__cols > p:last-child{ padding-right:0; }
.un-about__cols--1 > p{ max-width:70ch; }
.un-about__text .un-btns{ margin-top:clamp(1.75rem,3vw,2.5rem); }

/* Bis 1024 px zwei Spalten, darunter greift die App-Ansicht. */
@media (max-width:1100px){
	.un-about__cols--3{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:1.5rem; }
	.un-about__cols--3 > p:nth-child(3){ border-left:0; padding-left:0; }
}

/* --- Spalten mit senkrechten Haarlinien --------------------------------- */
.un-cols{ display:grid; gap:0; }
.un-cols--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.un-cols--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.un-col{
	display:flex; flex-direction:column; align-items:center; text-align:center;
	padding:.5rem clamp(1.25rem,2.6vw,2.5rem);
	border-left:1px solid var(--un-line);
}
.un-col:first-child{ border-left:0; }
.un-col__icon{ display:block; color:var(--un-gold); margin-bottom:1.6rem; }
.un-col__icon svg{ width:34px; height:34px; stroke-width:1.2; }
.un-col h3{
	font-size:.74rem; font-weight:600; letter-spacing:var(--track-wide);
	text-transform:uppercase; margin-bottom:1.1rem;
}
.un-col p{ font-size:.86rem; line-height:1.85; max-width:34ch; margin-bottom:1.6rem; }
.un-col__more{
	margin-top:auto; display:inline-grid; place-items:center; color:var(--un-gold);
	transition:transform .3s var(--ease), color .3s var(--ease);
}
.un-col__more svg{ width:20px; height:20px; }
.un-col__more:hover{ transform:translateX(5px); color:var(--un-gold-deep); }

/* --- Dunkles Band: Kennzahlen und Partnerlogos -------------------------- */
.un-band{ background:var(--un-ink); color:rgba(255,255,255,.72); padding-block:clamp(2.75rem,5vw,4rem); }
.un-figures{ display:grid; gap:0; }
.un-figures--1{ grid-template-columns:minmax(0,1fr); }
.un-figures--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.un-figures--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.un-figures--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.un-figure{
	text-align:center; padding:.75rem clamp(1rem,2vw,2rem);
	border-left:1px solid rgba(255,255,255,.16);
}
.un-figure:first-child{ border-left:0; }
.un-figure__v{
	display:block; color:var(--un-gold); font-size:clamp(1.6rem,2.8vw,2.35rem);
	font-weight:500; line-height:1.1; margin-bottom:.6rem;
}
.un-figure__l{
	display:block; color:#fff; font-size:.6rem; font-weight:500;
	letter-spacing:var(--track-wide); text-transform:uppercase;
}
.un-clients--after{
	margin-top:clamp(2rem,4vw,3rem); padding-top:clamp(2rem,4vw,3rem);
	border-top:1px solid rgba(255,255,255,.14);
}
.un-clients__title{
	text-align:center; font-size:.58rem; letter-spacing:var(--track-wide);
	text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:2rem;
}
.un-clients__row{
	display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
	gap:clamp(1.5rem,4vw,3.5rem);
}
.un-clients__item{ display:block; flex:0 1 auto; }
.un-clients__item img{
	max-height:34px; width:auto; object-fit:contain;
	filter:brightness(0) invert(1); opacity:.85;
	transition:opacity .3s var(--ease);
}
.un-clients__item:hover img{ opacity:1; }

/* --- Ablauf: nummerierte Kreise mit Verbindungslinie -------------------- */
.un-flow{
	list-style:none; margin:0; padding:0;
	display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
}
.un-flow__step{
	position:relative; text-align:center; margin:0;
	padding:0 clamp(.75rem,2vw,1.75rem);
}
.un-flow__step::after{
	content:""; position:absolute; top:26px; height:1px; background:var(--un-line);
	left:calc(50% + 34px); right:calc(-50% + 34px);
}
.un-flow__step:last-child::after{ display:none; }
.un-flow__no{
	display:grid; place-items:center; width:52px; height:52px; margin:0 auto 1.5rem;
	border:1px solid var(--un-gold); border-radius:50%;
	color:var(--un-gold); font-size:.7rem; font-weight:600; letter-spacing:var(--track-mid);
	background:#fff; position:relative; z-index:2;
}
.un-flow__step h3{
	font-size:.74rem; font-weight:600; letter-spacing:var(--track-wide);
	text-transform:uppercase; margin-bottom:1rem;
}
.un-flow__step p{ font-size:.85rem; line-height:1.85; max-width:32ch; margin-inline:auto; }

/* --- Kundenstimmen ------------------------------------------------------ */
.un-eyebrow--center{ text-align:center; }
.un-says__box{ position:relative; max-width:820px; margin-inline:auto; padding-inline:clamp(2rem,6vw,4.5rem); }
.un-says__stage{ position:relative; }
.un-says__item{ display:none; margin:0; text-align:center; }
.un-says__item.is-active{ display:block; animation:un-fade .5s var(--ease); }
@keyframes un-fade{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.un-says__mark{
	display:block; font-size:2.6rem; line-height:.6; color:var(--un-gold);
	font-family:Georgia,"Times New Roman",serif; margin-bottom:1.25rem;
}
.un-says__item blockquote{
	border:0; margin:0 0 1.75rem; padding:0;
	font-size:clamp(.98rem,1.5vw,1.12rem); line-height:1.8; color:var(--un-dark);
}
.un-says__item figcaption b{
	display:block; font-size:.64rem; font-weight:600; letter-spacing:var(--track-wide);
	text-transform:uppercase; color:var(--un-dark); margin-bottom:.35rem;
}
.un-says__item figcaption span{ font-size:.74rem; color:var(--un-grey); }
.un-says__nav{
	position:absolute; top:50%; transform:translateY(-50%);
	width:38px; height:38px; display:grid; place-items:center;
	background:none; border:0; cursor:pointer; color:var(--un-gold); padding:0;
	transition:color .25s var(--ease);
}
.un-says__nav:hover{ color:var(--un-gold-deep); }
.un-says__nav svg{ width:20px; height:20px; }
.un-says__nav--prev{ left:0; }
.un-says__nav--prev svg{ transform:rotate(180deg); }
.un-says__nav--next{ right:0; }
.un-says__dots{ display:flex; justify-content:center; gap:.55rem; margin-top:2rem; }
.un-says__dot{
	width:7px; height:7px; padding:0; border:0; border-radius:50%; cursor:pointer;
	background:var(--un-line); transition:background .25s var(--ease);
}
.un-says__dot.is-active{ background:var(--un-gold); }

/* --- Abschlussband ------------------------------------------------------ */
.un-endband{
	position:relative; overflow:hidden; background:var(--un-ink);
	padding-block:clamp(3rem,6vw,4.75rem);
}
.un-endband__inner{
	position:relative; z-index:2;
	display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
	gap:2rem clamp(2rem,5vw,4rem);
}
.un-endband__kicker{
	display:block; font-size:.62rem; font-weight:500; letter-spacing:var(--track-wide);
	text-transform:uppercase; color:rgba(255,255,255,.7); margin-bottom:1rem;
}
.un-endband__title{
	color:#fff; margin:0; font-size:clamp(1.6rem,3vw,2.5rem); line-height:1.15;
}
.un-endband__title em{ color:var(--un-gold); font-style:normal; }

/* --- Abschnittsköpfe im Entwurfsstil ------------------------------------ */
.un-shead--center{ max-width:760px; }
.un-shead--center .un-eyebrow{ margin-bottom:1rem; }
.un-shead--center h2{ font-size:clamp(1.35rem,2.4vw,2rem); text-transform:uppercase; letter-spacing:.01em; }
.un-endband__text{ max-width:46ch; }
.un-endband__lead{ color:rgba(255,255,255,.72); font-size:.92rem; margin:1.1rem 0 0; }
.un-endband__action{ display:flex; flex-wrap:wrap; gap:.85rem; }
