/* ------------------------------------------------*/
/* Page structure - Fluid Core */
/* ------------------------------------------------*/
*, *::before, *::after {
  box-sizing: border-box;
}
:root {
  /* --- Headers & Containers --- */
  --db-header-offset: clamp(7.6rem, 8vw, 9.6rem);
  --db-container-x: clamp(3rem, 6vw, 9rem);
  --db-container-grid-x: clamp(1.5rem, 5vw, 7.5rem);
  --db-container-grid-l-x: clamp(1.5rem, 3vw, 4.5rem);

  /* --- General Spacing ---
     `--db-space-default` is the bottom padding applied by `.padding-default`
     to nearly every section in the theme. Originally clamp(0.4rem, 16vw, 20rem)
     which produced ~200px of breathing room above the footer on wide
     screens — too tall, making sections feel disconnected from the
     footer. Tightened to ~120-160px desktop range; small screens are
     unaffected because they were already clamped near the lower bound.
  */
  --db-space-default: clamp(0.4rem, 10vw, 10rem);
  --db-space-default-mobile-title: clamp(9rem, 11vw, 14rem);
  --db-space-pre-grid: clamp(10rem, 14vw, 17rem);
  --db-space-pre-grid-mobile-s: clamp(12.5rem, 14vw, 17rem);
  --db-space-pre-grid-mobile-title: clamp(10rem, 14vw, 17rem);
  --db-space-pre-title: clamp(13rem, 15vw, 18.3rem);
  --db-space-pre-manifest: clamp(13.7rem, 14vw, 13.9rem);
  --db-space-pre-stack: clamp(10rem, 11vw, 11rem);
  
  /* Reverse Clamp: Shrinks on larger screens */
  --db-space-pre-footer: clamp(6rem, 15rem - 6vw, 11rem); 

  /* --- Section Specific Spacing --- */
  --db-space-pre-pinned-img: clamp(10rem, 12vw, 16rem);
  --db-space-stacked-section: clamp(10.1rem, 11vw, 12.3rem);
  --db-space-stacked-pre-mtext: clamp(7.3rem, 8vw, 12.3rem);
  --db-space-grid-pre-pinned: clamp(4rem, 8vw, 14.3rem);
  --db-space-grid-pre-mtext: clamp(10.4rem, 12vw, 14.4rem);
  --db-space-pinned-img-pre-mtext: clamp(4.3rem, 7vw, 0.4rem);

  /* --- Mtext Spacing --- */
  --db-space-mtext: clamp(12.6rem, 15vw, 17.3rem);
  --db-space-mtext-mobile-title: clamp(11.6rem, 15vw, 17.3rem);
  --db-space-mtext-pre-title: clamp(11.6rem, 14vw, 15.6rem);
  --db-space-mtext-pre-grid: clamp(9.8rem, 12vw, 14.6rem);
  --db-space-mtext-pre-grid-mobile-s: clamp(10.6rem, 12vw, 14.6rem);
  --db-space-mtext-pre-pinned: clamp(5.6rem, 9vw, 10.8rem);
  --db-space-mtext-pre-stack: clamp(0rem, 2vw, 3.7rem);

  /* --- Blog --- */
  --db-space-blog: clamp(13.1rem, 16vw, 19.2rem);
  --db-space-blog-default-pre-grid: clamp(3rem, 8vw, 11rem);
  --db-space-blog-descr-pre-grid: clamp(2.2rem, 5vw, 7.2rem);

  /* --- Hero Sections --- */
  --db-space-hero-01: clamp(12rem, 18vw, 25rem);
  --db-space-hero-06: clamp(5.4rem, 10vw, 13.8rem);
  --db-space-hero-07: clamp(12rem, 14vw, 16rem);
  --db-space-hero-08: clamp(0rem, 5rem - 3vw, 3.4rem); /* Shrinks on desktop */
  --db-space-hero-09: clamp(6rem, 10vw, 13.8rem);

  /* --- Inner Padding --- */
  --db-inner-headline-pt: clamp(13rem, 15vw, 17rem);
  --db-inner-headline-grid-pt: clamp(13rem, 16vw, 20rem);
  --db-inner-default-pb: clamp(14rem, 16vw, 20rem);
  --db-inner-headline-pre-block-pb: clamp(13rem, 15vw, 18rem);
  --db-inner-headline-pre-grid-pb: clamp(10rem, 13vw, 15rem);
  --db-inner-s-headline-pre-grid-pb: clamp(2rem, 3.5vw, 4.9rem);
  --db-inner-headline-pre-stack-pb: clamp(0.6rem, 2.5vw, 4.4rem);
  --db-inner-text-pre-block-pb: clamp(13rem, 16vw, 18.7rem);
  --db-inner-s-text-pre-block-pb: clamp(4.9rem, 7vw, 8.8rem);
  --db-inner-s-text-pre-form-pb: clamp(0rem, 2vw, 3.2rem);
}

/* ------------------------------------------------*/
/* Core objects */
/* ------------------------------------------------*/

.db-page-content { position: relative; }
.db-page-content--inner, .db-page-content.inner-page-content { padding-top: var(--db-header-offset); }

.db-wrapper { position: relative; width: 100%; min-width: 360px; }
.db-wrapper--opposite, .db-wrapper.db-wrapper-opposite { background-color: var(--base-opp); border-radius: var(--_radius-l); }

.db-section {
  position: relative;
  width: 100%;
  min-width: 360px;
  padding-top: var(--db-section-pt, 0);
  padding-bottom: var(--db-section-pb, 0);
}

.db-section-inner-headline {
  padding-top: var(--db-inner-pt, var(--db-inner-headline-pt));
  padding-bottom: var(--db-inner-pb, 0);
}

.db-section--fullscreen, .db-section-fullscreen {
  width: 100%;
  min-height: 100svh; /* Using svh for better mobile rendering */
  padding-top: var(--db-header-offset);
  overflow: hidden;
}

.db-container {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  padding-inline: var(--db-container-x);
}

.db-container--fullwidth, .db-container.fullwidth-container { max-width: none; padding-inline: 0; }
.db-container--fullscreen, .db-container.fullscreen-container { height: 100%; }
.db-container--no-padding, .db-container.no-padding-container { padding-inline: 0; overflow: hidden; }
.db-container--grid, .db-container.grid-container { padding-inline: var(--db-container-grid-x); }
.db-container--grid-l, .db-container.grid-l-container { padding-inline: var(--db-container-grid-l-x); }
.db-container--grid.no-padding-right, .db-container.grid-container.no-padding-right { padding-right: 0; }

/* ------------------------------------------------*/
/* Spacing Utilities */
/* ------------------------------------------------*/

.db-pt-hero-01 { --db-section-pt: var(--db-space-hero-01); }
.db-pt-hero-06 { --db-section-pt: var(--db-space-hero-06); }
.db-pt-hero-07 { --db-section-pt: var(--db-space-hero-07); }
.db-pt-hero-08 { --db-section-pt: var(--db-space-hero-08); }
.db-pt-hero-09 { --db-section-pt: var(--db-space-hero-09); }

.db-pb-default                 { --db-section-pb: var(--db-space-default); }
.db-pb-default-mobile-title    { --db-section-pb: var(--db-space-default-mobile-title); }
.db-pb-pre-footer              { --db-section-pb: var(--db-space-pre-footer); }
.db-pb-pre-pinned-img          { --db-section-pb: var(--db-space-pre-pinned-img); }
.db-pb-pre-grid                { --db-section-pb: var(--db-space-pre-grid); }
.db-pb-pre-grid-mobile-s       { --db-section-pb: var(--db-space-pre-grid-mobile-s); }
.db-pb-pre-grid-mobile-title   { --db-section-pb: var(--db-space-pre-grid-mobile-title); }
.db-pb-pre-title               { --db-section-pb: var(--db-space-pre-title); }
.db-pb-pre-manifest            { --db-section-pb: var(--db-space-pre-manifest); }
.db-pb-pre-stack               { --db-section-pb: var(--db-space-pre-stack); }
.db-pb-stacked-section         { --db-section-pb: var(--db-space-stacked-section); }
.db-pb-stacked-pre-mtext       { --db-section-pb: var(--db-space-stacked-pre-mtext); }
.db-pb-grid-pre-pinned         { --db-section-pb: var(--db-space-grid-pre-pinned); }
.db-pb-grid-pre-mtext          { --db-section-pb: var(--db-space-grid-pre-mtext); }
.db-pb-pinned-img-pre-mtext    { --db-section-pb: var(--db-space-pinned-img-pre-mtext); }
.db-pb-mtext                   { --db-section-pb: var(--db-space-mtext); }
.db-pb-mtext-mobile-title      { --db-section-pb: var(--db-space-mtext-mobile-title); }
.db-pb-mtext-pre-title         { --db-section-pb: var(--db-space-mtext-pre-title); }
.db-pb-mtext-pre-grid          { --db-section-pb: var(--db-space-mtext-pre-grid); }
.db-pb-mtext-pre-grid-mobile-s { --db-section-pb: var(--db-space-mtext-pre-grid-mobile-s); }
.db-pb-mtext-pre-pinned        { --db-section-pb: var(--db-space-mtext-pre-pinned); }
.db-pb-mtext-pre-stack         { --db-section-pb: var(--db-space-mtext-pre-stack); }
.db-pb-blog                    { --db-section-pb: var(--db-space-blog); }
.db-pb-blog-default-pre-grid   { --db-section-pb: var(--db-space-blog-default-pre-grid); }
.db-pb-blog-descr-pre-grid     { --db-section-pb: var(--db-space-blog-descr-pre-grid); }

/* Inner Headline Utilities */
.db-inner-grid-headline          { --db-inner-pt: var(--db-inner-headline-grid-pt); }
.db-inner-pb-default             { --db-inner-pb: var(--db-inner-default-pb); }
.db-inner-pb-headline-pre-block  { --db-inner-pb: var(--db-inner-headline-pre-block-pb); }
.db-inner-pb-headline-pre-grid   { --db-inner-pb: var(--db-inner-headline-pre-grid-pb); }
.db-inner-pb-s-headline-pre-grid { --db-inner-pb: var(--db-inner-s-headline-pre-grid-pb); }
.db-inner-pb-headline-pre-stack  { --db-inner-pb: var(--db-inner-headline-pre-stack-pb); }
.db-inner-pb-text-pre-block      { --db-inner-pb: var(--db-inner-text-pre-block-pb); }
.db-inner-pb-s-text-pre-block    { --db-inner-pb: var(--db-inner-s-text-pre-block-pb); }
.db-inner-pb-s-text-pre-form     { --db-inner-pb: var(--db-inner-s-text-pre-form-pb); }

/* ------------------------------------------------*/
/* Old class aliases (Kept for backwards compatibility) */
/* ------------------------------------------------*/

.db-wrapper.padding-top-pre-title    { padding-top: var(--db-space-pre-title); }
.db-wrapper.margin-bottom-pre-title { margin-bottom: var(--db-space-pre-title); }

.db-section.padding-hero-01 { --db-section-pt: var(--db-space-hero-01); }
.db-section.padding-hero-06 { --db-section-pt: var(--db-space-hero-06); }
.db-section.padding-hero-07 { --db-section-pt: var(--db-space-hero-07); }
.db-section.padding-hero-08 { --db-section-pt: var(--db-space-hero-08); }
.db-section.padding-hero-09 { --db-section-pt: var(--db-space-hero-09); }

.db-section.padding-default                              { --db-section-pb: var(--db-space-default); }
.db-section.padding-default.mobile-title                 { --db-section-pb: var(--db-space-default-mobile-title); }
.db-section.padding-pre-footer                           { --db-section-pb: var(--db-space-pre-footer); }
.db-section.padding-pre-pinned-img                       { --db-section-pb: var(--db-space-pre-pinned-img); }
.db-section.padding-pre-grid                             { --db-section-pb: var(--db-space-pre-grid); }
.db-section.padding-pre-grid.mobile-grid-s               { --db-section-pb: var(--db-space-pre-grid-mobile-s); }
.db-section.padding-pre-grid.mobile-grid-title           { --db-section-pb: var(--db-space-pre-grid-mobile-title); }
.db-section.padding-pre-title                            { --db-section-pb: var(--db-space-pre-title); }
.db-section.padding-pre-manifest                         { --db-section-pb: var(--db-space-pre-manifest); }
.db-section.padding-pre-manifest.mobile-point-subtitle   { --db-section-pb: var(--db-space-pre-manifest); }
.db-section.padding-pre-stack                            { --db-section-pb: var(--db-space-pre-stack); }
.db-section.padding-stacked-section                      { --db-section-pb: var(--db-space-stacked-section); }
.db-section.padding-stacked-pre-mtext                    { --db-section-pb: var(--db-space-stacked-pre-mtext); }
.db-section.padding-grid-pre-pinned                      { --db-section-pb: var(--db-space-grid-pre-pinned); }
.db-section.padding-grid-pre-mtext                       { --db-section-pb: var(--db-space-grid-pre-mtext); }
.db-section.padding-default                              { --db-section-pb: var(--db-space-default); }
.db-section.padding-mtext                                { --db-section-pb: var(--db-space-mtext); }
.db-section.padding-mtext.mobile-title                   { --db-section-pb: var(--db-space-mtext-mobile-title); }
.db-section.padding-mtext-pre-title                      { --db-section-pb: var(--db-space-mtext-pre-title); }
.db-section.padding-mtext-pre-grid                       { --db-section-pb: var(--db-space-mtext-pre-grid); }
.db-section.padding-mtext-pre-grid.mobile-grid-s         { --db-section-pb: var(--db-space-mtext-pre-grid-mobile-s); }
.db-section.padding-mtext-pre-pinned                     { --db-section-pb: var(--db-space-mtext-pre-pinned); }
.db-section.padding-mtext-pre-stack                      { --db-section-pb: var(--db-space-mtext-pre-stack); }
.db-section.padding-blog                                 { --db-section-pb: var(--db-space-blog); }
.db-section.padding-blog-default-pre-grid                { --db-section-pb: var(--db-space-blog-default-pre-grid); }
.db-section.padding-blog-descr-pre-grid                  { --db-section-pb: var(--db-space-blog-descr-pre-grid); }

.db-section-inner-headline.grid-headline                 { --db-inner-pt: var(--db-inner-headline-grid-pt); }
.db-section-inner-headline.padding-default               { --db-inner-pb: var(--db-inner-default-pb); }
.db-section-inner-headline.padding-headline-pre-block    { --db-inner-pb: var(--db-inner-headline-pre-block-pb); }
.db-section-inner-headline.padding-headline-pre-grid     { --db-inner-pb: var(--db-inner-headline-pre-grid-pb); }
.db-section-inner-headline.padding-s-headline-pre-grid   { --db-inner-pb: var(--db-inner-s-headline-pre-grid-pb); }
.db-section-inner-headline.padding-headline-pre-stack    { --db-inner-pb: var(--db-inner-headline-pre-stack-pb); }
.db-section-inner-headline.padding-text-pre-block        { --db-inner-pb: var(--db-inner-text-pre-block-pb); }
.db-section-inner-headline.padding-s-text-pre-block      { --db-inner-pb: var(--db-inner-s-text-pre-block-pb); }
.db-section-inner-headline.padding-s-text-pre-form       { --db-inner-pb: var(--db-inner-s-text-pre-form-pb); }