/* ============================================================
   GLOBAL RESET & BASE
============================================================ */

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden !important;
}

/* Prevent iOS viewport collapse */
:root {
    --vh: 1vh;
    --header-h: 100px;

    /* ============================================================
       TYPOGRAPHY SYSTEM
    ============================================================ */
    --font-heading: "Atkinson Hyperlegible", sans-serif;
    --font-body: "Domine", serif;

    --fs-xxl: clamp(3rem, 5vw, 5rem);
    --fs-xl:  clamp(2.5rem, 4vw, 3.5rem);
    --fs-lg:  clamp(1.75rem, 3vw, 2.5rem);
    --fs-md:  clamp(1.25rem, 2vw, 1.5rem);
    --fs-base: 1rem;
    --fs-sm: 0.875rem;

    --lh-tight: 1.1;
    --lh-normal: 1.4;
    --lh-loose: 1.6;

    /* ============================================================
       BRANDING GEOMETRY TOKENS (arrow-aligned)
    ============================================================ */
    --hs-brand-w: 448px;
    --hs-next-arrow-right: 32px;
    --hs-next-arrow-size: 32px;
    --hs-next-arrow-gap: 20px;
	--hs-brand-gap: 24px; /* gap between headline and blue panel */
    --hs-brand-headline-fs: clamp(1.4rem, 4.8vw, 3rem);
    --hs-brand-headline-h: calc(var(--hs-brand-headline-fs) * 2.1);


	/* ============================================================
   	BRANDING PANEL TYPOGRAPHY TOKENS
	============================================================ */
	--hs-panel-headline-fs: 2.1rem;
	--hs-panel-body-fs: 1.1rem;

	--hs-panel-headline-fs-mobile: 2rem;
	--hs-panel-body-fs-mobile: 1.1rem;

	--hs-panel-letter-spacing: 0.12em;
	--hs-panel-line-height: 1.6;
 
    /* ============================================================
   	Nav Colour Tokens
	============================================================ */
    --nav-inactive: #6B7A8F; /* inactive */
	--nav-active:   #00ADEE; /* active */
  	--nav-hover:    #FF9B33; /* hover */
}



/* Global typography */
body {
    font-family: var(--font-body);
    font-size: var(--fs-base);
    line-height: var(--lh-loose);
    color: #111;

    /* Improve serif rendering to better match Figma */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    line-height: var(--lh-tight);
    margin: 0 0 20px 0;
}

h1 { font-size: var(--fs-xxl); }
h2 { font-size: var(--fs-xl); }
h3 { font-size: var(--fs-lg); }
h4 { font-size: var(--fs-md); }
h5 { font-size: var(--fs-base); }
h6 { font-size: var(--fs-sm); }

/* Navigation font */
#hurdler-main-nav a {
    font-family: var(--font-heading);
}


/* ============================================================
   HEADER — layout + positioning (RESTORED)
============================================================ */

#hurdler-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--header-h);
    background: rgba(0,0,0,0);
    z-index: 10000;
    display: flex;
    align-items: center;
    pointer-events: auto;
}

.hurdler-header-inner {
    width: 100%;
    max-width: none;                 /* remove constraint */
    margin: 0;                       /* remove centering */
    padding-inline: clamp(18px, 4vw, 100px);  /* wide on big screens, safe on small */
    padding-block: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}


/* ============================================================
   LOGO (OVERLAY + STATE CONTROL)
============================================================ */

.hurdler-header-logo{
  position: relative;
  display: block;
  height: 40px;
}

.hurdler-logo img{
  height: 40px;
  width: auto;
}

.hurdler-logo .logo{
  position: absolute;
  top: 0;
  left: 0;
}

/* Prevent subpixel / repaint ambiguity during scroll-snap */
.hurdler-logo .logo {
  backface-visibility: hidden;
  transform: translateZ(0);
}


/* LOGO STATE
   Blue = implicit default
   White = explicit opt-in via .logo-white-active
*/


/* BLUE state */
.hurdler-logo .logo-blue  { display: block; }
.hurdler-logo .logo-white { display: none; }

/* WHITE state */
#hurdler-header.logo-white-active .logo-white { display: block; }
#hurdler-header.logo-white-active .logo-blue  { display: none; }

/* ============================================================
   LOGO STATE HARDENING — CHANGE 009
   Ensure BLUE is explicitly restored when white is not active
============================================================ */

/* Explicit BLUE default (prevents grey / undefined state) */
#hurdler-header:not(.logo-white-active) .logo-blue {
  display: block;
}

#hurdler-header:not(.logo-white-active) .logo-white {
  display: none;
}


/* DESKTOP NAV */
#hurdler-main-nav {
    margin-left: auto;
}

#hurdler-main-nav .hurdler-menu {
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ============================================================
   DESKTOP NAV — COLORS + STATES (SINGLE SOURCE OF TRUTH)
============================================================ */

#hurdler-main-nav .hurdler-menu > li > a {
  color: var(--nav-inactive);
}

#hurdler-main-nav a:link,
#hurdler-main-nav a:visited {
  color: var(--nav-inactive);
}


/* Typography + base styling */
#hurdler-main-nav .hurdler-menu li a {
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
  text-shadow: 3px 4px 6px rgba(0,0,0,0.15);
}

/* Active state (JS + WP) */
#hurdler-main-nav .hurdler-menu li > a.active {
  color: var(--nav-active);
}

/* Hover state */
#hurdler-main-nav .hurdler-menu li:hover > a {
  color: var(--nav-hover);
}


/* Active state — HOME page (scroll-based via JS) */
body.home #hurdler-main-nav a.hs-nav-active {
  color: var(--nav-active);
}

/* Active state — NON-HOME pages (WordPress) */
body:not(.home) #hurdler-main-nav
.hurdler-menu > li.current-menu-item > a {
  color: var(--nav-active);
}


#hurdler-main-nav .sub-menu li a {
    display: block;
    padding: 10px 20px;
    font-size: 15px;
    color: #E6E6E6;
    white-space: nowrap;
    
}

#hurdler-main-nav .sub-menu li a:hover {
    color: var(--nav-active);
}

/* HAMBURGER BUTTON (HIDDEN ON DESKTOP) */
.hurdler-nav-toggle {
    display: none;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

.hurdler-nav-toggle .bar {
    width: 28px;
    height: 3px;
    background: #00ADEE;
    display: block;
    transition: 0.3s ease;
}

/* ACTIVE HAMBURGER STATE */
.hurdler-nav-toggle.is-active .bar:nth-child(1) {
    transform: rotate(45deg) translateY(9px);
}

.hurdler-nav-toggle.is-active .bar:nth-child(2) {
    opacity: 0;
}

.hurdler-nav-toggle.is-active .bar:nth-child(3) {
    transform: rotate(-45deg) translateY(-9px);
}

/* ============================================================
   RESPONSIVE BEHAVIOR / MOBILE NAV (RESTORED)
============================================================ */
@media (max-width: 900px) {

    /* Ensure menu does not clip anything */
    #hurdler-header,
    .hurdler-header-inner {
        overflow: visible !important;
    }

    /* Header padding on mobile */
    .hurdler-header-inner {
        padding: 0 20px;
    }

    /* Fullscreen mobile nav */
    #hurdler-main-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        margin: 0;
        padding: 80px 32px 40px;
        box-sizing: border-box;

        background: rgba(4, 12, 20, 0.6);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;

        transform: translateX(100%);
        opacity: 0;
        pointer-events: none;

        transition: transform 0.3s ease, opacity 0.3s ease;
        z-index: 9998;
    }

    #hurdler-main-nav.is-open {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
    }

#hurdler-main-nav .hurdler-menu {
    flex-direction: column;
    gap: 8px;
    align-items: center;
    padding: 0;
    margin: 0;
}


    #hurdler-main-nav .hurdler-menu li {
        list-style: none;
    }

    #hurdler-main-nav .hurdler-menu li a {
        color: #ffffff;
    }

    /* FIXED MOBILE HAMBURGER — iOS Chrome safe */
    .hurdler-nav-toggle {
        display: flex !important;
        position: absolute !important;

        top: 50%;
        right: 40px;

        transform: translateY(-50%);

        z-index: 999999 !important;
        margin: 0 !important;
    }

    /* Spacing between top-level sections (HOME / ENVISION / etc.) */
    #hurdler-main-nav .hurdler-menu > li {
        margin-bottom: 8px;
    }

/* Sub-menu typography + spacing */
#hurdler-main-nav .sub-menu li a {
    font-size: 16px;
    font-weight: 400;
    color: #E6E6E6;
    padding: 4px 0;
    line-height: 1.3;
}


    
}

/* ============================================================
   HERO BACKGROUND — VIDEO LAYER
============================================================ */

.hs-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.hs-hero-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ============================================================
   MASTER VIEWPORT — Vertical Scroll Snap Container (HOME ONLY)
   Change 010: prevent standalone pages from inheriting viewport ownership
============================================================ */

body.home #hurdler-viewport {
    width: 100%;
    height: calc(var(--vh) * 100);
    overflow-y: scroll;
    overflow-x: hidden;

    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

/* ============================================================
   STANDALONE PAGES — SCROLL OWNERSHIP NORMALIZATION (NON-HOME)
   Change 010: reclaim native page scrolling + prevent snap behaviors
============================================================ */

body:not(.home) {
    height: auto;
    overflow-y: auto;
}

/* Defensive: if #hurdler-viewport ever exists on non-home, neutralize it */
body:not(.home) #hurdler-viewport {
    height: auto !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
}

/* Ensure standalone page content clears fixed header even without hs-page wrapper */
body:not(.home) .site-content {
    padding-top: var(--header-h);
}

/* ============================================================
   SECTION MODEL — Fullscreen Sections (RESTORED)
============================================================ */

.hs-section {
    width: 100%;
    min-height: calc(var(--vh) * 100);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 40px;
    position: relative;
    box-sizing: border-box;
    overflow: visible;
    scroll-snap-align: start;
}

/* ============================================================
   HERO SECTION — LAYOUT OVERRIDE
============================================================ */

.hs-section.hs-hero {
    justify-content: flex-end;
    padding-right: clamp(40px, 8vw, 140px);
}

.hs-inner {
    max-width: 1200px;
    width: 100%;
}

/* ============================================================
   FULLSCREEN SLIDER OVERRIDE — REQUIRED
============================================================ */

.hs-section.hs-slider {
    padding: 0 !important;
    align-items: stretch;
    justify-content: stretch;
    width: 100vw;
}

/* ============================================================
   SLIDE BACKGROUND — FULL BLEED REQUIRED
============================================================ */

.hs-slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* ============================================================
   SLIDE GEOMETRY — VIEWPORT LOCK
============================================================ */

.hs-slide {
    min-height: calc(var(--vh) * 100);
    width: 100vw;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
}

/* ============================================================
   SLIDER TRACK — FULL VIEWPORT WIDTH
============================================================ */

.hs-slider-track {
    width: 100vw;
    max-width: none;
    display: flex;
    flex-direction: row;
}

/* ============================================================
   BLUE FRAME — SLIDE DECORATOR (NEW)
   Used by front-page.php: wraps slide content/branding on all slides
   except hero + final about.
   Toggle OFF globally by switching to `display: contents;`
============================================================ */

.hs-blue-frame {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;

    position: relative;
    z-index: 2;

    background:
        linear-gradient(
            90deg,
            rgba(20, 40, 80, 0.65),
            rgba(20, 40, 80, 0.35)
        );
}



/* Neutral frame — same layout as hs-blue-frame, but NO overlay/background */
.hs-frame {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;

    /* Ensure it sits above background media + overlay */
    position: relative;
    z-index: 2;

    /* No background by default */
    background: none;
}

/*
.hs-blue-frame {
    display: contents;
}
*/

/* ============================================================
   BRANDING COMPONENT — STABLE, NON-BLOCKING
   (Works with your current markup in front-page.php)
============================================================ */

.hs-slide {
    position: relative; /* ensure absolute children anchor correctly */
}

.hs-branding {
    position: absolute;
    right: calc(
        var(--hs-next-arrow-right)
        + var(--hs-next-arrow-size)
        + var(--hs-next-arrow-gap)
    );
    top: 0;
    bottom: 0;

    width: var(--hs-brand-w);
    z-index: 6;

    pointer-events: none;
}

.hs-branding-headline {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;

    display: flex;
    justify-content: flex-end;
}

.hs-branding-headline h2 {
    margin: 0;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: var(--hs-brand-headline-fs);
    line-height: 1.05;
    color: #E6E6E6;
    text-align: right;
    text-shadow: 0 4px 12px rgba(0,0,0,0.45);
}

.hs-branding-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(50% + (var(--hs-brand-headline-h) / 2) + var(--hs-brand-gap));
    bottom: 0;
    padding: 32px 40px;
    background: rgba(0, 173, 238, 0.8);
    box-sizing: border-box;
    border-top-left-radius: 28px;
    border-top-right-radius: 28px;
    overflow: hidden;
}



.hs-panel-headline {
    margin: 0 0 12px 0;

    font-family: var(--font-heading);
    font-size: var(--hs-panel-headline-fs);
    font-weight: 700;
    text-align: center;
    color: #ffffff;
    letter-spacing: 0.12em;
}

.hs-panel-list {
    margin: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

    padding-inline: 20px;

    font-family: var(--font-body);
    font-size: var(--hs-panel-body-fs);
    line-height: var(--hs-panel-line-height);
    color: #E6E6E6;

    letter-spacing: var(--hs-panel-letter-spacing);

    /* ADD THESE */
    max-width: 282px;
    margin-inline: auto;
}


/* ============================================================
   BRANDING PANEL — TEXT LAYOUT VARIANTS (NEW)
============================================================ */

/* Shared base styles */
.hs-panel-text {
    color: #ffffff;
    font-family: var(--font-body);
}

/* Lead-in line (bold, body font) */
.hs-panel-lead {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    margin: 0 0 8px 0;
}

/* Body paragraph */
.hs-panel-body {
    font-weight: 400;
    font-size: var(--hs-panel-body-fs);
    line-height: var(--hs-panel-line-height);
    margin: 0;
    color: #E6E6E6;
}


/* Emphasized term inside panel body (lighter than <strong>) */
.hs-panel-term {
    font-weight: 500;
}

/* Alignment modifiers */
.hs-panel--left {
    text-align: left;
}

.hs-panel--center {
    text-align: center;
}

/* Centered skill list variant */
.hs-panel-skills {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;

    font-size: 0.75rem;
    letter-spacing: 0.12em;
    color: #E6E6E6;
}

.hs-branding-panel .discipline {
    white-space: nowrap; 
}

/* Default headline color (for dark imagery) */
.hs-branding-headline h2 {
    color: #ffffff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

/* Dark headline variant (for light imagery) */
.hs-slide.hs-headline-dark .hs-branding-headline h2 {
    color: #111111;
    text-shadow: none;
}

.hs-panel-spacer {
    margin-top: 1em;
}

@media (max-width: 900px) {

  /* MOBILE ARROW GEOMETRY — prevents branding overlap */
  :root {
    --hs-next-arrow-right: 16px;
    --hs-next-arrow-size: 24px;
    --hs-next-arrow-gap: 12px;
    --hs-brand-headline-fs: 2rem; /* single control */
  }

/* 🔑 SINGLE SOURCE OF TRUTH */
  .hs-branding {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    /* This is the exclusion zone */
    right: calc(
      var(--hs-next-arrow-right)
      + var(--hs-next-arrow-size)
      + var(--hs-next-arrow-gap)
    );

    width: auto;
    max-width: none;

    pointer-events: none;
  }

.hs-branding-headline {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);

    width: 100%;
    box-sizing: border-box;

    /* KEY: inset from arrow, but stay right-aligned */
    padding-right: 0;

    display: flex;
    justify-content: flex-end;
  }

  .hs-branding-headline h2 {
    margin: 0;
    text-align: right;
    white-space: nowrap;
    line-height: 1.02;
    letter-spacing: -0.01em;
  }


  /* Panel pinned to bottom */
  .hs-branding-panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    width: 100vw;
    max-width: 100vw;
    border-radius:0;
    padding: 20px 0px 0px;
    background: rgba(0, 173, 238, 0.8);
    box-sizing: border-box;
  }

  .hs-branding-panel .discipline {
    white-space: normal;
  }

  .hs-panel-list,
  .hs-panel-body {
    max-width: 320px;
    margin-inline: auto;
  }

  .hs-panel-headline {
    font-size: var(--hs-panel-headline-fs-mobile);
  }

  .hs-panel-list,
  .hs-panel-body {
    font-size: var(--hs-panel-body-fs-mobile);
  }
}



/* ============================================================
   DESKTOP SUBMENU — BASELINE (HIDDEN)
============================================================ */

#hurdler-main-nav .hurdler-menu li {
    position: relative;
}

#hurdler-main-nav .hurdler-menu li > ul.sub-menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;

    min-width: 220px;
    padding: 12px 0;
    margin: 0;

    list-style: none;
    background: rgba(4, 12, 20, 0.95);
    backdrop-filter: blur(8px);

    border-radius: 10px;

    display: none;
    opacity: 0;
    pointer-events: none;

    z-index: 9999;
}

@media (min-width: 901px) {
    #hurdler-main-nav .hurdler-menu li:hover > ul.sub-menu {
        display: block;
        opacity: 1;
        pointer-events: auto;
    }
}

/* ============================================================
   MOBILE SUBMENU — ALWAYS VISIBLE
============================================================ */

@media (max-width: 900px) {

    #hurdler-main-nav .hurdler-menu li > ul.sub-menu {
        position: static;
        display: block;
        opacity: 1;
        pointer-events: auto;

        background: none;
        backdrop-filter: none;

        padding: 0;
        margin-top: 14px;
    }

}

/* ============================================================
   FOOTER CONTACT SLIDE — 005-000 (FIGMA MATCH)
============================================================ */

.slide-005-000 .hs-frame {
    justify-content: center;
}


.hs-footer-title {
    font-size: clamp(1.8rem, 3vw, 2.2rem);
    font-weight: 600;
    margin-bottom: 20px;
}

.hs-footer-contact {
    display: flex;
    flex-direction: column;
    align-items: center;     /* 🔑 horizontal centering */
    text-align: center;      /* 🔑 text + inline content */
    margin-inline: auto;     /* 🔑 center the column itself */
}

.hs-footer-cta {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;

    padding: 8px 16px;
    border-radius: 8px;

    background: #FF9B33;
    color: #111;
    font-family: var(--font-heading);
    font-weight: 700;
    text-decoration: none;
    margin-bottom: 24px;
}

.hs-footer-cta span {
    font-size: 1rem;
    letter-spacing: 0.04em;
    align-self: center;
}

.hs-footer-socials {
    display: flex;
    gap: 28px;
    margin-bottom: 20px;
}

.hs-footer-socials img {
    width: 28px;
    height: 28px;
}

.hs-footer-copyright {
    font-size: 0.7rem;
    line-height: 1.4;
    opacity: 0.75;
    max-width: none;
    text-align: center;
}

/* =========================================================
   FOOTER CONTACT SLIDE — TYPOGRAPHY COLOR
========================================================= */

.slide-005-000 .hs-footer-contact,
.slide-005-000 .hs-footer-contact h2,
.slide-005-000 .hs-footer-contact p,
.slide-005-000 .hs-footer-contact a {
    color: #F5F5F5;
}

/* =========================================================
   FOOTER META — COPYRIGHT + LEGAL (PINNED AS A UNIT)
========================================================= */

.slide-005-000 {
    position: relative;
}

.slide-005-000 .hs-footer-meta {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;

    max-width: 520px;
    text-align: center;
}

.slide-005-000 .hs-footer-copyright {
    font-size: 0.75rem;
    line-height: 1.4;
    opacity: 0.85;
    margin: 0;
}

.slide-005-000 .hs-footer-legal {
  text-align: center;
}



/* =========================================================
   FOUNDER SLIDE — 005-001 (50 / 50 SPLIT)
========================================================= */

.slide-005-001 .hs-frame {
    align-items: stretch; /* override vertical centering */
}

.hs-footer-about {
    display: flex;
    width: 100%;
    height: 100%;
}

/* LEFT: Portrait panel */
.hs-footer-image {
    flex: 0 0 50%;
    max-width: 50%;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    position: relative;
}

/* Portrait credit */
.hs-footer-photo-credit {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);

    color: #F5F5F5;
    font-size: 0.7rem;
    line-height: 1.3;
    opacity: 0.85;
    text-align: center;
    pointer-events: none;
}

/* RIGHT: Content panel */
.hs-footer-content {
    flex: 0 0 50%;
    max-width: 50%;

    background: #ffffff;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;
    padding: 48px 40px;
    box-sizing: border-box;
}

/* Body text */
.hs-footer-bio {
    color: #2B2B2B;
    max-width: 440px;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Policy links */
.hs-footer-links {
    display: flex;
    gap: 20px;
}

.hs-footer-links a {
    color: #00ADEE;
    font-size: 0.85rem;
    text-decoration: none;
}

.hs-footer-links a:hover {
    text-decoration: underline;
}

@media (max-width: 900px) {

    .hs-footer-about {
        flex-direction: column;
    }

    .hs-footer-image {
        max-width: 100%;
        flex: none;
        height: 45vh;
    }

    .hs-footer-content {
        max-width: 100%;
        padding: 12px 8px;
    }
}

/* =========================================================
   FOOTER LEGAL — WIDTH DECOUPLING (MOBILE ONLY)
   Slide-scoped opt-out for 005-000
========================================================= */

.slide-005-000 .hs-footer-legal {
    max-width: 520px; /* desktop baseline remains unchanged */
}

@media (max-width: 900px) {
    .slide-005-000 .hs-footer-legal {
        max-width: 90vw;          /* wider than CTA on mobile */
        padding-inline: 16px;     /* readable edges */
    }
}

@media (max-width: 900px) {

  /* Allow footer meta to span viewport */
  .slide-005-000 .hs-footer-meta {
    width: 100vw;
    max-width: none;
  }

  /* Let legal text be wider than CTA */
  .slide-005-000 .hs-footer-legal {
    max-width: 90vw;
    margin-inline: auto;
  }

}

/* Center legal links row */
.slide-005-000 .hs-footer-links {
    justify-content: center;
}
