﻿/* =========================================================
   NORTHWIND AIR — REBUILT STYLESHEET
========================================================= */

/* =========================================================
   GLOBAL
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --primary-black: #05070d;
    --secondary-black: #111519;
    --mobile-vh: 100svh;

    --accent-blue: #2a5a8f;
    --accent-light-blue: #6fb3ff;
    --accent-slate: #7186a3;

    --text-white: #f4f7fb;
    --text-light: #d8e1ef;
    --text-muted: #9aa6bb;

    --site-max-width: 1248px;
    background: #061326;
    color-scheme: dark;
}

html {
    margin: 0;
    scroll-behavior: smooth;
    overflow-x: hidden;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    background: #061326 !important;
    min-height: 100%;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    position: relative;
    isolation: isolate;
    overflow-x: hidden;
    min-height: 100%;
    min-height: 100dvh;

    font-family: "Inter", sans-serif;
    line-height: 1.6;

    color: var(--text-white);
    background: #061326 !important;
}

#app,
main,
.page-wrapper {
    min-height: 100dvh;
    background-color: #061326;
}

.page-background {
    position: relative;
    min-height: 100dvh;
    background:
        radial-gradient(
            1200px 760px at 50% -12%,
            rgba(34, 78, 136, 0.20),
            rgba(34, 78, 136, 0.08) 38%,
            transparent 78%
        ),
        radial-gradient(
            860px 520px at 84% 18%,
            rgba(18, 50, 96, 0.24),
            transparent 70%
        ),
        radial-gradient(
            760px 440px at 62% 56%,
            rgba(180, 114, 58, 0.08),
            transparent 74%
        ),
        radial-gradient(
            980px 540px at 20% 82%,
            rgba(11, 39, 77, 0.28),
            transparent 75%
        ),
        linear-gradient(
            180deg,
            #07111e 0%,
            #0a1628 22%,
            #0b1321 43%,
            #101a28 64%,
            #070b12 82%,
            #081322 100%
        ),
        #061326;
    background-color: #061326;
    filter: saturate(108%);
}

img,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

a {
    color: inherit;
}

.container {
    width: min(100%, 1200px);
    margin-inline: auto;
    padding-inline: 2rem;
}

/* =========================================================
   LIQUID GLASS FOUNDATION
========================================================= */

.liquid-glass {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.liquid-glass__surface,
.liquid-glass__highlight {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
}

.liquid-glass__surface {
    z-index: 0;

    background:
        radial-gradient(
            120% 95% at var(--glass-spot-x, 20%) var(--glass-spot-y, 16%),
            rgba(122, 170, 238, 0.09) 0%,
            rgba(88, 136, 206, 0.06) 34%,
            rgba(48, 86, 150, 0.03) 58%,
            transparent 82%
        ),
        radial-gradient(
            96% 78% at 82% 88%,
            rgba(34, 68, 122, 0.12),
            rgba(16, 34, 64, 0.06) 56%,
            transparent 84%
        ),
        linear-gradient(
            152deg,
            rgba(62, 103, 170, 0.16),
            rgba(28, 55, 98, 0.14) 42%,
            rgba(8, 19, 36, 0.30)
        );

    backdrop-filter: blur(22px) saturate(160%) contrast(106%);
    -webkit-backdrop-filter: blur(22px) saturate(160%) contrast(106%);

    filter: url("#liquid-glass-filter");

    box-shadow:
        inset 0 1px 0 rgba(156, 201, 255, 0.10),
        inset 0 -18px 24px rgba(13, 31, 61, 0.22),
        inset 1px 0 0 rgba(129, 176, 238, 0.08),
        inset -1px 0 0 rgba(26, 52, 92, 0.15);
}

.liquid-glass__highlight {
    display: none;
}

.liquid-glass__content {
    position: relative;
    z-index: 2;
}

/* =========================================================
   NAVIGATION
========================================================= */

.navbar {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;

    width: 100%;
    padding-top: 1.45rem;
}

.nav-container {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;

    width: min(calc(100% - 3rem), var(--site-max-width));
    min-height: 68px;
    margin-inline: auto;
    padding: 0.65rem 1.7rem;

    border: 1px solid rgba(188, 213, 246, 0.13);
    border-radius: 999px;

    background: rgba(8, 17, 32, 0.18);

    box-shadow:
        0 20px 42px rgba(2, 7, 15, 0.42),
        0 10px 22px rgba(4, 8, 15, 0.24),
        0 0 26px rgba(132, 186, 255, 0.10);
}

.logo {
    position: relative;
    z-index: 3;
    flex-shrink: 0;
    padding-right: 1.7rem;
}

.logo::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;

    width: 1px;
    height: 1.8rem;

    transform: translateY(-50%);
    background: rgba(226, 238, 255, 0.20);
}

.logo h1 {
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: 2.05rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.5px;

    color: #ffffff;
}

.logo-accent {
    color: var(--accent-light-blue);
}

.nav-menu {
    position: absolute;
    z-index: 3;
    left: 50%;

    display: flex;
    align-items: center;
    gap: 1.2rem;

    list-style: none;
    transform: translateX(-50%);
}

.nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 0.55rem 0.84rem;

    border-radius: 999px;

    color: rgba(239, 246, 255, 0.92);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;

    transition:
        color 220ms ease,
        background-color 220ms ease,
        box-shadow 220ms ease;
}

.nav-link:hover,
.nav-link:focus-visible {
    color: var(--accent-light-blue);
    background: rgba(111, 179, 255, 0.10);
    box-shadow: inset 0 0 0 1px rgba(111, 179, 255, 0.20);
}

.nav-link.active {
    color: #ffffff;
}

.nav-cta {
    position: relative;
    z-index: 3;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;

    min-height: 44px;
    margin-left: auto;
    padding: 0.55rem 1.45rem;

    border: 1px solid rgba(240, 248, 255, 0.18);
    border-radius: 999px;

    background: rgba(14, 30, 58, 0.16);
    color: rgba(241, 248, 255, 0.97);

    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;

    box-shadow:
        0 12px 24px rgba(5, 11, 22, 0.32),
        0 0 18px rgba(111, 179, 255, 0.12);

    transition:
        transform 300ms ease,
        border-color 300ms ease,
        box-shadow 300ms ease;
}

.nav-cta:hover,
.nav-cta:focus-visible,
.nav-cta.is-interacting {
    transform: translateY(-1px) scale(1.02);
    border-color: rgba(248, 252, 255, 0.28);

    box-shadow:
        0 18px 34px rgba(5, 10, 21, 0.42),
        0 0 24px rgba(144, 194, 255, 0.18);
}

.hamburger {
    display: none;
}

/* =========================================================
   HERO
========================================================= */

.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;

    padding: 0;

    --hero-parallax-x: 0px;
    --hero-parallax-y: 0px;
    --hero-refraction-x: 50%;
    --hero-refraction-y: 45%;
}

.hero-bg {
    position: absolute;
    inset: -2%;
    z-index: 0;

    background:
        linear-gradient(
            rgba(0, 0, 0, 0.38),
            rgba(0, 0, 0, 0.20)
        ),
        url("lakeside_home_twilight.jpg") 60% center / cover no-repeat;

    filter: saturate(103%) contrast(101%);

    transform:
        translate3d(
            var(--hero-parallax-x),
            var(--hero-parallax-y),
            0
        )
        scale(1.03);

    will-change: transform;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 28% 52%,
            rgba(0, 0, 0, 0.50),
            rgba(0, 0, 0, 0.25) 32%,
            rgba(0, 0, 0, 0.08) 52%,
            transparent 74%
        ),
        linear-gradient(
            180deg,
            rgba(4, 8, 15, 0.58),
            rgba(4, 8, 15, 0.34) 38%,
            rgba(4, 8, 15, 0.26)
        ),
        linear-gradient(
            180deg,
            rgba(8, 19, 34, 0) 62%,
            rgba(8, 19, 34, 0.62) 86%,
            rgba(8, 19, 34, 0.9) 100%
        );
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;

    background:
        radial-gradient(
            circle 27rem at
            var(--hero-refraction-x)
            var(--hero-refraction-y),
            rgba(140, 198, 255, 0.10),
            transparent 72%
        );

    mix-blend-mode: screen;
    opacity: 0.5;
}

.hero-inner {
    position: relative;
    z-index: 4;

    display: flex;
    align-items: center;

    width: min(100%, var(--site-max-width));
    min-height: 100vh;
    min-height: 100dvh;

    margin-inline: auto;
    padding: 8.7rem 2.2rem 3.6rem;
}

.hero-content {
    position: relative;
    width: 100%;
}

.hero-copy {
    width: 100%;
    max-width: 548px;
    text-align: left;

    animation:
        heroFadeIn
        900ms
        cubic-bezier(0.22, 1, 0.36, 1)
        120ms
        both;
}

.hero-eyebrow {
    margin-bottom: 1.35rem;

    color: var(--accent-light-blue);

    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.4em;
    text-transform: uppercase;

    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.40);
}

.hero-headline {
    margin-bottom: 1.7rem;

    font-family: "Playfair Display", serif;
    font-size: clamp(5.5rem, 8.7vw, 8.35rem);
    font-weight: 600;
    line-height: 0.86;
    letter-spacing: -0.06em;

    color: #ffffff;

    text-shadow:
        0 10px 30px rgba(0, 0, 0, 0.45),
        0 30px 80px rgba(0, 0, 0, 0.25);
}

.hero-dot {
    color: var(--accent-light-blue);
}

.hero-copytext {
    max-width: 430px;
    margin-bottom: 1.25rem;

    color: rgba(255, 255, 255, 0.90);

    font-size: 1.05rem;
    line-height: 1.7;

    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.40);
}

.hero-launch-offer {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: min(100%, 470px);
    min-height: 44px;
    margin: 0 0 1rem;
    padding: 0.48rem 0.95rem;
    border: 1px solid rgba(190, 223, 255, 0.26);
    border-radius: 999px;
    background: rgba(8, 18, 34, 0.22);
    box-shadow:
        0 12px 30px rgba(2, 7, 15, 0.3),
        0 0 20px rgba(111, 179, 255, 0.12);
    overflow: visible;
    animation: heroLaunchPulse 9s ease-in-out infinite;
}

.hero-launch-offer__glow {
    position: absolute;
    z-index: 0;
    inset: -9px -12px;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(circle at 50% 50%, rgba(111, 179, 255, 0.2), rgba(111, 179, 255, 0) 72%);
    filter: blur(9px);
    opacity: 0.66;
}

.hero-launch-offer__content {
    display: inline-flex;
    align-items: center;
    gap: 0.58rem;
}

.hero-launch-offer__icon {
    font-size: 0.8rem;
    color: rgba(142, 208, 255, 0.98);
    text-shadow: 0 0 10px rgba(124, 189, 255, 0.46);
    transform: translateY(-1px);
}

.hero-launch-offer__text {
    color: rgba(240, 247, 255, 0.96);
    font-size: 0.86rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    white-space: nowrap;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.32);
}

.hero-launch-offer:hover,
.hero-launch-offer:focus-within {
    border-color: rgba(210, 233, 255, 0.4);
    box-shadow:
        0 16px 34px rgba(2, 7, 15, 0.34),
        0 0 26px rgba(121, 192, 255, 0.2);
}

@keyframes heroLaunchPulse {
    0%,
    82%,
    100% {
        box-shadow:
            0 12px 30px rgba(2, 7, 15, 0.3),
            0 0 20px rgba(111, 179, 255, 0.12);
    }

    90% {
        box-shadow:
            0 14px 32px rgba(2, 7, 15, 0.35),
            0 0 30px rgba(127, 196, 255, 0.26);
    }
}

/* =========================================================
   TRUST BAR
========================================================= */

.hero-trust-bar {
    padding: 0.5rem 0.86rem !important;
    font-size: clamp(0.88rem, 1vw, 1rem) !important;
    display: inline-flex;
    align-items: center;

    min-width: 360px;
    margin-bottom: 1.15rem;
    padding: 0.52rem;
    min-height: 54px !important;
    border: 1px solid rgba(230, 242, 255, 0.16);
    border-radius: 999px;

    background: rgba(8, 18, 34, 0.20);

    box-shadow:
        0 16px 38px rgba(2, 7, 15, 0.34),
        0 0 20px rgba(111, 179, 255, 0.08);
}

.hero-trust-content {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.hero-trust-item {
    position: relative;

    gap: 0.5rem;

    padding: 0.42rem 0.68rem;

    border: 1px solid rgba(111, 179, 255, 0.18);
    border-radius: 999px;
    background: rgba(111, 179, 255, 0.06);

    color: rgba(236, 243, 255, 0.94);

    font-size: 0.84rem;
    font-weight: 600;
    white-space: nowrap;
}

.hero-trust-item svg {
    width: 0.95rem;
    height: 0.95rem;
    flex-shrink: 0;

    fill: none;
    stroke: rgba(126, 194, 255, 0.96);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   CTA BUTTON
========================================================= */

.cta-button {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;

    min-width: 252px;
    min-height: 54px;
    padding: 0.95rem 2.1rem;

    border: 1px solid rgba(177, 214, 255, 0.30);
    border-radius: 999px;

    background:
        linear-gradient(
            145deg,
            rgba(52, 97, 168, 0.42),
            rgba(20, 44, 86, 0.52)
        );

    color: #ffffff;

    font-weight: 700;
    letter-spacing: 0.03em;
    text-decoration: none;

    box-shadow:
        0 14px 40px rgba(0, 0, 0, 0.24),
        0 8px 28px rgba(111, 179, 255, 0.18);

    transition:
        transform 280ms ease,
        border-color 280ms ease,
        box-shadow 280ms ease;
}

.cta-button:hover,
.cta-button:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(177, 214, 255, 0.50);

    box-shadow:
        0 20px 58px rgba(0, 0, 0, 0.30),
        0 10px 38px rgba(111, 179, 255, 0.30);
}

/* =========================================================
   FLOATING GLASS CARDS
========================================================= */

.hero-float-cards {
    position: absolute;
    z-index: 4;
    top: 48%;
    right: clamp(2rem, 7vw, 7rem);

    width: min(22rem, 29vw);

    transform: translateY(-50%);
}

.hero-float-card {
    position: relative;

    width: clamp(11rem, 14.5vw, 13rem);
    padding: 1.05rem;

    border: 1px solid rgba(218, 234, 255, 0.18);
    border-radius: 19px;

    background: rgba(8, 18, 34, 0.18);

    box-shadow:
        0 22px 48px rgba(1, 6, 15, 0.44),
        0 0 24px rgba(105, 166, 255, 0.10);

    transition:
        transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 320ms ease,
        box-shadow 360ms ease;

    animation: heroCardFloat 8s ease-in-out infinite;
}

.hero-float-card:hover {
    transform: translateY(-8px) scale(1.025);
    border-color: rgba(240, 248, 255, 0.30);

    box-shadow:
        0 28px 58px rgba(1, 6, 15, 0.50),
        0 0 30px rgba(126, 186, 255, 0.16);
}

.hero-float-card-top {
    margin-left: auto;
    margin-right: 0.35rem;
}

.hero-float-card-bottom {
    margin-top: 4rem;
    margin-left: 0;
    animation-delay: -3s;
}

.hero-float-icon {
    display: inline-flex;
    width: 1.15rem;
    height: 1.15rem;
    margin-bottom: 0.45rem;

    color: rgba(131, 197, 255, 0.98);
}

.hero-float-icon svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hero-float-title {
    margin: 0 0 0.55rem;

    font-family: "Playfair Display", serif;
    font-size: clamp(1.3rem, 1.8vw, 1.75rem);
    line-height: 1.02;

    color: rgba(247, 250, 255, 0.96);
}

.hero-float-card-bottom .hero-float-title {
    font-size: clamp(1.15rem, 1.55vw, 1.4rem);
}

.hero-float-copy {
    margin: 0;

    color: rgba(217, 226, 240, 0.84);

    font-size: 0.8rem;
    line-height: 1.4;
}

/* =========================================================
   HERO ANIMATIONS
========================================================= */

@keyframes heroFadeIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroCardFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

/* =========================================================
   GENERIC SECTIONS
========================================================= */

section:not(.hero) {
    position: relative;
    isolation: isolate;
}

.section-title {
    margin-bottom: 1rem;

    font-family: "Playfair Display", serif;
    font-size: clamp(2.8rem, 5vw, 4rem);
    font-weight: 700;
    line-height: 1;
    text-align: center;

    color: var(--text-white);
}

.section-subtitle {
    max-width: 60ch;
    margin: 0 auto 3rem;

    color: var(--text-muted);

    font-size: 1.05rem;
    font-weight: 300;
    line-height: 1.75;
    text-align: center;
}

/* =========================================================
   THE NORTHWIND DIFFERENCE
========================================================= */

#why-northwind.northwind-difference {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    width: 100%;
    min-height: auto;
    margin-top: 0;

    padding:
        clamp(5rem, 7vw, 7rem)
        clamp(1.25rem, 4vw, 4rem);

    background: transparent;
}

#why-northwind.northwind-difference::before {
    content: none;
}

#why-northwind.northwind-difference::after {
    content: none;
}

#why-northwind > .container {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 1600px;
    margin-inline: auto;
    padding: 0;

    border: 0;
    background: transparent;
    box-shadow: none;
}

/* Header */

#why-northwind .northwind-difference__header {
    width: min(100%, 980px);
    margin: 0 auto clamp(3rem, 5vw, 4.25rem);
    text-align: center;
}

#why-northwind .northwind-difference__title {
    margin: 0;

    font-family:
        "Cormorant Garamond",
        "Playfair Display",
        Georgia,
        serif;

    font-size: clamp(3.8rem, 5.8vw, 6rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.045em;

    color: #f5f3ef;
}

#why-northwind .northwind-difference__subtitle {
    width: min(100%, 900px);
    margin: 1.35rem auto 0;

    font-family: "Inter", sans-serif;
    font-size: clamp(0.98rem, 1.2vw, 1.08rem);
    font-weight: 400;
    line-height: 1.78;

    color: rgba(224, 230, 239, 0.76);
}

/* Grid */

#why-northwind .northwind-difference__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-flow: row;
    align-items: stretch;

    width: 100%;
    margin: 0;
    padding: 0;

    gap: clamp(1rem, 1.7vw, 1.75rem);
}

/* Cards */

#why-northwind .northwind-difference__card {
    position: relative;
    display: block;

    min-width: 0;
    min-height: 480px;
    margin: 0;
    padding: clamp(1.7rem, 2vw, 2.15rem);

    border: 1px solid rgba(92, 148, 225, 0.28);
    border-radius: 22px;

    background:
        radial-gradient(
            circle at 18% 7%,
            rgba(66, 122, 205, 0.09),
            transparent 43%
        ),
        linear-gradient(
            155deg,
            rgba(13, 29, 52, 0.90) 0%,
            rgba(4, 13, 27, 0.98) 100%
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 18px 44px rgba(0, 0, 0, 0.20);

    overflow: hidden;

    transition:
        transform 240ms ease,
        border-color 240ms ease,
        box-shadow 240ms ease;
}

#why-northwind .northwind-difference__card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.018),
            transparent 34%
        );
}

#why-northwind .northwind-difference__card:hover,
#why-northwind .northwind-difference__card:focus-visible {
    transform: translateY(-5px);
    border-color: rgba(111, 171, 255, 0.44);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 25px 56px rgba(0, 0, 0, 0.28),
        0 0 30px rgba(78, 142, 235, 0.08);
}

/* Card content */

#why-northwind .northwind-difference__icon,
#why-northwind .northwind-difference__card-title,
#why-northwind .northwind-difference__card-support,
#why-northwind .northwind-difference__divider,
#why-northwind .northwind-difference__card-copy {
    position: relative;
    z-index: 1;
}

#why-northwind .northwind-difference__icon {
    display: block;

    width: 36px;
    height: 36px;
    margin-bottom: 1.35rem;

    color: #76a8f8;
}

#why-northwind .northwind-difference__icon svg {
    display: block;
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#why-northwind .northwind-difference__card-title {
    min-height: 2.65em;
    margin: 0;

    font-family: "Inter", sans-serif;
    font-size: clamp(1.14rem, 1.3vw, 1.3rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.028em;

    color: rgba(248, 249, 252, 0.98);
}

#why-northwind .northwind-difference__card-support {
    min-height: 1.4em;
    margin: 0.42rem 0 0;

    font-family: "Inter", sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: rgba(138, 189, 255, 0.82);
}

#why-northwind .northwind-difference__divider {
    display: block;

    width: 36px;
    height: 1px;
    margin: 1.1rem 0 1.2rem;

    border-radius: 999px;
    background: #75a8f8;
}

#why-northwind .northwind-difference__card-copy {
    margin: 0;

    font-family: "Inter", sans-serif;
    font-size: clamp(0.89rem, 0.95vw, 0.95rem);
    font-weight: 400;
    line-height: 1.76;

    color: rgba(222, 229, 239, 0.76);
}

#why-northwind .northwind-difference__card-copy strong {
    color: rgba(246, 248, 252, 0.96);
    font-weight: 600;
}

/* Footer */

#why-northwind .northwind-difference__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 0.4rem 0.65rem;
    margin: clamp(2.75rem, 4vw, 3.75rem) 0 0;

    font-family: "Inter", sans-serif;
    font-size: 0.76rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.22em;
    text-align: center;
    text-transform: uppercase;

    color: rgba(215, 223, 235, 0.72);
}

#why-northwind .northwind-difference__footer-highlight {
    color: #75a8f8;
}

/* Animation */

#why-northwind .why-animate {
    opacity: 1;
    visibility: visible;
    transform: none;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1300px) {
    #why-northwind.northwind-difference {
        margin-top: 0;
        padding: 5.5rem 2rem;
    }

    #why-northwind .northwind-difference__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #why-northwind .northwind-difference__card {
        min-height: 410px;
    }
}

@media (max-width: 900px) {
    #why-northwind.northwind-difference {
        margin-top: 0;
        padding: 5rem 1.25rem;
    }

    #why-northwind .northwind-difference__header {
        margin-bottom: 2.6rem;
    }

    #why-northwind .northwind-difference__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    #why-northwind .northwind-difference__card,
    #why-northwind .northwind-difference__card-title {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.8rem);
    }

    .nav-container {
        width: calc(100% - 1.5rem);
        min-height: 58px;
        padding: 0.65rem 1rem;
        border-radius: 18px;
    }

    .logo {
        padding-right: 0;
    }

    .logo::after {
        display: none;
    }

    .logo h1 {
        font-size: 1.55rem;
    }

    .nav-menu {
        position: fixed;
        top: calc(env(safe-area-inset-top, 0px) + 5.2rem);
        right: 0.75rem;
        left: 0.75rem;

        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0.4rem;

        padding: 1rem;

        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 18px;

        background: rgba(9, 16, 29, 0.92);

        backdrop-filter: blur(24px) saturate(140%);
        -webkit-backdrop-filter: blur(24px) saturate(140%);

        box-shadow: 0 20px 48px rgba(1, 4, 10, 0.54);

        transform: none;
    }

    .nav-menu.active {
        display: flex;
    }

    .nav-link {
        justify-content: flex-start;
        width: 100%;
        min-height: 48px;
        font-size: 1rem;
    }

    .nav-cta {
        display: none;
    }

    .hamburger {
        position: relative;
        z-index: 4;

        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.32rem;

        width: 2.5rem;
        height: 2.5rem;
        margin-left: auto;

        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 13px;

        background: rgba(12, 24, 45, 0.60);
    }

    .hamburger span {
        width: 1.15rem;
        height: 2px;
        margin-inline: auto;
        border-radius: 999px;
        background: #ffffff;
    }

    .hero-inner {
        justify-content: center;

        padding:
            calc(7.8rem + env(safe-area-inset-top, 0px))
            1.25rem
            3.5rem;
    }

    .hero-copy {
        max-width: 36rem;
        margin-inline: auto;
        text-align: center;
    }

    .hero-eyebrow {
        font-size: 0.7rem;
        letter-spacing: 0.26em;
    }

    .hero-headline {
        font-size: clamp(3.8rem, 16vw, 5.5rem);
        line-height: 0.9;
        letter-spacing: -0.048em;
    }

    .hero-copytext {
        max-width: 32rem;
        margin: 0 auto 1.5rem;
        font-size: 1rem;
    }

    .hero-trust-bar {
        width: 100%;
        min-width: 0;
        max-width: 23rem;
        margin-inline: auto;
    }

    .hero-trust-content {
        width: 100%;
        flex-direction: column;
    }

    .hero-trust-item {
        width: 100%;
        justify-content: center;
    }

    .cta-button {
        width: 100%;
        max-width: 23rem;
    }

    .hero-float-cards {
        display: none;
    }
}

@media (max-width: 600px) {
    #why-northwind.northwind-difference {
        padding:
            4.5rem
            max(1rem, env(safe-area-inset-right))
            3.75rem
            max(1rem, env(safe-area-inset-left));
    }

    #why-northwind > .container {
        width: 100%;
        max-width: none;
    }

    #why-northwind .northwind-difference__header {
        width: 100%;
        margin-bottom: 2.1rem;
        text-align: left;
    }

    #why-northwind .northwind-difference__title {
        font-size: clamp(2.7rem, 13vw, 3.65rem);
        line-height: 0.98;
        text-align: center;
    }

    #why-northwind .northwind-difference__subtitle {
        margin-top: 1rem;
        font-size: 0.94rem;
        line-height: 1.7;
        text-align: left;
    }

    #why-northwind .northwind-difference__grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        justify-items: center;
    }

    #why-northwind .northwind-difference__card {
        width: min(100%, 24rem);
        min-height: 17.5rem;
        padding: 1.75rem 1.35rem 1.9rem;
        border-radius: 20px;
    }

    #why-northwind .northwind-difference__icon {
        width: 32px;
        height: 32px;
        margin-bottom: 1.05rem;
    }

    #why-northwind .northwind-difference__card-title {
        min-height: 0;
        font-size: 1.16rem;
    }

    #why-northwind .northwind-difference__divider {
        margin: 0.95rem 0 1rem;
    }

    #why-northwind .northwind-difference__card-copy {
        font-size: 0.91rem;
        line-height: 1.68;
    }

    #why-northwind .northwind-difference__footer {
        justify-content: flex-start;
        margin-top: 2.1rem;
        font-size: 0.66rem;
        line-height: 1.8;
        letter-spacing: 0.14em;
        text-align: left;
    }
}

@media (max-width: 380px) {
    #why-northwind.northwind-difference {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    #why-northwind .northwind-difference__card {
        width: 100%;
        min-height: 16.5rem;
        padding-left: 1.15rem;
        padding-right: 1.15rem;
    }

    #why-northwind .northwind-difference__footer {
        font-size: 0.62rem;
        letter-spacing: 0.11em;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .hero-copy,
    .hero-float-card {
        animation: none;
    }

    .hero-bg,
    .nav-cta,
    .cta-button,
    .hero-float-card,
    #why-northwind .northwind-difference__card {
        transition: none;
    }

    #why-northwind .northwind-difference__card:hover {
        transform: none;
    }
}

/* ========== SERVICES SECTION ========== */

.services {
    position: relative;

    overflow: visible;

    padding: 10rem 2rem;

    background: transparent;
}
    .services .services-header,
    .services .services-title,
    .services .services-subtitle {
        text-align: center;
    }
    .services .services-subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    .reel-showcase .mg-title {
        text-align: center;
    }

    .reel-showcase .mg-subtitle {
        text-align: left;
        margin-left: auto;
        margin-right: auto;
    }

.services::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(67,120,255,0.08),
            transparent 60%
        );

    pointer-events: none;
}

.services-header {
    position: relative;

    z-index: 2;

    text-align: left;

    margin-bottom: 5rem;
}

.services-title {
    font-family: 'Cormorant Garamond', serif;

    font-size: clamp(3.6rem, 4.2vw, 5rem);

    line-height: 0.92;

    font-weight: 600;

    letter-spacing: -0.045em;

    color: #f7f8fb;

    margin-bottom: 1.4rem;
}

.services-subtitle {
    font-size: 1rem;

    line-height: 1.9;

    color: rgba(255,255,255,0.60);

    max-width: 650px;

    margin: 0 auto;
}

/* GRID */

.services-grid {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: repeat(4, 320px);

    justify-content: center;

    gap: 3rem;

    max-width: 1700px;

    margin: 0 auto;
}

/* GRID */

.services-grid {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: repeat(4, 320px);

    justify-content: center;

    gap: 3rem;

    max-width: 1700px;

    margin: 0 auto;
}

/* RESPONSIVE */

@media (max-width: 1400px) {

    .services-grid {
        grid-template-columns: repeat(2, 320px);
    }
}

@media (max-width: 820px) {

    .services-grid {
        grid-template-columns: 1fr;
    }

    .services-title {
        white-space: normal;
    }
}

/* CARD */

.service-card {
    position: relative;

    min-height: 670px;

    padding: 3rem;

    border-radius: 34px;

    background:
        linear-gradient(
            180deg,
            rgba(12,16,26,0.98) 0%,
            rgba(7,10,18,0.985) 100%
        );

    border: 1px solid rgba(90,130,255,0.16);

    overflow: hidden;

    display: flex;

    flex-direction: column;

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

.service-card::before {
    content: "";
    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at top left,
            rgba(111,179,255,0.08),
            transparent 40%
        );

    pointer-events: none;
}

body.founding-offer-enabled .service-card[data-package-card]::after {
    content: 'Founding Agent \2022 50% OFF';
    position: absolute;
    top: 1.1rem;
    right: 1.1rem;
    z-index: 4;
    padding: 0.34rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(177, 214, 255, 0.34);
    background: linear-gradient(138deg, rgba(18, 33, 56, 0.8), rgba(14, 24, 42, 0.62));
    color: rgba(231, 243, 255, 0.95);
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow:
        0 8px 24px rgba(5, 12, 23, 0.34),
        0 0 16px rgba(110, 181, 255, 0.14);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

body.founding-offer-disabled .service-card[data-package-card]::after {
    content: none;
}

.service-card:hover {
    transform: translateY(-5px);

    border-color: rgba(111,179,255,0.30);

    box-shadow:
        0 16px 44px rgba(0,0,0,0.40),
        0 0 44px rgba(111,179,255,0.09);
}

    .service-card.is-tap-hover {
        transform: translateY(-5px);
        border-color: rgba(111,179,255,0.30);
        box-shadow:
        0 16px 44px rgba(0,0,0,0.40),
        0 0 44px rgba(111,179,255,0.09);
    }

/* ICON */

.package-icon {
    color: rgba(111,179,255,0.95);

    font-size: 1.5rem;

    margin-bottom: 1.8rem;
}

/* TITLES */

.package-name {
    font-family: 'Cormorant Garamond', serif;

    font-size: 3rem;

    line-height: 0.95;

    font-weight: 500;

    letter-spacing: -0.045em;

    color: rgba(255,255,255,0.98);

    margin-bottom: 1.2rem;
}

.package-description {
    font-size: 1rem;

    line-height: 1.9;

    color: rgba(255,255,255,0.58);

    margin-bottom: 2.6rem;

    max-width: 90%;
}

.package-info-banner {
    width: min(70%, 1060px);
    margin: 0 auto 2.2rem;
    padding: 0.78rem 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(111, 179, 255, 0.36);
    background: rgba(12, 21, 36, 0.64);
    box-shadow:
        0 12px 34px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    animation: fadeInUp 0.8s ease-out;
}

.package-info-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(67, 120, 255, 0.9);
    border: 1px solid rgba(111, 179, 255, 0.7);
    color: rgba(239, 246, 255, 0.95);
    font-size: 0.64rem;
    font-weight: 700;
    flex-shrink: 0;
    box-shadow: 0 0 12px rgba(111, 179, 255, 0.2);
}

.package-info-text {
    margin: 0;
    text-align: left;
    font-size: 0.92rem;
    line-height: 1.5;
    color: rgba(216, 225, 239, 0.9);
}

/* FEATURES */

.package-features {
    list-style: none;

    padding-top: 2rem;

    margin: 0;

    border-top: 1px solid rgba(255,255,255,0.08);

    display: flex;

    flex-direction: column;

    gap: 1.15rem;
}

.package-features li {
    display: flex;

    align-items: flex-start;

    gap: 0.9rem;

    color: rgba(255,255,255,0.84);

    font-size: 1rem;

    line-height: 1.9;
}

.package-feature {
    position: relative;
}

.package-features .package-feature {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.55rem;
}

.feature-text {
    position: relative;
    transition: opacity 260ms ease;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.optional-feature .feature-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 52%;
    height: 1px;
    background: rgba(216, 225, 239, 0.56);
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* CHECKMARK */

.feature-check {
    width: 18px;

    height: 18px;

    border-radius: 50%;

    border: 1px solid rgba(111,179,255,0.7);

    color: rgba(111,179,255,0.95);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 0.65rem;

    font-weight: 700;

    flex-shrink: 0;

    margin-top: 0.25rem;

    box-shadow:
        0 0 10px rgba(111,179,255,0.20);
}

.feature-toggle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.64rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 0;
}

.feature-lock {
    width: 14px;
    height: 14px;
    margin-top: 0;
    border: 1px solid rgba(188, 160, 103, 0.58);
    border-radius: 5px;
    background: linear-gradient(160deg, rgba(182, 154, 101, 0.26), rgba(89, 72, 45, 0.2));
    box-shadow: 0 0 10px rgba(176, 143, 78, 0.12);
    position: relative;
}

.feature-lock::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 5px;
    border: 1px solid rgba(198, 171, 117, 0.78);
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
}

.required-feature {
    color: rgba(255, 255, 255, 0.95);
    cursor: default;
}

.required-feature .feature-text {
    opacity: 1;
}

.required-feature .feature-toggle {
    pointer-events: none;
}

.feature-check-toggle {
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    transition: transform 220ms ease;
}

.feature-check-toggle:hover,
.feature-check-toggle:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

.feature-check-toggle:active {
    transform: scale(0.94);
}

.check-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid rgba(111, 179, 255, 0.74);
    background: rgba(67, 120, 255, 0.9);
    color: rgba(232, 241, 255, 0.98);
    box-shadow: 0 0 10px rgba(111, 179, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: opacity 220ms ease, transform 220ms ease;
}

.optional-feature.is-removed .check-icon {
    background: transparent;
    border-color: rgba(216, 225, 239, 0.42);
    color: transparent;
    box-shadow: none;
}

.optional-feature.is-removed .feature-text {
    opacity: 0.5;
}

.optional-feature.is-removed .feature-text::after {
    transform: scaleX(1);
}

.feature-reduction {
    min-width: 66px;
    text-align: right;
    color: rgba(111, 179, 255, 0.9);
    font-size: 0.82rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    transition: opacity 200ms ease, transform 200ms ease;
}

.optional-feature.is-removed .feature-reduction {
    opacity: 1;
    transform: none;
}

/* BOTTOM */

.package-bottom {
    margin-top: auto;

    padding-top: 3rem;
}

.package-price {
    font-size: 2.7rem;

    font-weight: 600;

    line-height: 1;

    letter-spacing: -0.05em;

    color: rgba(255,255,255,0.98);

    margin-bottom: 1.2rem;
}

.package-price-stack {
    display: inline-flex;
    flex-direction: column;
    gap: 0.32rem;
}

.package-price-original-strike {
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    color: rgba(218, 230, 247, 0.62);
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    text-decoration-color: rgba(190, 214, 241, 0.58);
}

.package-price-final {
    font-size: 2.7rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.05em;
    color: rgba(255, 255, 255, 0.98);
}

.package-price-wrap {
    margin-bottom: 1.8rem;
}

.package-savings {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 0.85rem;
    display: grid;
    gap: 0.45rem;
}

.package-savings-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
}

.package-savings-label {
    font-size: 0.72rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: rgba(216, 225, 239, 0.65);
}

.package-savings-value {
    font-size: 0.88rem;
    color: rgba(245, 249, 255, 0.94);
    font-weight: 500;
}

.savings-highlight .package-savings-value {
    color: rgba(111, 179, 255, 0.98);
}

.package-launch-row .package-savings-label,
.package-launch-row .package-savings-value {
    color: rgba(131, 197, 255, 0.92);
}

/* BUTTON */

.package-button {
    width: 100%;

    height: 64px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(67,120,255,1),
            rgba(111,179,255,1)
        );

    color: white;

    text-decoration: none;

    font-weight: 600;

    letter-spacing: 0.03em;

    border: 1px solid rgba(255,255,255,0.06);

    box-shadow:
        0 14px 40px rgba(67,120,255,0.22);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.package-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 20px 60px rgba(111,179,255,0.30);
}

.custom-card-cta {
    margin: 0 0 1.2rem;
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.05rem;
    line-height: 1.05;
    color: rgba(250, 252, 255, 0.96);
    letter-spacing: -0.02em;
}

.custom-card .package-button {
    display: flex;
    justify-content: space-between;
    padding: 0 1.25rem;
}

.custom-arrow {
    font-size: 1.15rem;
    line-height: 1;
}

/* RESPONSIVE */

@media (max-width: 1400px) {

    .services-grid {
        grid-template-columns: repeat(2, 320px);
    }
}

@media (max-width: 820px) {

    .services-grid {
        grid-template-columns: 1fr;
    }

    .services-title {
        white-space: normal;
    }

    .package-info-banner {
        width: 100%;
        margin-bottom: 2.3rem;
        border-radius: 14px;
        padding: 0.7rem 0.85rem;
    }

    .package-info-text {
        font-size: 0.84rem;
        text-align: left;
    }

    .package-features .package-feature {
        gap: 0.55rem;
        grid-template-columns: 44px minmax(0, 1fr) auto;
        align-items: start;
    }

    .feature-text {
        font-size: 0.98rem;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .feature-toggle {
        width: 44px;
        height: 44px;
    }

    .feature-reduction {
        min-width: 58px;
        font-size: 0.62rem;
    }

    .custom-card-cta {
        font-size: 1.75rem;
    }

}

/* ========== ADVANCED MOTION GRAPHICS SECTION ========== */

.motion-graphics-section {
    background: transparent;
    border-top: none;
    border-bottom: none;
    padding: 5rem 2rem;
}

.motion-graphics-section .container {
    max-width: 1420px;
    margin: 0 auto;
    padding: 0 2.6rem;
}

.mg-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.2rem, 4.8vw, 3.15rem);
    font-weight: 600;
    color: var(--text-white);
    margin: 0 0 1.1rem;
    letter-spacing: 0.15px;
    text-align: left;
}

.mg-subtitle {
    font-size: 1.02rem;
    color: var(--text-light);
    line-height: 1.9;
    max-width: 830px;
    margin: 0;
    text-align: left;
}

.reel-showcase {
    max-width: 980px;
    margin: 0 auto;
    padding: 0.2rem 0 0.35rem;
}

.reel-showcase .mg-title,
.reel-showcase .mg-subtitle {
    text-align: left;
}

.reel-showcase .mg-subtitle {
    margin: 0;
}

.reels-badge {
    display: inline-flex;
    margin: 0 0 1rem;
    padding: 0.38rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(111, 179, 255, 0.34);
    background: rgba(17, 29, 48, 0.72);
    color: rgba(216, 225, 239, 0.92);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    justify-content: flex-start;
}

.reel-composition {
    display: grid;
    grid-template-columns: minmax(320px, 380px) minmax(340px, 1fr);
    align-items: center;
    justify-content: center;
    gap: clamp(2.1rem, 5vw, 4.4rem);
    max-width: 900px;
    margin: 2.35rem auto 0;
}

.reel-media-stage {
    position: relative;
    display: grid;
    place-items: center;
    margin: 0;
}

.reel-media-stage::before {
    content: "";
    position: absolute;
    width: min(44vw, 420px);
    height: min(44vw, 420px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(73, 129, 201, 0.24) 0%, rgba(73, 129, 201, 0.08) 42%, rgba(73, 129, 201, 0) 74%);
    filter: blur(18px);
    pointer-events: none;
}

.reel-media-card {
    width: clamp(340px, 34vw, 380px);
    aspect-ratio: 9 / 16;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    box-shadow:
        0 30px 74px rgba(0, 0, 0, 0.58),
        0 12px 34px rgba(7, 14, 27, 0.44);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
    animation: reelFloat 6.4s ease-in-out infinite;
}

.reel-media-card:hover {
    transform: translateY(-4px);
    box-shadow:
        0 36px 82px rgba(0, 0, 0, 0.62),
        0 14px 36px rgba(7, 14, 27, 0.5);
}

.reel-media-card.is-tap-hover {
    transform: translateY(-4px);
    box-shadow:
        0 36px 82px rgba(0, 0, 0, 0.62),
        0 14px 36px rgba(7, 14, 27, 0.5);
}

.reel-media-card .reel-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
    display: block;
}

@keyframes reelFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }
}

.reel-feature-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: 460px;
    margin: 0;
    align-content: center;
}

.reel-feature-row {
    padding: 1rem 0 1.05rem;
    border-bottom: 1px solid rgba(111, 179, 255, 0.16);
    text-align: left;
}

.reel-feature-row:last-child {
    border-bottom: 0;
}

.reel-feature-title {
    margin: 0 0 0.4rem;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: rgba(245, 249, 255, 0.97);
    letter-spacing: 0.01em;
}

.reel-feature-copy {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.75;
    color: rgba(216, 225, 239, 0.8);
}

/* RESPONSIVE */

@media (max-width: 1000px) {
    .reel-composition {
        grid-template-columns: minmax(300px, 360px) minmax(300px, 1fr);
        gap: 2rem;
    }

    .reel-media-stage::before {
        width: min(52vw, 390px);
        height: min(52vw, 390px);
    }

    .reel-media-card {
        width: clamp(320px, 36vw, 360px);
    }
}

@media (max-width: 700px) {
    .motion-graphics-section {
        padding: 3rem 1rem;
    }

    .motion-graphics-section .container {
        padding: 0 1rem;
    }

    .mg-title {
        font-size: 2rem;
        margin-bottom: 0.8rem;
    }

    .mg-subtitle {
        font-size: 0.95rem;
    }

    .reel-composition {
        grid-template-columns: 1fr;
        gap: 1.65rem;
        margin-top: 1.8rem;
        will-change: box-shadow, filter, background, transform;
    }

    .cta-button .liquid-glass__surface {
        opacity: 0.58;
        background:
            radial-gradient(
                92% 78% at 50% 50%,
                rgba(185, 150, 255, 0.22) 0%,
                rgba(139, 101, 247, 0.14) 38%,
                rgba(90, 143, 255, 0.08) 66%,
                rgba(12, 20, 38, 0) 88%
            ),
            linear-gradient(150deg, rgba(8, 18, 34, 0.86), rgba(8, 16, 32, 0.72));
        transform: scale(1);
        transform-origin: center;
        animation: heroCtaInnerGlow 9s cubic-bezier(0.45, 0, 0.55, 1) infinite;
    }
    .reels-badge {
        font-size: 0.64rem;
        letter-spacing: 0.14em;
    }

    .reel-media-stage {
        margin: 0 auto;
    }

    .reel-media-card {
        width: min(82vw, 360px);
        border-radius: 20px;
    }

    .reel-media-card .reel-image {
        border-radius: 20px;
    }

    .reel-feature-list {
        max-width: 100%;
        margin: 0 auto;
    }

    .reel-feature-title {
        font-size: 1.2rem;
    }

    .reel-feature-copy {
        font-size: 0.92rem;
    }
}

/* ========== PRE-SHOOT CHECKLIST SECTION ========== */
.checklist {
    background: transparent;
}

.checklist .section-title,
.checklist .section-subtitle {
    text-align: center;
}

.checklist .section-subtitle {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.checklist-content {
    margin-top: 3rem;
}

.checklist-section {
    margin-bottom: 3rem;
    animation: fadeInUp 0.8s ease-out;
}

.checklist-section h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    color: var(--accent-light-blue);
    margin-bottom: 1rem;
    letter-spacing: 1px;
}

.checklist-section ul {
    list-style: none;
    padding: 0;
}

.checklist-section li {
    padding: 0.7rem 0;
    color: var(--text-light);
    border-bottom: 1px solid rgba(42, 90, 143, 0.2);
    transition: color 0.3s ease;
    font-size: 0.95rem;
}

.checklist-section li:hover {
    color: var(--accent-light-blue);
}

/* ========== RECENT WORK SECTION ========== */

.work {
    position: relative;
    isolation: isolate;
    padding: 8rem 0;
    background: transparent;
}

.work::before {
    content: none;
}

.work .container {
    max-width: 1450px;
}

.work .section-heading {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.work .section-title,
.work .section-subtitle {
    text-align: center;
}

.work .section-subtitle {
    margin-left: auto;
    margin-right: auto;
}

.work-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(360px, 520px));
    gap: 2rem;
    margin: 3rem auto 0;
    max-width: 1240px;
    justify-content: center;
}

.work-item {
    position: relative;
    width: 100%;
    max-width: 520px;
    justify-self: center;
    aspect-ratio: 16 / 10;

    overflow: hidden;

    border-radius: 22px;

    background: rgba(26, 26, 26, 0.6);

    border: 1px solid rgba(42, 90, 143, 0.3);

    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.work-item:hover {
    transform: translateY(-5px);

    border-color: rgba(111,179,255,0.35);

    box-shadow:
        0 16px 40px rgba(42, 90, 143, 0.20);
}

.work-item.is-tap-hover {
    transform: translateY(-5px);
    border-color: rgba(111,179,255,0.35);
    box-shadow:
        0 16px 40px rgba(42, 90, 143, 0.20);
}

.work-item img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    image-rendering: auto;
    will-change: transform;
    backface-visibility: hidden;
    transform-origin: center center;

    transition: transform 0.6s ease;
}

.work-item--compare {
    --compare-split: 55%;
    --compare-overlay-offset-x: 1px;
    --compare-overlay-offset-y: 0px;
    --compare-overlay-scale: 1.001;
    border-color: rgba(162, 214, 255, 0.78);
    box-shadow:
        0 0 0 1px rgba(172, 219, 255, 0.4),
        0 20px 44px rgba(10, 24, 44, 0.38),
        0 0 30px rgba(118, 187, 255, 0.34);
    touch-action: none;
    user-select: none;
}

.work-item--compare:hover,
.work-item--compare.is-tap-hover {
    transform: none;
}

.work-item--compare:hover img,
.work-item--compare.is-tap-hover img {
    transform: none;
}

.work-item--boundary-aerial {
    aspect-ratio: 16 / 10;
}

.work-item--boundary-aerial img {
    object-fit: cover;
    object-position: center;
    background: transparent;
}

.compare-base-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: none;
}

.compare-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0 calc(100% - var(--compare-split)) 0 0);
    z-index: 1;
    pointer-events: none;
    will-change: clip-path;
}

.compare-overlay img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform:
        translate(
            var(--compare-overlay-offset-x),
            var(--compare-overlay-offset-y)
        )
        scale(var(--compare-overlay-scale));
    transform-origin: center center;
    will-change: transform;
}

.compare-divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--compare-split);
    width: 2px;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.75);
    box-shadow:
        0 0 12px rgba(185, 216, 255, 0.72),
        0 0 30px rgba(96, 162, 241, 0.3);
    z-index: 3;
    pointer-events: none;
    will-change: left;
}

.compare-divider::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 34px;
    transform: translateX(-50%);
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0),
        rgba(255, 255, 255, 0.18) 35%,
        rgba(255, 255, 255, 0.18) 65%,
        rgba(255, 255, 255, 0)
    );
    filter: blur(4px);
}

.compare-handle {
    position: absolute;
    top: 50%;
    left: var(--compare-split);
    width: 56px;
    height: 56px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(150, 200, 255, 0.48);
    background: linear-gradient(145deg, rgba(10, 23, 42, 0.74), rgba(24, 46, 74, 0.56));
    color: rgba(236, 247, 255, 0.98);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1;
    cursor: ew-resize;
    backdrop-filter: blur(10px) saturate(132%);
    box-shadow:
        0 10px 28px rgba(7, 19, 37, 0.5),
        0 0 20px rgba(108, 174, 255, 0.32),
        inset 0 -10px 20px rgba(3, 10, 20, 0.28);
    z-index: 4;
    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.22s ease;
    touch-action: none;
    will-change: left, transform;
}

.work-item--compare.is-dragging .compare-handle {
    transform: translate(-50%, -50%) scale(1.08);
    border-color: rgba(193, 225, 255, 0.74);
    box-shadow:
        0 12px 34px rgba(7, 19, 37, 0.6),
        0 0 30px rgba(126, 188, 255, 0.44),
        inset 0 -10px 20px rgba(3, 10, 20, 0.3);
}

.compare-handle:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 2px rgba(16, 34, 58, 0.8),
        0 0 0 4px rgba(172, 217, 255, 0.95),
        0 14px 36px rgba(8, 22, 44, 0.55);
}

.compare-label {
    position: absolute;
    top: 0.95rem;
    z-index: 4;
    padding: 0.42rem 0.72rem;
    border-radius: 999px;
    background:
        linear-gradient(132deg, rgba(12, 24, 42, 0.78), rgba(27, 47, 78, 0.58));
    border: 1px solid rgba(146, 199, 255, 0.44);
    color: rgba(240, 247, 255, 0.96);
    font-size: 0.69rem;
    font-weight: 650;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    line-height: 1;
    pointer-events: none;
    backdrop-filter: blur(9px) saturate(120%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        0 8px 20px rgba(8, 17, 30, 0.3);
}

.compare-label--left {
    left: 0.95rem;
}

.compare-label--right {
    right: 0.95rem;
}

@media (max-width: 700px) {
    .compare-handle {
        width: 52px;
        height: 52px;
    }

    .compare-label {
        top: 0.72rem;
        font-size: 0.64rem;
        padding: 0.38rem 0.62rem;
        letter-spacing: 0.06em;
    }

    .compare-label--left {
        left: 0.72rem;
    }

    .compare-label--right {
        right: 0.72rem;
    }
}

/* IMAGE ZOOM EFFECT */

.work-item:not(.work-item--compare):hover img {
    transform: scale(1.08);
}

.work-item:not(.work-item--compare).is-tap-hover img {
    transform: scale(1.08);
}

/* TABLET */

@media (max-width: 1000px) {

    .work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 700px) {

    .work-grid {
        grid-template-columns: 1fr;
        max-width: 100%;
    }

    .work-item {
        max-width: 100%;
    }
}

.work-view-all-button {
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: 248px;
    min-height: 56px;
    margin: 2.6rem auto 0;
    padding: 0.78rem 1.6rem;
    border: 1px solid rgba(150, 198, 255, 0.26);
    border-radius: 16px;
    text-decoration: none;
    color: rgba(239, 247, 255, 0.95);
    background: linear-gradient(148deg, rgba(10, 20, 40, 0.86), rgba(7, 16, 32, 0.72));
    box-shadow:
        0 14px 34px rgba(4, 10, 22, 0.34),
        inset 0 1px 0 rgba(183, 222, 255, 0.12);
    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.work-view-all-button:hover,
.work-view-all-button:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(176, 216, 255, 0.42);
    box-shadow:
        0 20px 42px rgba(4, 10, 22, 0.4),
        inset 0 1px 0 rgba(200, 232, 255, 0.16);
}

.work-view-all-button .liquid-glass__content {
    font-size: 0.9rem;
    font-weight: 620;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.work-view-all-button.is-complete {
    pointer-events: none;
    border-color: rgba(176, 216, 255, 0.34);
    box-shadow:
        0 16px 34px rgba(4, 10, 22, 0.36),
        inset 0 1px 0 rgba(200, 232, 255, 0.14);
}

@media (min-width: 1200px) {
    .work .container {
        max-width: 1360px;
    }

    .work-grid {
        grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
        grid-template-rows: repeat(2, minmax(238px, auto));
        gap: 1.2rem;
        max-width: 1280px;
        margin-top: 3.35rem;
        align-items: stretch;
    }

    .work-grid .work-item {
        width: 100%;
        max-width: none;
        justify-self: stretch;
        border-radius: 20px;
        aspect-ratio: auto;
    }

    .work-grid .work-item:nth-child(1) {
        grid-column: 1;
        grid-row: 1 / span 2;
        min-height: 488px;
    }

    .work-grid .work-item:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
        min-height: 238px;
    }

    .work-grid .work-item:nth-child(5) {
        grid-column: 2;
        grid-row: 2;
        min-height: 238px;
    }

    .work-grid:not(.work-grid--show-all) .work-item:nth-child(3),
    .work-grid:not(.work-grid--show-all) .work-item:nth-child(4),
    .work-grid:not(.work-grid--show-all) .work-item:nth-child(6) {
        display: none;
    }

    .work-grid.work-grid--show-all {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.35fr) minmax(0, 1fr);
        grid-template-rows: minmax(238px, auto) minmax(238px, auto) minmax(220px, auto);
    }

    .work-grid.work-grid--show-all .work-item:nth-child(1) {
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(2) {
        grid-column: 3;
        grid-row: 1;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(5) {
        grid-column: 3;
        grid-row: 2;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(3) {
        grid-column: 1;
        grid-row: 3;
        min-height: 220px;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(4) {
        grid-column: 2;
        grid-row: 3;
        min-height: 220px;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(6) {
        grid-column: 3;
        grid-row: 3;
        min-height: 220px;
    }

    .work-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 42px rgba(42, 90, 143, 0.22);
    }

    .work-item:not(.work-item--compare):hover img,
    .work-item:not(.work-item--compare).is-tap-hover img {
        transform: scale(1.03);
    }

    .work-view-all-button {
        display: inline-flex;
    }
}

@media (min-width: 701px) and (max-width: 1199px) {
    .work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: minmax(320px, auto) minmax(220px, auto);
        gap: 1rem;
    }

    .work-grid .work-item {
        width: 100%;
        max-width: none;
        justify-self: stretch;
        aspect-ratio: auto;
    }

    .work-grid .work-item:nth-child(1) {
        grid-column: 1 / -1;
        grid-row: 1;
        min-height: 340px;
    }

    .work-grid .work-item:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
        min-height: 220px;
    }

    .work-grid .work-item:nth-child(5) {
        grid-column: 2;
        grid-row: 2;
        min-height: 220px;
    }

    .work-grid:not(.work-grid--show-all) .work-item:nth-child(3),
    .work-grid:not(.work-grid--show-all) .work-item:nth-child(4),
    .work-grid:not(.work-grid--show-all) .work-item:nth-child(6) {
        display: none;
    }

    .work-grid.work-grid--show-all {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: minmax(300px, auto) minmax(210px, auto) minmax(180px, auto);
    }

    .work-grid.work-grid--show-all .work-item:nth-child(1) {
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
        min-height: 300px;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(2) {
        grid-column: 3;
        grid-row: 1;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(5) {
        grid-column: 3;
        grid-row: 2;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(3) {
        grid-column: 1;
        grid-row: 3;
        min-height: 180px;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(4) {
        grid-column: 2;
        grid-row: 3;
        min-height: 180px;
    }

    .work-grid.work-grid--show-all .work-item:nth-child(6) {
        grid-column: 3;
        grid-row: 3;
        min-height: 180px;
    }

    .work-view-all-button {
        display: inline-flex;
    }
}


/* ========== FOUNDER SECTION ========== */

.founder-section {
    background: transparent;
    padding: 8rem 0;
}

.founder-container {
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 2rem;

    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 5rem;

    align-items: center;
}

.founder-image {
    width: 100%;
}

.founder-image img {
    width: 100%;
    display: block;

    border-radius: 40px;

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.45);

    object-fit: cover;
}

.founder-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.founder-eyebrow {
    color: var(--accent-light-blue);

    font-size: 0.85rem;
    font-weight: 700;

    letter-spacing: 0.35em;
    text-transform: uppercase;

    margin-bottom: 1rem;
}

.founder-name {
    font-family: 'Playfair Display', serif;

    font-size: 3.2rem;
    line-height: 1;

    color: var(--text-white);

    margin-bottom: 0.75rem;
}

.founder-title {
    color: var(--text-muted);

    font-size: 1.05rem;

    margin-bottom: 2rem;
}

.founder-description {
    max-width: 650px;

    color: var(--text-light);

    font-size: 1.05rem;
    line-height: 1.9;
}

@media (max-width: 900px) {

    .founder-container {
        grid-template-columns: 1fr;
        gap: 3rem;

        text-align: left;
    }

    .founder-image {
        max-width: 340px;
        margin: 0 auto;
    }

    .founder-description {
        margin: 0 auto;
    }

    .founder-name {
        font-size: 2.5rem;
    }
}

/* ========== BOOKING SECTION ========== */
.booking {
    background: transparent;
    scroll-margin-top: 6.5rem;
    padding-top: 1rem;
}

.booking-form {
    max-width: 700px;
    margin: 3rem auto 0;
    background: rgba(26, 26, 26, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(42, 90, 143, 0.3);
    border-radius: 15px;
    padding: 3rem;
    animation: fadeInUp 0.8s ease-out;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    overflow-x: hidden;
}

.booking-experience-summary {
    margin-bottom: 2rem;
    padding: 1.4rem 1.3rem;
    border-radius: 14px;
    border: 1px solid rgba(111, 179, 255, 0.28);
    background: linear-gradient(160deg, rgba(15, 22, 36, 0.9), rgba(10, 15, 28, 0.78));
    box-shadow:
        0 16px 40px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.booking-summary-kicker {
    margin: 0;
    color: rgba(111, 179, 255, 0.9);
    font-size: 0.74rem;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    font-weight: 700;
}

.booking-summary-name {
    margin: 0.65rem 0 1rem;
    color: rgba(248, 250, 255, 0.97);
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.booking-summary-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem;
}

.booking-summary-services h4 {
    margin: 0 0 0.45rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.booking-summary-services ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
}

.booking-summary-services li {
    position: relative;
    padding-left: 1rem;
    color: rgba(224, 233, 245, 0.94);
    font-size: 0.91rem;
    line-height: 1.45;
}

.booking-summary-services li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: rgba(111, 179, 255, 0.9);
    font-weight: 700;
}

.booking-summary-removed li::before {
    content: "−";
    color: rgba(255, 179, 179, 0.9);
}

.booking-summary-pricing {
    margin-top: 1.15rem;
    padding-top: 0.95rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 0.45rem;
}

.booking-summary-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    color: rgba(223, 232, 246, 0.85);
    font-size: 0.9rem;
}

.booking-summary-price-row strong {
    color: rgba(246, 249, 255, 0.96);
    font-size: 1rem;
    font-weight: 700;
}

.booking-summary-savings strong {
    color: rgba(149, 205, 255, 0.95);
}

.booking-form:hover {
    transform: translateY(-5px);
    border-color: rgba(42, 90, 143, 0.55);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35), 0 0 40px rgba(42, 90, 143, 0.10);
}

.form-group {
    margin-bottom: 1.8rem;
    animation: fadeInUp 0.8s ease-out;
    overflow-x: clip;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.form-row-single {
    grid-template-columns: 1fr;
}

.form-row > .form-group {
    min-width: 0;
}

.form-group label {
    display: block;
    margin-bottom: 0.6rem;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.5px;
    color: var(--text-light);
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(42, 90, 143, 0.3);
    border-radius: 8px;
    color: var(--text-white);
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.form-group input[type="date"] {
    display: block;
    width: 100%;
    inline-size: 100%;
    max-width: 100%;
    max-inline-size: 100%;
    min-width: 0;
    min-inline-size: 0;
    box-sizing: border-box;
    -webkit-appearance: auto;
    appearance: auto;
    text-align: left;
    text-align-last: center;
}

.date-input-shell {
    width: 100%;
}
/* DARK SELECT DROPDOWN */

.form-group select {
    background: #151922;
    color: white;
}

.form-group select option {
    background: #151922;
    color: white;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: var(--text-muted);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--accent-light-blue);
    background: rgba(42, 90, 143, 0.1);
    box-shadow: 0 0 10px rgba(42, 90, 143, 0.2);
}

.submit-button {
    width: 100%;
    padding: 1.2rem;
    background: linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-light-blue) 100%);
    color: var(--text-white);
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(42, 90, 143, 0.3);
}

.submit-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(42, 90, 143, 0.5);
}

.submit-button:active {
    transform: translateY(0);
}

.booking-contact-block {
    max-width: 760px;
    margin: 2.6rem auto 0;
    padding: 2.4rem 2rem;
    border-radius: 20px;
    border: 1px solid rgba(42, 90, 143, 0.26);
    background: rgba(10, 14, 24, 0.52);
    backdrop-filter: blur(8px);
    text-align: center;
}

.booking-contact-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.9rem, 3vw, 2.5rem);
    color: rgba(255, 255, 255, 0.96);
    margin-bottom: 0.55rem;
}

.booking-contact-subtitle {
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.03rem;
    margin-bottom: 1rem;
}

.booking-contact-copy {
    color: var(--text-muted);
    max-width: 620px;
    margin: 0 auto 1.5rem;
    line-height: 1.85;
}

.booking-contact-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-height: 48px;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: color 0.3s ease;
}

.booking-contact-link svg {
    width: 1.35rem;
    height: 1.35rem;
    color: rgba(111, 179, 255, 0.92);
    transform: translateY(0) scale(1);
    transition: transform 0.3s ease, color 0.3s ease;
}

.booking-contact-label {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.11em;
}

.booking-contact-number {
    color: var(--accent-light-blue);
    font-weight: 700;
    font-size: clamp(1.22rem, 2vw, 1.45rem);
    letter-spacing: 0.02em;
}

.booking-contact-link:hover,
.booking-contact-link:focus-visible {
    color: var(--accent-light-blue);
}

.booking-contact-link:hover svg,
.booking-contact-link:focus-visible svg {
    color: rgba(129, 194, 255, 1);
    transform: translateY(-2px) scale(1.05);
}

.success-message {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(6px);
    z-index: 2000;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.3s ease;
}

.success-content {
    background: linear-gradient(160deg, rgba(12,16,26,0.99), rgba(7,10,18,1));
    padding: 3.5rem;
    border-radius: 24px;
    text-align: left;
    border: 1px solid rgba(111,179,255,0.25);
    max-width: 480px;
    width: 90%;
    box-shadow:
        0 40px 100px rgba(0,0,0,0.7),
        0 0 80px rgba(111,179,255,0.08);
    animation: slideUp 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.success-icon {
    font-size: 1.02rem !important;
    color: var(--accent-light-blue);
    margin-bottom: 1.2rem;
    opacity: 0.9;
}

.success-content h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 1rem;
    color: rgba(255,255,255,0.97);
    letter-spacing: -0.03em;
}

.success-content p {
    color: var(--text-muted);
    margin-bottom: 0.6rem;
    font-size: 1rem;
    line-height: 1.8;
}

.success-sub {
    font-size: 0.88rem !important;
    color: rgba(111,179,255,0.7) !important;
    margin-bottom: 2rem !important;
}

.success-content button {
    padding: 0.9rem 2.6rem;
    background: linear-gradient(135deg, rgba(67,120,255,1), rgba(111,179,255,1));
    color: white;
    border: none;
    border-radius: 14px;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 10px 30px rgba(67,120,255,0.25);
}

.success-content button:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(111,179,255,0.30);
}

/* ========== CONTACT SECTION ========== */

.contact {
    background: transparent;
    padding: 10rem 2rem;
}

.contact .section-title {
    text-align: left;
    margin-bottom: 6rem;
}

.contact-content {
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;

    align-items: start;
}

.contact-info,
.contact-cta {
    width: 100%;
}

.contact-info {
    text-align: left;
}

.contact-cta {
    text-align: left;
}

.contact-info h3,
.contact-cta h3 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.8rem, 4vw, 4.5rem);
    line-height: 1.05;
    color: var(--text-light);
    margin-bottom: 2rem;
    letter-spacing: -1px;
}

.contact-info p,
.contact-cta p {
    color: rgba(255,255,255,0.72);
    line-height: 1.9;
    font-size: 1.08rem;
    margin-bottom: 2.5rem;
    max-width: 650px;
}

.contact-item {
    margin-bottom: 2rem;
}

.contact-item h4 {
    color: var(--accent-light-blue);
    font-size: 0.85rem;
    letter-spacing: 0.15em;
    margin-bottom: 0.7rem;
    text-transform: uppercase;
}

.contact-item a {
    color: white;
    text-decoration: none;
    font-size: 1.05rem;
    transition: 0.3s ease;
}

.contact-item a:hover {
    color: var(--accent-light-blue);
}

.contact-cta .cta-button {
    margin-top: 1rem;
}

/* MOBILE */

@media (max-width: 900px) {
    .booking-summary-columns {
        grid-template-columns: 1fr;
    }

    .contact-content {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .contact-info,
    .contact-cta {
        text-align: left;
    }

    .contact-info p,
    .contact-cta p {
        margin-left: auto;
        margin-right: auto;
    }
}

/* ========== FOOTER ========== */
.footer-spacer {
    height: 2.5rem;
}

.footer {
    background: transparent;
    padding: 4.25rem 0 5rem;
    text-align: left;
    color: var(--text-muted);
    position: relative;
    margin-top: 0;
    box-shadow: none;
}

.footer::before {
    display: none;
}

.footer-content {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
}

.footer-title {
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 600;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: #f5f5f5;
    margin: 0;
}

.footer-subtitle {
    font-size: 1rem;
    color: rgba(255,255,255,0.72);
    margin: 0;
}

.footer-services {
    font-size: 0.92rem;
    color: rgba(255,255,255,0.84);
    margin: 0;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.footer-location {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.55);
    margin: 0.4rem 0 0;
}

.footer-social {
    margin-top: 2.3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
}

.footer-social-label {
    font-size: 0.8rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.72);
    margin: 0;
}

.footer-social-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.footer-social-links a {
    width: 2.9rem;
    height: 2.9rem;
    border: 1px solid rgba(255,255,255,0.24);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.7);
    background: rgba(255,255,255,0.03);
    transition: transform 250ms ease, color 250ms ease, box-shadow 250ms ease, opacity 250ms ease;
    opacity: 0.8;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.12), 0 8px 24px rgba(255,255,255,0.08);
    opacity: 1;
}

.footer-social-links svg {
    width: 1.15rem;
    height: 1.15rem;
}

[data-animate] {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    will-change: transform, opacity;
    transition: opacity 580ms cubic-bezier(0.22, 1, 0.36, 1),
                transform 580ms cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate].animate {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* ========== HOVER OVERRIDES (must be after [data-animate].animate) ========== */
/* [data-animate].animate has specificity (0,2,0) and wins over card :hover rules
   declared earlier. These rules restore hover transforms by coming after it. */

.service-card:hover {
    transform: translateY(-10px);
}

.reel-card:hover {
    transform: translateY(-10px);
}

.work-item:hover {
    transform: translateY(-10px);
}

.booking-form:hover {
    transform: translateY(-8px);
}

.package-button:hover {
    transform: translateY(-5px);
}

.submit-button:hover {
    transform: translateY(-4px);
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
    transform: translateY(-3px);
}

/* ========== ANIMATIONS ========== */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes siteFadeFromBlack {
    0% {
        opacity: 1;
    }
    45% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes footerReveal {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes atmosphereDrift {
    0% {
        transform: translate3d(0%, 0%, 0) scale(1.01);
    }
    50% {
        transform: translate3d(-2.2%, 1.6%, 0) scale(1.04);
    }
    100% {
        transform: translate3d(1.8%, -1.4%, 0) scale(1.03);
    }
}

/* ========== RESPONSIVE DESIGN ========== */
/* ========== RESPONSIVE DESIGN ========== */
@media (max-width: 768px) {

    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.55rem);
        z-index: 1300;
    }

    .nav-container {
        min-height: 56px;
        padding: 0.55rem 0.8rem;
        margin: 0 0.75rem;
        border-radius: 16px;
        justify-content: space-between;
    }

    .logo {
        padding-right: 0;
    }

    .logo::after {
        display: none;
    }

    .logo h1 {
        font-size: 1.45rem;
        letter-spacing: 0.5px;
    }

    .nav-menu {
        position: fixed;
        top: calc(env(safe-area-inset-top, 0px) + 4.8rem);
        left: 0.75rem;
        right: 0.75rem;

        display: none;
        flex-direction: column;
        gap: 0.45rem;

        padding: 1rem;

        border: 1px solid rgba(255,255,255,.14);
        border-radius: 16px;

        background: linear-gradient(
            145deg,
            rgba(20,33,56,.88),
            rgba(9,14,26,.92)
        );

        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);

        box-shadow: 0 18px 44px rgba(0,0,0,.45);
    }

    .nav-menu.active {
        display: flex;
    }

    .nav-link {
        width: 100%;
        min-height: 46px;
        padding: .75rem .9rem;
        font-size: .95rem;
        border-radius: 12px;
    }

    .nav-cta {
        display: none;
    }

    .hamburger {
        display: flex;
        margin-left: auto;
    }

    /* ---------- HERO ---------- */

    .hero {
        min-height: 100svh;
    }

    .hero-inner {
        min-height: 100svh;

        justify-content: flex-start;
        align-items: center;

        padding:
            calc(6.4rem + env(safe-area-inset-top,0px))
            1.2rem
            2rem;
    }

    .hero-copy {
        max-width: 100%;
        margin: 0;
        text-align: left;
    }

    .hero-eyebrow {
        font-size: .7rem;
        letter-spacing: .24em;
        margin-bottom: 1rem;
    }

    .hero-headline {
        font-size: clamp(3.1rem, 12vw, 4.6rem);
        line-height: .9;
        letter-spacing: -.045em;
        margin-bottom: 1rem;
    }

    .hero-copytext {
        max-width: 100%;
        font-size: 1rem;
        line-height: 1.6;
        margin-bottom: 1.3rem;
    }

    .hero-launch-offer {
        width: 100%;
        max-width: 100%;
        min-height: 44px;
        margin: 0 0 1rem;
        padding: 0.52rem 0.82rem;
    }

    .hero-launch-offer__content {
        width: 100%;
        justify-content: center;
    }

    .hero-launch-offer__text {
        font-size: 0.8rem;
    }

    .hero-trust-bar {
        width: 100%;
        max-width: 100%;
        margin: 0 0 1rem;
        padding: .45rem;
    }

    .hero-trust-content {
        width: 100%;
        flex-direction: column;
        gap: .45rem;
    }

    .hero-trust-item {
        width: 100%;
        justify-content: center;
        font-size: .82rem;
    }

    .cta-button {
        width: 100%;
        max-width: 100%;
        min-height: 52px;
        font-size: 1rem;
    }

    @media (max-width: 420px) {
        .hero-launch-offer__content {
            justify-content: flex-start;
        }

        .hero-launch-offer__text {
            white-space: normal;
        }
    }

    .hero-float-cards {
        display: none;
    }

    .hero-scroll-indicator {
        bottom: calc(.75rem + env(safe-area-inset-bottom));
    }

    .cta-button,
    .package-button,
    .submit-button {
        min-height: 52px;
    }

    .section-title {
        font-size: 2rem;
    }
}
    .section-title,
    .section-subtitle,
    .services-header,
    .services-title,
    .services-subtitle,
    .mg-header,
    .mg-title,
    .mg-subtitle,
    .reel-premium-label,
    .reel-info,
    .reel-title,
    .reel-description,
    .founder-content,
    .founder-eyebrow,
    .founder-name,
    .founder-title,
    .founder-description,
    .booking .section-title,
    .booking .section-subtitle,
    .form-group label,
    .booking-contact-block,
    .booking-contact-title,
    .booking-contact-subtitle,
    .booking-contact-copy,
    .booking-contact-label,
    .booking-contact-number,
    .checklist .section-title,
    .checklist .section-subtitle,
    .checklist-section h3,
    .contact .section-title,
    .contact-info,
    .contact-cta,
    .contact-info h3,
    .contact-cta h3,
    .contact-info p,
    .contact-cta p,
    .contact-item h4,
    .contact-item a {
        text-align: left;
    }

    .section-title,
    .services-title,
    .why-northwind-title,
    .mg-title,
    .booking .section-title,
    .checklist .section-title,
    .contact .section-title {
        text-align: center;
    }

    .section-subtitle,
    .services-subtitle,
    .why-northwind-subtitle,
    .mg-subtitle,
    .booking .section-subtitle,
    .checklist .section-subtitle {
        text-align: left;
        margin-left: auto;
        margin-right: auto;
    }

    .checklist .section-title,
    .checklist .section-subtitle {
        text-align: center;
    }

    .mg-header,
    .services-header,
    .section-heading,
    .founder-content,
    .booking-contact-block {
        margin-left: 0;
        margin-right: 0;
    }

    .section-subtitle,
    .services-subtitle,
    .reel-description,
    .founder-description,
    .booking-contact-copy,
    .contact-info p,
    .contact-cta p {
        max-width: 40ch;
        margin-left: 0;
        margin-right: auto;
    }

    .reel-premium-label {
        align-self: flex-start;
    }

    .booking-contact-link {
        align-items: flex-start;
    }

    .booking-contact-block,
    .booking-contact-title,
    .booking-contact-subtitle,
    .booking-contact-label,
    .booking-contact-number {
        text-align: center;
    }

    .booking-contact-copy {
        margin-left: auto;
        margin-right: auto;
    }

    .booking-contact-link {
        align-items: center;
    }

    .services {
        padding: 6rem 0 4rem;
    }

    .services-title {
        font-size: clamp(2.4rem, 9.5vw, 3.2rem);
    }

    .services-subtitle {
        font-size: 0.95rem;
        line-height: 1.7;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .service-card.featured {
        transform: scale(1);
    }

    .service-card.featured:hover {
        transform: translateY(-10px);
    }

    .form-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .form-row > .form-group,
    .form-group {
        min-width: 0;
    }

    .form-group input[type="date"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        inline-size: 100% !important;
        max-inline-size: 100% !important;
        min-inline-size: 0 !important;
        font-size: 16px;
        padding-right: 0.9rem;
        -webkit-appearance: auto;
        appearance: auto;
    }

    .form-group .date-input-shell {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }

    .form-group .date-input-shell input[type="date"] {
        max-width: 100% !important;
        margin: 0 auto !important;
        text-align: left !important;
        text-align-last: center !important;
        padding-left: 0.9rem !important;
        padding-right: 0.9rem !important;
    }

    .booking-form {
        padding: 2rem;
    }

    .booking-contact-block {
        margin-top: 2rem;
        padding: 1.7rem 1.3rem;
    }

    .booking-contact-copy {
        line-height: 1.7;
        margin-bottom: 1.2rem;
    }

    .service-card {
        min-height: auto;
        padding: 2rem;
    }

    .package-features li {
        font-size: 0.95rem;
        line-height: 1.65;
    }

    .package-name {
        font-size: 2.5rem;
    }

    .work {
        padding: 5rem 0;
    }

    .work-grid {
        gap: 1.3rem;
    }

    .contact-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .contact-info h3,
    .contact-cta h3 {
        font-size: clamp(2rem, 9vw, 2.8rem);
    }

    .contact-item a {
        overflow-wrap: anywhere;
    }

    .package-price {
        font-size: 2rem;
    }

    .container {
        padding: 0 1.5rem;
    }

    section {
        padding: 4rem 0;
    }

    .form-group input,
    .form-group select,
    .form-group textarea,
    .submit-button {
        font-size: 16px;
    }

    .footer-title {
        letter-spacing: 0.22em;
    }

    .footer-services {
        letter-spacing: 0.1em;
    }

@media (max-width: 480px) {
    .nav-container {
        padding: calc(env(safe-area-inset-top, 0px) + 0.9rem) 1rem 0;
    }

    .nav-menu {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .hero-headline {
        font-size: 2.35rem;
        line-height: 0.94;
    }

    .hero-eyebrow {
        font-size: 0.68rem;
        letter-spacing: 0.2em;
    }

    .hero-copytext {
        font-size: 0.98rem;
    }

    .hero-inner {
        padding: calc(4.2rem + env(safe-area-inset-top, 0px)) 0 1.5rem;
    }

    .cta-button {
        width: 100%;
        max-width: 320px;
    }


    .section-title {
        font-size: 1.6rem;
    }

    .nav-menu {
        gap: 1rem;
    }

    .nav-link {
        font-size: 0.8rem;
    }

    .logo h1 {
        font-size: 1.3rem;
        letter-spacing: 1px;
    }

    .booking-form {
        padding: 1.25rem;
        overflow-x: clip;
    }

    .booking-contact-title {
        font-size: 1.6rem;
    }

    .booking-contact-subtitle {
        font-size: 0.96rem;
    }

    .booking-contact-number {
        font-size: 1.2rem;
    }

    .booking-contact-link {
        min-height: 52px;
    }

    .service-card {
        padding: 1.25rem;
        border-radius: 22px;
    }

    .package-name {
        font-size: 2rem;
    }

    .package-price {
        font-size: 1.75rem;
    }

    .package-button {
        height: 52px;
        border-radius: 14px;
    }

    .founder-container {
        padding: 0 1rem;
    }

    .founder-name {
        font-size: 2rem;
    }

    .founder-eyebrow {
        letter-spacing: 0.22em;
    }

    .success-content {
        padding: 2rem 1.4rem;
    }

    .success-content h3 {
        font-size: 2rem;
    }

    .footer-social-links a {
        width: 3.1rem;
        height: 3.1rem;
    }
}

@keyframes siteContentFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@supports (-webkit-touch-callout: none) {
    .form-group .date-input-shell {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        border: 1px solid rgba(42, 90, 143, 0.3);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.05);
        overflow: hidden;
        transition: all 0.3s ease;
    }

    .form-group .date-input-shell:focus-within {
        border-color: var(--accent-light-blue);
        background: rgba(42, 90, 143, 0.1);
        box-shadow: 0 0 10px rgba(42, 90, 143, 0.2);
    }

    .form-group .date-input-shell input[type="date"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        inline-size: 100% !important;
        max-inline-size: 100% !important;
        min-inline-size: 0 !important;
        display: block;
        -webkit-appearance: auto;
        appearance: auto;
        border: 0;
        border-radius: 8px;
        background: transparent;
        box-shadow: none;
        padding: 1rem;
        padding-right: 2.2rem;
        text-align: left;
        text-align-last: center;
    }

    .form-group .date-input-shell input[type="date"]:focus {
        outline: none;
        border-color: transparent;
        background: transparent;
        box-shadow: none;
    }

    .form-group .date-input-shell input[type="date"]::-webkit-date-and-time-value,
    .form-group .date-input-shell input[type="date"]::-webkit-datetime-edit,
    .form-group .date-input-shell input[type="date"]::-webkit-datetime-edit-fields-wrapper {
        min-width: 0;
        max-width: 100%;
        text-align: left;
    }

    .form-group .date-input-shell input[type="date"]::-webkit-calendar-picker-indicator {
        margin: 0;
        opacity: 1;
    }
}



/* ========== HERO LAYOUT STABILIZATION ========== */
.hero .hero-inner {
    max-width: 1400px;
}

.hero .hero-content {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 7.5rem);
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
}

.hero .hero-left {
    width: 100%;
    max-width: 640px;
    z-index: 4;
}

.hero .hero-right {
    position: relative;
    width: 100%;
    min-height: 500px;
    z-index: 4;
}

.hero .hero-right .hero-float-cards {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: 100%;
    min-height: 500px;
    transform: none;
    pointer-events: auto;
}

.hero .hero-right .hero-float-card {
    position: absolute;
    width: clamp(12rem, 17vw, 15rem);
}

.hero .hero-right .hero-float-card-top {
    top: 10%;
    right: 10%;
    margin: 0;
}

.hero .hero-right .hero-float-card-bottom {
    top: 52%;
    left: 5%;
    margin: 0;
}

@media (max-width: 1199px) {
    .hero .hero-content {
        grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
        gap: clamp(2rem, 5vw, 4rem);
    }

    .hero .hero-right {
        min-height: 440px;
    }

    .hero .hero-right .hero-float-cards {
        min-height: 440px;
    }

    .hero .hero-right .hero-float-card-top {
        right: 6%;
    }

    .hero .hero-right .hero-float-card-bottom {
        left: 2%;
        top: 50%;
    }
}

@media (max-width: 900px) {
    .hero .hero-content {
        grid-template-columns: 1fr;
        gap: 1.4rem;
    }

    .hero .hero-left {
        max-width: 100%;
    }

    .hero .hero-right {
        min-height: 0;
    }

    .hero .hero-right .hero-float-cards {
        position: static;
        display: grid;
        grid-template-columns: 1fr;
        gap: clamp(1.2rem, 4vw, 1.8rem);
        min-height: 0;
        height: auto;
    }

    .hero .hero-right .hero-float-card,
    .hero .hero-right .hero-float-card-top,
    .hero .hero-right .hero-float-card-bottom {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: 100%;
        margin: 0;
    }
}


/* ========== MOBILE COMPACT SCALE (INSTAGRAM/IOS) ========== */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

@media (max-width: 768px) {
    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.46rem);
    }

    .nav-container {
        min-height: clamp(3.6rem, 15.2vw, 4rem);
        padding: 0.22rem 0.42rem;
        margin: 0 0.5rem;
    }

    .logo h1 {
        font-size: clamp(1.55rem, 7vw, 2.05rem);
        letter-spacing: 0.4px;
    }

    .nav-cta {
        min-height: 1.95rem;
        padding: 0.24rem 0.62rem;
        font-size: 0.76rem;
        white-space: nowrap;
        gap: 0.32rem;
    }

    .hero,
    .hero-inner {
        min-height: 100svh;
        min-height: 100dvh;
    }

    .hero-inner {
        padding: max(calc(6.6rem + env(safe-area-inset-top, 0px)), 7.1rem) 1rem 1.5rem;
    }

    .hero .hero-content {
        gap: 1rem;
    }

    .hero .hero-left {
        max-width: min(26rem, 92vw);
        margin: 0 auto;
        text-align: left;
    }

    .hero-eyebrow {
        font-size: clamp(0.65rem, 2.8vw, 0.85rem);
        letter-spacing: 0.22em;
        margin-bottom: 0.95rem;
    }

    .hero-headline {
        font-size: clamp(3.2rem, 14vw, 5rem);
        line-height: 0.88;
        margin-bottom: 0.95rem;
    }

    .hero-copytext {
        max-width: 25rem;
        font-size: clamp(1rem, 4vw, 1.2rem);
        line-height: 1.45;
        margin-bottom: 1rem;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-trust-bar {
        margin: 0 0 0.95rem;
        padding: 0.52rem 0.56rem;
        min-height: 0;
        border-radius: 18px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-trust-item {
        font-size: clamp(0.8rem, 3.2vw, 1rem);
        line-height: 1.2;
        padding: 0.08rem 0.28rem;
    }

    .hero-trust-item svg {
        width: 1rem;
        height: 1rem;
    }

    .hero-trust-item + .hero-trust-item {
        padding-left: 0.72rem;
        margin-left: 0.38rem;
    }

    .cta-button {
        min-height: clamp(3.65rem, 15.6vw, 4rem);
        padding: 0.78rem 1.1rem;
        border-radius: 20px;
        margin-top: 0;
    }

    .cta-button-text {
        font-size: clamp(1rem, 4vw, 1.25rem);
        line-height: 1.2;
    }

    .hero .hero-right .hero-float-cards {
        gap: 0.8rem;
        margin-top: 0.12rem;
        margin-left: auto;
        margin-right: auto;
    }

    .hero .hero-right .hero-float-card,
    .hero .hero-right .hero-float-card-top,
    .hero .hero-right .hero-float-card-bottom {
        padding: 0.72rem 0.78rem;
        border-radius: 19px;
        grid-template-columns: 1.7rem 1fr;
        column-gap: 0.62rem;
    }

    .hero-float-icon {
        width: 1.45rem;
        height: 1.45rem;
    }

    .hero-float-title {
        font-size: clamp(1.45rem, 6vw, 2rem);
        margin: 0 0 0.14rem;
        line-height: 1.03;
    }

    .hero-float-card-bottom .hero-float-title {
        font-size: clamp(1.3rem, 5.2vw, 1.75rem);
    }

    .hero-float-copy {
        font-size: clamp(0.95rem, 3.8vw, 1.1rem);
        line-height: 1.28;
        max-width: 100%;
    }
}

@media (max-width: 430px) {
    .nav-container {
        min-height: clamp(3.48rem, 15.5vw, 3.86rem);
        padding: 0.2rem 0.36rem;
    }

    .logo h1 {
        font-size: clamp(1.4rem, 7.4vw, 1.86rem);
    }

    .nav-cta {
        min-height: 1.82rem;
        padding: 0.2rem 0.52rem;
        font-size: 0.7rem;
    }

    .hero-inner {
        padding: max(calc(6.15rem + env(safe-area-inset-top, 0px)), 6.7rem) 0.9rem 1.32rem;
    }

    .hero-eyebrow {
        margin-bottom: 0.8rem;
    }

    .hero-headline {
        margin-bottom: 0.78rem;
    }

    .hero-copytext {
        margin-bottom: 0.82rem;
    }

    .hero-trust-bar {
        margin-bottom: 0.8rem;
        border-radius: 16px;
        padding: 0.5rem 0.52rem;
    }

    .hero-trust-item {
        font-size: clamp(0.78rem, 3.6vw, 0.92rem);
    }

    .cta-button {
        min-height: 3.58rem;
        border-radius: 18px;
    }

    .hero .hero-right .hero-float-cards {
        gap: 0.72rem;
    }

    .hero .hero-right .hero-float-card,
    .hero .hero-right .hero-float-card-top,
    .hero .hero-right .hero-float-card-bottom {
        padding: 0.66rem 0.72rem;
        border-radius: 17px;
        grid-template-columns: 1.56rem 1fr;
        column-gap: 0.56rem;
    }

    .hero-float-icon {
        width: 1.32rem;
        height: 1.32rem;
    }
}

/* Keep package cards side-by-side on desktop/tablet, stacked on mobile. */
@media (min-width: 821px) and (max-width: 1400px) {
    .services-grid {
        grid-template-columns: repeat(2, 320px);
        justify-content: center;
    }
}

@media (min-width: 1401px) {
    .services-grid {
        grid-template-columns: repeat(4, 320px);
        justify-content: center;
    }
}

/* Mobile hero snapshot override to match provided reference. */
@media (max-width: 900px) {
    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.9rem);
    }

    .nav-container {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 0.7rem;
        min-height: 72px;
        padding: 0.62rem 0.88rem;
        margin: 0 0.8rem;
        border-radius: 18px;
    }

    .logo {
        padding-right: 0;
    }

    .logo::after {
        display: none;
    }

    .logo h1 {
        font-size: clamp(1.58rem, 3.8vw, 2rem);
        letter-spacing: 0.16px;
        white-space: nowrap;
        display: inline-flex;
        align-items: baseline;
        gap: 0.22rem;
    }

    .nav-menu {
        position: static;
        left: auto;
        right: auto;
        top: auto;
        transform: none;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 0.48rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .nav-link {
        width: auto;
        min-height: 36px;
        padding: 0.34rem 0.62rem;
        font-size: clamp(0.78rem, 1.55vw, 0.96rem);
        border-radius: 999px;
        background: transparent;
        transition:
            color 280ms cubic-bezier(0.22, 1, 0.36, 1),
            background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 280ms cubic-bezier(0.22, 1, 0.36, 1),
            transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
    }

    .nav-link:hover,
    .nav-link:focus-visible,
    .nav-link.active {
        background: rgba(111, 179, 255, 0.08);
        box-shadow: inset 0 0 0 1px rgba(111, 179, 255, 0.14);
    }

    .nav-menu li {
        width: auto;
        flex: 0 0 auto;
    }

    .nav-cta {
        display: inline-flex;
        min-height: 44px;
        min-width: 124px;
        margin-left: 0;
        padding: 0.46rem 0.96rem;
        font-size: clamp(0.76rem, 1.45vw, 0.94rem);
        white-space: nowrap;
        justify-content: center;
        border-radius: 999px;
        border-color: rgba(165, 200, 245, 0.16);
        box-shadow:
            0 12px 24px rgba(5, 11, 22, 0.24),
            0 0 16px rgba(111, 179, 255, 0.08);
        transition:
            transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
            border-color 320ms cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1),
            background-color 320ms cubic-bezier(0.22, 1, 0.36, 1);
    }

    .nav-cta:hover,
    .nav-cta:focus-visible,
    .nav-cta.is-interacting {
        transform: translateY(-1px);
        border-color: rgba(175, 208, 248, 0.22);
        box-shadow:
            0 16px 28px rgba(5, 10, 21, 0.28),
            0 0 20px rgba(111, 179, 255, 0.10);
    }

    .nav-cta .liquid-glass__content {
        white-space: nowrap;
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
    }

    .hamburger {
        display: none;
    }

    .hero-bg {
        background-position: 64% center;
    }

    .hero-inner {
        padding: max(calc(7rem + env(safe-area-inset-top, 0px)), 7.4rem) 1.05rem 1.8rem;
    }

    .hero .hero-content {
        gap: 1.25rem;
    }

    .hero .hero-left {
        max-width: min(30rem, 95vw);
        margin: 0;
    }

    .hero-eyebrow {
        font-size: clamp(0.8rem, 2.3vw, 0.95rem);
        letter-spacing: 0.28em;
        margin-bottom: 1rem;
    }

    .hero-headline {
        font-size: clamp(4.6rem, 16vw, 7rem);
        line-height: 0.88;
        margin-bottom: 1rem;
    }

    .hero-copytext {
        max-width: 22ch;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 1.15rem;
        font-size: clamp(1.05rem, 3.4vw, 1.3rem);
        line-height: 1.52;
    }

    .hero-trust-bar {
        width: min(100%, 26rem);
        min-width: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        padding: 0;
        margin: 0 0 1.15rem;
    }

    .hero-trust-bar .liquid-glass__surface,
    .hero-trust-bar .liquid-glass__highlight {
        display: none;
    }

    .hero-trust-bar .liquid-glass__content {
        position: static;
    }

    .hero-trust-content {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .hero-trust-item {
        width: fit-content;
        max-width: 100%;
        justify-content: flex-start;
        padding: 0.56rem 0.86rem;
        border-radius: 18px;
        border: 1px solid rgba(198, 219, 255, 0.22);
        background: rgba(10, 22, 38, 0.38);
        font-size: clamp(0.95rem, 2.75vw, 1.1rem);
    }

    .hero-trust-item + .hero-trust-item {
        margin-left: 0;
        padding-left: 0.86rem;
    }

    .cta-button {
        width: min(100%, 24rem);
        min-height: 66px;
        justify-content: flex-start;
        padding: 0.85rem 1.4rem;
        border-radius: 18px;
        font-size: clamp(1.1rem, 3.1vw, 1.35rem);
    }

    .hero .hero-right .hero-float-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .hero .hero-right .hero-float-card,
    .hero .hero-right .hero-float-card-top,
    .hero .hero-right .hero-float-card-bottom {
        width: 100%;
        min-height: 245px;
        padding: 1rem 0.96rem;
        border-radius: 22px;
    }

    .hero-float-title {
        font-size: clamp(1.7rem, 4.8vw, 2.4rem);
        line-height: 1;
        margin-bottom: 0.52rem;
    }

    .hero-float-card-bottom .hero-float-title {
        font-size: clamp(1.65rem, 4.5vw, 2.2rem);
    }

    .hero-float-copy {
        font-size: clamp(1.04rem, 2.95vw, 1.24rem);
        line-height: 1.48;
    }
}

@media (max-width: 560px) {
    .logo {
        min-width: max-content;
    }

    .nav-container {
        gap: 0.26rem;
        padding: 0.5rem 0.5rem;
    }

    .logo h1 {
        font-size: clamp(1.38rem, 6vw, 1.72rem);
        white-space: nowrap;
        display: inline-flex;
        align-items: baseline;
        gap: 0.24rem;
        letter-spacing: 0.2px;
    }

    .nav-menu {
        gap: 0.14rem;
        justify-self: center;
    }

    .nav-menu li {
        width: auto;
        flex: 0 0 auto;
    }

    .nav-link {
        min-height: 30px;
        padding: 0.2rem 0.36rem;
        font-size: clamp(0.52rem, 2.2vw, 0.8rem);
        border-radius: 999px;
    }

    .nav-cta {
        min-height: 34px;
        min-width: 98px;
        padding: 0.3rem 0.58rem;
        font-size: clamp(0.6rem, 2.15vw, 0.78rem);
        white-space: nowrap;
        border-radius: 999px;
        justify-content: center;
    }

    .nav-cta .liquid-glass__content {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        white-space: nowrap;
    }

    .hero-headline {
        font-size: clamp(4rem, 18.2vw, 5.6rem);
    }

    .hero-copytext {
        font-size: clamp(1rem, 4vw, 1.2rem);
    }

    .hero .hero-right .hero-float-cards {
        grid-template-columns: 1fr 1fr;
        gap: 0.72rem;
    }

    .hero .hero-right .hero-float-card,
    .hero .hero-right .hero-float-card-top,
    .hero .hero-right .hero-float-card-bottom {
        min-height: 215px;
        padding: 0.82rem 0.74rem;
        border-radius: 20px;
    }
}

/* =========================================================
   HERO REFERENCE LOCK (DESKTOP + MOBILE)
========================================================= */

.hero {
    position: relative;
    min-height: 100svh;
    min-height: 100dvh;
}

.hero-bg {
    inset: 0;
    transform: none !important;
    background:
        linear-gradient(103deg, rgba(2, 8, 18, 0.9) 0%, rgba(2, 8, 18, 0.62) 36%, rgba(2, 8, 18, 0.2) 65%),
        linear-gradient(180deg, rgba(3, 9, 20, 0.32), rgba(3, 9, 20, 0.42)),
        url("lakeside_home_twilight.jpg") 74% center / cover no-repeat;
    filter: saturate(106%) contrast(103%);
}

.hero-overlay {
    background:
        radial-gradient(circle at 18% 42%, rgba(3, 11, 24, 0.74), rgba(3, 11, 24, 0.42) 42%, rgba(3, 11, 24, 0.08) 66%, transparent 82%),
        linear-gradient(180deg, rgba(3, 9, 20, 0.4), rgba(3, 9, 20, 0.24) 38%, rgba(3, 9, 20, 0.52));
}

.hero-inner {
    width: min(100%, 1260px);
    min-height: 100svh;
    min-height: 100dvh;
    padding: clamp(8.7rem, 11vh, 10rem) clamp(1.1rem, 4vw, 2.8rem) clamp(2.4rem, 4vh, 4rem);
}

.hero-content {
    display: block;
    max-width: 31rem;
}

.hero-left {
    max-width: 31rem;
}

.hero-eyebrow {
    margin: 0 0 1.45rem;
    color: rgba(107, 156, 255, 0.96);
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.33em;
}

.hero-headline {
    margin: 0 0 1.5rem;
    font-family: "Playfair Display", serif;
    font-size: clamp(5.85rem, 8.2vw, 8.25rem);
    line-height: 0.86;
    letter-spacing: -0.02em;
    color: #f7f8fb;
    text-wrap: balance;
}

.hero-dot {
    color: #6d90ff;
}

.hero-copytext {
    max-width: 22ch;
    margin: 0 0 1.15rem;
    font-size: clamp(1.16rem, 1.55vw, 1.42rem);
    line-height: 1.5;
    color: rgba(232, 238, 248, 0.92);
}

.hero-launch-offer,
.hero-trust-bar {
    width: min(100%, 348px);
    min-height: 46px;
    margin: 0 0 0.72rem;
    border-radius: 999px;
    border: 1px solid rgba(123, 168, 230, 0.27);
    background: rgba(9, 19, 36, 0.34);
    box-shadow:
        0 10px 24px rgba(2, 8, 18, 0.32),
        inset 0 1px 0 rgba(180, 216, 255, 0.13);
}

.hero-pill-content,
.hero-trust-content {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.54rem;
    font-weight: 600;
    color: rgba(240, 246, 255, 0.94);
}

.hero-launch-offer__icon {
    color: #8d6cff;
    font-size: 0.86rem;
}

.hero-launch-offer__text,
.hero-trust-item {
    font-size: 0.96rem;
    letter-spacing: 0.01em;
}

.hero-trust-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.52rem;
}

.hero-trust-item svg {
    width: 1.06rem;
    height: 1.06rem;
    stroke: rgba(110, 144, 255, 0.94);
    stroke-width: 1.8;
}

.cta-button {
    width: min(100%, 355px);
    min-width: 0;
    min-height: 68px;
    margin-top: 1.08rem;
    border-radius: 18px;
    border: 1px solid rgba(162, 102, 255, 0.76);
    background: linear-gradient(145deg, rgba(8, 18, 34, 0.88), rgba(8, 16, 31, 0.76));
    box-shadow:
        0 16px 36px rgba(2, 8, 18, 0.38),
        inset 0 1px 0 rgba(184, 223, 255, 0.18),
        inset 0 0 19px rgba(88, 143, 255, 0.13);
    animation: heroCtaPulse 9s cubic-bezier(0.45, 0, 0.55, 1) infinite;
    transform: translateZ(0);
    transition:
        transform 320ms cubic-bezier(0.45, 0, 0.55, 1),
        border-color 320ms cubic-bezier(0.45, 0, 0.55, 1),
        box-shadow 320ms cubic-bezier(0.45, 0, 0.55, 1),
        background 320ms cubic-bezier(0.45, 0, 0.55, 1),
        filter 320ms cubic-bezier(0.45, 0, 0.55, 1);
}

.cta-button .liquid-glass__content {
    font-size: 1rem;
    font-weight: 650;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.hero-feature-strip {
    display: none;
}

@media (min-width: 901px) {
    .navbar {
        padding-top: 1.1rem;
    }

    .nav-container {
        width: min(100%, 1280px);
        min-height: 66px;
        margin: 0 auto;
        padding: 0.48rem 0.8rem;
        border-radius: 21px;
        border: 1px solid rgba(129, 176, 238, 0.3);
        background: rgba(7, 17, 36, 0.42);
    }

    .logo {
        position: relative;
        padding-right: 1.65rem;
    }

    .logo::after {
        content: "";
        position: absolute;
        right: 0.75rem;
        top: 50%;
        width: 1px;
        height: 28px;
        background: rgba(147, 183, 231, 0.24);
        transform: translateY(-50%);
    }

    .logo h1 {
        font-size: clamp(2.02rem, 2.18vw, 2.28rem);
    }

    .nav-menu {
        display: flex !important;
        gap: 2.5rem;
    }

    .nav-link {
        font-size: 1.03rem;
        font-weight: 600;
        color: rgba(239, 245, 255, 0.94);
    }

    .nav-cta {
        min-width: 172px;
        min-height: 44px;
        border: 1px solid rgba(92, 137, 246, 0.94);
        background: rgba(9, 19, 37, 0.7);
    }

    .nav-cta .liquid-glass__content {
        font-size: 1.06rem;
        font-weight: 600;
    }
}

@media (max-width: 900px) {
    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.7rem);
    }

    .nav-container {
        grid-template-columns: minmax(0, 1fr) auto;
        width: calc(100% - 1.2rem);
        min-height: 60px;
        margin: 0 0.6rem;
        padding: 0.52rem 0.6rem;
        border-radius: 18px;
        border: 1px solid rgba(123, 171, 238, 0.26);
        background: rgba(6, 16, 34, 0.36);
    }

    .nav-menu {
        display: none !important;
    }

    .logo::after {
        display: none;
    }

    .logo h1 {
        font-size: clamp(2.22rem, 8.9vw, 2.78rem);
    }

    .nav-cta {
        min-width: 156px;
        min-height: 42px;
        border: 1px solid rgba(95, 142, 250, 0.96);
        background: rgba(9, 19, 36, 0.68);
    }

    .nav-cta .liquid-glass__content {
        font-size: clamp(0.94rem, 3.8vw, 1.1rem);
        font-weight: 600;
    }

    .hero-bg {
        background-position: 71% center;
    }

    .hero-inner {
        padding: max(calc(7.5rem + env(safe-area-inset-top, 0px)), 7.6rem) 1.2rem 1.25rem;
    }

    .hero-content,
    .hero-left {
        max-width: min(25rem, 100%);
    }

    .hero-eyebrow {
        margin-bottom: 1rem;
        font-size: clamp(0.86rem, 2.8vw, 1rem);
        letter-spacing: 0.3em;
    }

    .hero-headline {
        margin-bottom: 1rem;
        font-size: clamp(5.35rem, 17.4vw, 7.35rem);
        line-height: 0.88;
    }

    .hero-copytext {
        max-width: 18ch;
        margin-bottom: 0.94rem;
        font-size: clamp(1.12rem, 4.35vw, 1.48rem);
        line-height: 1.47;
    }

    .hero-launch-offer,
    .hero-trust-bar,
    .cta-button {
        width: min(100%, 380px);
    }

    .hero-launch-offer,
    .hero-trust-bar {
        min-height: 52px;
        margin-bottom: 0.72rem;
    }

    .hero-launch-offer__text,
    .hero-trust-item {
        font-size: clamp(0.9rem, 3.4vw, 1.14rem);
    }

    .cta-button {
        min-height: 70px;
        margin-top: 0.78rem;
        border-radius: 20px;
    }

    .cta-button .liquid-glass__content {
        font-size: 1rem;
    }

    .hero-feature-strip {
        display: block;
        position: relative;
        z-index: 4;
        padding: 0 1.2rem calc(1.5rem + env(safe-area-inset-bottom, 0px));
    }

    .hero-feature-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.82rem;
    }

    .hero-feature-grid .hero-float-card {
        min-height: 176px;
        padding: 0.95rem 0.9rem;
        border-radius: 24px;
        border: 1px solid rgba(132, 177, 239, 0.2);
        background: rgba(9, 19, 36, 0.24);
        box-shadow:
            0 18px 36px rgba(2, 8, 18, 0.36),
            inset 0 1px 0 rgba(186, 222, 255, 0.1);
        animation: none !important;
    }

    .hero-float-icon {
        width: 1.36rem;
        height: 1.36rem;
        margin: 0 0 0.5rem;
    }

    .hero-float-icon svg {
        width: 100%;
        height: 100%;
        stroke: rgba(121, 132, 255, 0.95);
        stroke-width: 1.9;
    }

    .hero-float-title,
    .hero-float-card-bottom .hero-float-title {
        margin: 0 0 0.46rem;
        font-family: "Playfair Display", serif;
        font-size: clamp(2.22rem, 7vw, 2.86rem);
        line-height: 0.98;
        color: rgba(245, 248, 255, 0.96);
    }

    .hero-float-copy {
        margin: 0;
        font-size: clamp(0.96rem, 3.2vw, 1.12rem);
        line-height: 1.43;
        color: rgba(224, 235, 248, 0.9);
    }
}

@media (max-width: 560px) {
    .hero-inner {
        padding: max(calc(7.2rem + env(safe-area-inset-top, 0px)), 7.35rem) 0.9rem 1rem;
    }

    .hero-headline {
        font-size: clamp(4.65rem, 16.2vw, 5.8rem);
    }

    .hero-copytext {
        font-size: clamp(0.98rem, 3.95vw, 1.14rem);
    }

    .hero-launch-offer,
    .hero-trust-bar,
    .cta-button {
        width: min(100%, 360px);
    }

    .hero-feature-strip {
        padding: 0 0.9rem calc(1.1rem + env(safe-area-inset-bottom, 0px));
    }

    .hero-feature-grid .hero-float-card {
        min-height: 162px;
        border-radius: 20px;
    }

    .hero-float-title,
    .hero-float-card-bottom .hero-float-title {
        font-size: clamp(1.95rem, 6.25vw, 2.34rem);
    }

    .hero-float-copy {
        font-size: clamp(0.84rem, 3.15vw, 0.98rem);
    }
}

/* =========================================================
   HERO REFINEMENT (2026-07-28)
========================================================= */

.hero {
    min-height: clamp(720px, 100svh, 980px);
}

.hero-bg {
    inset: -1.5%;
    background:
        linear-gradient(
            160deg,
            rgba(2, 9, 20, 0.88) 16%,
            rgba(2, 9, 20, 0.56) 45%,
            rgba(2, 9, 20, 0.26) 70%
        ),
        url("lakeside_home_twilight.jpg") 72% center / cover no-repeat;
    filter: saturate(108%) contrast(104%);
}

.hero-overlay {
    background:
        radial-gradient(
            circle at 19% 44%,
            rgba(3, 10, 22, 0.74),
            rgba(3, 10, 22, 0.42) 38%,
            rgba(3, 10, 22, 0.12) 62%,
            transparent 78%
        ),
        linear-gradient(
            180deg,
            rgba(3, 9, 20, 0.54),
            rgba(3, 9, 20, 0.24) 40%,
            rgba(3, 9, 20, 0.64) 100%
        );
}

.hero-inner {
    width: min(100%, 1320px);
    min-height: clamp(700px, 100svh, 960px);
    padding: clamp(8.6rem, 11vh, 10.4rem) clamp(1.4rem, 4vw, 3.4rem) clamp(5rem, 8vh, 7rem);
}

.hero-content {
    display: grid;
    grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2.8rem, 6vw, 6.8rem);
}

.hero-left {
    max-width: 560px;
}

.hero-eyebrow {
    margin-bottom: 1.6rem;
    letter-spacing: 0.34em;
}

.hero-headline {
    margin-bottom: 2.2rem;
    font-size: clamp(5.35rem, 8.1vw, 8.15rem);
    line-height: 0.87;
}

.hero-copytext {
    max-width: 27ch;
    margin-bottom: 1.6rem;
    font-size: clamp(1.06rem, 1.4vw, 1.22rem);
    line-height: 1.68;
    color: rgba(242, 248, 255, 0.92);
}

.hero-launch-offer,
.hero-trust-bar {
    width: min(100%, 360px);
    min-height: 46px;
    margin-bottom: 0.9rem;
    border-radius: 999px;
}

.hero-pill-content {
    width: 100%;
    justify-content: center;
}

.hero-launch-offer {
    border: 1px solid rgba(162, 212, 255, 0.3);
    background: rgba(9, 20, 38, 0.28);
    box-shadow:
        0 12px 30px rgba(4, 10, 22, 0.36),
        inset 0 1px 0 rgba(202, 229, 255, 0.14),
        0 0 20px rgba(97, 170, 255, 0.18);
}

.hero-launch-offer__content {
    gap: 0.52rem;
}

.hero-launch-offer__text,
.hero-trust-item {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.hero-trust-bar {
    min-width: 0;
    padding: 0.45rem 0.92rem;
    border: 1px solid rgba(167, 216, 255, 0.28);
    background: rgba(8, 18, 34, 0.27);
    box-shadow:
        0 12px 30px rgba(4, 10, 22, 0.34),
        inset 0 1px 0 rgba(202, 229, 255, 0.1),
        0 0 18px rgba(90, 161, 245, 0.14);
}

.hero-trust-content {
    width: 100%;
}

.hero-trust-item {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(239, 247, 255, 0.95);
}

.hero-trust-item svg {
    stroke: rgba(137, 201, 255, 0.96);
}

.cta-button {
    margin-top: 0.8rem;
    min-width: 320px;
    min-height: 62px;
    padding: 0.92rem 2.1rem;
    border-radius: 20px;
    border: 1px solid rgba(174, 136, 255, 0.68);
    background:
        linear-gradient(
            150deg,
            rgba(8, 18, 34, 0.86),
            rgba(8, 16, 32, 0.72)
        );
    box-shadow:
        0 16px 38px rgba(3, 10, 20, 0.42),
        inset 0 1px 0 rgba(191, 219, 255, 0.14),
        inset 0 0 20px rgba(98, 155, 255, 0.16),
        0 0 0 1px rgba(138, 108, 228, 0.24),
        0 0 22px rgba(164, 118, 255, 0.22);
}

.cta-button.liquid-glass {
    overflow: visible;
}

.cta-button::after {
    content: "";
    position: absolute;
    inset: -2px;
    border: 2px solid rgba(182, 138, 255, 0.72);
    border-radius: inherit;
    pointer-events: none;
    opacity: 0.9;
    box-shadow:
        0 0 18px rgba(173, 120, 255, 0.34),
        0 0 34px rgba(124, 74, 232, 0.18);
    animation: heroCtaOutlinePulse 9s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.cta-button:hover,
.cta-button:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(194, 162, 255, 0.86);
    box-shadow:
        0 22px 52px rgba(3, 10, 20, 0.48),
        inset 0 1px 0 rgba(204, 231, 255, 0.2),
        inset 0 0 22px rgba(106, 170, 255, 0.2),
        0 0 0 1px rgba(172, 134, 255, 0.34),
        0 0 28px rgba(182, 131, 255, 0.30);
}

    .cta-button:hover::after,
    .cta-button:focus-visible::after {
        border-color: rgba(208, 174, 255, 0.96);
        box-shadow:
        0 0 22px rgba(188, 132, 255, 0.44),
        0 0 42px rgba(135, 81, 244, 0.24);
    }

@keyframes heroCtaPulse {
    0%,
    100% {
        border-color: rgba(182, 138, 255, 0.68);
        box-shadow:
            0 16px 36px rgba(2, 8, 18, 0.38),
            inset 0 1px 0 rgba(184, 223, 255, 0.18),
            inset 0 0 19px rgba(88, 143, 255, 0.13),
            0 0 18px rgba(162, 107, 255, 0.18),
            0 0 34px rgba(124, 74, 232, 0.12);
    }

    25% {
        border-color: rgba(192, 149, 255, 0.8);
        box-shadow:
            0 16px 37px rgba(2, 8, 18, 0.385),
            inset 0 1px 0 rgba(188, 223, 255, 0.185),
            inset 0 0 19px rgba(92, 146, 255, 0.135),
            0 0 19px rgba(167, 116, 255, 0.19),
            0 0 35px rgba(126, 77, 235, 0.13);
    }

    50% {
        border-color: rgba(210, 177, 255, 0.95);
        box-shadow:
            0 17px 38px rgba(2, 8, 18, 0.395),
            inset 0 1px 0 rgba(196, 227, 255, 0.2),
            inset 0 0 21px rgba(110, 165, 255, 0.16),
            0 0 22px rgba(181, 129, 255, 0.24),
            0 0 40px rgba(137, 82, 245, 0.18);
    }

    75% {
        border-color: rgba(192, 149, 255, 0.8);
        box-shadow:
            0 16px 37px rgba(2, 8, 18, 0.385),
            inset 0 1px 0 rgba(188, 223, 255, 0.185),
            inset 0 0 19px rgba(92, 146, 255, 0.135),
            0 0 19px rgba(167, 116, 255, 0.19),
            0 0 35px rgba(126, 77, 235, 0.13);
    }
}

@keyframes heroCtaInnerGlow {
    0%,
    100% {
        opacity: 0.38;
        transform: scale(1);
    }

    20% {
        opacity: 0.48;
        transform: scale(1.003);
    }

    40% {
        opacity: 0.56;
        transform: scale(1.006);
    }

    50% {
        opacity: 0.66;
        transform: scale(1.008);
    }

    60% {
        opacity: 0.7;
        transform: scale(1.009);
    }

    80% {
        opacity: 0.5;
        transform: scale(1.004);
    }
}

@keyframes heroCtaOutlinePulse {
    0%,
    100% {
        opacity: 0.72;
        box-shadow:
            0 0 16px rgba(173, 120, 255, 0.22),
            0 0 30px rgba(124, 74, 232, 0.12);
    }

    25% {
        opacity: 0.8;
        box-shadow:
            0 0 18px rgba(183, 131, 255, 0.24),
            0 0 34px rgba(134, 82, 245, 0.14);
    }

    50% {
        opacity: 0.92;
        box-shadow:
            0 0 22px rgba(195, 149, 255, 0.34),
            0 0 44px rgba(145, 88, 247, 0.2);
    }

    75% {
        opacity: 0.8;
        box-shadow:
            0 0 18px rgba(183, 131, 255, 0.24),
            0 0 34px rgba(134, 82, 245, 0.14);
    }
}

.hero-right {
    display: flex;
    justify-content: flex-end;
}

.hero-visual {
    position: relative;
    width: min(100%, 640px);
    height: clamp(520px, 78vh, 860px);
    margin: 0;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(184, 221, 255, 0.16);
    box-shadow:
        0 32px 78px rgba(1, 6, 16, 0.5),
        0 0 52px rgba(76, 132, 207, 0.18);
}

.hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(6, 14, 29, 0.05), rgba(6, 14, 29, 0.26)),
        radial-gradient(circle at 78% 22%, rgba(106, 171, 255, 0.2), transparent 58%);
}

.hero-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 66% center;
    transform: translate3d(calc(var(--hero-parallax-x) * 0.35), calc(var(--hero-parallax-y) * 0.35), 0) scale(1.04);
    will-change: transform;
}

.hero-feature-strip {
    position: relative;
    z-index: 5;
    padding: 0 clamp(1.2rem, 4vw, 3.4rem) clamp(3rem, 5.5vw, 4.6rem);
}

.hero-feature-grid {
    width: min(100%, 1320px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.9rem, 1.8vw, 1.2rem);
}

.hero-feature-grid .hero-float-card,
.hero-feature-grid .hero-float-card-top,
.hero-feature-grid .hero-float-card-bottom {
    width: 100%;
    min-height: 188px;
    margin: 0;
    padding: 1.2rem 1.2rem 1.15rem;
    border-radius: 24px;
    border: 1px solid rgba(188, 221, 255, 0.16);
    background: rgba(9, 19, 36, 0.2);
    box-shadow:
        0 20px 46px rgba(3, 10, 22, 0.38),
        0 0 20px rgba(96, 160, 235, 0.12);
}

.hero-feature-grid .hero-float-title,
.hero-feature-grid .hero-float-card-bottom .hero-float-title {
    margin: 0 0 0.62rem;
    font-size: clamp(2rem, 2.2vw, 2.5rem);
    line-height: 0.96;
}

.hero-feature-grid .hero-float-copy {
    margin: 0;
    font-size: clamp(1.02rem, 1.08vw, 1.12rem);
    line-height: 1.45;
    color: rgba(224, 236, 251, 0.9);
}

@media (max-width: 1100px) {
    .hero-inner {
        min-height: auto;
        padding: clamp(7.7rem, 10vh, 8.8rem) 1.05rem 2.2rem;
    }

    .hero-content {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .hero-right {
        display: none;
    }

    .hero-bg {
        background-position: 66% center;
    }

    .hero-headline {
        font-size: clamp(4.8rem, 14vw, 7rem);
        margin-bottom: 1.4rem;
    }

    .hero-copytext {
        margin-bottom: 1.25rem;
        max-width: 24ch;
    }

    .hero-launch-offer,
    .hero-trust-bar,
    .cta-button {
        width: min(100%, 340px);
    }

    .cta-button {
        min-width: 0;
        min-height: 60px;
        justify-content: center;
    }

    .hero-feature-strip {
        padding: 0 1.05rem 2.2rem;
    }

    .hero-feature-grid .hero-float-card,
    .hero-feature-grid .hero-float-card-top,
    .hero-feature-grid .hero-float-card-bottom {
        min-height: 164px;
        border-radius: 22px;
        padding: 1rem;
    }

    .hero-feature-grid .hero-float-title,
    .hero-feature-grid .hero-float-card-bottom .hero-float-title {
        font-size: clamp(1.8rem, 5.1vw, 2.3rem);
    }

    .hero-feature-grid .hero-float-copy {
        font-size: clamp(0.98rem, 2.7vw, 1.1rem);
    }
}

@media (max-width: 900px) {
    .nav-container {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.7rem;
    }

    .nav-menu {
        display: none !important;
    }

    .hero {
        min-height: 100svh;
        min-height: 100dvh;
    }

    .hero-inner {
        min-height: 100svh;
        min-height: 100dvh;
        padding: max(calc(7rem + env(safe-area-inset-top, 0px)), 7.2rem) 1.05rem 1.7rem;
    }

    .hero-left {
        max-width: min(30rem, 96vw);
    }

    .hero-eyebrow {
        margin-bottom: 1.05rem;
        font-size: clamp(0.76rem, 2.4vw, 0.94rem);
        letter-spacing: 0.3em;
    }

    .hero-headline {
        font-size: clamp(4.25rem, 16.2vw, 6.5rem);
        line-height: 0.88;
        margin-bottom: 1rem;
    }

    .hero-copytext {
        max-width: 20ch;
        margin-bottom: 1.1rem;
        font-size: clamp(1rem, 3.55vw, 1.22rem);
        line-height: 1.5;
    }

    .hero-launch-offer,
    .hero-trust-bar,
    .cta-button {
        width: min(100%, 320px);
    }

    .hero-launch-offer,
    .hero-trust-bar {
        min-height: 44px;
        margin-bottom: 0.72rem;
    }

    .hero-launch-offer__text,
    .hero-trust-item {
        font-size: clamp(0.84rem, 2.65vw, 0.94rem);
    }

    .cta-button {
        margin-top: 0.56rem;
        min-height: 58px;
        border-radius: 18px;
        font-size: clamp(1.08rem, 3.5vw, 1.2rem);
    }

    .hero-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.72rem;
    }

    .hero-feature-grid .hero-float-card,
    .hero-feature-grid .hero-float-card-top,
    .hero-feature-grid .hero-float-card-bottom {
        min-height: 178px;
        padding: 0.92rem 0.86rem;
        border-radius: 20px;
    }

    .hero-feature-grid .hero-float-title,
    .hero-feature-grid .hero-float-card-bottom .hero-float-title {
        font-size: clamp(1.62rem, 5.35vw, 2.1rem);
    }

    .hero-feature-grid .hero-float-copy {
        font-size: clamp(0.95rem, 2.95vw, 1.06rem);
        line-height: 1.4;
    }
}

@media (max-width: 560px) {
    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.75rem);
    }

    .nav-container {
        min-height: 58px;
        margin: 0 0.52rem;
        padding: 0.48rem 0.58rem;
        border-radius: 16px;
    }

    .logo h1 {
        font-size: clamp(1.26rem, 6vw, 1.62rem);
    }

    .nav-cta {
        min-width: 106px;
        min-height: 36px;
        font-size: clamp(0.68rem, 2.35vw, 0.82rem);
    }

    .hero-inner {
        min-height: 100svh;
        min-height: 100dvh;
        padding: max(calc(6.1rem + env(safe-area-inset-top, 0px)), 6.5rem) 0.8rem 1.25rem;
    }

    .hero-headline {
        font-size: clamp(3.75rem, 17vw, 5.25rem);
        margin-bottom: 0.82rem;
    }

    .hero-copytext {
        font-size: clamp(0.98rem, 3.95vw, 1.08rem);
        margin-bottom: 0.92rem;
    }

    .hero-launch-offer,
    .hero-trust-bar,
    .cta-button {
        width: min(100%, 296px);
    }

    .hero-launch-offer,
    .hero-trust-bar {
        min-height: 42px;
    }

    .cta-button {
        min-height: 54px;
        padding: 0.66rem 1rem;
    }

    .hero-feature-strip {
        padding: 0 0.8rem 1.7rem;
    }

    .hero-feature-grid {
        gap: 0.62rem;
    }

    .hero-feature-grid .hero-float-card,
    .hero-feature-grid .hero-float-card-top,
    .hero-feature-grid .hero-float-card-bottom {
        min-height: 156px;
        padding: 0.82rem 0.72rem;
        border-radius: 18px;
    }

    .hero-feature-grid .hero-float-title,
    .hero-feature-grid .hero-float-card-bottom .hero-float-title {
        font-size: clamp(1.35rem, 6.05vw, 1.78rem);
        margin-bottom: 0.4rem;
    }

    .hero-feature-grid .hero-float-copy {
        font-size: clamp(0.84rem, 3.25vw, 0.96rem);
    }
}

/* Keep hero as a full-screen first panel across breakpoints. */
.hero {
    min-height: 100svh;
    min-height: 100dvh;
}

.hero-inner {
    min-height: 100svh;
    min-height: 100dvh;
}

/* =========================================================
   DESKTOP HERO REFERENCE MATCH (2026-07-28)
========================================================= */

@media (min-width: 901px) {
    .navbar {
        padding-top: 2rem;
    }

    .nav-container {
        width: min(100%, 1160px);
        min-height: 74px;
        margin: 0 auto;
        padding: 0.66rem 0.92rem 0.66rem 0.78rem;
        border-radius: 20px;
        background: rgba(8, 17, 33, 0.32);
        border: 1px solid rgba(122, 172, 234, 0.22);
        box-shadow: inset 0 1px 0 rgba(172, 215, 255, 0.1);
    }

    .nav-menu {
        display: flex !important;
        position: static;
        transform: none;
        margin: 0 auto;
        gap: 2.5rem;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .nav-link {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        font-size: clamp(1.02rem, 1vw, 1.08rem);
        font-weight: 600;
        letter-spacing: 0.01em;
        color: rgba(239, 246, 255, 0.94);
    }

    .nav-link:hover,
    .nav-link:focus-visible,
    .nav-link.active {
        color: rgba(255, 255, 255, 1);
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    .logo h1 {
        font-size: clamp(2.02rem, 2.35vw, 2.34rem);
    }

    .nav-cta {
        min-width: 122px;
        min-height: 40px;
        padding: 0.38rem 0.92rem;
        border-radius: 999px;
        border: 1px solid rgba(124, 175, 240, 0.58);
        background: linear-gradient(145deg, rgba(12, 26, 48, 0.84), rgba(8, 18, 36, 0.72));
        box-shadow:
            0 8px 20px rgba(2, 8, 18, 0.34),
            inset 0 1px 0 rgba(188, 225, 255, 0.14);
    }

    .nav-cta .liquid-glass__content {
        font-size: 1.04rem;
        font-weight: 600;
        letter-spacing: 0.01em;
    }

    .hero {
        min-height: max(760px, 100svh);
    }

    .hero-bg {
        inset: 0;
        background:
            linear-gradient(98deg, rgba(2, 9, 20, 0.88) 0%, rgba(2, 9, 20, 0.55) 35%, rgba(2, 9, 20, 0.18) 63%),
            linear-gradient(180deg, rgba(2, 8, 20, 0.2), rgba(2, 8, 20, 0.3)),
            url("lakeside_home_twilight.jpg") 73% center / cover no-repeat;
        filter: saturate(105%) contrast(103%);
        transform:
            translate3d(
                calc(var(--hero-parallax-x) * 0.45),
                calc(var(--hero-parallax-y) * 0.45),
                0
            )
            scale(1.015);
    }

    .hero-overlay {
        background:
            radial-gradient(circle at 19% 46%, rgba(4, 11, 24, 0.68), rgba(4, 11, 24, 0.34) 44%, rgba(4, 11, 24, 0.08) 67%, transparent 82%),
            linear-gradient(180deg, rgba(3, 8, 18, 0.42), rgba(3, 8, 18, 0.18) 40%, rgba(3, 8, 18, 0.5));
    }

    .hero-inner {
        width: min(100%, 1160px);
        min-height: max(760px, 100svh);
        padding: 8.7rem 2.1rem 4rem;
    }

    .hero-content {
        display: block;
        max-width: 480px;
    }

    .hero-left {
        max-width: 480px;
    }

    .hero-right,
    .hero-visual {
        display: none !important;
    }

    .hero-eyebrow {
        margin-bottom: 1.55rem;
        font-size: 0.85rem;
        letter-spacing: 0.34em;
    }

    .hero-headline {
        margin-bottom: 1.5rem;
        font-size: clamp(6.1rem, 8.2vw, 8.35rem);
        line-height: 0.88;
    }

    .hero-copytext {
        max-width: 24ch;
        margin-bottom: 1.38rem;
        font-size: clamp(1.18rem, 1.55vw, 1.48rem);
        line-height: 1.5;
    }

    .hero-launch-offer,
    .hero-trust-bar {
        width: min(100%, 330px);
        min-height: 44px;
        margin-bottom: 0.7rem;
        padding: 0.42rem 0.9rem;
    }

    .hero-launch-offer__text,
    .hero-trust-item {
        font-size: 0.96rem;
    }

    .hero-launch-offer__icon {
        font-size: 0.72rem;
    }

    .cta-button {
        width: min(100%, 356px);
        min-width: 0;
        min-height: 66px;
        margin-top: 1.18rem;
        border-radius: 18px;
        font-size: 1rem;
        border: 1px solid rgba(165, 126, 255, 0.72);
        background: linear-gradient(146deg, rgba(8, 18, 34, 0.9), rgba(8, 16, 32, 0.78));
        box-shadow:
            0 16px 36px rgba(4, 10, 20, 0.42),
            inset 0 1px 0 rgba(191, 219, 255, 0.16),
            inset 0 0 18px rgba(86, 151, 255, 0.14),
            0 0 0 1px rgba(143, 106, 236, 0.24);
    }

    .cta-button .liquid-glass__content {
        font-size: inherit;
        font-weight: 650;
        letter-spacing: 0.01em;
    }

    .hero-feature-strip {
        display: none !important;
    }
}

/* Sheen-free optical glass override (no glossy center streaks). */
.nav-container > .liquid-glass__surface,
.nav-cta > .liquid-glass__surface,
.hero-float-card > .liquid-glass__surface,
.hero-float-card-top > .liquid-glass__surface,
.hero-float-card-bottom > .liquid-glass__surface {
    background:
        linear-gradient(
            156deg,
            rgba(58, 98, 164, 0.16),
            rgba(28, 55, 99, 0.16) 46%,
            rgba(8, 19, 36, 0.30) 100%
        );
    filter: none;
    box-shadow:
        inset 0 1px 0 rgba(150, 198, 255, 0.10),
        inset 0 -14px 20px rgba(12, 30, 60, 0.22),
        inset 1px 0 0 rgba(126, 170, 232, 0.08),
        inset -1px 0 0 rgba(24, 49, 88, 0.16);
}

.nav-container > .liquid-glass__highlight,
.nav-cta > .liquid-glass__highlight,
.hero-float-card > .liquid-glass__highlight,
.hero-float-card-top > .liquid-glass__highlight,
.hero-float-card-bottom > .liquid-glass__highlight {
    display: none;
}

/* Remove bounce/glitch motion from floating hero cards. */
.hero-float-card,
.hero-float-card-top,
.hero-float-card-bottom {
    animation: none !important;
    transform: none;
    transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.hero-float-card:hover,
.hero-float-card-top:hover,
.hero-float-card-bottom:hover {
    transform: translateY(-6px);
    border-color: rgba(172, 210, 255, 0.26);
    box-shadow:
        0 24px 50px rgba(1, 6, 15, 0.44),
        0 0 24px rgba(105, 166, 255, 0.10);
}

.hero-float-card.is-interacting,
.hero-float-card.is-pinned,
.hero-float-card.is-tap-hover,
.hero-float-card.is-tap-hover-locked,
.hero-float-card-top.is-interacting,
.hero-float-card-top.is-pinned,
.hero-float-card-top.is-tap-hover,
.hero-float-card-top.is-tap-hover-locked,
.hero-float-card-bottom.is-interacting,
.hero-float-card-bottom.is-pinned,
.hero-float-card-bottom.is-tap-hover,
.hero-float-card-bottom.is-tap-hover-locked {
    transform: translateY(-6px);
    border-color: rgba(172, 210, 255, 0.28);
    box-shadow:
        0 24px 50px rgba(1, 6, 15, 0.46),
        0 0 26px rgba(105, 166, 255, 0.12);
}

/* Keep the top navigation content, but remove the blue capsule behind it. */
.nav-container {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
}

.nav-container > .liquid-glass__surface,
.nav-container > .liquid-glass__highlight {
    display: none !important;
}

@media (min-width: 769px) {
    .booking-contact-block {
        margin-left: auto;
        margin-right: auto;
    }

    .booking-contact-copy {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 900px) {
    .nav-container {
        grid-template-columns: auto auto;
        justify-content: space-between;
        gap: 0.8rem;
    }

    .nav-menu {
        display: none !important;
    }

    .nav-cta {
        min-width: 132px;
        margin-left: auto;
    }
}

@media (max-width: 560px) {
    .nav-container {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 0.58rem 0.62rem;
    }

    .logo h1 {
        font-size: clamp(1.6rem, 6.2vw, 1.92rem);
    }

    .nav-cta {
        min-width: 108px;
        min-height: 36px;
        padding: 0.34rem 0.68rem;
        font-size: clamp(0.68rem, 2.45vw, 0.82rem);
    }
}

/* Stack Northwind Difference cards vertically on mobile only. */
@media (max-width: 768px) {
    #why-northwind .northwind-difference__grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 560px) {
    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.72rem);
    }

    .nav-container {
        min-height: 58px;
        padding: 0.48rem 0.56rem;
        margin: 0 0.45rem;
        border-radius: 16px;
    }

    .logo h1 {
        font-size: clamp(1.28rem, 5.6vw, 1.58rem);
        gap: 0.18rem;
    }

    .nav-cta {
        min-width: 96px;
        min-height: 33px;
        padding: 0.28rem 0.56rem;
        font-size: clamp(0.62rem, 2.2vw, 0.76rem);
    }

    .hero-inner {
        padding: max(calc(6.1rem + env(safe-area-inset-top, 0px)), 6.5rem) 0.78rem 1.1rem;
    }

    .hero .hero-content {
        gap: 0.9rem;
    }

    .hero-eyebrow {
        font-size: clamp(0.68rem, 2.5vw, 0.8rem);
        letter-spacing: 0.22em;
        margin-bottom: 0.82rem;
    }

    .hero-headline {
        font-size: clamp(3.3rem, 15.2vw, 4.8rem);
        line-height: 0.9;
        margin-bottom: 0.78rem;
    }

    .hero-copytext {
        max-width: 18ch;
        margin-bottom: 0.9rem;
        font-size: clamp(0.9rem, 3.5vw, 1.06rem);
        line-height: 1.44;
    }

    .hero-trust-bar {
        margin-bottom: 0.95rem;
    }

    .hero-trust-content {
        gap: 0.45rem;
    }

    .hero-trust-item {
        padding: 0.46rem 0.72rem;
        border-radius: 16px;
        font-size: clamp(0.82rem, 3vw, 0.94rem);
    }

    .cta-button {
        width: min(100%, 19.5rem);
        min-height: 56px;
        padding: 0.72rem 1.1rem;
        border-radius: 16px;
        font-size: clamp(0.98rem, 3vw, 1.12rem);
    }

    .hero .hero-right .hero-float-cards {
        gap: 0.62rem;
    }

    .hero .hero-right .hero-float-card,
    .hero .hero-right .hero-float-card-top,
    .hero .hero-right .hero-float-card-bottom {
        min-height: 176px;
        padding: 0.74rem 0.66rem;
        border-radius: 18px;
    }

    .hero-float-icon {
        width: 1.08rem;
        height: 1.08rem;
        margin-bottom: 0.34rem;
    }

    .hero-float-title,
    .hero-float-card-bottom .hero-float-title {
        font-size: clamp(0.98rem, 4.6vw, 1.28rem);
        margin-bottom: 0.34rem;
    }

    .hero-float-copy {
        font-size: clamp(0.68rem, 2.9vw, 0.9rem);
        line-height: 1.34;
    }
}

/* Screenshot match lock: hero and top nav. */
.logo::after {
    content: none !important;
}

.hero-eyebrow,
.hero-launch-offer {
    display: none !important;
}

.hero-inner {
    align-items: center;
    padding-top: clamp(7.4rem, 8.5vw, 8.8rem) !important;
}

.hero-copy {
    max-width: 540px;
}

.hero-headline {
    margin-bottom: 0.96rem !important;
    font-size: clamp(4rem, 6.2vw, 6.8rem) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.052em !important;
}

.hero-copytext {
    max-width: 440px;
    margin-bottom: 0.92rem !important;
    font-size: clamp(1.05rem, 1.35vw, 1.35rem) !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.88) !important;
}

.hero-trust-bar {
    display: flex !important;
    align-items: center;
    gap: 0.86rem;
    min-width: 0 !important;
    margin-bottom: 1.28rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.hero-trust-item {
    padding: 0.5rem 0.86rem !important;
    border-radius: 10px !important;
    border: 1px solid rgba(183, 206, 239, 0.24) !important;
    background: rgba(11, 22, 40, 0.56) !important;
    color: rgba(236, 243, 255, 0.96) !important;
    font-size: clamp(0.88rem, 1vw, 1rem) !important;
    font-weight: 580 !important;
}

.hero-trust-item svg {
    width: 0.98rem;
    height: 0.98rem;
}

.hero .cta-button {
    min-width: 228px !important;
    min-height: 54px !important;
    padding: 0.72rem 1.55rem !important;
    border-radius: 9px !important;
    border: 1px solid rgba(186, 144, 255, 0.82) !important;
    background: linear-gradient(145deg, rgba(95, 141, 227, 0.95), rgba(87, 127, 216, 0.93)) !important;
    box-shadow:
        0 14px 32px rgba(42, 87, 166, 0.28),
        0 0 0 1px rgba(171, 126, 255, 0.42),
        0 0 26px rgba(174, 122, 255, 0.34),
        0 0 54px rgba(137, 84, 241, 0.24) !important;
    font-size: clamp(0.94rem, 1.05vw, 1.08rem) !important;
    animation: heroCtaPulse 8.4s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.hero .cta-button::after {
    border-color: rgba(204, 162, 255, 0.96) !important;
    box-shadow:
        0 0 24px rgba(190, 136, 255, 0.52),
        0 0 46px rgba(139, 85, 245, 0.34) !important;
    animation: heroCtaOutlinePulse 7.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.hero .cta-button:hover,
.hero .cta-button:focus-visible {
    transform: translateY(-3px) scale(1.012) !important;
    box-shadow:
        0 22px 42px rgba(42, 87, 166, 0.36),
        0 0 0 1px rgba(200, 159, 255, 0.58),
        0 0 38px rgba(190, 136, 255, 0.50),
        0 0 72px rgba(152, 96, 255, 0.36) !important;
}

.hero .cta-button:hover::after,
.hero .cta-button:focus-visible::after {
    border-color: rgba(224, 188, 255, 1) !important;
    box-shadow:
    0 0 34px rgba(202, 149, 255, 0.68),
    0 0 64px rgba(155, 99, 255, 0.48) !important;
}

@media (prefers-reduced-motion: reduce) {
    .hero .cta-button,
    .hero .cta-button::after {
        animation: none !important;
    }
}

@media (max-width: 980px) {
    .hero-headline {
        font-size: clamp(3.2rem, 10.8vw, 5.1rem) !important;
    }

    .hero-copytext {
        font-size: clamp(0.96rem, 2.85vw, 1.15rem) !important;
    }

    .hero-trust-item {
        font-size: clamp(0.8rem, 2.5vw, 0.95rem) !important;
        padding: 0.5rem 0.8rem !important;
    }

    .cta-button {
        min-width: 208px !important;
        min-height: 50px !important;
        font-size: 0.95rem !important;
    }
}

@media (max-width: 680px) {
    .hero-trust-bar {
        flex-wrap: wrap;
        gap: 0.58rem;
        margin-bottom: 1.35rem !important;
    }
}

/* Ensure card hover response is consistent on cursor devices. */
@media (hover: hover) and (pointer: fine) {
    #why-northwind .northwind-difference__card,
    .service-card,
    .work-item,
    .hero-float-card,
    .hero-float-card-top,
    .hero-float-card-bottom {
        cursor: pointer;
        transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
    }

    #why-northwind .northwind-difference__card:hover,
    .service-card:hover,
    .work-item:hover,
    .hero-float-card:hover,
    .hero-float-card-top:hover,
    .hero-float-card-bottom:hover {
        transform: translateY(-6px);
        box-shadow:
            0 22px 44px rgba(2, 8, 18, 0.44),
            0 0 24px rgba(120, 170, 255, 0.16);
    }
}

/* Mobile viewport fit lock: keep full hero in one screen on phones, including iPhone Safari. */
@media (max-width: 900px) {
    .navbar {
        padding-top: calc(env(safe-area-inset-top, 0px) + 0.72rem) !important;
    }

    .nav-container {
        width: calc(100% - 3rem) !important;
        min-height: 56px !important;
        margin: 0 1.5rem !important;
        padding: 0.44rem 0.56rem !important;
        border-radius: 16px !important;
    }

    .logo h1 {
        font-size: clamp(1.9rem, 6.1vw, 2.4rem) !important;
    }

    .nav-cta {
        min-width: 122px !important;
        min-height: 34px !important;
        padding: 0.28rem 0.6rem !important;
    }

    .nav-cta .liquid-glass__content {
        font-size: clamp(0.8rem, 2.55vw, 0.9rem) !important;
    }

    .hero {
        min-height: var(--mobile-vh, 100svh) !important;
        height: var(--mobile-vh, 100svh) !important;
    }

    .hero-inner {
        min-height: 100svh !important;
        min-height: 100dvh !important;
        height: 100%;
        align-items: flex-start;
        justify-content: flex-start;
        padding:
            max(calc(4.1rem + env(safe-area-inset-top, 0px)), 4.5rem)
            1.5rem
            calc(0.9rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    .hero-copy {
        max-width: min(100%, 25rem);
    }

    .hero-headline {
        font-size: clamp(3.15rem, 12.9vw, 4.2rem) !important;
        line-height: 0.9 !important;
        margin-bottom: 0.72rem !important;
    }

    .hero-copytext {
        font-size: clamp(0.88rem, 3.05vw, 0.98rem) !important;
        line-height: 1.36 !important;
        margin-bottom: 0.8rem !important;
        max-width: 23ch;
    }

    .hero-trust-bar {
        gap: 0.42rem;
        margin-bottom: 0.8rem !important;
    }

    .hero-trust-item {
        padding: 0.3rem 0.5rem !important;
        border-color: rgba(174, 198, 236, 0.2) !important;
        background: rgba(9, 18, 33, 0.42) !important;
        color: rgba(225, 235, 250, 0.88) !important;
        font-size: clamp(0.68rem, 2.2vw, 0.78rem) !important;
    }

    .hero .cta-button {
        width: min(100%, 14.8rem) !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding: 0.42rem 0.82rem !important;
        border-radius: 10px !important;
        box-shadow:
            0 10px 22px rgba(35, 75, 144, 0.22),
            0 0 0 1px rgba(156, 114, 240, 0.24),
            0 0 14px rgba(159, 108, 243, 0.2) !important;
        font-size: clamp(0.84rem, 2.5vw, 0.9rem) !important;
        animation: none !important;
    }

    .hero .cta-button::after {
        opacity: 0.55;
        box-shadow:
            0 0 14px rgba(177, 126, 255, 0.34),
            0 0 24px rgba(132, 81, 236, 0.22) !important;
    }
}

@media (max-width: 560px) {
    .nav-container {
        width: calc(100% - 3rem) !important;
        margin: 0 1.5rem !important;
        min-height: 54px !important;
    }

    .logo h1 {
        font-size: clamp(1.7rem, 7.3vw, 2.1rem) !important;
    }

    .hero-inner {
        padding:
            max(calc(3.9rem + env(safe-area-inset-top, 0px)), 4.2rem)
            1.5rem
            calc(0.82rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    .hero-headline {
        font-size: clamp(2.95rem, 13.3vw, 3.85rem) !important;
    }

    .hero-copytext {
        font-size: clamp(0.84rem, 3.7vw, 0.94rem) !important;
    }

    .hero .cta-button {
        width: min(100%, 14.2rem) !important;
        min-height: 40px !important;
    }
}

@supports (-webkit-touch-callout: none) {
    @media (max-width: 900px) {
        .hero {
            min-height: var(--mobile-vh, 100svh) !important;
            height: var(--mobile-vh, 100svh) !important;
        }

        .hero-inner {
            min-height: 100% !important;
            height: 100% !important;
            padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
        }
    }
}

/* Hero-only refinement: first-time offer + mobile Safari full-screen fit. */
html,
body {
    margin: 0;
    padding: 0;
}

.hero-first-offer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.22rem;
    width: min(100%, 430px);
    margin: 0 0 0.78rem;
}

.hero-first-offer__label {
    display: inline-flex;
    align-items: center;
    gap: 0.44rem;
    margin: 0;
    color: var(--accent-light-blue);
    font-size: clamp(0.84rem, 1vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.15;
    text-transform: uppercase;
    text-shadow: 0 5px 16px rgba(0, 0, 0, 0.3);
}

.hero-first-offer__icon {
    display: inline-flex;
    width: 0.96rem;
    height: 0.96rem;
    flex-shrink: 0;
}

.hero-first-offer__icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hero-first-offer__subtext {
    margin: 0;
    color: rgba(224, 235, 249, 0.84);
    font-size: clamp(0.76rem, 0.86vw, 0.88rem);
    font-weight: 500;
    line-height: 1.3;
    text-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

@media (max-width: 900px) {
    .hero {
        min-height: 100vh !important;
        min-height: 100svh !important;
        height: 100dvh !important;
        box-sizing: border-box;
        overflow: hidden;
    }

    .hero-inner {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        min-height: 100% !important;
        height: 100% !important;
        box-sizing: border-box;
        align-items: flex-start;
        justify-content: center;
        padding-top: calc(clamp(5rem, 12dvh, 6.4rem) + min(env(safe-area-inset-top, 0px), 22px)) !important;
        padding-bottom: calc(clamp(0.82rem, 2.8dvh, 1.24rem) + min(env(safe-area-inset-bottom, 0px), 20px)) !important;
        padding-left: calc(1.1rem + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(1.1rem + env(safe-area-inset-right, 0px)) !important;
    }

    .hero .hero-content {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        place-items: initial !important;
        place-content: initial !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    .hero .hero-copy,
    .hero .hero-left {
        width: calc(100% - 32px);
        max-width: 26rem;
        margin-left: 0;
        margin-right: 0;
        margin-top: clamp(168px, 23dvh, 300px);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        justify-self: start !important;
    }

    .hero-headline {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: clamp(0.46rem, 1.4dvh, 0.72rem) !important;
        line-height: clamp(0.88, 0.91, 0.93) !important;
    }

    .hero-copytext {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
        max-width: 340px;
        margin-bottom: clamp(0.42rem, 1.3dvh, 0.66rem) !important;
        line-height: clamp(1.28, 1.34, 1.4) !important;
    }

    .hero-first-offer {
        align-items: flex-start;
        text-align: left;
        margin-left: 0;
        margin-right: 0;
        gap: clamp(0.16rem, 0.7dvh, 0.3rem);
        margin-bottom: clamp(0.4rem, 1.3dvh, 0.62rem);
        width: min(100%, 23rem);
    }

    .hero-first-offer__label {
        justify-content: flex-start;
        text-align: left;
        gap: 0.36rem;
        font-size: clamp(0.72rem, 2.5vw, 0.84rem);
        letter-spacing: 0.05em;
        line-height: 1.12;
    }

    .hero-first-offer__icon {
        width: 0.82rem;
        height: 0.82rem;
    }

    .hero-first-offer__subtext {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
        max-width: 28ch;
        font-size: clamp(0.62rem, 2.2vw, 0.74rem);
        line-height: 1.22;
    }

    .hero-trust-bar {
        justify-content: flex-start;
        flex-wrap: nowrap;
        margin-left: 0;
        margin-right: 0;
        gap: clamp(0.34rem, 1.2dvh, 0.54rem);
        margin-bottom: clamp(0.48rem, 1.35dvh, 0.72rem) !important;
    }

    .hero-trust-item {
        padding: clamp(0.26rem, 0.9dvh, 0.34rem) clamp(0.44rem, 1.6vw, 0.62rem) !important;
        font-size: clamp(0.61rem, 2vw, 0.72rem) !important;
        gap: 0.34rem;
    }

    .hero .cta-button {
        min-height: clamp(37px, 5.2dvh, 42px) !important;
        padding: clamp(0.36rem, 1.5dvh, 0.56rem) clamp(0.78rem, 3vw, 1rem) !important;
        width: min(100%, 14.5rem) !important;
        font-size: clamp(0.78rem, 2.35vw, 0.86rem) !important;
        margin-left: 0;
        margin-right: 0;
        animation: heroCtaPulse 8.4s cubic-bezier(0.45, 0, 0.55, 1) infinite !important;
    }

    .hero .cta-button::after {
        animation: heroCtaOutlinePulse 7.8s cubic-bezier(0.45, 0, 0.55, 1) infinite !important;
    }
}

@media (max-width: 900px) and (max-height: 820px) {
    .hero-inner {
        padding-top: calc(clamp(4.65rem, 10.4dvh, 5.65rem) + min(env(safe-area-inset-top, 0px), 20px)) !important;
        padding-bottom: calc(clamp(0.68rem, 2.3dvh, 0.98rem) + min(env(safe-area-inset-bottom, 0px), 18px)) !important;
    }

    .hero-headline {
        font-size: clamp(2.68rem, 11.7vw, 3.52rem) !important;
        margin-bottom: clamp(0.42rem, 1.35dvh, 0.68rem) !important;
    }

    .hero-copytext {
        font-size: clamp(0.75rem, 2.85vw, 0.86rem) !important;
        margin-bottom: clamp(0.46rem, 1.35dvh, 0.68rem) !important;
    }

    .hero-first-offer {
        margin-bottom: clamp(0.42rem, 1.3dvh, 0.64rem);
    }

    .hero .hero-copy,
    .hero .hero-left {
        margin-top: clamp(130px, 18dvh, 220px);
    }

    .hero-trust-bar {
        margin-bottom: clamp(0.44rem, 1.3dvh, 0.68rem) !important;
    }
}

@media (max-width: 900px) and (max-height: 730px) {
    .nav-container {
        min-height: 52px !important;
        padding: 0.36rem 0.52rem !important;
    }

    .logo h1 {
        font-size: clamp(1.62rem, 6.4vw, 1.96rem) !important;
    }

    .hero-inner {
        padding-top: calc(clamp(4.1rem, 9.6dvh, 5rem) + min(env(safe-area-inset-top, 0px), 18px)) !important;
        padding-bottom: calc(clamp(0.58rem, 1.8dvh, 0.84rem) + min(env(safe-area-inset-bottom, 0px), 16px)) !important;
    }

    .hero-headline {
        font-size: clamp(2.64rem, 11.8vw, 3.52rem) !important;
        line-height: 0.88 !important;
    }

    .hero-copytext {
        font-size: clamp(0.76rem, 2.75vw, 0.86rem) !important;
        line-height: 1.24 !important;
        max-width: 22ch;
    }

    .hero-first-offer__label {
        font-size: clamp(0.65rem, 2.3vw, 0.76rem);
    }

    .hero-first-offer__subtext {
        font-size: clamp(0.6rem, 2.1vw, 0.7rem);
    }

    .hero-trust-item {
        font-size: clamp(0.58rem, 1.95vw, 0.68rem) !important;
        padding: 0.24rem 0.42rem !important;
    }

    .hero .cta-button {
        min-height: 35px !important;
        font-size: clamp(0.74rem, 2.18vw, 0.82rem) !important;
        width: min(100%, 13.8rem) !important;
    }

    .hero .hero-copy,
    .hero .hero-left {
        margin-top: clamp(92px, 13dvh, 152px);
    }
}

/* Final mobile framing lock for hero image. */
@media (max-width: 900px) {
    .hero-bg {
        background-size: cover !important;
        background-position: 53% center !important;
    }
}

@media (max-width: 560px) {
    .hero-bg {
        background-position: 55% center !important;
    }
}

/* Final iPhone Safari hero viewport lock. */
@media (max-width: 900px) {
    .hero {
        position: relative !important;
        width: 100% !important;
        min-height: 100vh !important;
        min-height: 100svh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .hero-bg,
    .hero-overlay {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .hero-bg {
        background-size: cover !important;
    }

    .navbar {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
    }

    .hero-inner {
        position: relative;
        z-index: 4;
        width: 100% !important;
        min-height: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        padding-top: calc(clamp(4.2rem, 9dvh, 5.5rem) + min(env(safe-area-inset-top, 0px), 20px)) !important;
        padding-bottom: calc(clamp(0.7rem, 2dvh, 1rem) + min(env(safe-area-inset-bottom, 0px), 18px)) !important;
        padding-left: calc(1.1rem + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(1.1rem + env(safe-area-inset-right, 0px)) !important;
    }
}

@supports not (height: 100dvh) {
    @media (max-width: 900px) {
        .hero {
            height: 100svh !important;
            max-height: 100svh !important;
        }
    }
}




