:root {
    --ap-navy: #0B1F3A;
    --ap-ink: #16202B;
    --ap-graphite: #1E252C;
    --ap-blue: #0E8FB8;
    --ap-blue-bright: #27AEE4;
    --ap-green: #4FAE32;
    --ap-amber: #E8743B;
    --ap-mist: #F6F8FA;
    --ap-steel: #5B6B7A;
    --ap-line: rgba(22, 32, 43, 0.12);
    --ap-white: #FFFFFF;
    --ap-radius-sm: 12px;
    --ap-radius-md: 18px;
    --ap-radius-lg: 28px;
    --ap-shadow: 0 24px 70px rgba(11, 31, 58, 0.16);
    --ap-font-display: "Space Grotesk", system-ui, sans-serif;
    --ap-font-body: "IBM Plex Sans", system-ui, sans-serif;
    --ap-font-mono: "IBM Plex Mono", monospace;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.airplex-home {
    margin: 0;
    font-family: var(--ap-font-body);
    color: var(--ap-ink);
    background: var(--ap-white);
}

body.airplex-home a {
    color: inherit;
    text-decoration: none;
}

.ap-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ap-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(11, 31, 58, 0.08);
}

.ap-header__inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.ap-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 145px;
    overflow: visible;
}

.ap-logo img {
    width: 128px;
    max-height: 68px;
    object-fit: contain;
    display: block;
}

.ap-logo__text {
    font-family: var(--ap-font-display);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.04em;
    color: var(--ap-navy);
}

.ap-nav {
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: 14px;
    font-weight: 700;
    color: var(--ap-graphite);
}

.ap-nav a {
    opacity: 0.82;
}

.ap-nav a:hover {
    opacity: 1;
    color: var(--ap-blue);
}

.ap-header__actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ap-phone {
    font-family: var(--ap-font-mono);
    font-size: 13px;
    font-weight: 700;
    color: var(--ap-navy);
    white-space: nowrap;
}

.ap-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
    border: 1px solid transparent;
    cursor: pointer;
}

.ap-btn:hover {
    transform: translateY(-1px);
}

.ap-btn--primary {
    color: var(--ap-white);
    background: linear-gradient(135deg, var(--ap-blue), var(--ap-blue-bright));
    box-shadow: 0 14px 30px rgba(14, 143, 184, 0.28);
}

.ap-btn--secondary {
    color: var(--ap-white);
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.28);
}

.ap-section--light .ap-btn--secondary,
.ap-section--white .ap-btn--secondary {
    color: var(--ap-navy);
    background: var(--ap-white);
    border-color: var(--ap-line);
}

.ap-btn--large {
    min-height: 54px;
    padding: 0 24px;
    font-size: 14px;
}

.ap-hero {
    position: relative;
    overflow: hidden;
    color: var(--ap-white);
    background:
        radial-gradient(circle at 78% 26%, rgba(14, 143, 184, 0.42), transparent 31%),
        radial-gradient(circle at 14% 8%, rgba(79, 174, 50, 0.24), transparent 28%),
        linear-gradient(135deg, #061522 0%, #0B1F3A 46%, #050C14 100%);
}

.ap-hero::before {
    content: "";
    position: absolute;
    inset: auto -10% -35% -10%;
    height: 55%;
    background:
        linear-gradient(90deg, transparent, rgba(39,174,228,0.10), transparent),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,0.08), transparent 52%);
    pointer-events: none;
}

.ap-hero::after {
    content: "AIRPLEX MECHANICAL";
    position: absolute;
    right: -40px;
    bottom: 30px;
    font-family: var(--ap-font-display);
    font-size: clamp(72px, 10vw, 170px);
    font-weight: 700;
    letter-spacing: -0.08em;
    color: rgba(255,255,255,0.035);
    white-space: nowrap;
    pointer-events: none;
}

.ap-hero__grid {
    position: absolute;
    inset: 0;
    opacity: 0.22;
    background-image:
        linear-gradient(rgba(255,255,255,0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, black, transparent 86%);
}

.ap-hero__inner {
    position: relative;
    z-index: 2;
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.86fr);
    align-items: center;
    gap: 70px;
    padding: 64px 0 76px;
}

.ap-hero__content {
    position: relative;
    padding-left: 28px;
}

.ap-hero__content::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 4px;
    height: 128px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--ap-blue-bright), var(--ap-green));
    box-shadow: 0 0 28px rgba(39, 174, 228, 0.35);
}

.ap-eyebrow {
    font-family: var(--ap-font-mono);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ap-blue-bright);
    font-weight: 700;
    margin-bottom: 16px;
}

.ap-hero h1,
.ap-section h2,
.ap-final-cta h2 {
    font-family: var(--ap-font-display);
    letter-spacing: -0.055em;
    line-height: 0.98;
    margin: 0;
}

.ap-hero h1 {
    font-size: clamp(46px, 5.25vw, 72px);
    max-width: 820px;
    text-wrap: balance;
}

.ap-hero__lead {
    font-size: clamp(17px, 1.35vw, 19px);
    line-height: 1.62;
    max-width: 680px;
    color: rgba(255, 255, 255, 0.80);
    margin: 20px 0 0;
}

.ap-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 26px;
}

.ap-spec-line {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ap-spec-line span {
    font-family: var(--ap-font-mono);
    font-size: 11px;
    color: rgba(255,255,255,0.78);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 999px;
    padding: 9px 11px;
    background: rgba(255,255,255,0.06);
}

.ap-spec-line strong {
    color: var(--ap-white);
}

.ap-hero-visual {
    position: relative;
    min-height: 520px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 34px 90px rgba(0,0,0,0.38);
    background: rgba(255,255,255,0.08);
    isolation: isolate;
}

.ap-hero-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(180deg, rgba(5,12,20,0.08) 0%, rgba(5,12,20,0.42) 100%),
        linear-gradient(90deg, rgba(5,12,20,0.28) 0%, transparent 52%);
    pointer-events: none;
}

.ap-hero-visual::after {
    content: "";
    position: absolute;
    inset: 18px;
    z-index: 3;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 24px;
    pointer-events: none;
}

.ap-hero-visual__image {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.ap-hero-visual__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 47% 50%;
    transform: scale(1.02);
}

.ap-hero-visual__overlay {
    position: absolute;
    left: 32px;
    bottom: 32px;
    z-index: 4;
    width: min(340px, calc(100% - 64px));
    padding: 20px;
    border-radius: 20px;
    background: rgba(5,12,20,0.76);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.16);
}

.ap-hero-visual__overlay span {
    display: block;
    margin-bottom: 7px;
    font-family: var(--ap-font-mono);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--ap-blue-bright);
}

.ap-hero-visual__overlay strong {
    display: block;
    font-family: var(--ap-font-display);
    font-size: 26px;
    line-height: 1.05;
    letter-spacing: -0.045em;
    color: var(--ap-white);
}

.ap-hero-visual__stat {
    position: absolute;
    z-index: 5;
    display: grid;
    gap: 3px;
    min-width: 118px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,0.92);
    color: var(--ap-navy);
    box-shadow: 0 16px 40px rgba(0,0,0,0.18);
}

.ap-hero-visual__stat strong {
    font-family: var(--ap-font-display);
    font-size: 26px;
    line-height: 1;
    letter-spacing: -0.05em;
}

.ap-hero-visual__stat span {
    font-family: var(--ap-font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ap-steel);
}

.ap-hero-visual__stat--top {
    top: 34px;
    right: 34px;
}

.ap-hero-visual__stat--bottom {
    top: 124px;
    right: 34px;
}

.ap-trustbar {
    background: linear-gradient(180deg, #ffffff 0%, #F6F8FA 100%);
    border-bottom: 1px solid var(--ap-line);
}

.ap-trustbar__inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.ap-trustbar__inner div {
    padding: 26px 22px;
    border-right: 1px solid var(--ap-line);
    position: relative;
}

.ap-trustbar__inner div::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 16px;
    width: 24px;
    height: 3px;
    border-radius: 999px;
    background: var(--ap-blue);
}

.ap-trustbar__inner div:first-child {
    border-left: 1px solid var(--ap-line);
}

.ap-trustbar strong {
    display: block;
    font-family: var(--ap-font-display);
    font-size: 19px;
    letter-spacing: -0.04em;
    color: var(--ap-navy);
    margin-top: 8px;
}

.ap-trustbar span {
    display: block;
    margin-top: 5px;
    font-size: 13px;
    color: var(--ap-steel);
}

.ap-section {
    padding: 84px 0;
}

.ap-section--light {
    background: var(--ap-mist);
}

.ap-section--white {
    background: var(--ap-white);
}

.ap-section--dark {
    color: var(--ap-white);
    background:
        radial-gradient(circle at 80% 20%, rgba(14,143,184,0.22), transparent 28%),
        linear-gradient(135deg, var(--ap-ink), #07111D);
}

.ap-section__intro {
    max-width: 760px;
    margin-bottom: 42px;
}

.ap-section__intro h2,
.ap-split h2,
.ap-install h2 {
    font-family: var(--ap-font-display);
    font-size: clamp(34px, 4.4vw, 58px);
    line-height: 1;
    letter-spacing: -0.055em;
    margin: 0;
    color: var(--ap-navy);
}

.ap-section--dark .ap-section__intro h2,
.ap-section--dark .ap-split h2 {
    color: var(--ap-white);
}

.ap-section__intro p,
.ap-split p,
.ap-install p {
    color: var(--ap-steel);
    font-size: 18px;
    line-height: 1.65;
}

.ap-section--dark p {
    color: rgba(255,255,255,0.72);
}

.ap-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.ap-service-card {
    position: relative;
    min-height: 340px;
    display: flex;
    flex-direction: column;
    padding: 28px;
    background: var(--ap-white);
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-md);
    box-shadow: 0 10px 30px rgba(11, 31, 58, 0.05);
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ap-service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(14,143,184,0.06), transparent 42%),
        radial-gradient(circle at 100% 100%, rgba(14,143,184,0.10), transparent 30%);
    opacity: 0;
    transition: opacity 180ms ease;
}

.ap-service-card::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -42px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(14,143,184,0.08);
}

.ap-service-card:hover {
    border-color: rgba(14,143,184,0.35);
    transform: translateY(-4px);
    box-shadow: var(--ap-shadow);
}

.ap-service-card:hover::before {
    opacity: 1;
}

.ap-service-card__icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(14,143,184,0.10), rgba(79,174,50,0.08));
    border: 1px solid rgba(14,143,184,0.16);
}

.ap-service-card__icon svg {
    width: 34px;
    height: 34px;
    stroke: var(--ap-blue);
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ap-service-card:hover .ap-service-card__icon {
    background:
        linear-gradient(135deg, rgba(14,143,184,0.16), rgba(79,174,50,0.12));
    border-color: rgba(14,143,184,0.34);
}

.ap-service-card__label {
    position: relative;
    z-index: 2;
    width: fit-content;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ap-blue);
    background: rgba(14,143,184,0.09);
    border-radius: 999px;
    padding: 8px 10px;
}

.ap-service-card h3 {
    position: relative;
    z-index: 2;
    font-family: var(--ap-font-display);
    font-size: 27px;
    line-height: 1.05;
    letter-spacing: -0.045em;
    color: var(--ap-navy);
    margin: 20px 0 12px;
}

.ap-service-card p {
    position: relative;
    z-index: 2;
    color: var(--ap-steel);
    line-height: 1.6;
    margin: 0 0 28px;
}

.ap-service-card__link {
    position: relative;
    z-index: 2;
    font-weight: 800;
    color: var(--ap-navy);
}

.ap-split {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1fr);
    gap: 60px;
    align-items: start;
}

.ap-feature-list {
    display: grid;
    gap: 16px;
}

.ap-feature-list div {
    padding: 26px;
    border-radius: var(--ap-radius-md);
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
}

.ap-feature-list h3 {
    font-family: var(--ap-font-display);
    font-size: 24px;
    letter-spacing: -0.04em;
    margin: 0 0 8px;
}

.ap-feature-list p {
    margin: 0;
}

.ap-nyc-proof {
    padding: 96px 0;
    background:
        radial-gradient(circle at 18% 18%, rgba(14,143,184,0.12), transparent 28%),
        linear-gradient(135deg, #F6F8FA 0%, #FFFFFF 100%);
}

.ap-nyc-proof__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 54px;
    align-items: center;
}

.ap-nyc-proof__image {
    position: relative;
    min-height: 540px;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: var(--ap-shadow);
    border: 1px solid var(--ap-line);
}

.ap-nyc-proof__image::after {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255,255,255,0.42);
    border-radius: 24px;
    pointer-events: none;
}

.ap-nyc-proof__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% 50%;
}

.ap-nyc-proof__content h2 {
    font-family: var(--ap-font-display);
    font-size: clamp(38px, 4.6vw, 62px);
    line-height: 1;
    letter-spacing: -0.06em;
    color: var(--ap-navy);
    margin: 0;
}

.ap-nyc-proof__content p {
    margin: 22px 0 0;
    max-width: 680px;
    color: var(--ap-steel);
    font-size: 18px;
    line-height: 1.65;
}

.ap-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin: 34px 0;
}

.ap-stat-grid div {
    padding: 22px;
    border-radius: 20px;
    background: var(--ap-white);
    border: 1px solid var(--ap-line);
    box-shadow: 0 12px 30px rgba(11,31,58,0.06);
}

.ap-stat-grid strong {
    display: block;
    font-family: var(--ap-font-display);
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--ap-navy);
}

.ap-stat-grid span {
    display: block;
    margin-top: 8px;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ap-steel);
}

.ap-nyc-proof__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ap-btn--dark-outline {
    color: var(--ap-navy);
    background: transparent;
    border-color: rgba(11,31,58,0.18);
}

.ap-install__panel {
    padding: 44px;
    border-radius: var(--ap-radius-lg);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,255,255,0.78)),
        radial-gradient(circle at 88% 20%, rgba(79,174,50,0.16), transparent 26%),
        radial-gradient(circle at 18% 80%, rgba(14,143,184,0.14), transparent 28%);
    border: 1px solid var(--ap-line);
    box-shadow: var(--ap-shadow);
}

.ap-pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0 32px;
}

.ap-pill-list span {
    font-family: var(--ap-font-mono);
    font-size: 12px;
    font-weight: 700;
    color: var(--ap-navy);
    background: var(--ap-mist);
    border: 1px solid var(--ap-line);
    border-radius: 999px;
    padding: 10px 12px;
}

.ap-reviews-section {
    padding: 96px 0;
    background: var(--ap-white);
}

.ap-reviews-section__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 48px;
    align-items: end;
    margin-bottom: 42px;
}

.ap-reviews-section__top h2 {
    font-family: var(--ap-font-display);
    font-size: clamp(38px, 4.7vw, 64px);
    line-height: 1;
    letter-spacing: -0.06em;
    color: var(--ap-navy);
    margin: 0;
}

.ap-reviews-section__top p {
    max-width: 720px;
    color: var(--ap-steel);
    font-size: 18px;
    line-height: 1.65;
}

.ap-rating-card {
    padding: 28px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0%, rgba(14,143,184,0.14), transparent 34%),
        var(--ap-mist);
    border: 1px solid var(--ap-line);
}

.ap-rating-card strong {
    display: block;
    font-family: var(--ap-font-display);
    font-size: 56px;
    line-height: 1;
    letter-spacing: -0.06em;
    color: var(--ap-navy);
}

.ap-rating-card span {
    display: block;
    margin-top: 8px;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ap-blue);
    font-weight: 700;
}

.ap-rating-card p {
    margin: 16px 0 18px;
    color: var(--ap-steel);
    font-size: 15px;
    line-height: 1.55;
}

.ap-rating-card a {
    font-weight: 800;
    color: var(--ap-navy);
}

.ap-reviews {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.ap-review-card {
    padding: 28px;
    border-radius: var(--ap-radius-md);
    border: 1px solid var(--ap-line);
    background: var(--ap-white);
    box-shadow: 0 10px 30px rgba(11,31,58,0.05);
}

.ap-stars {
    color: var(--ap-amber);
    letter-spacing: 0.08em;
    margin-bottom: 18px;
}

.ap-review-card p {
    font-size: 18px;
    line-height: 1.55;
    color: var(--ap-ink);
    margin: 0 0 20px;
}

.ap-review-card span {
    font-family: var(--ap-font-mono);
    font-size: 12px;
    color: var(--ap-steel);
}

.ap-process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.ap-process div {
    padding: 24px;
    background: var(--ap-white);
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius-md);
}

.ap-process span {
    font-family: var(--ap-font-mono);
    font-weight: 700;
    color: var(--ap-blue);
}

.ap-process h3 {
    font-family: var(--ap-font-display);
    font-size: 22px;
    letter-spacing: -0.04em;
    color: var(--ap-navy);
}

.ap-process p {
    color: var(--ap-steel);
    line-height: 1.55;
}

.ap-area-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.ap-area-links a {
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    color: var(--ap-white);
    font-weight: 700;
}

.ap-area-links a:hover {
    background: rgba(14,143,184,0.24);
}

.ap-maintenance {
    padding: 96px 0;
    color: var(--ap-white);
    background:
        radial-gradient(circle at 18% 20%, rgba(79,174,50,0.22), transparent 26%),
        radial-gradient(circle at 84% 28%, rgba(14,143,184,0.26), transparent 28%),
        linear-gradient(135deg, #06111D 0%, #0B1F3A 52%, #07111D 100%);
}

.ap-maintenance__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 58px;
    align-items: center;
}

.ap-maintenance h2 {
    font-family: var(--ap-font-display);
    font-size: clamp(38px, 4.8vw, 66px);
    line-height: 1;
    letter-spacing: -0.06em;
    margin: 0;
}

.ap-maintenance p {
    margin: 22px 0 0;
    max-width: 720px;
    color: rgba(255,255,255,0.76);
    font-size: 18px;
    line-height: 1.65;
}

.ap-maintenance__benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    max-width: 760px;
    margin: 34px 0;
}

.ap-maintenance__benefits div {
    padding: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.13);
}

.ap-maintenance__benefits strong {
    display: block;
    font-family: var(--ap-font-display);
    font-size: 26px;
    line-height: 1;
    letter-spacing: -0.04em;
}

.ap-maintenance__benefits span {
    display: block;
    margin-top: 7px;
    font-family: var(--ap-font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.62);
}

.ap-maintenance__card {
    padding: 34px;
    border-radius: 30px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: 0 34px 90px rgba(0,0,0,0.26);
}

.ap-maintenance__label {
    display: inline-flex;
    margin-bottom: 22px;
    padding: 9px 11px;
    border-radius: 999px;
    font-family: var(--ap-font-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.10em;
    color: #A8EED0;
    background: rgba(79,174,50,0.14);
    border: 1px solid rgba(79,174,50,0.24);
}

.ap-maintenance__card h3 {
    margin: 0 0 20px;
    font-family: var(--ap-font-display);
    font-size: 34px;
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.ap-maintenance__card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}

.ap-maintenance__card li {
    position: relative;
    padding-left: 26px;
    color: rgba(255,255,255,0.78);
    line-height: 1.5;
}

.ap-maintenance__card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ap-green);
    font-weight: 900;
}

.ap-faq__items {
    max-width: 900px;
}

.ap-faq__question {
    width: 100%;
    text-align: left;
    padding: 22px 0;
    border: 0;
    border-top: 1px solid var(--ap-line);
    background: transparent;
    font-family: var(--ap-font-display);
    font-size: 22px;
    letter-spacing: -0.035em;
    color: var(--ap-navy);
    cursor: pointer;
}

.ap-faq__question::after {
    content: "+";
    float: right;
    color: var(--ap-blue);
}

.ap-faq__question.is-open::after {
    content: "–";
}

.ap-faq__answer {
    display: none;
    padding: 0 0 22px;
    color: var(--ap-steel);
    line-height: 1.65;
}

.ap-faq__answer.is-open {
    display: block;
}

.ap-final-cta {
    color: var(--ap-white);
    background:
        radial-gradient(circle at 20% 20%, rgba(14,143,184,0.28), transparent 30%),
        linear-gradient(135deg, #06111D, var(--ap-navy));
    padding: 96px 0;
}

.ap-final-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 56px;
    align-items: center;
}

.ap-final-cta h2 {
    font-size: clamp(36px, 5vw, 64px);
    color: var(--ap-white);
}

.ap-final-cta p {
    color: rgba(255,255,255,0.72);
    font-size: 18px;
}

.ap-lead-form {
    background: var(--ap-white);
    border-radius: var(--ap-radius-lg);
    padding: 28px;
    box-shadow: var(--ap-shadow);
    display: grid;
    gap: 14px;
}

.ap-lead-form label span {
    display: block;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ap-steel);
    margin-bottom: 7px;
}

.ap-lead-form input,
.ap-lead-form select {
    width: 100%;
    min-height: 50px;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    padding: 0 14px;
    font: inherit;
    color: var(--ap-ink);
    background: var(--ap-mist);
}

.ap-footer {
    padding: 34px 0 96px;
    background: #050C14;
    color: rgba(255,255,255,0.72);
}

.ap-footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.ap-footer strong {
    display: block;
    color: var(--ap-white);
    font-family: var(--ap-font-display);
    font-size: 22px;
    letter-spacing: -0.04em;
}

.ap-footer a {
    display: block;
    margin-bottom: 8px;
    color: var(--ap-white);
    font-weight: 700;
}

.ap-mobile-bar {
    display: none;
}

:focus-visible {
    outline: 3px solid rgba(39,174,228,0.65);
    outline-offset: 3px;
}

@media (max-width: 1080px) {
    .ap-nav {
        display: none;
    }

    .ap-hero__inner,
    .ap-split,
    .ap-final-cta__inner {
        grid-template-columns: 1fr;
    }

    .ap-hero__inner {
        min-height: auto;
    }

    .ap-hero-visual {
        min-height: 480px;
    }

    .ap-nyc-proof__inner,
    .ap-reviews-section__top,
    .ap-maintenance__inner {
        grid-template-columns: 1fr;
    }

    .ap-maintenance__benefits {
        grid-template-columns: 1fr;
    }

    .ap-nyc-proof__image {
        min-height: 420px;
    }

    .ap-trustbar__inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .ap-services-grid,
    .ap-reviews {
        grid-template-columns: repeat(2, 1fr);
    }

    .ap-process {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    .ap-container {
        width: min(100% - 28px, 1180px);
    }

    .ap-header__inner {
        min-height: 72px;
    }

    .ap-header__actions .ap-btn {
        display: none;
    }

    .ap-phone {
        display: none;
    }

    .ap-logo img {
        width: 160px;
        max-height: 54px;
    }

    .ap-hero__inner {
        padding: 56px 0 64px;
        gap: 28px;
    }

    .ap-hero h1 {
        font-size: clamp(42px, 14vw, 58px);
    }

    .ap-hero__lead {
        font-size: 17px;
    }

    .ap-hero__actions {
        display: grid;
    }

    .ap-btn--large {
        width: 100%;
    }

    .ap-hero-visual {
        min-height: 390px;
        border-radius: 24px;
    }

    .ap-hero-visual::after {
        inset: 12px;
        border-radius: 18px;
    }

    .ap-hero-visual__overlay {
        left: 18px;
        bottom: 18px;
        width: calc(100% - 36px);
        padding: 16px;
        border-radius: 16px;
    }

    .ap-hero-visual__overlay strong {
        font-size: 22px;
    }

    .ap-hero-visual__stat {
        display: none;
    }

    .ap-trustbar__inner,
    .ap-services-grid,
    .ap-reviews,
    .ap-process,
    .ap-area-links,
    .ap-stat-grid,
    .ap-maintenance__benefits {
        grid-template-columns: 1fr;
    }

    .ap-trustbar__inner div {
        border-left: 1px solid var(--ap-line);
    }

    .ap-section {
        padding: 68px 0;
    }

    .ap-nyc-proof,
    .ap-reviews-section,
    .ap-maintenance {
        padding: 68px 0;
    }

    .ap-nyc-proof__image {
        min-height: 320px;
        border-radius: 24px;
    }

    .ap-reviews-section__top {
        gap: 24px;
    }

    .ap-rating-card {
        padding: 22px;
    }

    .ap-maintenance__card {
        padding: 24px;
        border-radius: 24px;
    }

    .ap-install__panel {
        padding: 28px;
    }

    .ap-final-cta {
        padding: 68px 0;
    }

    .ap-lead-form {
        padding: 22px;
    }

    .ap-footer {
        padding-bottom: 106px;
    }

    .ap-footer__inner {
        display: grid;
    }

    .ap-mobile-bar {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: 12px;
        z-index: 80;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 10px;
        border-radius: 999px;
        background: rgba(5,12,20,0.92);
        backdrop-filter: blur(18px);
        box-shadow: 0 16px 50px rgba(0,0,0,0.30);
    }

    .ap-mobile-bar a {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        font-weight: 800;
        color: var(--ap-white);
    }

    .ap-mobile-bar a:first-child {
        background: var(--ap-blue);
    }

    .ap-mobile-bar a:last-child {
        background: rgba(255,255,255,0.13);
    }
}

/* =========================================================
   AIRPLEX HOMEPAGE REFINEMENT PASS 01
   Purpose: improve scale, hierarchy, premium feel, and conversion clarity.
========================================================= */

/* Wider, more premium desktop canvas */
.ap-container {
    width: min(1260px, calc(100% - 56px));
}

/* Header refinement */
.ap-header {
    box-shadow: 0 12px 40px rgba(11, 31, 58, 0.045);
}

.ap-header__inner {
    min-height: 88px;
}

.ap-logo {
    width: 156px;
}

.ap-logo img {
    width: 138px;
    max-height: 74px;
}

.ap-nav {
    gap: 26px;
    font-size: 14.5px;
}

.ap-header__actions .ap-btn {
    min-height: 50px;
    padding-inline: 24px;
}

/* Hero: stronger above-the-fold presence */
.ap-hero {
    min-height: auto;
}

.ap-hero__inner {
    min-height: 680px;
    grid-template-columns: minmax(0, 1fr) minmax(480px, 0.88fr);
    gap: 78px;
    padding: 74px 0 84px;
}

.ap-hero__content {
    padding-left: 32px;
}

.ap-hero__content::before {
    height: 150px;
    width: 5px;
}

.ap-hero h1 {
    font-size: clamp(52px, 5.1vw, 76px);
    max-width: 780px;
    line-height: 0.96;
    letter-spacing: -0.065em;
}

.ap-hero__lead {
    max-width: 700px;
    font-size: clamp(18px, 1.35vw, 20px);
    line-height: 1.68;
    margin-top: 24px;
}

.ap-hero__actions {
    margin-top: 32px;
}

.ap-btn--large {
    min-height: 58px;
    padding-inline: 28px;
    font-size: 15px;
}

.ap-spec-line {
    margin-top: 28px;
}

.ap-spec-line span {
    padding: 10px 13px;
    font-size: 11px;
}

/* Hero visual panel */
.ap-hero-visual {
    min-height: 560px;
    border-radius: 38px;
    box-shadow:
        0 38px 100px rgba(0,0,0,0.42),
        0 0 0 1px rgba(255,255,255,0.04);
}

.ap-hero-visual__image img {
    object-position: 45% 50%;
    transform: scale(1.035);
}

.ap-hero-visual__overlay {
    left: 34px;
    bottom: 34px;
    padding: 22px;
}

.ap-hero-visual__overlay strong {
    font-size: 28px;
}

.ap-hero-visual__stat {
    border: 1px solid rgba(255,255,255,0.52);
}

.ap-hero-visual__stat strong {
    font-size: 30px;
}

/* Trust bar: more premium proof strip */
.ap-trustbar__inner {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ap-trustbar__inner div {
    padding: 30px 24px;
}

.ap-trustbar strong {
    font-size: 21px;
}

.ap-trustbar span {
    font-size: 13.5px;
    line-height: 1.45;
}

/* Global section rhythm */
.ap-section,
.ap-nyc-proof,
.ap-reviews-section,
.ap-maintenance {
    padding-top: 108px;
    padding-bottom: 108px;
}

.ap-section__intro {
    max-width: 850px;
    margin-bottom: 50px;
}

.ap-section__intro h2,
.ap-split h2,
.ap-install h2,
.ap-nyc-proof__content h2,
.ap-reviews-section__top h2,
.ap-maintenance h2 {
    letter-spacing: -0.065em;
}

/* Services section */
.ap-section--light {
    background:
        radial-gradient(circle at 14% 8%, rgba(14,143,184,0.07), transparent 26%),
        linear-gradient(180deg, #F6F8FA 0%, #F3F6F8 100%);
}

.ap-services-grid {
    gap: 22px;
}

.ap-service-card {
    min-height: 370px;
    padding: 32px;
    border-radius: 26px;
    box-shadow:
        0 12px 35px rgba(11, 31, 58, 0.06),
        inset 0 1px 0 rgba(255,255,255,0.75);
}

.ap-service-card__icon {
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    border-radius: 20px;
}

.ap-service-card__icon svg {
    width: 38px;
    height: 38px;
    stroke-width: 2.45;
}

.ap-service-card__label {
    position: relative;
    z-index: 2;
    font-size: 10.5px;
    padding: 8px 11px;
}

.ap-service-card h3 {
    font-size: 29px;
    margin-top: 22px;
}

.ap-service-card p {
    font-size: 16.5px;
}

.ap-service-card__link {
    margin-top: auto;
    font-size: 15px;
}

/* NYC proof section: make image/stat block feel more premium */
.ap-nyc-proof {
    background:
        radial-gradient(circle at 10% 18%, rgba(14,143,184,0.16), transparent 30%),
        radial-gradient(circle at 86% 76%, rgba(79,174,50,0.08), transparent 24%),
        linear-gradient(135deg, #F6F8FA 0%, #FFFFFF 100%);
}

.ap-nyc-proof__inner {
    gap: 70px;
}

.ap-nyc-proof__image {
    min-height: 570px;
    border-radius: 38px;
}

.ap-nyc-proof__content p {
    font-size: 19px;
}

.ap-stat-grid {
    gap: 16px;
}

.ap-stat-grid div {
    padding: 26px;
    border-radius: 22px;
}

.ap-stat-grid strong {
    font-size: 40px;
}

/* Installation panel: give it more depth */
.ap-install__panel {
    padding: 54px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 88% 18%, rgba(14,143,184,0.13), transparent 28%),
        radial-gradient(circle at 12% 88%, rgba(79,174,50,0.10), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,0.98), rgba(255,255,255,0.86));
}

.ap-install__panel h2 {
    max-width: 1080px;
}

/* Reviews: stronger conversion proof */
.ap-reviews-section {
    background:
        radial-gradient(circle at 90% 10%, rgba(14,143,184,0.07), transparent 26%),
        #FFFFFF;
}

.ap-reviews-section__top {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 56px;
}

.ap-rating-card {
    padding: 34px;
    border-radius: 30px;
    box-shadow: 0 18px 45px rgba(11,31,58,0.07);
}

.ap-rating-card strong {
    font-size: 64px;
}

.ap-reviews {
    gap: 22px;
}

.ap-review-card {
    padding: 34px;
    border-radius: 26px;
    box-shadow:
        0 16px 45px rgba(11,31,58,0.06),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

.ap-review-card p {
    font-size: 20px;
}

/* Process cards */
.ap-process {
    gap: 20px;
}

.ap-process div {
    padding: 30px;
    border-radius: 24px;
}

.ap-process h3 {
    font-size: 24px;
}

/* Service areas */
.ap-section--dark {
    background:
        radial-gradient(circle at 82% 22%, rgba(14,143,184,0.26), transparent 30%),
        radial-gradient(circle at 12% 80%, rgba(79,174,50,0.10), transparent 28%),
        linear-gradient(135deg, #07111D 0%, #0B1F3A 52%, #050C14 100%);
}

.ap-area-links {
    gap: 16px;
}

.ap-area-links a {
    min-height: 66px;
    display: flex;
    align-items: center;
    padding: 18px 22px;
    border-radius: 18px;
    font-size: 18px;
}

/* Maintenance section */
.ap-maintenance__card {
    border-radius: 34px;
}

.ap-maintenance__benefits div {
    border-radius: 20px;
}

.ap-maintenance__benefits strong {
    font-size: 30px;
}

/* FAQ */
.ap-faq__items {
    max-width: 980px;
}

.ap-faq__question {
    font-size: 24px;
    padding: 25px 0;
}

.ap-faq__answer p {
    font-size: 17px;
}

/* Final CTA */
.ap-final-cta {
    padding: 112px 0;
    background:
        radial-gradient(circle at 18% 20%, rgba(14,143,184,0.30), transparent 30%),
        radial-gradient(circle at 80% 70%, rgba(79,174,50,0.12), transparent 28%),
        linear-gradient(135deg, #06111D, var(--ap-navy));
}

.ap-final-cta__inner {
    grid-template-columns: minmax(0, 1fr) 460px;
    gap: 76px;
}

.ap-final-cta h2 {
    font-size: clamp(46px, 5.2vw, 74px);
    line-height: 0.97;
    letter-spacing: -0.07em;
}

.ap-lead-form {
    padding: 34px;
    border-radius: 34px;
}

/* Footer refinement */
.ap-footer {
    padding-top: 46px;
    padding-bottom: 70px;
}

/* Responsive refinement */
@media (max-width: 1080px) {
    .ap-container {
        width: min(100% - 40px, 1260px);
    }

    .ap-hero__inner {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 44px;
        padding: 68px 0 78px;
    }

    .ap-hero h1 {
        max-width: 820px;
    }

    .ap-hero-visual {
        min-height: 520px;
    }

    .ap-trustbar__inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .ap-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ap-nyc-proof__inner,
    .ap-reviews-section__top,
    .ap-maintenance__inner,
    .ap-final-cta__inner {
        grid-template-columns: 1fr;
    }

    .ap-nyc-proof__image {
        min-height: 460px;
    }

    .ap-maintenance__benefits {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 720px) {
    .ap-container {
        width: min(100% - 28px, 1260px);
    }

    .ap-header__inner {
        min-height: 74px;
    }

    .ap-logo {
        width: 128px;
    }

    .ap-logo img {
        width: 112px;
        max-height: 58px;
    }

    .ap-hero__content {
        padding-left: 20px;
    }

    .ap-hero__content::before {
        width: 4px;
        height: 110px;
    }

    .ap-hero h1 {
        font-size: clamp(42px, 12vw, 58px);
        line-height: 0.98;
    }

    .ap-hero__lead {
        font-size: 17px;
    }

    .ap-hero-visual {
        min-height: 390px;
        border-radius: 26px;
    }

    .ap-hero-visual__overlay {
        left: 18px;
        bottom: 18px;
        width: calc(100% - 36px);
    }

    .ap-hero-visual__stat {
        display: none;
    }

    .ap-trustbar__inner {
        grid-template-columns: 1fr;
    }

    .ap-section,
    .ap-nyc-proof,
    .ap-reviews-section,
    .ap-maintenance {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .ap-services-grid,
    .ap-reviews,
    .ap-process,
    .ap-area-links,
    .ap-stat-grid,
    .ap-maintenance__benefits {
        grid-template-columns: 1fr;
    }

    .ap-service-card {
        min-height: auto;
        padding: 28px;
    }

    .ap-nyc-proof__image {
        min-height: 320px;
    }

    .ap-install__panel {
        padding: 30px;
        border-radius: 26px;
    }

    .ap-reviews-section__top {
        gap: 28px;
    }

    .ap-rating-card,
    .ap-review-card,
    .ap-maintenance__card,
    .ap-lead-form {
        padding: 26px;
        border-radius: 26px;
    }

    .ap-final-cta {
        padding: 76px 0 92px;
    }

    .ap-final-cta h2 {
        font-size: clamp(40px, 11vw, 56px);
    }
}

/* =========================================================
   AIRPLEX HOMEPAGE V2 - TOP BAR, HEADER, HERO, BRAND STRIP
========================================================= */

.ap-topbar {
    position: relative;
    z-index: 100;
    color: rgba(255,255,255,0.82);
    background: #06111D;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.ap-topbar__inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.055em;
}

.ap-topbar__left,
.ap-topbar__right {
    display: flex;
    align-items: center;
    gap: 22px;
}

.ap-topbar span,
.ap-topbar a {
    position: relative;
    white-space: nowrap;
}

.ap-topbar__left span:not(:last-child)::after,
.ap-topbar__right a::after {
    content: "";
    position: absolute;
    right: -12px;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: rgba(39,174,228,0.72);
    transform: translateY(-50%);
}

.ap-topbar a {
    color: var(--ap-white);
    font-weight: 800;
}

.ap-main-header {
    position: sticky;
    top: 0;
    z-index: 99;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(11,31,58,0.10);
    box-shadow: 0 16px 45px rgba(11,31,58,0.055);
}

body.admin-bar .ap-main-header {
    top: 32px;
}

.ap-main-header__inner {
    min-height: 92px;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
}

.ap-main-logo {
    display: inline-flex;
    align-items: center;
    width: 214px;
}

.ap-main-logo img {
    width: 174px;
    max-height: 74px;
    object-fit: contain;
    display: block;
}

.ap-main-logo__mark {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    border-radius: 12px;
    background: var(--ap-navy);
    color: var(--ap-white);
    font-weight: 900;
}

.ap-main-logo__text {
    font-family: var(--ap-font-display);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--ap-navy);
}

.ap-main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}

.ap-main-nav a {
    font-size: 14px;
    font-weight: 800;
    color: rgba(22,32,43,0.84);
    transition: color 160ms ease;
}

.ap-main-nav a:hover {
    color: var(--ap-blue);
}

.ap-main-header__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ap-header-call {
    display: grid;
    gap: 2px;
    margin-right: 4px;
    color: var(--ap-navy);
    font-family: var(--ap-font-mono);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.ap-header-call span {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    color: var(--ap-steel);
}

.ap-btn--outline-dark {
    color: var(--ap-navy);
    background: var(--ap-white);
    border-color: rgba(11,31,58,0.20);
    box-shadow: none;
}

.ap-btn--green {
    color: var(--ap-white);
    background: linear-gradient(135deg, #5FCB3D, #3EAC28);
    box-shadow: 0 18px 42px rgba(79,174,50,0.28);
}

.ap-btn--hero-outline {
    color: var(--ap-white);
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.30);
    box-shadow: none;
}

.ap-eyebrow--light {
    color: var(--ap-blue-bright);
}

.ap-hero-v2 {
    position: relative;
    overflow: hidden;
    color: var(--ap-white);
    background:
        radial-gradient(circle at 18% 20%, rgba(14,143,184,0.22), transparent 28%),
        radial-gradient(circle at 82% 20%, rgba(79,174,50,0.10), transparent 24%),
        linear-gradient(135deg, #07111D 0%, #0B1F3A 48%, #050C14 100%);
}

.ap-hero-v2__background {
    position: absolute;
    inset: 0;
    opacity: 0.26;
    background-image:
        linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(to right, black 0%, black 55%, transparent 95%);
    pointer-events: none;
}

.ap-hero-v2::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 52%;
    background:
        linear-gradient(90deg, rgba(39,174,228,0.10), transparent 45%),
        radial-gradient(circle at 50% 100%, rgba(255,255,255,0.08), transparent 56%);
    pointer-events: none;
}

.ap-hero-v2__inner {
    position: relative;
    z-index: 2;
    min-height: 670px;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(520px, 1.08fr);
    align-items: center;
    gap: 74px;
    padding: 78px 0 82px;
}

.ap-hero-v2__content {
    max-width: 720px;
}

.ap-hero-v2 h1 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(50px, 5vw, 76px);
    line-height: 0.98;
    letter-spacing: -0.065em;
    color: var(--ap-white);
    text-wrap: balance;
}

.ap-hero-v2__lead {
    max-width: 670px;
    margin: 24px 0 0;
    color: rgba(255,255,255,0.78);
    font-size: 19px;
    line-height: 1.65;
}

.ap-hero-v2__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.ap-hero-social-proof {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 34px;
}

.ap-proof-avatars {
    display: flex;
    align-items: center;
}

.ap-proof-avatars span {
    width: 38px;
    height: 38px;
    display: block;
    margin-left: -10px;
    border: 2px solid rgba(255,255,255,0.82);
    border-radius: 999px;
    background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.8), rgba(14,143,184,0.34)),
        var(--ap-blue);
}

.ap-proof-avatars span:first-child {
    margin-left: 0;
}

.ap-hero-social-proof strong {
    display: block;
    color: #FFCC4D;
    letter-spacing: 0.06em;
    font-size: 15px;
}

.ap-hero-social-proof p {
    margin: 3px 0 0;
    color: rgba(255,255,255,0.72);
    font-size: 14px;
    line-height: 1.45;
}

.ap-hero-v2__visual {
    position: relative;
    min-height: 560px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 38px 100px rgba(0,0,0,0.42);
    isolation: isolate;
}

.ap-hero-v2__visual img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 48% 50%;
    transform: scale(1.03);
}

.ap-hero-v2__visual-shade {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(90deg, rgba(5,12,20,0.38), transparent 42%),
        linear-gradient(180deg, transparent 0%, rgba(5,12,20,0.38) 100%);
    pointer-events: none;
}

.ap-hero-v2__visual::after {
    content: "";
    position: absolute;
    inset: 18px;
    z-index: 3;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 24px;
    pointer-events: none;
}

.ap-floating-proof {
    position: absolute;
    right: 32px;
    z-index: 4;
    width: 260px;
    min-height: 86px;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border-radius: 18px;
    background: rgba(5,12,20,0.62);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 16px 50px rgba(0,0,0,0.24);
}

.ap-floating-proof--top {
    top: 44px;
}

.ap-floating-proof--middle {
    top: 146px;
}

.ap-floating-proof--bottom {
    top: 248px;
}

.ap-floating-proof__icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(79,174,50,0.18);
    color: #A8EED0;
    font-weight: 900;
}

.ap-floating-proof strong {
    display: block;
    font-family: var(--ap-font-display);
    font-size: 17px;
    line-height: 1.1;
    letter-spacing: -0.035em;
    color: var(--ap-white);
}

.ap-floating-proof span:not(.ap-floating-proof__icon) {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.35;
    color: rgba(255,255,255,0.64);
}

.ap-hero-year-card {
    position: absolute;
    right: 34px;
    bottom: 34px;
    z-index: 4;
    width: 160px;
    padding: 20px;
    border-radius: 22px;
    background: rgba(11,31,58,0.76);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.20);
    color: var(--ap-white);
}

.ap-hero-year-card span {
    display: block;
    font-family: var(--ap-font-mono);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.11em;
    color: var(--ap-blue-bright);
}

.ap-hero-year-card strong {
    display: block;
    margin-top: 4px;
    font-family: var(--ap-font-display);
    font-size: 44px;
    line-height: 1;
    letter-spacing: -0.07em;
}

.ap-hero-year-card p {
    margin: 8px 0 0;
    color: rgba(255,255,255,0.68);
    font-size: 12px;
    line-height: 1.4;
}

.ap-brand-strip {
    background: var(--ap-white);
    border-bottom: 1px solid var(--ap-line);
}

.ap-brand-strip__inner {
    min-height: 88px;
    display: grid;
    grid-template-columns: 270px 1fr;
    align-items: center;
    gap: 34px;
}

.ap-brand-strip__inner > span {
    font-family: var(--ap-font-mono);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ap-steel);
}

.ap-brand-strip__logos {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    opacity: 0.72;
}

.ap-brand-strip__logos strong {
    font-family: var(--ap-font-display);
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--ap-graphite);
    white-space: nowrap;
}

/* Hide old header if still rendered somewhere */
.ap-header {
    display: none;
}

/* Mobile behavior for new top/header/hero */
@media (max-width: 1180px) {
    .ap-main-header__inner {
        grid-template-columns: 190px 1fr;
    }

    .ap-main-nav {
        display: none;
    }

    .ap-main-header__actions {
        justify-content: flex-end;
    }

    .ap-header-call,
    .ap-btn--outline-dark {
        display: none;
    }

    .ap-hero-v2__inner {
        grid-template-columns: 1fr;
        gap: 46px;
        padding: 70px 0 78px;
    }

    .ap-hero-v2__content {
        max-width: 860px;
    }

    .ap-hero-v2__visual {
        min-height: 520px;
    }

    .ap-brand-strip__inner {
        grid-template-columns: 1fr;
        padding: 24px 0;
        gap: 18px;
    }

    .ap-brand-strip__logos {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 760px) {
    .ap-topbar {
        display: none;
    }

    body.admin-bar .ap-main-header {
        top: 46px;
    }

    .ap-main-header__inner {
        min-height: 76px;
        grid-template-columns: 140px 1fr;
        gap: 14px;
    }

    .ap-main-logo {
        width: 140px;
    }

    .ap-main-logo img {
        width: 118px;
        max-height: 58px;
    }

    .ap-main-header__actions .ap-btn--green {
        min-height: 42px;
        padding: 0 14px;
        font-size: 12px;
    }

    .ap-hero-v2__inner {
        padding: 54px 0 60px;
    }

    .ap-hero-v2 h1 {
        font-size: clamp(42px, 12vw, 58px);
    }

    .ap-hero-v2__lead {
        font-size: 17px;
    }

    .ap-hero-v2__actions {
        display: grid;
    }

    .ap-hero-v2__actions .ap-btn {
        width: 100%;
    }

    .ap-hero-social-proof {
        align-items: flex-start;
    }

    .ap-hero-v2__visual {
        min-height: 390px;
        border-radius: 26px;
    }

    .ap-floating-proof {
        display: none;
    }

    .ap-hero-year-card {
        right: 20px;
        bottom: 20px;
        width: 138px;
        padding: 16px;
    }

    .ap-hero-year-card strong {
        font-size: 36px;
    }

    .ap-brand-strip__logos strong {
        font-size: 18px;
    }
}

/* =========================================================
   AIRPLEX V2 CLEANUP PASS 01
   Fixes cramped header, compressed hero, weak brand strip,
   and inconsistent scale after earlier patch stacking.
========================================================= */

/* Better full-width rhythm */
.ap-container {
    width: min(1320px, calc(100% - 64px));
}

/* Topbar should feel useful, not microscopic */
.ap-topbar {
    background: #06111D;
}

.ap-topbar__inner {
    min-height: 42px;
    font-size: 11.5px;
    letter-spacing: 0.06em;
}

/* Header: more premium and readable */
.ap-main-header__inner {
    min-height: 104px;
    grid-template-columns: 250px minmax(0, 1fr) auto;
    gap: 34px;
}

.ap-main-logo {
    width: 230px;
}

.ap-main-logo img {
    width: 190px;
    max-height: 82px;
}

.ap-main-nav {
    gap: 30px;
}

.ap-main-nav a {
    font-size: 15px;
    font-weight: 800;
}

.ap-main-header__actions {
    gap: 14px;
}

.ap-header-call {
    font-size: 14px;
}

.ap-main-header__actions .ap-btn {
    min-height: 52px;
    padding-inline: 22px;
    font-size: 14px;
}

/* Hero: make it feel commanding, not squeezed */
.ap-hero-v2__inner {
    min-height: 760px;
    grid-template-columns: minmax(0, 0.95fr) minmax(560px, 1.05fr);
    gap: 86px;
    padding: 92px 0 96px;
}

.ap-hero-v2__content {
    max-width: 760px;
}

.ap-hero-v2 h1 {
    font-size: clamp(58px, 5.6vw, 88px);
    line-height: 0.94;
    letter-spacing: -0.075em;
    max-width: 760px;
}

.ap-hero-v2__lead {
    max-width: 700px;
    margin-top: 28px;
    font-size: 21px;
    line-height: 1.58;
    color: rgba(255,255,255,0.82);
}

.ap-hero-v2__actions {
    margin-top: 38px;
    gap: 16px;
}

.ap-hero-v2__actions .ap-btn {
    min-height: 60px;
    padding-inline: 30px;
    font-size: 15px;
}

.ap-hero-social-proof {
    margin-top: 38px;
}

.ap-hero-social-proof p {
    max-width: 430px;
    font-size: 14.5px;
}

/* Hero image panel: larger, cleaner, less cluttered */
.ap-hero-v2__visual {
    min-height: 620px;
    border-radius: 38px;
}

.ap-hero-v2__visual img {
    object-position: 45% 50%;
    transform: scale(1.04);
}

/* Floating proof cards: make fewer things feel crammed */
.ap-floating-proof {
    right: 34px;
    width: 282px;
    min-height: 92px;
    padding: 18px;
    grid-template-columns: 46px 1fr;
    border-radius: 20px;
}

.ap-floating-proof--top {
    top: 46px;
}

.ap-floating-proof--middle {
    top: 158px;
}

.ap-floating-proof--bottom {
    top: 270px;
}

.ap-floating-proof__icon {
    width: 46px;
    height: 46px;
}

.ap-floating-proof strong {
    font-size: 18px;
}

.ap-floating-proof span:not(.ap-floating-proof__icon) {
    font-size: 12.5px;
}

.ap-hero-year-card {
    right: 34px;
    bottom: 34px;
    width: 176px;
    padding: 22px;
    border-radius: 24px;
}

.ap-hero-year-card strong {
    font-size: 50px;
}

/* Brand strip: make it feel like a real OEM proof bar */
.ap-brand-strip {
    background: linear-gradient(180deg, #FFFFFF 0%, #F6F8FA 100%);
    border-bottom: 1px solid rgba(11,31,58,0.10);
}

.ap-brand-strip__inner {
    min-height: 104px;
    grid-template-columns: 310px 1fr;
    gap: 44px;
}

.ap-brand-strip__inner > span {
    font-size: 12px;
    color: var(--ap-steel);
}

.ap-brand-strip__logos {
    opacity: 0.88;
}

.ap-brand-strip__logos strong {
    font-size: 23px;
    color: rgba(11,31,58,0.74);
}

/* Fix the old trustbar if any old layout is still visible */
.ap-trustbar {
    display: none;
}

/* Services section needs stronger breathing room before rebuild */
.ap-section--light {
    padding-top: 112px;
}

/* Fix van image card issue */
.ap-nyc-proof__image {
    min-height: 520px;
    background: #0B1F3A;
}

.ap-nyc-proof__image img {
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Responsive cleanup */
@media (max-width: 1180px) {
    .ap-container {
        width: min(100% - 44px, 1320px);
    }

    .ap-main-header__inner {
        grid-template-columns: 210px 1fr;
        min-height: 92px;
    }

    .ap-main-logo img {
        width: 168px;
    }

    .ap-hero-v2__inner {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 56px;
        padding: 76px 0 86px;
    }

    .ap-hero-v2 h1 {
        max-width: 850px;
    }

    .ap-hero-v2__visual {
        min-height: 560px;
    }
}

@media (max-width: 760px) {
    .ap-container {
        width: min(100% - 28px, 1320px);
    }

    .ap-main-header__inner {
        min-height: 76px;
        grid-template-columns: 135px 1fr;
    }

    .ap-main-logo img {
        width: 116px;
        max-height: 58px;
    }

    .ap-main-header__actions .ap-btn--green {
        min-height: 42px;
        padding-inline: 14px;
        font-size: 12px;
    }

    .ap-hero-v2__inner {
        padding: 56px 0 64px;
    }

    .ap-hero-v2 h1 {
        font-size: clamp(42px, 12vw, 58px);
        line-height: 0.98;
    }

    .ap-hero-v2__lead {
        font-size: 17px;
    }

    .ap-hero-v2__actions {
        display: grid;
    }

    .ap-hero-v2__actions .ap-btn {
        width: 100%;
    }

    .ap-hero-v2__visual {
        min-height: 390px;
        border-radius: 26px;
    }

    .ap-floating-proof {
        display: none;
    }

    .ap-hero-year-card {
        width: 138px;
        right: 18px;
        bottom: 18px;
        padding: 16px;
    }

    .ap-brand-strip__inner {
        min-height: auto;
        padding: 24px 0;
        grid-template-columns: 1fr;
    }

    .ap-brand-strip__logos {
        gap: 18px;
        flex-wrap: wrap;
    }

    .ap-brand-strip__logos strong {
        font-size: 18px;
    }

    .ap-section--light {
        padding-top: 72px;
    }
}

/* =========================================================
   AIRPLEX V2 - SERVICES MATRIX + BUILT FOR NYC SECTION
========================================================= */

.ap-services-v2 {
    position: relative;
    padding: 112px 0;
    background:
        radial-gradient(circle at 10% 10%, rgba(14,143,184,0.08), transparent 26%),
        linear-gradient(180deg, #FFFFFF 0%, #F6F8FA 100%);
}

.ap-services-v2__inner {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 44px;
    align-items: start;
}

.ap-services-v2__intro {
    position: sticky;
    top: 130px;
}

.ap-services-v2__intro h2 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(34px, 3.2vw, 48px);
    line-height: 1.02;
    letter-spacing: -0.06em;
    color: var(--ap-navy);
}

.ap-services-v2__intro p {
    margin: 18px 0 22px;
    color: var(--ap-steel);
    font-size: 17px;
    line-height: 1.65;
}

.ap-text-link {
    display: inline-flex;
    align-items: center;
    font-weight: 900;
    color: var(--ap-navy);
}

.ap-service-matrix {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.ap-service-tile {
    position: relative;
    min-height: 260px;
    padding: 24px;
    border-radius: 4px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92));
    border: 1px solid rgba(11,31,58,0.08);
    box-shadow: 0 18px 45px rgba(11,31,58,0.055);
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ap-service-tile::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(14,143,184,0.06), transparent 45%),
        radial-gradient(circle at 100% 100%, rgba(14,143,184,0.12), transparent 34%);
    opacity: 0;
    transition: opacity 180ms ease;
}

.ap-service-tile:hover {
    transform: translateY(-5px);
    border-color: rgba(14,143,184,0.28);
    box-shadow: 0 28px 70px rgba(11,31,58,0.12);
}

.ap-service-tile:hover::before {
    opacity: 1;
}

.ap-service-tile__number {
    position: relative;
    z-index: 2;
    display: block;
    margin-bottom: 18px;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    font-weight: 800;
    color: var(--ap-blue);
}

.ap-service-tile__icon {
    position: absolute;
    right: 22px;
    bottom: 22px;
    z-index: 1;
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(14,143,184,0.72);
}

.ap-service-tile__icon svg {
    width: 54px;
    height: 54px;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ap-service-tile h3 {
    position: relative;
    z-index: 2;
    max-width: 210px;
    margin: 0 0 12px;
    font-family: var(--ap-font-display);
    font-size: 21px;
    line-height: 1.08;
    letter-spacing: -0.045em;
    color: var(--ap-navy);
}

.ap-service-tile p {
    position: relative;
    z-index: 2;
    max-width: 230px;
    margin: 0;
    color: var(--ap-steel);
    font-size: 14.5px;
    line-height: 1.55;
}

.ap-service-tile strong {
    position: absolute;
    left: 24px;
    bottom: 24px;
    z-index: 2;
    color: var(--ap-navy);
    font-size: 13.5px;
    font-weight: 900;
}

/* Built for NYC section */
.ap-built-v2 {
    padding: 0 0 112px;
    background: linear-gradient(180deg, #F6F8FA 0%, #FFFFFF 100%);
}

.ap-built-v2__panel {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    min-height: 560px;
    overflow: hidden;
    background:
        radial-gradient(circle at 74% 20%, rgba(14,143,184,0.20), transparent 32%),
        linear-gradient(135deg, #07111D 0%, #0B1F3A 55%, #050C14 100%);
    color: var(--ap-white);
    border-radius: 0;
    box-shadow: 0 34px 90px rgba(11,31,58,0.18);
}

.ap-built-v2__image {
    position: relative;
    min-height: 560px;
    overflow: hidden;
}

.ap-built-v2__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0%, rgba(7,17,29,0.76) 100%),
        linear-gradient(180deg, transparent 0%, rgba(7,17,29,0.22) 100%);
    pointer-events: none;
}

.ap-built-v2__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% 50%;
    transform: scale(1.02);
}

.ap-built-v2__content {
    padding: 70px 76px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ap-built-v2__content h2 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(42px, 4.7vw, 68px);
    line-height: 0.96;
    letter-spacing: -0.07em;
    color: var(--ap-white);
}

.ap-built-v2__content > p {
    max-width: 680px;
    margin: 24px 0 34px;
    color: rgba(255,255,255,0.76);
    font-size: 18px;
    line-height: 1.65;
}

.ap-property-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px 28px;
}

.ap-property-grid div {
    position: relative;
    padding-left: 54px;
}

.ap-property-icon {
    position: absolute;
    left: 0;
    top: 2px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #A8EED0;
    background: rgba(79,174,50,0.13);
    border: 1px solid rgba(79,174,50,0.22);
    font-size: 18px;
}

.ap-property-grid strong {
    display: block;
    margin-bottom: 6px;
    font-family: var(--ap-font-display);
    font-size: 20px;
    letter-spacing: -0.04em;
    color: var(--ap-white);
}

.ap-property-grid p {
    margin: 0;
    color: rgba(255,255,255,0.66);
    font-size: 14.5px;
    line-height: 1.5;
}

.ap-built-v2__link {
    display: inline-flex;
    width: fit-content;
    margin-top: 34px;
    color: var(--ap-white);
    font-weight: 900;
    border-bottom: 1px solid rgba(255,255,255,0.35);
}

/* Hide old service grid and old NYC proof section only if still present */
.ap-services-grid {
    display: none;
}

.ap-nyc-proof {
    display: none;
}

/* Responsive */
@media (max-width: 1180px) {
    .ap-services-v2__inner {
        grid-template-columns: 1fr;
    }

    .ap-services-v2__intro {
        position: relative;
        top: auto;
        max-width: 760px;
    }

    .ap-service-matrix {
        grid-template-columns: repeat(2, 1fr);
    }

    .ap-built-v2__panel {
        grid-template-columns: 1fr;
    }

    .ap-built-v2__image {
        min-height: 420px;
    }

    .ap-built-v2__content {
        padding: 56px;
    }
}

@media (max-width: 720px) {
    .ap-services-v2 {
        padding: 72px 0;
    }

    .ap-service-matrix {
        grid-template-columns: 1fr;
    }

    .ap-service-tile {
        min-height: 240px;
        border-radius: 18px;
    }

    .ap-built-v2 {
        padding-bottom: 72px;
    }

    .ap-built-v2__panel {
        border-radius: 0;
    }

    .ap-built-v2__image {
        min-height: 300px;
    }

    .ap-built-v2__content {
        padding: 38px 26px;
    }

    .ap-property-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   AIRPLEX V2 - MID/LOWER HOMEPAGE REBUILD
========================================================= */

/* Upgrade / installation section */
.ap-upgrade-v2 {
    padding: 112px 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(14,143,184,0.10), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F6F8FA 100%);
}

.ap-upgrade-v2__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 52px;
    align-items: center;
    padding: 54px;
    border-radius: 0;
    background: #FFFFFF;
    border: 1px solid rgba(11,31,58,0.08);
    box-shadow: 0 32px 90px rgba(11,31,58,0.12);
}

.ap-upgrade-v2 h2 {
    margin: 0;
    max-width: 880px;
    font-family: var(--ap-font-display);
    font-size: clamp(42px, 4.6vw, 66px);
    line-height: 0.98;
    letter-spacing: -0.07em;
    color: var(--ap-navy);
}

.ap-upgrade-v2 p {
    max-width: 820px;
    margin: 22px 0 0;
    color: var(--ap-steel);
    font-size: 18px;
    line-height: 1.65;
}

.ap-upgrade-v2__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 30px 0 34px;
}

.ap-upgrade-v2__tags span {
    padding: 10px 13px;
    border-radius: 999px;
    border: 1px solid rgba(11,31,58,0.12);
    background: #F6F8FA;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    font-weight: 800;
    color: var(--ap-navy);
}

.ap-upgrade-v2__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
}

.ap-upgrade-v2__image {
    min-height: 420px;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(11,31,58,0.16);
}

.ap-upgrade-v2__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Reviews V2 */
.ap-reviews-v2 {
    padding: 112px 0;
    background: #FFFFFF;
}

.ap-reviews-v2__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 64px;
    align-items: start;
}

.ap-reviews-v2 h2 {
    margin: 0;
    max-width: 720px;
    font-family: var(--ap-font-display);
    font-size: clamp(42px, 4.6vw, 66px);
    line-height: 0.98;
    letter-spacing: -0.07em;
    color: var(--ap-navy);
}

.ap-reviews-v2__intro > p {
    max-width: 680px;
    margin: 22px 0 34px;
    color: var(--ap-steel);
    font-size: 18px;
    line-height: 1.65;
}

.ap-review-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.ap-review-metrics div {
    padding: 22px;
    background: #F6F8FA;
    border: 1px solid rgba(11,31,58,0.08);
}

.ap-review-metrics strong {
    display: block;
    font-family: var(--ap-font-display);
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.06em;
    color: var(--ap-navy);
}

.ap-review-metrics span {
    display: block;
    margin-top: 8px;
    font-family: var(--ap-font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ap-steel);
}

.ap-review-cards-v2 {
    display: grid;
    gap: 16px;
}

.ap-review-cards-v2 article {
    padding: 28px;
    background: #07111D;
    color: var(--ap-white);
    box-shadow: 0 22px 60px rgba(11,31,58,0.16);
}

.ap-review-cards-v2 p {
    margin: 14px 0 20px;
    font-size: 19px;
    line-height: 1.55;
    color: rgba(255,255,255,0.88);
}

.ap-review-cards-v2 span {
    font-family: var(--ap-font-mono);
    font-size: 11px;
    color: rgba(255,255,255,0.58);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Process V2 */
.ap-process-v2 {
    padding: 112px 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(14,143,184,0.08), transparent 28%),
        #F6F8FA;
}

.ap-process-v2__top {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 0.75fr);
    gap: 64px;
    align-items: end;
    margin-bottom: 48px;
}

.ap-process-v2 h2 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(42px, 4.5vw, 64px);
    line-height: 0.98;
    letter-spacing: -0.07em;
    color: var(--ap-navy);
}

.ap-process-v2__top p {
    color: var(--ap-steel);
    font-size: 18px;
    line-height: 1.65;
}

.ap-process-line {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.ap-process-step {
    position: relative;
    min-height: 260px;
    padding: 28px;
    background: #FFFFFF;
    border: 1px solid rgba(11,31,58,0.08);
    box-shadow: 0 18px 45px rgba(11,31,58,0.055);
}

.ap-process-step span {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin-bottom: 42px;
    border-radius: 999px;
    background: var(--ap-navy);
    color: var(--ap-white);
    font-family: var(--ap-font-mono);
    font-weight: 900;
    font-size: 12px;
}

.ap-process-step h3 {
    margin: 0 0 12px;
    font-family: var(--ap-font-display);
    font-size: 25px;
    line-height: 1.05;
    letter-spacing: -0.05em;
    color: var(--ap-navy);
}

.ap-process-step p {
    margin: 0;
    color: var(--ap-steel);
    line-height: 1.55;
}

/* Maintenance V2 */
.ap-maintenance-v2 {
    padding: 112px 0;
    color: var(--ap-white);
    background:
        radial-gradient(circle at 20% 20%, rgba(14,143,184,0.22), transparent 28%),
        linear-gradient(135deg, #07111D 0%, #0B1F3A 52%, #050C14 100%);
}

.ap-maintenance-v2__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 0.8fr) 360px;
    gap: 42px;
    align-items: center;
}

.ap-maintenance-v2 h2 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(42px, 4.5vw, 64px);
    line-height: 0.98;
    letter-spacing: -0.07em;
}

.ap-maintenance-v2__intro p {
    margin: 22px 0 24px;
    color: rgba(255,255,255,0.75);
    font-size: 18px;
    line-height: 1.65;
}

.ap-text-link--light {
    color: var(--ap-white);
}

.ap-maintenance-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.ap-maintenance-benefits div {
    padding: 22px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
}

.ap-maintenance-benefits span {
    font-family: var(--ap-font-mono);
    font-size: 11px;
    color: var(--ap-blue-bright);
    font-weight: 900;
}

.ap-maintenance-benefits strong {
    display: block;
    margin-top: 16px;
    font-family: var(--ap-font-display);
    font-size: 22px;
    letter-spacing: -0.05em;
}

.ap-maintenance-benefits p {
    margin: 8px 0 0;
    color: rgba(255,255,255,0.66);
    line-height: 1.5;
}

.ap-plan-card-v2 {
    padding: 32px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: 0 28px 80px rgba(0,0,0,0.24);
}

.ap-plan-card-v2 > span {
    display: inline-flex;
    margin-bottom: 22px;
    padding: 9px 11px;
    border-radius: 999px;
    background: var(--ap-blue);
    color: var(--ap-white);
    font-family: var(--ap-font-mono);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ap-plan-card-v2 h3 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: 34px;
    line-height: 1.02;
    letter-spacing: -0.06em;
}

.ap-plan-price {
    margin: 22px 0 0;
    color: rgba(255,255,255,0.78);
}

.ap-plan-price strong {
    font-family: var(--ap-font-display);
    font-size: 58px;
    line-height: 1;
    letter-spacing: -0.08em;
    color: var(--ap-white);
}

.ap-plan-note {
    color: rgba(255,255,255,0.58);
    font-size: 13px;
    line-height: 1.5;
}

/* Projects */
.ap-projects-v2 {
    padding: 112px 0;
    background: #FFFFFF;
}

.ap-projects-v2__top {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 42px;
}

.ap-projects-v2 h2 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(42px, 4.6vw, 66px);
    line-height: 0.98;
    letter-spacing: -0.07em;
    color: var(--ap-navy);
}

.ap-project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.ap-project-card {
    position: relative;
    min-height: 320px;
    overflow: hidden;
    background: #07111D;
    color: var(--ap-white);
    box-shadow: 0 22px 60px rgba(11,31,58,0.14);
}

.ap-project-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.66;
    transition: transform 220ms ease, opacity 220ms ease;
}

.ap-project-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(5,12,20,0.88) 100%);
}

.ap-project-card div {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
}

.ap-project-card span {
    font-family: var(--ap-font-mono);
    font-size: 10px;
    text-transform: uppercase;
    color: var(--ap-blue-bright);
    letter-spacing: 0.08em;
}

.ap-project-card h3 {
    margin: 8px 0 6px;
    font-family: var(--ap-font-display);
    font-size: 25px;
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.ap-project-card p {
    margin: 0 0 14px;
    color: rgba(255,255,255,0.68);
}

.ap-project-card a {
    font-weight: 900;
}

.ap-project-card:hover img {
    transform: scale(1.06);
    opacity: 0.78;
}

/* Final CTA V2 */
.ap-final-v2 {
    padding: 72px 0;
    color: var(--ap-white);
    background:
        linear-gradient(90deg, rgba(14,143,184,0.22), rgba(11,31,58,0.74)),
        linear-gradient(135deg, #063B72 0%, #0B1F3A 100%);
}

.ap-final-v2__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: center;
}

.ap-final-v2 h2 {
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(42px, 4.6vw, 66px);
    line-height: 0.98;
    letter-spacing: -0.07em;
}

.ap-final-v2 p {
    margin: 16px 0 0;
    color: rgba(255,255,255,0.75);
    font-size: 18px;
}

.ap-final-v2__actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

/* Footer V2 */
.ap-footer-v2 {
    padding: 72px 0 28px;
    color: rgba(255,255,255,0.72);
    background: #050C14;
}

.ap-footer-v2__grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 0.75fr) 1fr;
    gap: 42px;
}

.ap-footer-v2__logo img {
    width: 180px;
    max-height: 82px;
    object-fit: contain;
}

.ap-footer-v2__brand p {
    max-width: 320px;
    margin: 18px 0 0;
    line-height: 1.6;
}

.ap-footer-v2 h3 {
    margin: 0 0 18px;
    color: var(--ap-white);
    font-family: var(--ap-font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.10em;
}

.ap-footer-v2 a,
.ap-footer-v2 span {
    display: block;
    margin-bottom: 10px;
    color: rgba(255,255,255,0.72);
}

.ap-footer-v2 a:hover {
    color: var(--ap-white);
}

.ap-footer-emergency {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
}

.ap-footer-emergency strong {
    display: block;
    color: var(--ap-white);
}

.ap-footer-emergency p {
    color: rgba(255,255,255,0.62);
    line-height: 1.5;
}

.ap-footer-emergency a {
    display: inline-flex;
    width: fit-content;
    padding: 10px 14px;
    background: var(--ap-green);
    color: var(--ap-white);
    font-weight: 900;
}

.ap-footer-v2__bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-top: 56px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.10);
    font-size: 13px;
}

/* Hide old final/footer if still present */
.ap-final-cta,
.ap-footer {
    display: none;
}

/* Responsive */
@media (max-width: 1180px) {
    .ap-upgrade-v2__panel,
    .ap-reviews-v2__inner,
    .ap-process-v2__top,
    .ap-maintenance-v2__grid,
    .ap-final-v2__inner {
        grid-template-columns: 1fr;
    }

    .ap-maintenance-benefits,
    .ap-project-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ap-footer-v2__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    .ap-upgrade-v2,
    .ap-reviews-v2,
    .ap-process-v2,
    .ap-maintenance-v2,
    .ap-projects-v2 {
        padding: 72px 0;
    }

    .ap-upgrade-v2__panel {
        padding: 28px;
    }

    .ap-upgrade-v2__image {
        min-height: 300px;
    }

    .ap-review-metrics,
    .ap-process-line,
    .ap-maintenance-benefits,
    .ap-project-grid,
    .ap-footer-v2__grid {
        grid-template-columns: 1fr;
    }

    .ap-process-v2__top {
        gap: 24px;
    }

    .ap-projects-v2__top,
    .ap-footer-v2__bottom {
        align-items: start;
        flex-direction: column;
    }

    .ap-final-v2__actions {
        display: grid;
    }

    .ap-final-v2__actions .ap-btn {
        width: 100%;
    }
}

/* =========================================================
   AIRPLEX V2 - SERVICES + UPGRADE POLISH PASS
   Fixes cramped service matrix and weak upgrade image section.
========================================================= */

/* Services section: make it feel premium, not tiny */
.ap-services-v2 {
    padding: 124px 0 132px;
}

.ap-services-v2__inner {
    grid-template-columns: 390px minmax(0, 1fr);
    gap: 68px;
}

.ap-services-v2__intro h2 {
    font-size: clamp(42px, 3.8vw, 58px);
    line-height: 0.98;
}

.ap-services-v2__intro p {
    max-width: 340px;
    font-size: 18px;
    line-height: 1.68;
}

.ap-service-matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ap-service-tile {
    min-height: 245px;
    padding: 30px;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.ap-service-tile__number {
    margin-bottom: 20px;
}

.ap-service-tile h3 {
    max-width: 320px;
    font-size: 28px;
    line-height: 1.03;
    margin-bottom: 14px;
}

.ap-service-tile p {
    max-width: 370px;
    font-size: 16px;
    line-height: 1.58;
    padding-right: 74px;
}

.ap-service-tile strong {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: auto;
    padding-top: 24px;
    display: inline-flex;
    width: fit-content;
}

.ap-service-tile__icon {
    right: 28px;
    bottom: 28px;
    width: 72px;
    height: 72px;
    opacity: 0.85;
}

.ap-service-tile__icon svg {
    width: 66px;
    height: 66px;
}

/* Make every other service tile feel slightly dimensional */
.ap-service-tile:nth-child(odd) {
    background:
        linear-gradient(180deg, rgba(255,255,255,1), rgba(246,248,250,0.96));
}

.ap-service-tile:nth-child(even) {
    background:
        radial-gradient(circle at 100% 100%, rgba(14,143,184,0.09), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,1), rgba(246,248,250,0.96));
}

/* Upgrade section: make image feel intentional instead of like a thumbnail */
.ap-upgrade-v2 {
    padding: 132px 0;
}

.ap-upgrade-v2__panel {
    grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.65fr);
    gap: 56px;
    padding: 0;
    background: #FFFFFF;
    overflow: hidden;
}

.ap-upgrade-v2__content {
    padding: 64px 0 64px 64px;
}

.ap-upgrade-v2 h2 {
    font-size: clamp(44px, 4.4vw, 68px);
    line-height: 0.96;
}

.ap-upgrade-v2 p {
    max-width: 760px;
    font-size: 18px;
}

.ap-upgrade-v2__image {
    position: relative;
    height: 100%;
    min-height: 520px;
    background: #07111D;
    box-shadow: none;
    overflow: hidden;
}

.ap-upgrade-v2__image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(180deg, transparent 0%, rgba(5,12,20,0.70) 100%),
        linear-gradient(90deg, transparent 0%, rgba(5,12,20,0.22) 100%);
    pointer-events: none;
}

.ap-upgrade-v2__image::after {
    content: "Ductless + System Upgrades";
    position: absolute;
    left: 28px;
    bottom: 28px;
    z-index: 3;
    max-width: 260px;
    font-family: var(--ap-font-display);
    font-size: 30px;
    line-height: 1.02;
    letter-spacing: -0.055em;
    color: var(--ap-white);
}

.ap-upgrade-v2__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 42% 50%;
    transform: scale(1.04);
}

/* Upgrade tags should look less like random pills */
.ap-upgrade-v2__tags {
    gap: 9px;
}

.ap-upgrade-v2__tags span {
    background: #FFFFFF;
    border-color: rgba(11,31,58,0.16);
    box-shadow: 0 8px 20px rgba(11,31,58,0.035);
}

/* Strengthen buttons inside upgrade area */
.ap-upgrade-v2__actions .ap-btn {
    min-height: 54px;
    padding-inline: 24px;
}

/* Responsive service/upgrade cleanup */
@media (max-width: 1180px) {
    .ap-services-v2__inner {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .ap-services-v2__intro {
        max-width: 760px;
    }

    .ap-services-v2__intro p {
        max-width: 720px;
    }

    .ap-upgrade-v2__panel {
        grid-template-columns: 1fr;
    }

    .ap-upgrade-v2__content {
        padding: 48px;
    }

    .ap-upgrade-v2__image {
        min-height: 420px;
    }
}

@media (max-width: 720px) {
    .ap-services-v2 {
        padding: 76px 0;
    }

    .ap-service-matrix {
        grid-template-columns: 1fr;
    }

    .ap-service-tile {
        min-height: 250px;
        padding: 26px;
    }

    .ap-service-tile h3 {
        font-size: 25px;
    }

    .ap-service-tile p {
        padding-right: 52px;
    }

    .ap-service-tile__icon {
        width: 56px;
        height: 56px;
        right: 22px;
        bottom: 22px;
    }

    .ap-service-tile__icon svg {
        width: 52px;
        height: 52px;
    }

    .ap-upgrade-v2 {
        padding: 76px 0;
    }

    .ap-upgrade-v2__content {
        padding: 30px 26px;
    }

    .ap-upgrade-v2__image {
        min-height: 320px;
    }

    .ap-upgrade-v2__image::after {
        font-size: 24px;
        left: 22px;
        bottom: 22px;
    }
}

/* =========================================================
   AIRPLEX V2 - LOWER PAGE POLISH PASS
   Improves reviews, process, maintenance, projects, FAQ,
   CTA, and footer. Also fixes FAQ dark-bar styling issue.
========================================================= */

/* -----------------------------
   Reviews section refinement
----------------------------- */

.ap-reviews-v2 {
    padding: 132px 0;
    background:
        radial-gradient(circle at 84% 12%, rgba(14,143,184,0.10), transparent 30%),
        radial-gradient(circle at 12% 92%, rgba(79,174,50,0.06), transparent 26%),
        #FFFFFF;
}

.ap-reviews-v2__inner {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 82px;
    align-items: center;
}

.ap-reviews-v2 h2 {
    max-width: 640px;
    font-size: clamp(44px, 4.7vw, 70px);
}

.ap-reviews-v2__intro > p {
    max-width: 620px;
}

.ap-review-metrics {
    max-width: 620px;
}

.ap-review-metrics div {
    min-height: 104px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(180deg, #FFFFFF, #F6F8FA);
    border: 1px solid rgba(11,31,58,0.10);
    border-left: 4px solid var(--ap-blue);
    box-shadow: 0 16px 38px rgba(11,31,58,0.055);
}

.ap-review-cards-v2 {
    gap: 18px;
}

.ap-review-cards-v2 article {
    min-height: 156px;
    padding: 30px 34px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.98), rgba(246,248,250,0.96));
    color: var(--ap-navy);
    border: 1px solid rgba(11,31,58,0.10);
    box-shadow: 0 18px 50px rgba(11,31,58,0.08);
}

.ap-review-cards-v2 article::before {
    color: rgba(14,143,184,0.09);
}

.ap-review-cards-v2 p {
    color: var(--ap-navy);
    font-size: 20px;
}

.ap-review-cards-v2 span {
    color: var(--ap-steel);
}

.ap-review-cards-v2 .ap-stars {
    color: var(--ap-amber);
}

/* -----------------------------
   Process section refinement
----------------------------- */

.ap-process-v2 {
    padding: 132px 0;
    background:
        radial-gradient(circle at 16% 16%, rgba(14,143,184,0.10), transparent 30%),
        linear-gradient(180deg, #F6F8FA 0%, #FFFFFF 100%);
}

.ap-process-v2__top {
    align-items: center;
    margin-bottom: 64px;
}

.ap-process-v2 h2 {
    max-width: 650px;
    font-size: clamp(44px, 4.6vw, 68px);
}

.ap-process-v2__top p {
    max-width: 620px;
}

.ap-process-line {
    gap: 24px;
}

.ap-process-line::before {
    top: 52px;
    left: 10%;
    right: 10%;
    background: linear-gradient(90deg, rgba(14,143,184,0.45), rgba(79,174,50,0.18));
}

.ap-process-step {
    min-height: 305px;
    padding: 34px;
    border: 1px solid rgba(11,31,58,0.10);
    background:
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
    box-shadow: 0 20px 52px rgba(11,31,58,0.07);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.ap-process-step:hover {
    transform: translateY(-4px);
    box-shadow: 0 30px 70px rgba(11,31,58,0.12);
}

.ap-process-step span {
    width: 46px;
    height: 46px;
    margin-bottom: 56px;
}

.ap-process-step h3 {
    font-size: 27px;
}

.ap-process-step p {
    font-size: 15.5px;
}

/* -----------------------------
   Service areas band refinement
----------------------------- */

.ap-section--dark .ap-split {
    align-items: center;
}

.ap-section--dark .ap-split h2 {
    font-size: clamp(42px, 4.4vw, 66px);
    line-height: 0.98;
    letter-spacing: -0.07em;
}

.ap-section--dark .ap-split p {
    max-width: 620px;
    font-size: 18px;
}

.ap-area-links {
    gap: 14px;
}

.ap-area-links a {
    min-height: 58px;
    border-radius: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.055));
    border: 1px solid rgba(255,255,255,0.14);
}

/* -----------------------------
   Maintenance membership refinement
----------------------------- */

.ap-maintenance-v2 {
    padding: 132px 0;
    background:
        radial-gradient(circle at 20% 18%, rgba(79,174,50,0.20), transparent 28%),
        radial-gradient(circle at 82% 18%, rgba(14,143,184,0.22), transparent 30%),
        linear-gradient(135deg, #06111D 0%, #0B1F3A 54%, #050C14 100%);
}

.ap-maintenance-v2__grid {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 0.92fr) 390px;
    gap: 54px;
}

.ap-maintenance-v2 h2 {
    max-width: 560px;
    font-size: clamp(44px, 4.5vw, 68px);
}

.ap-maintenance-v2__intro p {
    max-width: 590px;
}

.ap-maintenance-benefits {
    gap: 16px;
}

.ap-maintenance-benefits div {
    min-height: 186px;
    padding: 26px;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.055));
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.16);
}

.ap-maintenance-benefits strong {
    font-size: 24px;
}

.ap-plan-card-v2 {
    padding: 36px;
    min-height: 390px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        radial-gradient(circle at 100% 0%, rgba(79,174,50,0.24), transparent 34%),
        linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.07));
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 34px 90px rgba(0,0,0,0.28);
}

.ap-plan-card-v2 h3 {
    font-size: 38px;
}

.ap-plan-price strong {
    font-size: 68px;
}

.ap-plan-card-v2 .ap-btn {
    width: fit-content;
    margin-top: 20px;
}

/* -----------------------------
   Projects refinement
----------------------------- */

.ap-projects-v2 {
    padding: 132px 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(14,143,184,0.08), transparent 30%),
        #FFFFFF;
}

.ap-projects-v2__top {
    margin-bottom: 48px;
}

.ap-projects-v2 h2 {
    font-size: clamp(44px, 4.6vw, 68px);
}

.ap-project-card {
    min-height: 390px;
    border: 1px solid rgba(11,31,58,0.10);
    box-shadow: 0 24px 68px rgba(11,31,58,0.13);
}

.ap-project-card img {
    opacity: 0.72;
}

.ap-project-card::after {
    background:
        linear-gradient(180deg, rgba(5,12,20,0.05) 0%, rgba(5,12,20,0.92) 100%),
        linear-gradient(90deg, rgba(5,12,20,0.18), transparent 55%);
}

.ap-project-card div {
    left: 28px;
    right: 28px;
    bottom: 28px;
}

.ap-project-card h3 {
    font-size: 30px;
}

/* -----------------------------
   FAQ fix + premium treatment
----------------------------- */

/* Fix accidental dark bar from browser/default/open-state styling */
.ap-faq__question,
.ap-faq__question:focus,
.ap-faq__question:active,
.ap-faq__question.is-open {
    color: var(--ap-navy) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ap-faq__question:hover {
    color: var(--ap-blue) !important;
    background: transparent !important;
}

.ap-section--white:has(.ap-faq) {
    padding: 132px 0;
    background:
        radial-gradient(circle at 88% 12%, rgba(14,143,184,0.07), transparent 30%),
        #FFFFFF;
}

.ap-faq {
    max-width: 1040px;
}

.ap-faq .ap-section__intro h2 {
    font-size: clamp(44px, 4.5vw, 68px);
    line-height: 0.98;
}

.ap-faq__items {
    border-top: 1px solid rgba(11,31,58,0.12);
}

.ap-faq__question {
    font-size: 23px;
    padding: 28px 52px 28px 0;
}

.ap-faq__question::after {
    right: 0;
    color: var(--ap-blue);
    background: rgba(14,143,184,0.09);
}

.ap-faq__answer {
    padding: 0 0 26px;
}

.ap-faq__answer p {
    font-size: 17px;
    color: var(--ap-steel);
}

/* -----------------------------
   Final CTA refinement
----------------------------- */

.ap-final-v2 {
    padding: 96px 0;
    background:
        linear-gradient(90deg, rgba(14,143,184,0.32), rgba(11,31,58,0.74)),
        radial-gradient(circle at 82% 50%, rgba(79,174,50,0.20), transparent 28%),
        linear-gradient(135deg, #063B72 0%, #0B1F3A 100%);
}

.ap-final-v2__inner {
    grid-template-columns: minmax(0, 1fr) auto;
}

.ap-final-v2 h2 {
    max-width: 850px;
    font-size: clamp(48px, 4.9vw, 74px);
}

.ap-final-v2 p {
    font-size: 19px;
}

.ap-final-v2__actions {
    align-items: center;
}

.ap-final-v2__actions .ap-btn {
    min-height: 58px;
}

/* -----------------------------
   Footer refinement
----------------------------- */

.ap-footer-v2 {
    padding-top: 92px;
    background:
        radial-gradient(circle at 12% 0%, rgba(14,143,184,0.10), transparent 30%),
        #050C14;
}

.ap-footer-v2__grid {
    grid-template-columns: 1.35fr 0.75fr 0.8fr 0.7fr 1fr;
    gap: 58px;
}

.ap-footer-v2__brand p {
    max-width: 360px;
}

.ap-footer-v2 h3 {
    color: rgba(255,255,255,0.92);
}

.ap-footer-v2 a,
.ap-footer-v2 span {
    font-size: 14px;
    line-height: 1.35;
}

.ap-footer-emergency {
    padding: 24px;
}

/* -----------------------------
   Responsive polish
----------------------------- */

@media (max-width: 1180px) {
    .ap-reviews-v2__inner,
    .ap-maintenance-v2__grid,
    .ap-final-v2__inner {
        grid-template-columns: 1fr;
    }

    .ap-review-cards-v2 {
        grid-template-columns: 1fr;
    }

    .ap-maintenance-v2__grid {
        gap: 36px;
    }

    .ap-plan-card-v2 {
        min-height: auto;
    }

    .ap-footer-v2__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    .ap-reviews-v2,
    .ap-process-v2,
    .ap-maintenance-v2,
    .ap-projects-v2,
    .ap-section--white:has(.ap-faq) {
        padding: 78px 0;
    }

    .ap-review-metrics,
    .ap-maintenance-benefits,
    .ap-project-grid {
        grid-template-columns: 1fr;
    }

    .ap-review-cards-v2 article,
    .ap-process-step,
    .ap-maintenance-benefits div,
    .ap-plan-card-v2 {
        padding: 26px;
    }

    .ap-project-card {
        min-height: 320px;
    }

    .ap-final-v2 {
        padding: 78px 0;
    }

    .ap-final-v2__actions {
        display: grid;
        width: 100%;
    }

    .ap-footer-v2__grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   AIRPLEX V2 - MOBILE MENU + LIVE-SAFE CLAIM CLEANUP
========================================================= */

.ap-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    padding: 0;
    border: 1px solid rgba(11,31,58,0.16);
    border-radius: 999px;
    background: #FFFFFF;
    cursor: pointer;
}

.ap-menu-toggle span {
    width: 18px;
    height: 2px;
    display: block;
    border-radius: 999px;
    background: var(--ap-navy);
}

.ap-mobile-drawer {
    position: fixed;
    inset: 0;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    background: rgba(5,12,20,0.62);
    backdrop-filter: blur(14px);
    transition: opacity 180ms ease, visibility 180ms ease;
}

.ap-mobile-drawer__inner {
    position: absolute;
    top: 0;
    right: 0;
    width: min(420px, 92vw);
    height: 100%;
    padding: 28px;
    background:
        radial-gradient(circle at 100% 0%, rgba(14,143,184,0.16), transparent 32%),
        #07111D;
    color: var(--ap-white);
    transform: translateX(100%);
    transition: transform 220ms ease;
    overflow-y: auto;
}

body.ap-menu-open {
    overflow: hidden;
}

body.ap-menu-open .ap-mobile-drawer {
    opacity: 1;
    visibility: visible;
}

body.ap-menu-open .ap-mobile-drawer__inner {
    transform: translateX(0);
}

.ap-mobile-drawer__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.ap-mobile-drawer__top strong {
    font-family: var(--ap-font-display);
    font-size: 24px;
    line-height: 1;
    letter-spacing: -0.05em;
}

.ap-mobile-drawer__close {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: var(--ap-white);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.ap-mobile-drawer__nav {
    display: grid;
    padding: 28px 0;
}

.ap-mobile-drawer__nav a {
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,0.10);
    font-family: var(--ap-font-display);
    font-size: 30px;
    line-height: 1;
    letter-spacing: -0.055em;
    color: var(--ap-white);
}

.ap-mobile-drawer__cta {
    display: grid;
    gap: 12px;
    padding: 8px 0 26px;
}

.ap-mobile-drawer__cta .ap-btn {
    width: 100%;
    min-height: 54px;
}

.ap-mobile-drawer__proof {
    display: grid;
    gap: 10px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,0.12);
}

.ap-mobile-drawer__proof span {
    position: relative;
    padding-left: 22px;
    color: rgba(255,255,255,0.72);
    font-size: 14px;
}

.ap-mobile-drawer__proof span::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--ap-green);
    font-weight: 900;
}

/* Maintenance price cleanup */
.ap-plan-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 22px 0 0;
    color: rgba(255,255,255,0.78);
    font-family: var(--ap-font-display);
    font-size: 28px;
    line-height: 1;
    letter-spacing: -0.04em;
}

.ap-plan-price strong {
    font-size: 56px;
    color: var(--ap-white);
}

/* Header responsive behavior */
@media (max-width: 1180px) {
    .ap-menu-toggle {
        display: inline-flex;
    }

    .ap-main-header__actions {
        justify-content: flex-end;
    }

    .ap-main-header__actions .ap-btn--green {
        display: inline-flex;
    }
}

@media (max-width: 760px) {
    .ap-main-header__actions .ap-btn--green {
        display: none;
    }

    .ap-menu-toggle {
        display: inline-flex;
    }

    .ap-mobile-drawer__inner {
        width: 100%;
    }

    .ap-mobile-drawer__nav a {
        font-size: 28px;
    }
}

/* =========================================================
   AIRPLEX V2 - REVIEW/PROOF SAFE REPLACEMENT
========================================================= */

.ap-proof-cards-v2 {
    display: grid;
    gap: 18px;
}

.ap-proof-cards-v2 article {
    position: relative;
    min-height: 168px;
    padding: 32px 34px;
    background:
        radial-gradient(circle at 100% 0%, rgba(14,143,184,0.12), transparent 34%),
        linear-gradient(180deg, #FFFFFF, #F6F8FA);
    border: 1px solid rgba(11,31,58,0.10);
    box-shadow: 0 18px 50px rgba(11,31,58,0.08);
}

.ap-proof-cards-v2 article::after {
    content: "";
    position: absolute;
    right: 26px;
    bottom: 26px;
    width: 58px;
    height: 58px;
    border-radius: 999px;
    background: rgba(14,143,184,0.08);
}

.ap-proof-cards-v2 span {
    display: inline-flex;
    margin-bottom: 18px;
    font-family: var(--ap-font-mono);
    font-size: 11px;
    font-weight: 900;
    color: var(--ap-blue);
}

.ap-proof-cards-v2 h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 10px;
    font-family: var(--ap-font-display);
    font-size: 28px;
    line-height: 1.04;
    letter-spacing: -0.055em;
    color: var(--ap-navy);
}

.ap-proof-cards-v2 p {
    position: relative;
    z-index: 2;
    max-width: 520px;
    margin: 0;
    color: var(--ap-steel);
    font-size: 16px;
    line-height: 1.6;
}

/* Mobile drawer CTA refinement */
.ap-mobile-drawer__cta .ap-btn--hero-outline {
    background: rgba(255,255,255,0.10);
    border-color: rgba(255,255,255,0.24);
    color: var(--ap-white);
}

.ap-mobile-drawer__cta .ap-btn--green {
    box-shadow: 0 18px 42px rgba(79,174,50,0.28);
}

/* =========================================================
   AIRPLEX V2 - EMERGENCY SECTION REPLACES MAINTENANCE PLAN
========================================================= */

.ap-emergency-v2 {
    padding: 132px 0;
    color: var(--ap-white);
    background:
        radial-gradient(circle at 20% 18%, rgba(232,116,59,0.20), transparent 28%),
        radial-gradient(circle at 82% 18%, rgba(14,143,184,0.22), transparent 30%),
        linear-gradient(135deg, #06111D 0%, #0B1F3A 54%, #050C14 100%);
}

.ap-emergency-v2__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
    gap: 70px;
    align-items: center;
}

.ap-emergency-v2 h2 {
    max-width: 700px;
    margin: 0;
    font-family: var(--ap-font-display);
    font-size: clamp(46px, 4.8vw, 74px);
    line-height: 0.96;
    letter-spacing: -0.075em;
    color: var(--ap-white);
}

.ap-emergency-v2 p {
    max-width: 680px;
    margin: 24px 0 0;
    color: rgba(255,255,255,0.76);
    font-size: 18px;
    line-height: 1.65;
}

.ap-emergency-v2__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.ap-emergency-v2__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.ap-emergency-v2__grid div {
    min-height: 190px;
    padding: 28px;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.055));
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: 0 18px 50px rgba(0,0,0,0.16);
}

.ap-emergency-v2__grid span {
    font-family: var(--ap-font-mono);
    font-size: 11px;
    color: var(--ap-amber);
    font-weight: 900;
}

.ap-emergency-v2__grid strong {
    display: block;
    margin-top: 18px;
    font-family: var(--ap-font-display);
    font-size: 25px;
    line-height: 1.05;
    letter-spacing: -0.055em;
    color: var(--ap-white);
}

.ap-emergency-v2__grid p {
    margin: 10px 0 0;
    color: rgba(255,255,255,0.66);
    font-size: 15px;
    line-height: 1.55;
}

/* Hide old maintenance section if any duplicate remains */
.ap-maintenance-v2,
.ap-maintenance {
    display: none !important;
}

@media (max-width: 1180px) {
    .ap-emergency-v2__inner {
        grid-template-columns: 1fr;
        gap: 42px;
    }
}

@media (max-width: 720px) {
    .ap-emergency-v2 {
        padding: 78px 0;
    }

    .ap-emergency-v2__grid {
        grid-template-columns: 1fr;
    }

    .ap-emergency-v2__actions {
        display: grid;
    }

    .ap-emergency-v2__actions .ap-btn {
        width: 100%;
    }
}
