/* Whole-page layout pass for Hottgenroth Digital 2026. Loaded last on purpose. */
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype-variations");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}
:root{
  --hg-red:#b51f1f;
  --hg-red-dark:#8f1818;
  --hg-charcoal:#2b2f33;
  --hg-charcoal-soft:#3c4146;
  --hg-grey-100:#f7f7f7;
  --hg-grey-200:#ececed;
  --hg-border:#e3e3e5;
  --hg-text:#23262a;
  --page-gutter:clamp(1.25rem,3vw,2rem);
  --section-space:clamp(4.5rem,6vw,6.5rem);
  --content-width:1440px;
  --site-font:"Inter","Segoe UI",Arial,sans-serif;
}
html{scroll-padding-top:6rem}
body{overflow-x:clip;color:var(--hg-text);font-family:var(--site-font);line-height:1.6}

/* Keep all visible copy in Inter while preserving icon-font glyphs. */
body,
body *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.fat):not([class^="fa-"]):not([class*=" fa-"]):not(.swiper-button-prev):not(.swiper-button-next) {
  font-family: var(--site-font) !important;
}
.container{
  width:100%!important;
  max-width:var(--content-width)!important;
  padding-right:var(--page-gutter)!important;
  padding-left:var(--page-gutter)!important;
}
.padding-top{padding-top:var(--section-space)!important}
.padding-bottom{padding-bottom:var(--section-space)!important}

/* Header */
.header-con{
  position:relative;
  z-index:100;
  height:auto!important;
  padding:0!important;
  background:#fff;
  border-bottom:1px solid rgba(35,38,42,.08);
}
.header-con .container{padding-top:0!important;padding-bottom:0!important}
.header-con .navbar{min-height:88px;padding:0!important}
.header-con .navbar-brand{
  width:auto!important;
  max-width:130px;
  height:68px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain;
}
.header-con .navbar-nav{align-items:center;gap:clamp(1.75rem,3vw,3.5rem)}
.header-con .nav-item{margin:0!important}
.header-con .nav-link{
  padding:.75rem 0!important;
  color:var(--hg-text)!important;
  font-size:.84rem!important;
  font-weight:800!important;
  letter-spacing:.075em;
  line-height:1.2!important;
}
.header-con .nav-link:hover,.header-con .nav-link:focus-visible{color:var(--hg-red)!important}
.header-con .nav-link:focus-visible{outline:3px solid rgba(181,31,31,.28);outline-offset:5px;border-radius:.2rem}

/* Hero */
.banner-main-sec.post-event-hero{
  display:flex!important;
  align-items:center;
  height:auto!important;
  min-height:clamp(680px,calc(100svh - 88px),980px);
  padding:clamp(4.5rem,7vw,6.5rem) 0;
  background-position:center right!important;
  background-size:cover!important;
}
.post-event-hero>.d-table-cell{display:block!important;vertical-align:initial!important}
.post-event-hero .container{height:auto!important}
.post-event-hero .banner-inner-sec{
  display:block!important;
  width:min(100%,980px)!important;
  max-width:980px!important;
  height:auto!important;
}
.post-event-hero .banner-inner-sec>span{
  margin:0 0 2rem!important;
  padding:.7rem 1.15rem!important;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  color:#fff;
  font-size:clamp(.75rem,1vw,.9rem)!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  line-height:1.25!important;
  text-transform:uppercase;
}
.post-event-hero h1{
  max-width:940px;
  margin:0 0 1.6rem!important;
  padding:0!important;
  color:#fff!important;
  font-size:clamp(3.2rem,5.15vw,5.25rem)!important;
  font-weight:850!important;
  letter-spacing:0;
  line-height:.96!important;
  text-wrap:balance;
}
.post-event-hero h1::before{display:none!important}
.post-event-hero h1::after{
  content:"";
  position:static!important;
  display:block!important;
  width:5.5rem!important;
  height:.35rem!important;
  margin-top:1.6rem;
  border:0!important;
  border-radius:999px;
  background:var(--hg-red)!important;
}
.post-event-hero h2{
  max-width:820px;
  margin:0 0 1rem!important;
  color:#fff!important;
  font-size:clamp(1.45rem,2.15vw,2rem)!important;
  font-weight:650!important;
  letter-spacing:-.02em;
  line-height:1.22!important;
  text-wrap:balance;
}
.post-event-hero .banner-inner-sec>p{
  max-width:760px!important;
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:clamp(1rem,1.3vw,1.15rem)!important;
  line-height:1.65!important;
}
.hero-cta-group{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.85rem;
  margin-top:1.5rem;
}
.hero-cta-group .hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:50px;
  padding:.85rem 1.35rem;
  border:1px solid transparent;
  border-radius:999px;
  font-size:.9rem;
  font-weight:750;
  letter-spacing:.02em;
  line-height:1;
  text-transform:uppercase;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease;
}
.hero-cta-group .hero-cta:hover{transform:translateY(-2px);text-decoration:none}
.hero-cta-group .hero-cta:focus-visible{outline:3px solid rgba(255,255,255,.82);outline-offset:3px}
.hero-cta-group .hero-cta-primary{background:var(--hg-red);color:#fff}
.hero-cta-group .hero-cta-primary:hover{background:#d2292f;color:#fff}
.hero-cta-group .hero-cta-secondary{border-color:rgba(255,255,255,.62);background:rgba(18,20,22,.28);color:#fff}
.hero-cta-group .hero-cta-secondary:hover{border-color:#fff;background:rgba(255,255,255,.12);color:#fff}
@media(max-width:575.98px){
  .hero-cta-group{max-width:320px;flex-direction:column;align-items:stretch;gap:.7rem;margin-top:1.25rem}
  .hero-cta-group .hero-cta{width:100%;min-height:48px;padding:.8rem 1rem;font-size:.82rem}
}
.banner-social-icons{right:clamp(1rem,2.5vw,2.5rem)!important}

/* Workflow section */
.conference-sec{
  padding:var(--section-space) 0!important;
  background:#fff;
}
.conference-sec .row{align-items:center;margin-right:-1rem;margin-left:-1rem}
.conference-sec [class*=col-]{padding-right:1rem;padding-left:1rem}
.confernce-text-sec{max-width:560px}
.conference-sec h2{
  margin:0 0 1.5rem!important;
  color:var(--hg-text)!important;
  font-size:clamp(2.35rem,3.4vw,3.25rem)!important;
  font-weight:820!important;
  letter-spacing:0;
  line-height:1.04!important;
  text-wrap:balance;
}
.conference-sec .confernce-text-sec p{
  margin:0 0 1rem!important;
  color:#575d63;
  font-size:clamp(1rem,1.25vw,1.1rem)!important;
  line-height:1.65!important;
}
.conference-sec .confernce-text-sec p strong{color:var(--hg-red);font-size:1.05em}
.post-event-benefits{display:grid;gap:1rem!important;height:auto!important}
.post-event-benefit{
  min-height:0!important;
  padding:1.1rem!important;
  border:1px solid var(--hg-border);
  border-radius:1rem!important;
  background:var(--hg-grey-100);
  box-shadow:none!important;
}
.post-event-benefit figure{
  flex:0 0 4.25rem!important;
  width:4.25rem!important;
  height:4.25rem!important;
  margin:0 1rem 0 0!important;
}
.post-event-benefit figure img{width:100%!important;height:100%!important;object-fit:contain}
.post-event-benefit h3{margin:0 0 .35rem!important;font-size:1.15rem!important;line-height:1.25!important}
.post-event-benefit p{margin:0!important;color:#666c72!important;font-size:.95rem!important;line-height:1.5!important}
.section-divider{float:left;width:100%;height:6px;background:var(--hg-red)}

/* Shared section titles */
.generic-title>h2{
  margin:0 0 1rem!important;
  font-size:clamp(2.35rem,3.8vw,3.5rem)!important;
  font-weight:820!important;
  letter-spacing:-.04em;
  line-height:1.05!important;
  text-wrap:balance;
}
.generic-title>p{
  max-width:800px;
  margin:0 auto;
  font-size:clamp(1rem,1.2vw,1.1rem)!important;
  line-height:1.65!important;
}

#dates .generic-title>h2,
#produkte .generic-title>h2{
  letter-spacing:0;
}

/* Three.js program */
#dates.program-experience{padding:var(--section-space) 0!important}
#dates.program-experience .generic-title{max-width:900px;margin:0 auto}
#dates .program-day-picker{
  top:.75rem;
  max-width:940px;
  margin:2.25rem auto 3.5rem;
  padding:.55rem;
}
#dates .program-day-picker a{min-height:4.35rem;padding:.65rem .9rem}
#dates .program-scroll-story{max-width:940px}
#dates .program-scroll-story .compact-program-day{
  margin-bottom:clamp(4rem,7vw,6rem);
  padding:1rem;
  border-radius:1.35rem;
  scroll-margin-top:7.25rem;
}
#dates .program-scroll-story .compact-day-heading{
  top:6.55rem;
  min-height:92px!important;
  margin-bottom:1rem!important;
  padding:1.2rem 1.35rem!important;
}
#dates .program-scroll-story .compact-day-heading>span{
  min-width:4rem;
  padding:.45rem .85rem!important;
  font-size:.8rem!important;
}
#dates .program-scroll-story .compact-day-heading small{
  max-width:620px!important;
  font-size:clamp(1.15rem,1.7vw,1.45rem)!important;
  line-height:1.25!important;
}
#dates .program-scroll-story .compact-program-list{display:grid;gap:.75rem}
#dates .program-scroll-story .compact-talk{
  min-height:104px!important;
  margin:0!important;
  padding:1rem 1.15rem!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  border-radius:.75rem;
}
#dates .program-scroll-story .compact-talk-icon{width:54px;height:54px;font-size:.9rem!important}
#dates .program-scroll-story .compact-talk small{font-size:.75rem!important}
#dates .program-scroll-story .compact-talk h5{
  margin:.2rem 0!important;
  font-size:1.02rem!important;
  line-height:1.35!important;
}
#dates .program-scroll-story .compact-talk div>span{font-size:.86rem!important}
#dates .program-scroll-story .compact-program-break{min-height:48px;margin:0!important;padding:.7rem 1rem}

/* Products */
#produkte{
  padding:var(--section-space) 0 calc(var(--section-space) + 1rem)!important;
  background:var(--hg-grey-100);
}
#produkte>.container{height:auto!important}
#produkte .generic-title{width:100%!important;max-width:none!important;margin:0!important}
#produkte .generic-title>p{margin-bottom:3.25rem!important;color:#62686e}
#produkte .row{margin-right:-.75rem;margin-left:-.75rem}
#produkte .row>[class*=col-]{padding-right:.75rem;padding-left:.75rem;margin-bottom:1.5rem!important}
#produkte .card{
  min-height:0!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:1.35rem!important;
  background:var(--hg-charcoal-soft)!important;
  box-shadow:0 1rem 2.4rem rgba(29,33,37,.11);
  transition:transform .25s ease,box-shadow .25s ease;
}
#produkte .card:hover{transform:translateY(-4px);box-shadow:0 1.35rem 2.8rem rgba(29,33,37,.17)}
#produkte .card-img-top{
  width:100%!important;
  height:175px!important;
  padding:1rem 1.25rem .25rem!important;
  object-fit:contain!important;
}
#produkte .card-body{
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:.55rem;
  padding:.65rem 1.4rem 1.5rem!important;
}
#produkte .card-title{
  width:100%;
  margin:0 0 .25rem!important;
  color:#fff!important;
  font-size:1.35rem!important;
  font-weight:780!important;
  line-height:1.2!important;
}
#produkte .card-text{
  flex:0 0 auto;
  width:100%;
  min-height:0;
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.96rem!important;
  font-weight:400!important;
  line-height:1.55!important;
}
#produkte .product-card-actions{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  width:100%;
  margin-top:auto;
  padding-top:.65rem;
}
#produkte .card .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:0!important;
  padding:.65rem 1rem!important;
  border-radius:999px!important;
  font-size:.75rem!important;
  font-weight:800!important;
  letter-spacing:.02em;
  line-height:1!important;
}
#produkte .card .btn-danger{background:var(--hg-red)!important;border-color:var(--hg-red)!important}
#produkte .card .btn-danger:hover{background:var(--hg-red-dark)!important;border-color:var(--hg-red-dark)!important}
#produkte>.container>.generic-title>.generic-button{margin-top:1rem}

/* Footer */
.footer-main-sec{
  margin:0!important;
  padding:4.5rem 0 2.25rem!important;
  background:#171a1d!important;
}
.footer-main-sec>.container{height:auto!important}
.footer-main-sec .form-sec{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  max-width:1000px!important;
  min-height:0!important;
  margin:0 auto 3.5rem!important;
  padding:1.65rem 2rem!important;
  gap:1.5rem;
  border-radius:1.2rem!important;
  background:#fff!important;
  box-shadow:0 1rem 2.5rem rgba(0,0,0,.22)!important;
  transform:none!important;
}
.footer-main-sec .form-sec h3{
  flex:0 0 auto;
  color:var(--hg-text)!important;
  font-size:1.45rem!important;
  line-height:1.15!important;
}
.footer-main-sec .form-sec p{
  flex:1 1 auto;
  margin:0!important;
  color:#5b6167!important;
  font-size:.95rem!important;
  line-height:1.5!important;
}
.footer-main-sec .form-sec .generic-button{flex:0 0 auto}
.footer-main-sec .form-sec .generic-button a{padding:.9rem 1.35rem!important;font-size:.78rem!important}
.footer-inner-sec{
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:2rem 0 0!important;
  border-top:1px solid rgba(255,255,255,.22);
}
.footer-inner-sec>ul{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.75rem 1.75rem;
  margin:0 0 1.5rem!important;
}
.footer-inner-sec>ul li{margin:0!important}
.footer-inner-sec>ul a{font-size:.76rem!important;font-weight:750!important;letter-spacing:.06em}
.footer-inner-sec>p{margin:0 auto 1.75rem!important;max-width:760px;line-height:1.5!important}
.footer-inner-sec>p:nth-of-type(2){display:none}
.footer-social-sec{
  display:grid;
  width:100%!important;
  justify-items:center;
  margin:0 auto!important;
}
.footer-social-sec figure{margin:0 0 1.1rem!important}
.footer-social-sec figure img{width:auto!important;height:52px!important}
.footer-social-sec ul{
  display:flex;
  width:max-content;
  max-width:100%;
  justify-content:center;
  gap:.75rem;
  margin:0 auto 1.25rem!important;
  padding:0!important;
}
.footer-social-sec ul li{margin:0!important}
.footer-social-sec ul a{
  display:grid!important;
  width:44px!important;
  height:44px!important;
  place-items:center;
  border:1px solid rgba(255,255,255,.55)!important;
}
.footer-social-sec ul a i{
  display:block!important;
  line-height:1!important;
  transform:translate(-1px,-1px);
}
.footer-social-sec>span{font-size:.9rem!important;line-height:1.45!important}

/* Tablet */
@media (min-width:576px) and (max-width:991.98px){
  #produkte .row>.col-md-4{flex:0 0 50%;max-width:50%}
  .footer-social-sec{
    position:relative;
    left:50%;
    width:100vw!important;
    max-width:none;
    transform:translateX(-50%);
  }
}
@media (max-width:991.98px){
  .header-con .navbar{min-height:76px}
  .header-con .navbar-brand{height:58px!important}
  .header-con .navbar-collapse{
    position:absolute;
    top:calc(100% - .25rem);
    right:var(--page-gutter);
    left:var(--page-gutter);
    z-index:120;
    padding:.75rem 1rem;
    border:1px solid var(--hg-border);
    border-radius:.85rem;
    background:#fff;
    box-shadow:0 1.2rem 2.5rem rgba(27,31,35,.15);
  }
  .header-con .navbar-nav{align-items:stretch;gap:0}
  .header-con .nav-item+.nav-item{border-top:1px solid var(--hg-border)}
  .header-con .nav-link{padding:.85rem .25rem!important}
  .banner-main-sec.post-event-hero{display:block!important;min-height:600px}
  .banner-social-icons{display:none!important}
  .conference-sec .row{row-gap:2.75rem}
  .confernce-text-sec{max-width:720px}
  .post-event-benefits{max-width:720px}
  #dates .program-scroll-story .compact-day-heading{position:relative;top:auto}
  .footer-main-sec .form-sec{flex-wrap:wrap;justify-content:center;text-align:center}
  .footer-main-sec .form-sec h3,.footer-main-sec .form-sec p{flex:1 0 100%}
}
@media (max-width:575.98px){
  :root{--section-space:4rem}
  .container{padding-right:1.25rem!important;padding-left:1.25rem!important}
  .header-con .navbar{min-height:72px}
  .header-con .navbar-brand{height:52px!important}
  .post-event-hero .banner-inner-sec>span{margin-bottom:1.5rem!important;padding:.6rem .85rem!important;letter-spacing:.07em!important}
  .post-event-hero h1{font-size:clamp(2.65rem,12vw,3.2rem)!important;line-height:.98!important}
  .post-event-hero h1::after{width:4rem!important;margin-top:1.25rem}
  .post-event-hero h2{font-size:1.35rem!important}
  .post-event-hero .banner-inner-sec>p{font-size:.98rem!important;line-height:1.55!important}
  .conference-sec h2,.generic-title>h2{font-size:2.25rem!important}
  .post-event-benefit{align-items:flex-start!important;padding:1rem!important}
  .post-event-benefit figure{flex-basis:3.5rem!important;width:3.5rem!important;height:3.5rem!important}
  #dates .program-day-picker{margin:1.75rem auto 2.5rem}
  #dates .program-day-picker a{min-height:4rem}
  #dates .program-scroll-story .compact-program-day{padding:.55rem}
  #dates .program-scroll-story .compact-day-heading{min-height:0!important;padding:1rem!important}
  #dates .program-scroll-story .compact-program-list{gap:.65rem}
  #dates .program-scroll-story .compact-talk{min-height:0!important;padding:.85rem!important;grid-template-columns:50px minmax(0,1fr)!important}
  #dates .program-scroll-story .compact-talk-icon{width:46px;height:46px}
  #dates .program-scroll-story .compact-talk h5{font-size:.96rem!important}
  #produkte .generic-title>p{margin-bottom:2.25rem!important}
  #produkte .card-img-top{height:165px!important}
  #produkte .card-body{padding:.5rem 1.2rem 1.25rem!important}
  #produkte .card-title{font-size:1.25rem!important}
  #produkte .card-text{font-size:.93rem!important}
  .footer-main-sec{padding:3.5rem 0 2rem!important}
  .footer-main-sec .form-sec{margin-bottom:2.75rem!important;padding:1.4rem 1.15rem!important}
  .footer-inner-sec{padding-top:1.75rem!important}
  .footer-inner-sec>ul{gap:.65rem 1.1rem}
}
/* Keep the supplied red logo in its original colors. */
.header-con .navbar-brand {
  filter: none;
}
.post-event-hero .banner-inner-sec {
  padding: 0 !important;
}
.footer-main-sec .form-sec .green-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 999px;
  background: #25d366 !important;
  color: #102116 !important;
  font-weight: 800 !important;
}
.footer-main-sec .form-sec .green-btn a:hover {
  background: #1fbd59 !important;
}
/* Remove legacy fixed-height hero cell. */
.banner-main-sec.post-event-hero > .d-table-cell {
  display: block !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
}
/* Collapse legacy mobile workflow gaps. */
@media (max-width: 991.98px) {
  .conference-sec .row {
    align-items: stretch;
  }
  .conference-sec .col-lg-6:last-child,
  .conference-sec .post-event-benefits,
  .conference-sec .confernce-text-sec {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .conference-sec .confernce-text-sec {
    padding-right: 0 !important;
  }
}
/* Dark translucent program-card test variant. */
#dates .program-scroll-story .compact-program-day {
  background: rgba(24, 29, 33, .72) !important;
  border-color: rgba(255, 255, 255, .16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

#dates .program-scroll-story .compact-program-day.is-active {
  border-color: rgba(181, 31, 31, .85);
}
/* Focus-product placeholders for pending assets and content. */
#produkte .focus-product-placeholder {
  display: grid;
  width: 100%;
  height: 175px;
  place-items: center;
  color: rgba(255, 255, 255, .72);
  background: radial-gradient(circle at 50% 45%, rgba(181, 31, 31, .22), transparent 58%);
  font-size: 3.2rem;
}

#produkte .focus-product-placeholder span {
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  font-weight: 900;
  letter-spacing: .08em;
}
#produkte .focus-product-status {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: .55rem .9rem;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  color: rgba(255, 255, 255, .8);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

@media (max-width: 767.98px) {
  .banner-main-sec.post-event-hero{
    background-image:
      linear-gradient(180deg,rgba(19,21,23,.9) 0%,rgba(19,21,23,.78) 60%,rgba(83,8,10,.58) 100%),
      url("../images/hero-modernisierung-ganzheitlich-mobile-v4.webp")!important;
    background-position:72% center!important;
  }
  #produkte .focus-product-placeholder { height: 165px; }
}
/* Wider responsive content area for the program experience. */
#dates.program-experience > .container {
  max-width: 1440px !important;
}

#dates.program-experience .generic-title {
  max-width: 1040px !important;
}

#dates .program-day-picker,
#dates .program-scroll-story {
  width: 100%;
  max-width: 1320px !important;
}

@media (max-width: 575.98px) {
  #dates.program-experience > .container {
    padding-right: .85rem !important;
    padding-left: .85rem !important;
  }
}
/* Crop the transparent canvas around the supplied red header logo. */
.header-con .navbar > img.navbar-brand {
  width: 130px !important;
  max-width: 130px;
  height: 58px !important;
  object-fit: cover;
  object-position: center;
  filter: none;
}

@media (max-width: 575.98px) {
  .header-con .navbar > img.navbar-brand {
    width: 108px !important;
    height: 48px !important;
  }
}
/* Keep the diagonal day-header fill inside a uniform, clean border. */
#dates .program-scroll-story .compact-day-heading {
  border-color: #474c51 !important;
  background-clip: padding-box;
}
/* Non-sticky day heading with a dedicated registration CTA. */
#dates .program-scroll-story .compact-day-heading {
  position: relative !important;
  top: auto !important;
  z-index: 1;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center !important;
  gap: clamp(1rem, 2.2vw, 2rem);
}

#dates .program-scroll-story .compact-day-heading small {
  justify-self: start;
  margin: 0 !important;
  text-align: left !important;
}

#dates .program-day-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
}

#dates .program-dena-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .68rem 1rem;
  border: 2px solid #55d889;
  border-radius: 999px;
  background: transparent;
  color: #75e9a4;
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .015em;
  line-height: 1.15;
  white-space: nowrap;
}

#dates .program-scroll-story .compact-day-heading .program-day-actions .program-dena-status {
  display: inline-flex !important;
  background: transparent !important;
  color: #75e9a4 !important;
}

#dates .program-register-button {
  min-height: 44px;
  padding: .7rem 1.15rem;
  border: 1px solid #d7343a;
  border-radius: 999px;
  background: #c51d23;
  color: #fff;
  font: inherit;
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .035em;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

#dates .program-register-button:hover {
  border-color: #ec4a50;
  background: #dc252b;
  transform: translateY(-1px);
}

#dates .program-register-button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .82);
  outline-offset: 3px;
}

@media (max-width: 767.98px) {
  #dates .program-scroll-story .compact-day-heading {
    grid-template-columns: auto auto;
    gap: .8rem 1rem;
  }

  #dates .program-scroll-story .compact-day-heading small {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    text-align: left !important;
  }

  #dates .program-register-button {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    min-height: 40px;
    padding: .65rem .9rem;
    font-size: .74rem;
  }

  #dates .program-day-actions {
    grid-column: 1 / -1;
    grid-row: 3;
    justify-self: center;
    flex-wrap: wrap;
  }
}
/* Prominent event date in the hero. */
.post-event-hero .banner-inner-sec > .hero-event-date {
  max-width: none !important;
  margin: 0 0 1.35rem !important;
  color: #fff !important;
  font-size: clamp(2.25rem, 3.6vw, 4rem) !important;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1 !important;
}

@media (max-width: 575.98px) {
  .post-event-hero .banner-inner-sec > .hero-event-date {
    margin-bottom: 1.1rem !important;
    font-size: clamp(1.8rem, 8.5vw, 2.35rem) !important;
  }
}
/* Typographic reading hierarchy: body 400, support 600, components 700, key titles 800. */
body {
  font-weight: 400;
}

.header-con .nav-link,
.post-event-hero .banner-inner-sec > span,
#produkte .card .btn {
  font-weight: 700 !important;
}

.post-event-hero h1,
.conference-sec h2,
.generic-title > h2 {
  font-weight: 800 !important;
}

.post-event-hero h2,
#dates .program-day-picker strong,
#dates .program-scroll-story .compact-day-heading small,
#dates .program-scroll-story .compact-talk small {
  font-weight: 600 !important;
}

.post-event-hero .banner-inner-sec > p,
.conference-sec .confernce-text-sec p,
.post-event-benefit p,
.generic-title > p,
#dates .program-scroll-story .compact-talk div > span,
#produkte .card-text,
.footer-main-sec .form-sec p,
.footer-inner-sec > p,
.footer-social-sec > span {
  font-weight: 400 !important;
}

.post-event-hero .banner-inner-sec > .hero-event-date,
.conference-sec .confernce-text-sec p strong,
.post-event-benefit h3,
#dates .program-day-picker span,
#dates .program-scroll-story .compact-day-heading > span,
#dates .program-register-button,
#dates .program-scroll-story .compact-talk-icon,
#dates .program-scroll-story .compact-talk h5,
#produkte .card-title,
.footer-main-sec .form-sec h3 {
  font-weight: 700 !important;
}

#dates .program-scroll-story .compact-program-break span,
#produkte .focus-product-status,
.footer-inner-sec > ul a {
  font-weight: 600 !important;
}

/* Morphing speaker cards inside the agenda. */
#dates details.compact-speaker-details{
  display:block;
  min-height:104px!important;
  padding:0!important;
  overflow:hidden;
  transition:border-color .18s ease,background-color .18s ease;
}
#dates .compact-speaker-details[open]{
  border-color:rgba(197,29,35,.42);
  background:rgba(255,255,255,.99);
  box-shadow:0 1.35rem 3rem rgba(17,23,28,.16);
}
#dates .compact-speaker-details>summary{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 40px;
  align-items:center;
  gap:1rem;
  min-height:102px;
  padding:1rem 1.15rem;
  cursor:pointer;
  list-style:none;
  transition:grid-template-columns .26s cubic-bezier(.22,1,.36,1),min-height .26s cubic-bezier(.22,1,.36,1),padding .26s cubic-bezier(.22,1,.36,1);
}
#dates .compact-speaker-details[open]>summary{
  grid-template-columns:148px minmax(0,1fr) 40px;
  align-items:start;
  min-height:186px;
  padding:1.25rem;
}
#dates .compact-speaker-details>summary::-webkit-details-marker{display:none}
#dates .compact-speaker-details>summary::marker{content:""}
#dates .compact-speaker-details>summary:focus-visible{
  outline:3px solid rgba(197,29,35,.38);
  outline-offset:-3px;
  border-radius:.7rem;
}
#dates .compact-speaker-details .compact-speaker-visual{
  position:relative;
  display:block!important;
  width:72px;
  height:72px;
  border-radius:50%;
  transition:width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),border-radius .22s ease-out,transform .22s ease-out;
}
#dates .compact-speaker-details .compact-speaker-photo{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  overflow:hidden;
  border:1px solid rgba(197,29,35,.22);
  border-radius:inherit;
  background:linear-gradient(145deg,#f8e9e9,#eee3e3);
  color:var(--program-red);
  box-shadow:0 .45rem 1.1rem rgba(35,38,42,.08);
}
#dates .compact-speaker-details .compact-speaker-photo>i{
  font-size:1.15rem;
  transition:font-size .22s ease-out,transform .22s ease-out;
}
#dates .compact-speaker-details .compact-speaker-photo>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  backface-visibility:hidden;
  transform:translateZ(0);
}
#dates .compact-speaker-details .compact-talk-number{
  position:absolute;
  right:-.25rem;
  bottom:-.25rem;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--program-red);
  color:#fff;
  font-size:.68rem!important;
  font-weight:800;
  line-height:1!important;
  box-shadow:0 .25rem .65rem rgba(35,38,42,.16);
  transition:width .22s ease-out,height .22s ease-out,font-size .22s ease-out,right .22s ease-out,bottom .22s ease-out;
}

/* The speaker portraits no longer carry agenda sequence numbers. */
#dates .compact-speaker-details .compact-talk-number {
  display: none !important;
}
#dates .compact-speaker-details[open] .compact-speaker-visual{
  width:148px;
  height:160px;
  border-radius:1rem;
  transform:translate3d(0,0,0);
}
#dates .compact-speaker-details[open] .compact-speaker-photo,
#dates .compact-speaker-details[open] .compact-speaker-photo>img{
  border-radius:1rem!important;
}
#dates .compact-speaker-details[open] .compact-speaker-photo>i{
  font-size:2.35rem;
  transform:translateY(-.15rem);
}
#dates .compact-speaker-details[open] .compact-talk-number{
  right:.65rem;
  bottom:.65rem;
  width:32px;
  height:32px;
  font-size:.76rem!important;
}
#dates .compact-speaker-details .compact-talk-copy,
#dates .compact-speaker-details .compact-talk-title,
#dates .compact-speaker-details .compact-speaker-label{
  display:block;
}
#dates .compact-speaker-details .compact-talk-copy{align-self:center}
#dates .compact-speaker-details[open] .compact-talk-copy{align-self:start;padding-top:.15rem}
#dates .compact-speaker-details .compact-talk-copy>small{
  transition:font-size .22s ease-out,margin-bottom .22s ease-out;
}
#dates .compact-speaker-details .compact-talk-title{
  margin:.2rem 0;
  color:var(--hg-text);
  font-size:1.02rem;
  font-weight:700;
  line-height:1.35;
  transition:font-size .22s ease-out,line-height .22s ease-out,margin .22s ease-out;
}
#dates .compact-speaker-details[open] .compact-talk-copy>small{
  margin-bottom:.5rem;
  font-size:.88rem!important;
}
#dates .compact-speaker-details[open] .compact-talk-title{
  margin:.3rem 0 .65rem;
  font-size:1.38rem;
  line-height:1.23;
}
#dates .compact-speaker-details .compact-speaker-label{
  color:#777c81;
  font-size:.86rem;
  line-height:1.35;
}
#dates .compact-speaker-details .compact-talk-toggle{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:1px solid #d9dde0;
  border-radius:50%;
  color:var(--program-red);
  transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .18s ease,color .18s ease;
}
#dates .compact-speaker-details[open] .compact-talk-toggle{
  align-self:start;
  transform:rotate(180deg);
  background:var(--program-red);
  color:#fff;
}
#dates .compact-speaker-details:not([open]) .compact-speaker-panel{display:none!important}
#dates .compact-speaker-details[open] .compact-speaker-panel{display:block!important}
#dates .compact-speaker-panel{
  margin:.45rem 0 0;
  padding:0;
  border-top:0;
  background:transparent;
  animation:compact-speaker-reveal .18s ease-out both;
}
#dates .compact-speaker-panel strong{
  display:block;
  margin-bottom:.25rem;
  color:var(--hg-text);
  font-size:.92rem;
  line-height:1.35;
}
#dates .compact-speaker-panel>span>span{
  color:#686e73;
  font-size:.84rem;
  line-height:1.5;
}
@keyframes compact-speaker-reveal{
  from{opacity:0;transform:translateY(-.45rem)}
  to{opacity:1;transform:none}
}
@media(max-width:767px){
  #dates .compact-speaker-details>summary{
    grid-template-columns:60px minmax(0,1fr) 34px;
    gap:.7rem;
    min-height:94px;
    padding:.85rem;
  }
  #dates .compact-speaker-details[open]>summary{
    grid-template-columns:92px minmax(0,1fr) 34px;
    min-height:138px;
    padding:1rem .85rem;
  }
  #dates .compact-speaker-details .compact-speaker-visual{width:60px;height:60px}
  #dates .compact-speaker-details[open] .compact-speaker-visual{width:92px;height:112px;border-radius:.8rem}
  #dates .compact-speaker-details[open] .compact-speaker-photo>i{font-size:1.8rem}
  #dates .compact-speaker-details[open] .compact-talk-number{right:.45rem;bottom:.45rem;width:28px;height:28px}
  #dates .compact-speaker-details[open] .compact-talk-copy>small{font-size:.78rem!important}
  #dates .compact-speaker-details[open] .compact-talk-title{margin:.2rem 0 .45rem;font-size:1.08rem;line-height:1.3}
  #dates .compact-speaker-details .compact-talk-toggle{width:32px;height:32px}
  #dates .compact-speaker-panel{margin-top:.4rem;padding:0}
}
@media(prefers-reduced-motion:reduce){
  #dates details.compact-speaker-details,
  #dates .compact-speaker-details>summary,
  #dates .compact-speaker-details .compact-speaker-visual,
  #dates .compact-speaker-details .compact-speaker-photo>i,
  #dates .compact-speaker-details .compact-talk-number,
  #dates .compact-speaker-details .compact-talk-copy>small,
  #dates .compact-speaker-details .compact-talk-title,
  #dates .compact-speaker-details .compact-talk-toggle{transition:none}
  #dates .compact-speaker-panel{animation:none}
}

/* Mobile readability and touch-target pass (2026-08-25). */
@media (max-width: 767.98px) {
  .header-con .navbar-toggler {
    width: 44px !important;
    min-width: 44px;
    height: 44px !important;
    min-height: 44px;
    padding: 10px 6px !important;
  }

  #dates .program-register-button {
    min-height: 44px !important;
    padding-top: .7rem;
    padding-bottom: .7rem;
  }

  #dates .compact-speaker-details > summary,
  #dates .compact-speaker-details[open] > summary {
    grid-template-columns: 60px minmax(0, 1fr) 46px;
  }

  #dates .compact-speaker-details[open] > summary {
    grid-template-columns: 60px minmax(0, 1fr) 46px;
  }

  #dates .compact-speaker-details .compact-talk-toggle {
    width: 46px;
    height: 46px;
  }

  #dates .compact-speaker-details .compact-speaker-label,
  #dates .compact-speaker-details .compact-speaker-panel {
    display: none !important;
  }

  #dates .compact-speaker-details[open] > summary {
    gap: .45rem;
  }

  #dates .compact-speaker-details[open] .compact-speaker-visual {
    width: 60px;
    height: 80px;
  }

  #dates .compact-speaker-details[open] .compact-speaker-panel {
    display: none !important;
  }

  #dates .compact-speaker-details .compact-talk-copy > small,
  #dates .compact-speaker-details[open] .compact-talk-copy > small {
    margin-bottom: .25rem;
    font-size: .875rem !important;
    line-height: 1.4 !important;
  }

  #produkte .card .btn,
  .footer-main-sec .generic-button a,
  .footer-main-sec .footer-inner-sec > ul:first-child a {
    min-height: 44px !important;
  }

  .footer-main-sec .footer-inner-sec > ul:first-child a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: .55rem .35rem;
  }
}
/* Mobile program navigation alignment (2026-08-25). */
@media (max-width: 767.98px) {
  #dates .program-day-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  #dates .program-day-picker a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: .55rem;
    padding: .65rem .45rem .8rem;
    text-align: center;
  }

  #dates .program-day-picker a::after {
    content: none !important;
    display: none !important;
  }

  #dates .program-day-picker span {
    margin-inline: auto;
  }

  #dates .program-day-picker strong {
    width: 100%;
    text-align: center;
    text-wrap: balance;
  }

  #dates .program-scroll-story .compact-day-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    background: linear-gradient(120deg, rgba(197, 29, 35, .95), rgba(197, 29, 35, .82) 50%, rgba(39, 44, 49, .96) 50.2%) !important;
    justify-items: center;
    gap: .7rem !important;
    padding: 1.15rem 1rem !important;
    text-align: center;
  }

  #dates .program-scroll-story .compact-day-heading > span {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
  }

  #dates .program-scroll-story .compact-day-heading small {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    width: 100%;
    max-width: 28rem !important;
    text-align: left !important;
    text-wrap: balance;
  }

  #dates .program-day-actions {
    grid-column: 1;
    grid-row: 3;
    justify-self: center;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }
}
/* Center the mobile hero actions beneath the copy. */
@media (max-width: 575.98px) {
  .post-event-hero .hero-cta-group {
    width: min(100%, 320px);
    margin: clamp(2rem, 5vh, 3rem) auto 0;
  }
}
/* Refined mobile navigation trigger and dropdown. */
@media (max-width: 991.98px) {
  .header-con .navbar-toggler {
    position: absolute;
    top: 50%;
    right: 0;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 0 !important;
    border-radius: 50%;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateY(-50%);
  }

  .header-con .navbar-toggler:focus-visible {
    outline: 3px solid rgba(197, 29, 35, .3);
    outline-offset: 2px;
  }

  .header-con .navbar-toggler .navbar-toggler-icon {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 26px !important;
    height: 2px !important;
    min-height: 2px;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px;
    background: #24292e !important;
    background-image: none !important;
    opacity: 1;
    transform: none;
    transition: transform .24s ease, opacity .18s ease, background-color .2s ease;
  }

  .header-con .navbar-toggler:not(.collapsed) .navbar-toggler-icon {
    background: var(--hg-red) !important;
  }

  .header-con .navbar-toggler:not(.collapsed) .navbar-toggler-icon:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .header-con .navbar-toggler:not(.collapsed) .navbar-toggler-icon:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }

  .header-con .navbar-toggler:not(.collapsed) .navbar-toggler-icon:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .header-con .navbar-collapse {
    top: calc(100% + .55rem);
    right: 0;
    left: auto;
    width: min(290px, calc(100vw - 2.5rem));
    padding: .45rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: .9rem;
    background: rgba(24, 28, 32, .98);
    box-shadow: 0 1rem 2.2rem rgba(0, 0, 0, .3);
  }

  .header-con .navbar-nav {
    width: 100%;
  }

  .header-con .nav-item + .nav-item {
    border-top: 1px solid rgba(255, 255, 255, .1);
  }

  .header-con .navbar-collapse .nav-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 48px;
    padding: .75rem .85rem !important;
    border-radius: .6rem;
    color: #fff !important;
    font-size: .8rem;
    letter-spacing: .045em;
    line-height: 1.25;
    text-align: left;
  }

  .header-con .navbar-collapse .nav-link::before {
    content: "";
    width: .42rem;
    height: .42rem;
    margin-right: .7rem;
    border-radius: 50%;
    background: var(--hg-red);
    flex: 0 0 auto;
  }

  .header-con .navbar-collapse .nav-link:hover,
  .header-con .navbar-collapse .nav-link:focus-visible {
    background: rgba(197, 29, 35, .18);
    text-decoration: none;
  }

  .header-con .navbar-collapse .nav-link:focus-visible {
    outline: 2px solid rgba(255, 255, 255, .82);
    outline-offset: -2px;
  }
}

/* Center the event label in the mobile hero composition. */
@media (max-width: 575.98px) {
  .post-event-hero .banner-inner-sec > span {
    display: table !important;
    margin: 0 auto 1.5rem !important;
    text-align: center;
  }
}

/* Preserve button layout when registration CTAs are semantic links. */
#dates a.program-register-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

#dates a.program-register-button:hover {
  color: #fff;
  text-decoration: none;
}

/* Mobile reading flow: editorial copy stays left-aligned. */
@media (max-width: 575.98px) {
  .conference-sec .confernce-text-sec,
  #dates .generic-title {
    text-align: left !important;
  }

  .conference-sec .confernce-text-sec h2,
  .conference-sec .confernce-text-sec p,
  #dates .generic-title h2,
  #dates .generic-title p,
  #produkte .generic-title h2,
  #produkte .generic-title p {
    text-align: left !important;
  }
}

/* Tablet flow: readable intro copy with a sticky day picker. */
#dates .program-scroll-story .compact-day-heading {
  position: relative;
  top: auto;
}

@media (min-width: 768px) {
  #dates .program-day-picker {
    position: sticky;
    top: .75rem;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .conference-sec .confernce-text-sec,
  .conference-sec .confernce-text-sec h2,
  .conference-sec .confernce-text-sec p {
    text-align: left !important;
  }
}
/* Product families: one-step slider with touch-first responsive card counts. */
#produkte .product-slider-shell {
  position: relative;
  width: 100%;
  margin: 0 0 1.5rem;
  text-align: left;
}

#produkte .product-swiper {
  width: 100%;
  overflow: hidden;
  padding: .3rem .1rem 1.25rem;
}

#produkte .product-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
  gap: 0;
  height: auto;
  box-sizing: content-box;
}

#produkte .product-swiper .product-slide {
  width: auto;
  height: auto;
  margin: 0;
  flex-shrink: 0;
  box-sizing: border-box;
}

#produkte .product-slide .card {
  height: 100% !important;
}

#produkte .product-slider-controls {
  display: none;
}

#produkte .product-slider-shell.is-slider-active .product-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 50px;
  margin-top: .45rem;
}

#produkte .product-slider-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: var(--hg-charcoal-soft);
  color: #fff;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}

#produkte .product-slider-button:hover {
  border-color: var(--hg-red);
  background: var(--hg-red);
  transform: translateY(-2px);
}

#produkte .product-slider-button:focus-visible {
  outline: 3px solid rgba(197,29,35,.35);
  outline-offset: 3px;
}

#produkte .product-slider-button.swiper-button-disabled {
  opacity: .35;
  cursor: default;
  pointer-events: none;
}

#produkte .product-slider-status {
  min-width: 9.5rem;
  margin: 0;
  color: #555d64;
  font-size: .88rem;
  font-weight: 650;
  text-align: center;
}

@media (max-width: 575.98px) {
  #produkte .card-img-top {
    height: 150px !important;
  }

  #produkte .card-text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  #produkte .product-card-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #produkte .card .btn {
    width: 100%;
  }

  #produkte .product-slider-shell.is-slider-active .product-slider-controls {
    gap: .75rem;
  }

  #produkte .product-slider-status {
    min-width: 0;
    font-size: .82rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #produkte .product-slider-button,
  #produkte .product-swiper .swiper-wrapper {
    transition-duration: .01ms !important;
  }
}

/* Shared diagonal day-header treatment across desktop, tablet and mobile. */
#dates .program-scroll-story .compact-day-heading {
  background:
    linear-gradient(135deg, rgba(197, 29, 35, .78) 0%, rgba(197, 29, 35, .34) 38%, rgba(197, 29, 35, 0) 74%),
    #292e33 !important;
}

@media (max-width: 767.98px) {
  #dates .compact-speaker-details .compact-speaker-label {
    display: block !important;
    margin-top: .2rem;
    font-size: .82rem;
    line-height: 1.35;
  }
}

/* Mobile day headers use a centered treatment. */
@media (max-width: 767.98px) {
  #dates .program-scroll-story .compact-day-heading small {
    justify-self: center;
    text-align: center !important;
  }

  #dates .program-scroll-story .compact-day-heading .program-day-actions .program-dena-status {
    border-color: #2bbd68;
    background: #2bbd68 !important;
    color: #fff !important;
  }
}

/* Keep the established desktop layout and align all navigation controls by height. */
@media (min-width: 992px) {
  .header-con .navbar {
    --desktop-nav-gap: clamp(2.5rem, 3vw, 3.75rem);
  }

  .header-con .navbar-collapse {
    align-items: center;
    justify-content: flex-end;
  }

  .header-con .navbar-nav {
    align-items: center;
    gap: var(--desktop-nav-gap);
  }

  .header-con .nav-item,
  .header-con .navbar-btn {
    display: flex;
    align-items: center;
  }

  .header-con .navbar-light .navbar-nav .nav-item {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .header-con .nav-link,
  .header-con .navbar-btn > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px;
    min-height: 50px;
    box-sizing: border-box;
  }

  .header-con .navbar-light .navbar-nav .nav-item .nav-link {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .header-con .navbar-btn > a {
    padding-top: 0;
    padding-bottom: 0;
  }

  .header-con .navbar-btn {
    margin-left: var(--desktop-nav-gap) !important;
  }
}

/* Reusable community channel cards */
.footer-main-sec .community-channel-list {
  display: grid;
  gap: 1rem;
  margin-bottom: 3.5rem;
}

.footer-main-sec .community-channel-list .form-sec {
  margin: 0 auto !important;
}

.footer-main-sec .community-channel-card {
  --community-accent: #25d366;
  --community-accent-hover: #1fbd59;
  --community-accent-soft: #5ee58f;
  --community-accent-rgb: 37, 211, 102;
  --community-ink: #fff;
  position: relative;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  max-width: 1080px !important;
  padding: 1.5rem 1.65rem !important;
  gap: 1.25rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 1.5rem !important;
  background:
    radial-gradient(circle at 8% 15%, rgba(var(--community-accent-rgb), .2), transparent 28%),
    linear-gradient(135deg, #292e32 0%, #171a1d 72%) !important;
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, .28) !important;
  isolation: isolate;
}

.footer-main-sec .discord-channel-card {
  --community-accent: #5865f2;
  --community-accent-hover: #4752c4;
  --community-accent-soft: #9ca5ff;
  --community-accent-rgb: 88, 101, 242;
  --community-ink: #fff;
}

.footer-main-sec .community-channel-card::after {
  content: "";
  position: absolute;
  right: -2.5rem;
  bottom: -4.5rem;
  z-index: -1;
  width: 12rem;
  height: 12rem;
  border: 1px solid rgba(var(--community-accent-rgb), .24);
  border-radius: 50%;
}

.footer-main-sec .community-channel-icon {
  display: grid;
  place-items: center;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 1.15rem;
  background: var(--community-accent);
  box-shadow: 0 .75rem 1.75rem rgba(var(--community-accent-rgb), .22);
  color: var(--community-ink);
  font-size: 2rem;
}

.footer-main-sec .community-channel-copy {
  min-width: 0;
}

.footer-main-sec .community-channel-kicker {
  display: block;
  margin-bottom: .3rem;
  color: var(--community-accent-soft);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.footer-main-sec .community-channel-card h3 {
  color: #fff !important;
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  line-height: 1.15 !important;
}

.footer-main-sec .community-channel-card p {
  margin: .45rem 0 0 !important;
  color: rgba(255, 255, 255, .7) !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
}

.footer-main-sec .community-channel-card .community-channel-button a {
  position: relative;
  z-index: 1;
  min-height: 52px;
  padding: 0 1.4rem !important;
  gap: .75rem;
  border: 0 !important;
  background: var(--community-accent) !important;
  box-shadow: 0 .65rem 1.5rem rgba(var(--community-accent-rgb), .16);
  color: var(--community-ink) !important;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.footer-main-sec .community-channel-card .community-channel-button {
  position: relative;
  isolation: isolate;
}

.footer-main-sec .community-channel-card .community-channel-button::before,
.footer-main-sec .community-channel-card .community-channel-button::after {
  content: "";
  position: absolute;
  inset: -4px;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(var(--community-accent-rgb), .42);
  border-radius: 999px;
  opacity: 0;
  transform: scale(.99);
  animation: community-radar-ping 5.5s cubic-bezier(.2, .65, .3, 1) infinite;
}

.footer-main-sec .community-channel-card .community-channel-button::after {
  animation-delay: 2.75s;
}

@keyframes community-radar-ping {
  0%, 72%, 100% {
    opacity: 0;
    transform: scale(.99);
  }
  76% {
    opacity: .32;
  }
  90% {
    opacity: 0;
    transform: scale(1.1, 1.34);
  }
}

.footer-main-sec .community-channel-card .community-channel-button a i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0;
  font-size: .95rem;
  line-height: 1;
}

.footer-main-sec .community-channel-card .community-channel-button a:hover,
.footer-main-sec .community-channel-card .community-channel-button a:focus-visible {
  background: var(--community-accent-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 .9rem 1.8rem rgba(var(--community-accent-rgb), .24);
}

.footer-main-sec .community-channel-card .community-channel-button a:focus-visible {
  outline: 3px solid rgba(var(--community-accent-rgb), .5);
  outline-offset: 4px;
}

@media (max-width: 767.98px) {
  .footer-main-sec .community-channel-card {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 1.75rem 1.25rem !important;
    gap: 1rem;
    text-align: center;
  }

  .footer-main-sec .community-channel-copy {
    max-width: 31rem;
  }

  .footer-main-sec .community-channel-card .community-channel-button,
  .footer-main-sec .community-channel-card .community-channel-button a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-main-sec .community-channel-card .community-channel-button a {
    transition: none;
  }

  .footer-main-sec .community-channel-card .community-channel-button::before,
  .footer-main-sec .community-channel-card .community-channel-button::after {
    animation: none;
  }
}

/* Temporary speaker-card lock until final profiles are supplied. */
#dates.speaker-details-disabled .compact-speaker-details > summary,
#dates.speaker-details-disabled .compact-speaker-details[open] > summary {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  cursor: default;
}

#dates.speaker-details-disabled .compact-talk-toggle,
#dates.speaker-details-disabled .compact-speaker-panel {
  display: none !important;
}

@media (max-width: 767.98px) {
  #dates.speaker-details-disabled .compact-speaker-details > summary,
  #dates.speaker-details-disabled .compact-speaker-details[open] > summary {
    grid-template-columns: 60px minmax(0, 1fr) !important;
  }
}
