/* DJK Blau-Weiß Münster – Design nach dem Vorbild tvmuenster.meolo-test.de, in Vereinsblau */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Source+Sans+3:wght@400;600;700&display=swap");

:root{
--bg:#ffffff;--surface:#ffffff;--ink:#1d2a3a;--muted:#5a6676;--line:#dde3ec;--tint:#eef3f9;
--blue:#0a4d9b;--brand:#0066cc;--deep:#0e1f3a;--on-blue:#ffffff;
--accent:#5bb8ec;--accent-ink:#071c38;
--font-display:"Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif;
--font-body:"Source Sans 3","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
--step--1:.875rem;--step-0:1.0625rem;--step-1:1.3rem;--step-2:1.7rem;--step-3:2.3rem;--step-4:clamp(2.4rem,6vw,4.2rem);
--radius:6px;--wrap:72rem;--gutter:16px;
}
@media (min-width:700px){:root{--gutter:32px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
--bg:#111a26;--surface:#172232;--ink:#e6ebf2;--muted:#a3afbf;--line:#2c3a4e;--tint:#1c2a3d;
--blue:#5bb8ec;--brand:#3d8fe0;--deep:#0a121d;--on-blue:#ffffff;--accent:#5bb8ec;--accent-ink:#071c38;color-scheme:dark}}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;overflow-x:clip}
img,svg,video,canvas{max-width:100%;height:auto;display:block}
img[width][style],img[style*="width"]{max-width:100%!important;height:auto!important}
picture{display:block;max-width:100%}
iframe,embed,object{max-width:100%}
.rte img,.teaser img,.layout_full img{max-width:100%;height:auto}
table img{max-width:100%;height:auto}
figure{margin:0}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--brand)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.05;text-wrap:balance;margin:0;letter-spacing:.005em;color:inherit}
h1{font-size:var(--step-4);font-weight:700;text-transform:uppercase}
h2{font-size:var(--step-3);font-weight:700;text-transform:uppercase}
h3{font-size:var(--step-1);font-weight:600}
h4{font-size:var(--step-0);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
p{margin:0 0 .9em;max-width:65ch}
ul,ol{padding-left:1.3rem;margin:0 0 1em}
li+li{margin-top:.2rem}
.rte>:last-child{margin-bottom:0}
.invisible{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}

/* Hilfsklassen für volle Breite (nur CSS, kein Zusatz-Markup) */
.bleed{border-image:linear-gradient(var(--bleed,var(--tint)) 0 0) fill 0//0 100vw}

/* ---------- Kopf ---------- */
#wrapper,#container,#main,#main>.inside{margin:0;padding:0;width:auto;float:none}
#header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--deep);color:var(--on-blue)}
#header>.inside{position:relative;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);min-height:4.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1rem}
#header .module-template{flex:1 1 auto;min-width:0}
.brandbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.6rem}
.brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;min-width:0}
.brand-badge{flex:none;background:#fff;border-radius:var(--radius);padding:5px 10px;display:block;line-height:0}
.brand-badge img{height:42px;width:auto}
.brand-text{font-family:var(--font-display);line-height:1;text-transform:uppercase;color:var(--on-blue)}
.brand-text strong{display:block;font-size:1.3rem;letter-spacing:.02em}
.brand-text span{font-size:.78rem;letter-spacing:.14em;opacity:.8}
@media (max-width:520px){.brand-text{display:none}.brand-badge img{height:36px}}
.nav-toggle-input{position:absolute;opacity:0;pointer-events:none}
.nav-toggle{display:inline-flex;align-items:center;gap:.55rem;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:var(--radius);padding:.45rem .8rem;font:600 1rem var(--font-display);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;user-select:none}
.nav-toggle .bars{width:16px;height:2px;background:currentColor;position:relative}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor}
.nav-toggle .bars::before{top:-5px}.nav-toggle .bars::after{top:5px}
.nav-toggle-input:focus-visible+.nav-toggle{outline:3px solid var(--accent);outline-offset:2px}

#main-nav{flex-basis:100%;display:none;padding:0 0 1rem}
#header:has(.nav-toggle-input:checked) #main-nav{display:block}
#main-nav ul{list-style:none;margin:0;padding:0}
#main-nav li{margin:0;position:relative}
#main-nav a,#main-nav strong{display:block;color:#fff;text-decoration:none;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:1.05rem;padding:.5rem .75rem;border-radius:var(--radius)}
#main-nav a:hover{background:rgba(255,255,255,.08)}
#main-nav .level_1>li>strong.active,#main-nav .level_1>li.trail>a{box-shadow:inset 0 -3px 0 var(--accent)}
#main-nav li.cta>a,#main-nav li.cta>strong{background:var(--accent);color:var(--accent-ink)}
#main-nav .level_2,#main-nav .level_3{padding:0 0 .25rem 1rem}
#main-nav .level_2 a,#main-nav .level_2 strong{font-size:.98rem;opacity:.92;padding:.35rem .75rem}
#main-nav .level_3 a,#main-nav .level_3 strong{font-size:.9rem;text-transform:none;letter-spacing:.02em;font-family:var(--font-body);font-weight:400;opacity:.85}
#main-nav .level_2 strong.active,#main-nav .level_3 strong.active{box-shadow:inset 3px 0 0 var(--accent)}

@media (min-width:1180px){
#header>.inside{flex-wrap:nowrap}
#header .module-template{flex:0 1 auto}
.nav-toggle{display:none}
#main-nav,#header:has(.nav-toggle-input:checked) #main-nav{display:block;flex:0 1 auto;flex-basis:auto;padding:0}
#main-nav .level_1{display:flex;gap:.15rem;justify-content:flex-end;flex-wrap:wrap}
#main-nav .level_1>li>a,#main-nav .level_1>li>strong{font-size:1rem;padding:.55rem .6rem}
#main-nav li.submenu>a::after,#main-nav li.submenu>strong::after{content:" ▾";font-size:.8em;opacity:.8}
#main-nav .level_3 li.submenu>a::after{content:none}
#main-nav .level_2{display:none;position:absolute;left:0;top:100%;min-width:15rem;background:var(--deep);padding:.4rem;border-radius:0 0 var(--radius) var(--radius);box-shadow:0 14px 28px -14px rgba(0,0,0,.55);z-index:60}
#main-nav .level_1>li:nth-last-child(-n+3)>.level_2{left:auto;right:0}
#main-nav li:hover>.level_2,#main-nav li:focus-within>.level_2{display:block}
#main-nav .level_2 li.submenu>a::after,#main-nav .level_2 li.submenu>strong::after{content:none}
#main-nav .level_3{padding:0 0 .3rem .75rem}
}

/* ---------- Inhaltsbereich ---------- */
#container{min-height:50vh}
.mod_article{padding-block:clamp(2rem,5vw,3.5rem)}
.mod_article>.mod_article__inner{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);display:grid;gap:1.25rem;align-content:start}
.mod_article>.mod_article__inner>*{min-width:0}
.content-text,.content-headline,.content-list{max-width:52rem}
.wide,.content-text.wide{max-width:none}

/* Seitenkopf: die erste Überschrift einer Seite wird zum blauen Band wie bei tvmuenster */
#main .mod_article:first-child:has(>.mod_article__inner>h1.content-headline:first-child){padding-top:0}
#main .mod_article:first-child>.mod_article__inner>h1.content-headline:first-child,
#main .mod_article.page-head>.mod_article__inner{--bleed:var(--blue);border-image:linear-gradient(var(--bleed) 0 0) fill 0//0 100vw;color:var(--on-blue);max-width:none;padding-block:3rem 2.5rem;margin-bottom:1.25rem}
#main .mod_article.page-head{padding-block:0}
#main .mod_article.page-head h1,#main .mod_article.page-head h2,#main .mod_article.page-head a{color:#fff}
#main .mod_article.page-head .rte{font-size:var(--step-1);line-height:1.45;opacity:.95}
.mod_article:first-child>.mod_article__inner>h1.content-headline:first-child+.content-text .rte>p:first-child{font-size:var(--step-1);line-height:1.5;color:var(--muted)}

.eyebrow,.eyebrow .rte p{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;font-size:var(--step--1);font-weight:600;color:var(--blue);margin:0}
.eyebrow+.content-headline{margin-top:-.75rem}
.lead .rte p{font-size:var(--step-1);line-height:1.45}

/* Buttons (Inhaltselement Hyperlink mit CSS-Klasse btn) */
.btn a,a.btn{display:inline-flex;align-items:center;gap:.5rem;font:600 1.1rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;padding:.75rem 1.25rem;border-radius:var(--radius);text-decoration:none;border:2px solid transparent;background:var(--blue);color:var(--on-blue);cursor:pointer}
.btn a:hover{filter:brightness(1.08);color:var(--on-blue)}
.btn-accent a{background:var(--accent);color:var(--accent-ink)}
.btn-accent a:hover{color:var(--accent-ink)}
.btn-ghost a{background:transparent;border-color:currentColor;color:inherit}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.actions>*{margin:0}

/* ---------- Startseite ---------- */
#main .mod_article.home{padding-top:0;padding-bottom:0}
.home>.mod_article__inner{gap:0}
.section{display:grid;gap:1.25rem;padding-block:3.5rem;align-content:start}
.section.tint{--bleed:var(--tint);border-image:linear-gradient(var(--bleed) 0 0) fill 0//0 100vw}
.section-head{display:grid;gap:.5rem;margin-bottom:.75rem}
.section-head>*{margin:0}

.hero{--bleed:var(--blue);border-image:linear-gradient(var(--bleed) 0 0) fill 0//0 100vw;color:var(--on-blue);position:relative;display:grid;gap:2rem;padding-block:3.5rem 3rem;grid-template-columns:minmax(0,1fr)}
.hero::before{content:"";position:absolute;right:-6rem;top:50%;width:28rem;height:28rem;transform:translateY(-50%);border:3px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}
@media (min-width:900px){.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;padding-block:4.5rem}}
.hero-copy{display:grid;gap:1rem;align-content:start;position:relative;z-index:1}
.hero-copy>*{margin:0}
.hero .eyebrow,.hero .eyebrow .rte p{color:var(--accent)}
.hero h1{color:#fff}
.hero .rte p{font-size:var(--step-1);line-height:1.45;opacity:.95}
.hero .actions{margin-top:.75rem}
.hero .btn-ghost a{color:#fff}
.hero-photo{position:relative;z-index:1;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);background:var(--deep)}
.hero-photo figure,.hero-photo picture{height:100%}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-photo figcaption{position:absolute;inset:auto 0 0 0;padding:.6rem .8rem;font:600 .95rem var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}

.facts{--bleed:var(--surface);border-image:linear-gradient(var(--bleed) 0 0) fill 0//0 100vw;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}
.facts>*{margin:0;padding:1.25rem 1rem;border-left:1px solid var(--line);max-width:none}
.facts>:first-child{border-left:0}
.facts p{margin:0;color:var(--muted);font-size:var(--step--1)}
.facts strong{display:block;font:700 var(--step-2) var(--font-display);color:var(--blue);font-variant-numeric:tabular-nums;line-height:1.2}

/* Karten wie die Abteilungskacheln bei tvmuenster */
.cards,.dept-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}
.cards>*,.dept-grid>*{margin:0!important;max-width:none}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;padding:1rem 1.1rem 1.25rem;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-2px);border-color:var(--blue)}
.card figure{order:-1;margin:-1rem -1.1rem 1rem;aspect-ratio:16/9;background:linear-gradient(135deg,var(--blue),var(--deep));overflow:hidden}
.card figure img,.card figure picture{width:100%;height:100%;object-fit:cover;border-radius:0}
.card h2,.card h3{font-size:var(--step-2);text-transform:uppercase;color:var(--blue);margin:0 0 .4rem}
.card .rte{color:var(--muted);font-size:.98rem}
.card .rte p:last-child a{font:600 1rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.card .rte p:last-child a::after{content:"";position:absolute;inset:0}

.two-col{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.two-col>*{margin:0;max-width:none}
.stack{display:grid;gap:1rem;align-content:start}
.stack>*{margin:0}
.callout{background:var(--blue);color:var(--on-blue);border-radius:var(--radius);padding:1.75rem;display:grid;gap:1rem;align-content:start;max-width:none}
.callout h2,.callout h3{color:#fff}
.callout a{color:#fff}
.content-text.callout .rte{opacity:.95}
.contact-line{display:grid;gap:.15rem;padding:.9rem 1rem;background:var(--tint);border-radius:var(--radius)}
.partners ul,.logos ul{align-items:center}

/* ---------- Beiträge ---------- */
.news-cards,.news-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
.news-cards>h2,.news-cards>.pagination,.news-cards>nav,.news-cards>.empty,.news-grid>.pagination,.news-grid>nav{grid-column:1/-1}
.news-cards>h2{margin-bottom:.25rem}
.mod_newslist .layout_latest,.mod_newslist .layout_short{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s,border-color .15s}
.mod_newslist .layout_latest:hover,.mod_newslist .layout_short:hover{transform:translateY(-2px);border-color:var(--blue)}
.layout_latest .image_container{order:-1;margin:0;aspect-ratio:3/2;background:linear-gradient(135deg,var(--blue),var(--deep));overflow:hidden}
.layout_latest .image_container a,.layout_latest .image_container picture{display:block;height:100%}
.layout_latest .image_container img{width:100%;height:100%;object-fit:cover}
.layout_latest>.info,.layout_latest>h2,.layout_latest>.content-text,.layout_latest>.teaser,.layout_latest>.more,
.layout_short>*{padding-inline:1.1rem}
.layout_latest>.info,.layout_short>.info,.layout_full .info{font-size:0;color:var(--muted);padding-top:1rem;margin:0;max-width:none}
.layout_latest .info time,.layout_short .info time,.layout_full .info time{font-size:var(--step--1);font-variant-numeric:tabular-nums}
.layout_latest>h2,.layout_short>h2{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;text-transform:none;margin:.4rem 0 .5rem}
.layout_latest>h2 a,.layout_short>h2 a{color:inherit;text-decoration:none}
.layout_latest>h2 a::after,.layout_short>h2 a::after{content:"";position:absolute;inset:0}
.layout_latest>h2 a:hover{color:var(--blue)}
.layout_latest .content-text,.layout_latest .content-text p{color:var(--muted);font-size:.98rem;max-width:none}
.layout_latest>.more,.layout_short>.more{margin:auto 0 0;padding-block:.75rem 1.1rem}
.layout_latest>.more a,.layout_short>.more a{font:600 1rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.mod_newslist .empty{color:var(--muted)}
.news-latest .layout_latest .image_container{display:none}

.mod_newsreader{max-width:48rem}
.mod_newsreader .layout_full{display:grid;gap:1rem}
.mod_newsreader h1{font-size:var(--step-3)}
.mod_newsreader .layout_full>figure img,.mod_newsreader .image_container img{border-radius:var(--radius);width:100%;height:auto}
.mod_newsreader .info{padding-top:0}
.mod_newsreader .back a{font:600 1rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.mod_newsreader .back a::before{content:"← "}

.pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;padding:0;margin:1rem 0 0}
.pagination li{margin:0}
.pagination a,.pagination strong{display:inline-grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;font:600 1rem var(--font-display);color:var(--ink)}
.pagination a:hover{border-color:var(--blue);color:var(--blue)}
.pagination strong.active{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}
.pagination p{font-size:var(--step--1);color:var(--muted);margin:0}

/* ---------- Standard-Inhaltselemente ---------- */
.content-image img,.content-text figure img{border-radius:var(--radius)}
.content-text figure{margin:0 0 1rem}
.content-text figcaption,.content-image figcaption{font-size:var(--step--1);color:var(--muted);margin-top:.35rem}
@media (min-width:760px){
.content-text.media--left>figure{float:left;max-width:45%;margin:0 1.5rem 1rem 0}
.content-text.media--right>figure{float:right;max-width:45%;margin:0 0 1rem 1.5rem}
.content-text::after{content:"";display:table;clear:both}}
.card.content-text::after{content:none}

.content-gallery ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr))}
.content-gallery li{margin:0}
.content-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.content-gallery figcaption{font-size:var(--step--1);color:var(--muted);margin-top:.3rem}
.logos.content-gallery ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));align-items:center}
.logos.content-gallery li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;align-items:center;justify-content:center}
.logos.content-gallery img{aspect-ratio:auto;object-fit:contain;max-height:6rem;width:auto;border-radius:0}

.content-download,.content-downloads ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.content-downloads li{margin:0}
.content-download a,.content-downloads a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink);font-weight:600}
.content-download a:hover,.content-downloads a:hover{border-color:var(--blue);color:var(--blue)}
.content-download .size,.content-downloads .size{color:var(--muted);font-weight:400;font-size:var(--step--1);white-space:nowrap}

.content-table{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:none}
.content-table table{width:100%;border-collapse:collapse;font-size:.98rem}
.content-table th,.content-table td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
.content-table th{font:600 .85rem var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--tint)}
.content-table tr:last-child td{border-bottom:0}
.content-table caption{caption-side:top;text-align:left;font:600 1.1rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--blue);padding:.75rem .9rem .25rem}
.table-scroll table{min-width:44rem}

.content-accordion{display:grid;gap:.5rem;max-width:none}
.content-accordion .handorgel__header button,.content-accordion summary,.content-accordion .toggler{width:100%;text-align:left;font:600 1.15rem var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;cursor:pointer}
.content-accordion .handorgel__header--open button,.content-accordion details[open]>summary{border-color:var(--blue);color:var(--blue)}
.content-accordion .handorgel__content__inner,.content-accordion details>div{padding:1rem 0}

.content-youtube,.content-vimeo,.content-player{max-width:52rem}
.content-youtube iframe,.content-vimeo iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--radius)}
.content-player video{width:100%;border-radius:var(--radius)}
.content-hyperlink:not(.btn) a{font-weight:600}
.content-list ul li::marker{color:var(--blue)}

.content-swiper{border-radius:var(--radius);overflow:hidden;--swiper-theme-color:#fff;--swiper-navigation-color:#fff;--swiper-navigation-size:28px;--swiper-pagination-bullet-inactive-color:#fff;--swiper-pagination-bullet-inactive-opacity:.55}
.content-swiper .swiper-slide{position:relative}
.content-swiper .swiper-slide img{width:100%;aspect-ratio:4/3;object-fit:cover}
.content-swiper figcaption{position:absolute;inset:auto 0 0 0;padding:2rem 1rem .8rem;font:600 1.05rem var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}

/* Formulare */
.widget{margin-bottom:1rem}
.widget label{display:block;font:600 .9rem var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.3rem}
input.text,textarea,select{width:100%;font:inherit;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
button.submit{font:600 1.1rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;padding:.75rem 1.25rem;border-radius:var(--radius);background:var(--blue);color:var(--on-blue);border:0;cursor:pointer}

/* ---------- Fuß ---------- */
#footer{background:var(--deep);color:#d5deea;font-size:var(--step--1);margin-top:0}
#footer>.inside{max-width:var(--wrap);margin-inline:auto;padding:3rem var(--gutter) 2rem}
#footer a{color:#fff}
#footer h2,#footer h3,#footer h4{font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .6rem}
#footer p{max-width:none}
#footer .footer-cols{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
#footer .footer-cols>*{margin:0!important;max-width:none}
#footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}
#footer li+li{margin:0}
#footer .content-image img{background:#fff;border-radius:var(--radius);padding:6px;max-height:70px;width:auto}
#footer .footer-bottom{margin-top:2.5rem!important;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.15);max-width:none;opacity:.85}
#footer .footer-bottom .rte{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
#footer .footer-bottom p{margin:0}

