/*
Theme Name: BAE
Template: apparatus
Theme URI: https://bookanestimate.com/
Author: Pixouls
Author URI: https://www.pixouls.com/
Description: BookAnEstimate concierge and service marketplace.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: bae
*/

/* $TOKENS
--------------------------------------------------------*/
/*
 * Measurement scale
 * Geometry: .1rem borders; .2, .4, .6, .8rem; then .8rem increments.
 * Typography: .8rem through 2rem in .2rem increments; then the geometry scale.
 */
:root {
    --bae-navy: #0b2343;
    --bae-deep: #081838;
    --bae-green: #62bb46;
    --bae-green-dark: #438f2d;
    --bae-accent: #8ee56f;
    --bae-accent-hover: #a4f085;
    --bae-blue: #2d74da;
    --bae-focus: #8bc8ff;
    --bae-sky: #e8f4fc;
    --bae-mist: #f8fafb;
    --bae-white: #fff;
    --bae-ink: #10243c;
    --bae-muted: #617086;
    --bae-line: rgba(11, 35, 67, .12);
    --bae-shadow: 0 3.2rem 8rem rgba(8, 24, 56, .12);
    --bae-radius: 2.4rem;
    --bae-font: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
    --bae-action-transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

/* $GLOBAL
--------------------------------------------------------*/
html { scroll-behavior: smooth; }
body.bae-site {
    color: var(--bae-ink);
    background: var(--bae-mist);
    font-family: var(--bae-font);
    font-size: 1.8rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
.bae-site .main { overflow: clip; }
.bae-site--home {
    --bae-home-header-height: 8.8rem;
    --bae-home-dock-height: 11.2rem;
    --bae-home-content-gap: 3.2rem;
    --bae-home-left-gutter: max(2.4rem, calc((100vw - 128rem) / 2));
    --bae-home-plan-width: calc(clamp(26.4rem, 27vw, 33.6rem) + var(--bae-home-content-gap) + var(--bae-home-left-gutter));
    overflow-x: hidden;
}
.bae-site--home .app {
    min-height: 100dvh;
    overflow: visible;
}
.bae-site--home .main,
.bae-site--home .bae-home { min-height: 100dvh; height: auto; overflow: visible; }
.bae-shell { width: min(128rem, calc(100% - 4.8rem)); margin-inline: auto; }
.bae-site h1,
.bae-site h2,
.bae-site h3 { color: var(--bae-navy); font-family: var(--bae-font); letter-spacing: -.045em; line-height: 1.02; }
.bae-site h1 { font-size: clamp(5.6rem, 6.4vw, 10.4rem); font-weight: 730; }
.bae-site h2 { font-size: clamp(4rem, 5vw, 8rem); font-weight: 700; }
.bae-site h3 { font-size: 2.4rem; font-weight: 700; }
.bae-site em { color: var(--bae-green); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.bae-kicker {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: 2.4rem;
    color: var(--bae-blue);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .17em;
    line-height: 1;
    text-transform: uppercase;
}
.bae-kicker > span { width: 3.2rem; height: .2rem; background: currentColor; }
.bae-kicker--light { color: #94dfff; }
.bae-btn {
    display: inline-flex;
    min-height: 5.6rem;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    padding: 1.6rem 2.4rem;
    border: .1rem solid var(--bae-green);
    border-radius: 100vmax;
    color: var(--bae-white);
    background: var(--bae-green);
    box-shadow: 0 1.6rem 3.2rem rgba(98, 187, 70, .2);
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: var(--bae-action-transition);
}
.bae-btn:hover,
.bae-btn:focus-visible { color: var(--bae-white); border-color: var(--bae-green-dark); background: var(--bae-green-dark); transform: translateY(-.2rem); box-shadow: 0 1.6rem 3.2rem rgba(98, 187, 70, .3); }
.bae-btn:focus-visible { outline: .4rem solid var(--bae-focus); outline-offset: .4rem; }
.bae-btn:active { transform: translateY(0); }
.bae-btn[aria-disabled="true"],
.bae-btn:disabled { opacity: .45; pointer-events: none; transform: none; box-shadow: none; }
.bae-btn__icon { width: 2.4rem; height: 2.4rem; transition: transform .25s ease; }
.bae-btn:hover .bae-btn__icon,
.bae-btn:focus-visible .bae-btn__icon { transform: translateX(.4rem); }
.bae-btn--small { min-height: 4.8rem; padding: .8rem 2.4rem; font-size: 1.4rem; }
.bae-btn--wide { width: 100%; }
.bae-btn--light { color: var(--bae-navy); border-color: var(--bae-white); background: var(--bae-white); box-shadow: none; }
.bae-btn--light:hover,
.bae-btn--light:focus-visible { color: var(--bae-white); border-color: rgba(255,255,255,.58); background: var(--bae-navy); box-shadow: 0 1.6rem 3.2rem rgba(8,24,56,.2); }
.bae-text-link {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    margin-top: 4rem;
    color: var(--bae-navy);
    font-weight: 800;
    text-decoration: none;
    transition: color .22s ease, transform .22s ease;
}
.bae-text-link:hover,
.bae-text-link:focus-visible { color: var(--bae-green-dark); transform: translateX(.2rem); }
.bae-text-link:focus-visible { outline: .4rem solid rgba(45,116,218,.24); outline-offset: .4rem; }
.bae-text-link svg { width: 2.4rem; }
.bae-notice { padding: 2.4rem; border: .1rem solid var(--bae-line); border-radius: 1.6rem; background: #fff; }

/* $HEADER
--------------------------------------------------------*/
.bae-hdr {
    position: sticky;
    z-index: 50;
    top: 0;
    height: 8.8rem;
    padding: 0;
    border-bottom: .1rem solid var(--bae-line);
    background: var(--bae-mist);
    backdrop-filter: none;
}
.bae-hdr__inner {
    display: flex;
    width: min(138.4rem, calc(100% - 4.8rem));
    height: 100%;
    min-height: 6.4rem;
    align-items: center;
    gap: 3.2rem;
    margin-inline: auto;
}
.bae-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .8rem; color: var(--bae-navy); text-decoration: none; }
.bae-brand__mark {
    position: relative;
    display: grid;
    width: 4.8rem;
    height: 4.8rem;
    place-items: center;
    border-radius: 1.6rem;
    color: var(--bae-white);
    background: var(--bae-navy);
    transform: rotate(-3deg);
}
.bae-brand__service-icons {
    position: relative;
    display: block;
    width: 2.4rem;
    height: 2.4rem;
}
.bae-brand__service-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.4rem;
    height: 2.4rem;
    color: #fff;
    opacity: 0;
    transform: translate(-50%, -50%) translateY(.8rem) rotate(-8deg) scale(.8);
    animation: bae-brand-service-cycle 28.8s cubic-bezier(.22,.8,.24,1) infinite;
}
.bae-brand__service-icon:nth-child(2) { animation-delay: 2.4s; }
.bae-brand__service-icon:nth-child(3) { animation-delay: 4.8s; }
.bae-brand__service-icon:nth-child(4) { animation-delay: 7.2s; }
.bae-brand__service-icon:nth-child(5) { animation-delay: 9.6s; }
.bae-brand__service-icon:nth-child(6) { animation-delay: 12s; }
.bae-brand__service-icon:nth-child(7) { animation-delay: 14.4s; }
.bae-brand__service-icon:nth-child(8) { animation-delay: 16.8s; }
.bae-brand__service-icon:nth-child(9) { animation-delay: 19.2s; }
.bae-brand__service-icon:nth-child(10) { animation-delay: 21.6s; }
.bae-brand__service-icon:nth-child(11) { animation-delay: 24s; }
.bae-brand__service-icon:nth-child(12) { animation-delay: 26.4s; }
.bae-brand__mark-check {
    position: absolute;
    right: -.6rem;
    bottom: -.4rem;
    width: 2.4rem;
    height: 2.4rem;
    padding: .4rem;
    border: .2rem solid var(--bae-mist);
    border-radius: 50%;
    color: #fff;
    background: var(--bae-green);
}
.bae-brand__type { display: flex; align-items: baseline; color: inherit; font-size: 2.4rem; font-weight: 650; letter-spacing: -.06em; line-height: 1; }
.bae-brand__type strong { color: var(--bae-green); font-weight: 850; }
.bae-brand__type small { color: var(--bae-green); font-size: 1.2rem; font-weight: 850; letter-spacing: -.03em; }
.bae-nav { margin-left: auto; }
.bae-nav__list { display: flex; align-items: center; gap: .8rem; }
.bae-nav__link { padding: 1.6rem 1.6rem; border-radius: .8rem; color: var(--bae-navy); font-size: 1.4rem; font-weight: 700; text-decoration: none; transition: color .22s ease, background-color .22s ease, box-shadow .22s ease; }
.bae-nav__link:hover,
.bae-nav__link:focus-visible,
.nav__item--active .bae-nav__link { color: var(--bae-green-dark); }
.bae-nav__link:focus-visible { outline: .4rem solid rgba(45,116,218,.24); outline-offset: .1rem; }
.bae-hdr__toggle { display: none; border-radius: .8rem; color: var(--bae-navy); transition: var(--bae-action-transition); }
.bae-hdr__toggle:hover,
.bae-hdr__toggle:focus-visible { color: var(--bae-green-dark); background: rgba(98,187,70,.1); }
.bae-hdr__toggle:focus-visible { outline: .4rem solid rgba(45,116,218,.24); outline-offset: .1rem; }
.bae-site--home .bae-hdr {
    position: fixed;
    z-index: 50;
    top: 0;
    right: 0;
    left: 0;
    height: var(--bae-home-header-height);
    padding: 0;
    border-bottom-color: var(--bae-line);
    background: var(--bae-mist);
    backdrop-filter: none;
}
.bae-site--home .bae-hdr__inner { height: 100%; }

/* $HERO
--------------------------------------------------------*/
.bae-hero {
    position: relative;
    z-index: 0;
    min-height: calc(100svh - 8.8rem);
    padding: clamp(3.2rem, 5vw, 6.4rem) 0 clamp(4rem, 6vw, 7.2rem);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 12% 100%, rgba(98,187,70,.2), transparent 30%),
        linear-gradient(115deg, #06152d 0%, #0a2244 58%, #0f396a 100%);
    isolation: isolate;
}
.bae-hero__mesh {
    position: absolute;
    z-index: 1;
    inset: 0;
    opacity: .2;
    background-image:
        linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
    background-size: 8.8rem 8.8rem;
    mask-image: linear-gradient(90deg, #000, transparent 75%);
}
.bae-hero__image {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 58%;
    height: 100%;
    margin: 0;
    opacity: .52;
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.32) 24%, #000 68%);
}
.bae-hero__image::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5,19,42,.08), rgba(5,19,42,.82));
    content: "";
}
.bae-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.78) contrast(1.06);
}
.bae-hero__inner { position: relative; z-index: 2; }
.bae-site--home .bae-hero {
    height: auto;
    min-height: 100dvh;
    padding: var(--bae-home-header-height) 0 var(--bae-home-dock-height);
    overflow: clip;
}
.bae-site--home .bae-hero__inner {
    width: 100%;
    min-height: calc(100dvh - var(--bae-home-header-height) - var(--bae-home-dock-height));
    height: auto;
    margin: 0;
    padding-left: var(--bae-home-left-gutter);
}
.bae-hero__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(27.2rem, .55fr);
    align-items: center;
    gap: clamp(3.2rem, 7vw, 10.4rem);
    margin-bottom: clamp(2.4rem, 3vw, 3.2rem);
}
.bae-hero__intro .bae-kicker { margin-bottom: 1.6rem; }
.bae-hero__intro h1 { max-width: none; margin: 0; color: #fff; font-size: clamp(4.8rem, 6vw, 8.8rem); }
.bae-hero__intro h1 em { color: var(--bae-accent); }
.bae-hero__intro-side { padding-left: 2.4rem; border-left: .1rem solid rgba(255,255,255,.2); }
.bae-hero__intro-side > p { max-width: 44.8rem; margin: 0; color: #c3d3e4; font-size: clamp(1.4rem, 1.2vw, 1.8rem); line-height: 1.5; }
.bae-proof { display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 1.6rem; color: #fff; font-size: 1rem; font-weight: 750; }
.bae-proof span { display: inline-flex; align-items: center; gap: .6rem; }
.bae-proof svg { width: 1.6rem; color: var(--bae-accent); }
.bae-workspace {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.58fr) minmax(32rem, .68fr);
    align-items: stretch;
    gap: 0;
    min-height: 59.2rem;
    border-top: .1rem solid rgba(255,255,255,.17);
    border-bottom: .1rem solid rgba(255,255,255,.17);
}
.bae-site--home .bae-workspace {
    grid-template-columns: minmax(0, 1fr) var(--bae-home-plan-width);
    min-height: calc(100dvh - var(--bae-home-header-height) - var(--bae-home-dock-height));
    height: auto;
    align-items: start;
    border-top: 0;
    border-bottom: 0;
}
.bae-workspace::before {
    position: absolute;
    z-index: -1;
    inset: 18% 20% -18% 12%;
    border-radius: 50%;
    background: rgba(45,116,218,.3);
    content: "";
    filter: blur(10.4rem);
}

/* $CONCIERGE
--------------------------------------------------------*/
.bae-concierge {
    display: flex;
    min-height: 59.2rem;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    padding-right: clamp(3.2rem, 5vw, 7.2rem);
}
.bae-concierge__topbar { display: flex; align-items: center; justify-content: flex-end; padding: 1.6rem 0; }
.bae-concierge__identity { display: flex; align-items: center; }
.bae-concierge__identity > span:last-child { display: flex; flex-direction: column; }
.bae-concierge__identity strong { color: #fff; font-size: 1.4rem; font-weight: 650; letter-spacing: -.02em; }
.bae-concierge__identity small { display: block; margin-bottom: .4rem; color: #91a9c2; font-size: 1rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bae-concierge__voice { display: inline-flex; align-items: center; gap: .8rem; padding: .8rem 1.6rem; border: .1rem solid rgba(255,255,255,.2); border-radius: 100vmax; color: #fff; background: rgba(255,255,255,.06); font-size: 1.2rem; font-weight: 800; backdrop-filter: blur(1.6rem); }
.bae-concierge__voice:hover { border-color: var(--bae-accent); color: var(--bae-accent); background: rgba(255,255,255,.1); }
.bae-concierge__voice svg { width: 1.6rem; }
.bae-concierge__body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 0 0 2.4rem; }
.bae-chat { min-height: 28.8rem; flex: 1 0 auto; padding: 2.4rem .8rem .8rem 0; overflow: visible; }
.bae-site--home .bae-concierge {
    min-height: calc(100dvh - var(--bae-home-header-height) - var(--bae-home-dock-height));
    height: auto;
    overflow: visible;
    padding-right: var(--bae-home-content-gap);
}
.bae-site--home .bae-concierge__body { overflow: visible; padding-bottom: 0; }
.bae-site--home .bae-chat {
    min-height: 0;
    flex: 0 0 auto;
    padding: var(--bae-home-content-gap) 0;
    overflow: visible;
}
.bae-site--home .bae-chat > * {
    scroll-margin-top: calc(var(--bae-home-header-height) + 2.4rem);
    scroll-margin-bottom: calc(var(--bae-home-dock-height) + 2.4rem);
}
.bae-chat__message { display: flex; align-items: flex-start; margin-bottom: 2.4rem; animation: bae-message-in .45s cubic-bezier(.2,.8,.2,1) both; }
.bae-chat__message > div { max-width: 80%; padding: 0; background: transparent; }
.bae-chat__message small { display: block; margin-bottom: .6rem; color: #81a0bf; font-size: .8rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.bae-chat__message p { margin: 0; color: #fff; font-size: 2rem; line-height: 1.45; letter-spacing: -.015em; }
.bae-chat__message--user { justify-content: flex-end; }
.bae-chat__message--user > div { max-width: 72%; padding: 1.6rem 1.6rem; border: .1rem solid rgba(255,255,255,.17); border-radius: 2.4rem 2.4rem .4rem 2.4rem; color: #fff; background: rgba(255,255,255,.09); backdrop-filter: blur(1.6rem); }
.bae-chat__message--user p { color: #fff; }
.bae-chat__message--user p { font-size: 1.6rem; line-height: 1.5; }
.bae-chat__message--welcome { margin: 3.2rem 0 2.4rem; }
.bae-chat__message--welcome > div { max-width: 75.2rem; }
.bae-intro-card {
    position: relative;
    display: flex;
    min-height: clamp(32rem, 55vh, 44.8rem);
    align-items: flex-end;
    overflow: hidden;
    border: .1rem solid rgba(255,255,255,.2);
    border-radius: 2.4rem;
    background: #0b2343;
    box-shadow: 0 2.4rem 7.2rem rgba(0,8,27,.3);
    isolation: isolate;
}
.bae-intro-card::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(4,14,31,.05) 0%, rgba(4,14,31,.3) 38%, rgba(4,14,31,.94) 100%),
        linear-gradient(90deg, rgba(4,14,31,.7), transparent 72%);
    content: "";
}
.bae-intro-card__media,
.bae-intro-card__media .vim { position: absolute; z-index: -2; inset: 0; }
.bae-intro-card__media .vim { background-color: #0b2343; }
.bae-intro-card__media .vim__iframe { pointer-events: none; }
.bae-intro-card__content {
    position: relative;
    z-index: 1;
    width: min(100%, 68rem);
    padding: clamp(2.4rem, 5vw, 4.8rem);
}
.bae-intro-card__content > small {
    display: block;
    margin-bottom: 1.6rem;
    color: var(--bae-accent);
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.bae-intro-card__content h2 {
    max-width: 13ch;
    margin: 0 0 1.6rem;
    color: #fff;
    font-size: clamp(3.2rem, 5vw, 6.4rem);
    line-height: .98;
}
.bae-intro-card__free {
    color: var(--bae-accent);
    white-space: nowrap;
}
.bae-intro-card__content p {
    max-width: 60rem;
    margin: 0;
    color: #d6e1eb;
    font-size: clamp(1.4rem, 1.3vw, 1.6rem);
    line-height: 1.5;
}
.bae-intro-card__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.4rem; }
.bae-intro-card__actions button {
    display: inline-flex;
    min-height: 4.8rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: .8rem 1.6rem;
    border: .1rem solid rgba(255,255,255,.34);
    border-radius: 100vmax;
    color: #fff;
    background: rgba(7,24,46,.52);
    box-shadow: none;
    font-family: var(--bae-font);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    appearance: none;
    backdrop-filter: blur(1.6rem);
    transition: var(--bae-action-transition);
}
.bae-intro-card__actions button.is-primary { border-color: var(--bae-accent); color: #07182e; background: var(--bae-accent); box-shadow: 0 1.6rem 3.2rem rgba(98,187,70,.25); }
.bae-intro-card__actions button:hover,
.bae-intro-card__actions button:focus-visible { border-color: #fff; color: #fff; background: rgba(255,255,255,.16); transform: translateY(-.2rem); }
.bae-intro-card__actions button.is-primary:hover,
.bae-intro-card__actions button.is-primary:focus-visible { border-color: var(--bae-accent-hover); color: #07182e; background: var(--bae-accent-hover); box-shadow: 0 1.6rem 3.2rem rgba(98,187,70,.34); }
.bae-intro-card__actions button:focus-visible { outline: .4rem solid rgba(139,200,255,.72); outline-offset: .2rem; }
.bae-intro-card__actions button:active { transform: translateY(0); }
.bae-chat__typing { display: inline-flex; gap: .6rem; padding: 1.6rem 0 !important; }
.bae-chat__typing i { width: .8rem; height: .8rem; border-radius: 50%; background: var(--bae-accent); animation: bae-dot 1s infinite; }
.bae-chat__typing i:nth-child(2) { animation-delay: .15s; }
.bae-chat__typing i:nth-child(3) { animation-delay: .3s; }
.bae-chat__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: -.4rem 0 2.4rem; animation: bae-message-in .45s cubic-bezier(.2,.8,.2,1) both; }
.bae-chat__actions button,
.bae-chat__actions input,
.bae-chat__actions select { min-height: 4.8rem; padding: .8rem 1.6rem; border: .1rem solid rgba(142,229,111,.42); border-radius: 100vmax; color: #fff; background: rgba(98,187,70,.13); font-size: 1.2rem; font-weight: 800; backdrop-filter: blur(1.6rem); transition: var(--bae-action-transition); }
.bae-chat__actions button:hover,
.bae-chat__actions button:focus-visible { border-color: var(--bae-accent); background: rgba(98,187,70,.25); transform: translateY(-.1rem); }
.bae-chat__actions button:focus-visible { outline: .4rem solid rgba(139,200,255,.65); outline-offset: .2rem; }
.bae-chat__actions button:active { transform: translateY(0); }
.bae-chat__actions button:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.bae-chat__actions button.is-primary { padding-inline: 2.4rem; border-color: var(--bae-accent); color: #07182e; background: var(--bae-accent); box-shadow: 0 .8rem 3.2rem rgba(98,187,70,.2); }
.bae-chat__actions button.is-primary:hover,
.bae-chat__actions button.is-primary:focus-visible { border-color: var(--bae-accent-hover); color: #07182e; background: var(--bae-accent-hover); box-shadow: 0 1.6rem 3.2rem rgba(98,187,70,.3); }
.bae-chat__actions input { min-width: 18.4rem; color-scheme: dark; }
.bae-chat__actions select { min-width: 8.8rem; appearance: none; color-scheme: dark; text-align: center; }
.bae-chat__actions select {
    padding-right: 3.2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238ee56f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .8rem center;
    background-size: 1.6rem;
}
.bae-chat__actions select option { color: var(--bae-ink); background: #fff; }
.bae-chat__date-hint { flex: 1 0 100%; color: #9db4ca; font-size: 1rem; }
.bae-chat__date-picker { display: inline-flex; gap: .6rem; }
.bae-chat__actions.is-past { display: none; }
.bae-prompts { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.6rem 0; }
.bae-prompts::before { display: inline-flex; align-items: center; margin-right: .4rem; color: #7692af; content: "Try"; font-size: 1rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.bae-prompts--intro { margin: -.6rem 0 2.4rem; }
.bae-prompts--intro::before { display: none; }
.bae-prompts button { padding: .8rem .8rem; border: .1rem solid rgba(255,255,255,.17); border-radius: 100vmax; color: #c5d4e3; background: rgba(255,255,255,.05); font-size: 1rem; font-weight: 700; backdrop-filter: blur(1.6rem); transition: border .2s, color .2s, background .2s, transform .2s; }
.bae-prompts button:hover,
.bae-prompts button:focus-visible { border-color: rgba(142,229,111,.6); color: #fff; background: rgba(98,187,70,.14); transform: translateY(-.1rem); }
.bae-prompts button:focus-visible { outline: .4rem solid rgba(139,200,255,.65); outline-offset: .2rem; }
.bae-prompts button:active { transform: translateY(0); }
.bae-service-picker { margin: 2.4rem 0 2.4rem; overflow: visible; animation: bae-message-in .4s cubic-bezier(.2,.8,.2,1) both; }
.bae-service-picker__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .8rem; }
.bae-service-picker__head > small { color: #81a0bf; font-size: .8rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.bae-service-picker__controls { display: flex; gap: .6rem; }
.bae-service-picker__controls button {
    display: grid;
    width: 4.8rem;
    height: 4.8rem;
    min-width: 4.8rem;
    min-height: 4.8rem;
    place-items: center;
    border: .1rem solid rgba(255,255,255,.18);
    border-radius: 50%;
    color: #fff;
    background: rgba(255,255,255,.06);
    transition: var(--bae-action-transition);
}
.bae-service-picker__controls button:first-child { transform: rotate(180deg); }
.bae-service-picker__controls button:hover,
.bae-service-picker__controls button:focus-visible { border-color: var(--bae-accent); color: var(--bae-accent); background: rgba(142,229,111,.08); box-shadow: 0 .8rem 2.4rem rgba(0,8,27,.18); }
.bae-service-picker__controls button:focus-visible { outline: .4rem solid rgba(139,200,255,.65); outline-offset: .2rem; }
.bae-service-picker__controls button.swiper-button-disabled { opacity: .3; pointer-events: none; }
.bae-service-picker__controls svg { width: 1.6rem; }
.bae-service-picker__swiper {
    overflow: hidden;
    user-select: none;
    margin-right: calc(var(--bae-home-content-gap) * -1);
    margin-left: calc(var(--bae-home-left-gutter) * -1);
    padding-top: .4rem;
    padding-right: var(--bae-home-content-gap);
    padding-left: var(--bae-home-left-gutter);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--bae-home-left-gutter), #000 calc(100% - var(--bae-home-content-gap)), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 var(--bae-home-left-gutter), #000 calc(100% - var(--bae-home-content-gap)), transparent 100%);
}
.bae-service-choice {
    position: relative;
    width: 14.4rem !important;
    height: 20.8rem;
    overflow: hidden;
    border: .1rem solid rgba(255,255,255,.18);
    border-radius: 1.6rem;
    color: #fff;
    background: #0c294d;
    text-align: left;
    cursor: grab;
    isolation: isolate;
    transition: border-color .22s ease, box-shadow .22s ease;
}
.bae-service-choice:active { cursor: grabbing; }
.bae-service-choice::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(6,21,45,.02), rgba(6,21,45,.94)); content: ""; }
.bae-service-choice__media { position: absolute; z-index: 0; inset: 0; }
.bae-service-choice__media img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; -webkit-user-drag: none; filter: saturate(.78); transition: transform .35s ease, filter .35s ease; }
.bae-service-choice > span:last-child { position: absolute; z-index: 2; right: 1.6rem; bottom: .8rem; left: 1.6rem; font-size: 1rem; font-weight: 800; line-height: 1.2; text-shadow: 0 .2rem 1.6rem rgba(0,0,0,.4); }
.bae-service-choice:hover,
.bae-service-choice:focus-visible,
.bae-service-choice.is-selected { border-color: var(--bae-accent); box-shadow: 0 0 0 .4rem rgba(142,229,111,.34), 0 .8rem 2.4rem rgba(0,8,27,.22); outline: none; }
.bae-service-choice:hover .bae-service-choice__media img,
.bae-service-choice:focus-visible .bae-service-choice__media img,
.bae-service-choice.is-selected .bae-service-choice__media img { filter: saturate(1); transform: scale(1.06); }
.bae-service-picker__scrollbar.swiper-scrollbar {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 1.6rem;
    margin-top: 1.6rem;
    border-radius: 100vmax;
    background: rgba(255,255,255,.16);
}
.bae-service-picker__scrollbar .swiper-scrollbar-drag { min-width: 4.8rem; border: .2rem solid rgba(6,21,45,.34); border-radius: 100vmax; background: var(--bae-accent); cursor: grab; }
.bae-service-picker__scrollbar .swiper-scrollbar-drag:active { cursor: grabbing; }
.bae-input-console {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: .8rem;
    min-height: 7.2rem;
    padding: .8rem;
    border: .1rem solid rgba(255,255,255,.27);
    border-radius: 2.4rem;
    background: #14233d;
    box-shadow: 0 2.4rem 7.2rem rgba(0,8,27,.28), inset 0 1px rgba(255,255,255,.08);
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.bae-input-console:focus-within,
.bae-input-console[data-mode="voice"] { border-color: rgba(142,229,111,.82); background: #182c46; box-shadow: 0 2.4rem 7.2rem rgba(0,8,27,.36), 0 0 0 .4rem rgba(142,229,111,.12), 0 0 2.4rem rgba(142,229,111,.16); }
.bae-composer { display: flex; min-width: 0; align-items: center; padding: .4rem .8rem; }
.bae-composer[hidden] { display: none; }
.bae-composer__entry { display: flex; min-width: 0; flex: 1; flex-direction: column; justify-content: center; }
.bae-composer textarea { width: 100%; min-height: 3.2rem; max-height: 10.4rem; padding: .2rem 0; border: 0; outline: 0; resize: none; color: #fff; background: transparent; font-size: 1.6rem; line-height: 1.4; }
.bae-composer textarea::placeholder { color: #9bb0c5; opacity: 1; }
.bae-composer__entry small { color: #6f88a3; font-size: .8rem; font-weight: 650; letter-spacing: .015em; line-height: 1.2; }
.bae-input-mode {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: stretch;
    gap: .4rem;
    padding: .4rem;
    border: .1rem solid rgba(255,255,255,.12);
    border-radius: 100vmax;
    background: #091a33;
}
.bae-input-mode button {
    display: inline-flex;
    min-width: 6.4rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: 0 1.6rem;
    border-radius: 100vmax;
    color: #8299b2;
    font-size: 1rem;
    font-weight: 800;
    transition: var(--bae-action-transition);
}
.bae-input-mode button svg { width: 1.6rem; }
.bae-input-mode button:hover,
.bae-input-mode button:focus-visible { color: #fff; background: rgba(255,255,255,.07); }
.bae-input-mode button:focus-visible { outline: .4rem solid rgba(139,200,255,.6); outline-offset: .1rem; }
.bae-input-mode button.is-active { color: #07182e; background: var(--bae-accent); box-shadow: 0 .8rem 2.4rem rgba(98,187,70,.2); }
.bae-input-mode button.is-active:hover,
.bae-input-mode button.is-active:focus-visible { color: #07182e; background: var(--bae-accent-hover); }
/* $PLAN
--------------------------------------------------------*/
.bae-plan {
    position: relative;
    display: flex;
    align-self: start;
    min-width: 0;
    flex-direction: column;
    padding: 3.2rem 3.2rem 2.4rem 4.8rem;
    overflow: hidden;
    border-left: .1rem solid rgba(255,255,255,.18);
    color: #fff;
    background: linear-gradient(150deg, rgba(11,37,72,.58), rgba(5,20,48,.88));
    backdrop-filter: blur(3.2rem) saturate(1.15);
    clip-path: polygon(3.2rem 0, 100% 0, 100% 100%, 0 100%, 0 3.2rem);
}
.bae-plan::after {
    position: absolute;
    right: -8rem;
    bottom: -8rem;
    width: 20rem;
    height: 20rem;
    border: .1rem solid rgba(255,255,255,.08);
    border-radius: 50%;
    box-shadow: 0 0 0 3.2rem rgba(255,255,255,.025), 0 0 0 6.4rem rgba(255,255,255,.018);
    content: "";
    pointer-events: none;
}
.bae-plan__head { display: flex; align-items: center; justify-content: space-between; color: #a9bdd4; font-size: 1rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bae-plan__head strong { display: grid; min-width: 4.8rem; height: 2.4rem; place-items: center; border: .1rem solid rgba(255,255,255,.14); border-radius: 100vmax; color: #fff; background: rgba(255,255,255,.06); }
.bae-plan h2 { margin: 1.6rem 0 .4rem; color: #fff; font-size: clamp(2.4rem, 2.6vw, 3.2rem); }
.bae-plan h2 span { color: var(--bae-accent); }
.bae-plan__lede { margin: 0 0 1.6rem; color: #9fb5cc; font-size: 1.2rem; line-height: 1.5; }
.bae-plan__items { position: relative; margin-bottom: 1.6rem; }
.bae-plan__items::before { position: absolute; top: 1.6rem; bottom: 1.6rem; left: 1.6rem; width: .1rem; background: rgba(255,255,255,.13); content: ""; }
.bae-plan__item { position: relative; display: grid; grid-template-columns: 3.2rem minmax(0, 1fr) 1.6rem; align-items: center; gap: .8rem; min-height: 5.6rem; padding: .8rem 0; opacity: 1; transition: background-color .3s, box-shadow .3s, transform .3s; }
.bae-plan__item.is-current::before {
    position: absolute;
    top: .2rem;
    right: 0;
    bottom: .2rem;
    left: -4.8rem;
    border-radius: 0 1.6rem 1.6rem 0;
    background: rgba(111,185,255,.09);
    content: "";
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4.8rem);
    mask-image: linear-gradient(90deg, transparent 0, #000 4.8rem);
}
.bae-plan__item > span { position: relative; z-index: 1; display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: .1rem solid rgba(255,255,255,.14); border-radius: 50%; color: #8da6bf; background: #0d2a50; box-shadow: 0 0 0 .4rem #0d2a50; font-size: .8rem; font-weight: 850; }
.bae-plan__item.is-complete > span { border-color: rgba(142,229,111,.5); color: var(--bae-accent); box-shadow: 0 0 0 .4rem rgba(142,229,111,.05); }
.bae-plan__item.is-current > span { border-color: #6fb9ff; color: #fff; background: #245f99; box-shadow: 0 0 0 .4rem #0d2a50, 0 0 0 .6rem rgba(111,185,255,.15); }
.bae-plan__item div { display: flex; min-width: 0; flex-direction: column; }
.bae-plan__item small { color: #7894b0; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bae-plan__item strong { color: #8fa6bc; font-size: 1.2rem; line-height: 1.35; }
.bae-plan__item.is-complete strong,
.bae-plan__item.is-current strong { color: #fff; }
.bae-plan__item.is-current small { color: #93ceff; }
.bae-plan__item > svg { width: 1.6rem; color: var(--bae-accent); opacity: 0; }
.bae-plan__item.is-complete > svg { opacity: 1; }
.bae-plan__form-link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 100%;
    min-height: 4.8rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin: .8rem 0 0;
    padding: .8rem 1.6rem;
    border: .1rem solid rgba(255,255,255,.13);
    border-radius: 1.6rem;
    color: #9eb3c8;
    background: rgba(255,255,255,.035);
    box-shadow: none;
    font-family: var(--bae-font);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    appearance: none;
    transition: var(--bae-action-transition);
}
.bae-plan__form-link svg { width: 1.6rem; height: 1.6rem; color: #7f9bb6; transform: rotate(180deg); transition: color .22s ease, transform .22s ease; }
.bae-plan__form-link:hover,
.bae-plan__form-link:focus-visible { border-color: rgba(142,229,111,.4); color: #fff; background: rgba(142,229,111,.08); }
.bae-plan__form-link:hover svg,
.bae-plan__form-link:focus-visible svg { color: var(--bae-accent); transform: rotate(180deg) translateX(.2rem); }
.bae-plan__form-link:focus-visible { outline: .4rem solid rgba(139,200,255,.55); outline-offset: .2rem; }
.bae-plan__form-link.is-form-visible { border-color: rgba(111,185,255,.24); color: #c5d8ea; background: rgba(111,185,255,.07); }
.bae-plan__actions { position: relative; z-index: 1; margin-top: auto; }
.bae-plan__actions .bae-btn { min-height: 4.8rem; padding: .8rem 1.6rem; font-size: 1.2rem; }
.bae-plan__edit { display: flex; width: 100%; align-items: center; justify-content: center; gap: .8rem; margin-top: .8rem; padding: .8rem; color: #c5d6e7; font-size: 1.2rem; font-weight: 750; }
.bae-plan__edit:hover { color: #fff; }
.bae-plan__edit svg { width: 1.6rem; color: var(--bae-accent); }
.bae-plan__fineprint { position: relative; z-index: 1; margin: .8rem 0 0; color: #7f98b2; font-size: 1rem; line-height: 1.4; text-align: center; }
.bae-site--home .bae-plan {
    position: fixed;
    z-index: 3;
    top: var(--bae-home-header-height);
    right: 0;
    bottom: var(--bae-home-dock-height);
    width: var(--bae-home-plan-width);
    align-self: start;
    height: calc(100dvh - var(--bae-home-header-height) - var(--bae-home-dock-height));
    min-height: 0;
    max-height: none;
    padding-left: var(--bae-home-content-gap);
    padding-right: var(--bae-home-left-gutter);
    padding-bottom: 3.2rem;
    clip-path: none;
}
.bae-site--home .bae-plan::after { display: none; }
.bae-site--home .bae-plan__items {
    display: grid;
    min-height: 0;
    flex: 1;
    grid-template-rows: repeat(5, minmax(5.6rem, 1fr));
    margin-bottom: 0;
}
.bae-site--home .bae-plan__items::before { top: 10%; bottom: 10%; }
.bae-site--home .bae-plan__item > span {
    background: #0c294d;
    box-shadow: 0 0 0 .4rem #0c294d;
}
.bae-site--home .bae-plan__item.is-complete > span { box-shadow: 0 0 0 .4rem #0c294d; }
.bae-site--home .bae-plan__item.is-current > span {
    background: #245f99;
    box-shadow: 0 0 0 .4rem #0c294d, 0 0 0 .6rem rgba(111,185,255,.15);
}

/* $INPUT_DOCK
--------------------------------------------------------*/
.bae-input-dock {
    position: fixed;
    z-index: 45;
    right: 0;
    bottom: 0;
    left: 0;
    min-height: var(--bae-home-dock-height);
    overflow: visible;
    border-top: .1rem solid rgba(255,255,255,.16);
    background: #06152d;
    box-shadow: 0 -2.4rem 6.4rem rgba(0,8,27,.18);
    backdrop-filter: blur(2.4rem);
    contain: none;
}
.bae-input-dock__inner { position: relative; padding: 1.6rem 0 .8rem; }
.bae-input-dock__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    margin-top: .6rem;
    color: #7f98b2;
    font-size: .8rem;
    line-height: 1;
}
.bae-input-dock__links a { border-radius: .2rem; color: inherit; text-decoration: none; white-space: nowrap; transition: color .2s ease; }
.bae-input-dock__links a:hover,
.bae-input-dock__links a:focus-visible { color: #fff; }
.bae-input-dock__links a:focus-visible { outline: .2rem solid rgba(139,200,255,.55); outline-offset: .2rem; }
.bae-input-dock .bae-composer { width: 100%; }

/* $SECTIONS
--------------------------------------------------------*/
.bae-trustbar { padding: 2.4rem 0; color: #fff; background: var(--bae-blue); }
.bae-trustbar .bae-shell { display: flex; align-items: center; justify-content: center; gap: clamp(2.4rem, 5vw, 7.2rem); }
.bae-trustbar span { display: flex; align-items: center; gap: .8rem; font-size: 1.2rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.bae-trustbar strong { color: #9ed6ff; font-size: 1rem; }
.bae-trustbar i { width: .4rem; height: .4rem; border-radius: 50%; background: rgba(255,255,255,.5); }
.bae-services { padding: clamp(8rem, 10vw, 15.2rem) 0; background: #fff; }
.bae-section-head { display: grid; grid-template-columns: 1fr minmax(24.8rem, .45fr); align-items: end; gap: 4.8rem; margin-bottom: 6.4rem; }
.bae-section-head h2 { max-width: 11ch; margin: 0; }
.bae-section-head > p { margin: 0; color: var(--bae-muted); font-size: 1.8rem; }
.bae-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; }
.bae-service-card {
    position: relative;
    display: block;
    min-height: 36rem;
    overflow: hidden;
    border: .1rem solid rgba(11,35,67,.1);
    border-radius: 2.4rem;
    color: #fff;
    background: var(--bae-navy);
    text-decoration: none;
    box-shadow: 0 1.6rem 4rem rgba(8,24,56,.08);
    isolation: isolate;
    transition: transform .35s ease, box-shadow .35s ease;
}
.bae-service-card:hover,
.bae-service-card:focus-visible { color: #fff; box-shadow: 0 2.4rem 6.4rem rgba(8,24,56,.22); transform: translateY(-.8rem); }
.bae-service-card:focus-visible { outline: .4rem solid var(--bae-focus); outline-offset: .4rem; }
.bae-service-card__media { position: absolute; z-index: -2; inset: 0; }
.bae-service-card__media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,18,39,.04) 15%, rgba(5,18,39,.3) 48%, rgba(5,18,39,.96) 100%); content: ""; }
.bae-service-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .4s; }
.bae-service-card:hover .bae-service-card__media img,
.bae-service-card:focus-visible .bae-service-card__media img { filter: saturate(1.08); transform: scale(1.065); }
.bae-service-card__content { position: absolute; right: 2.4rem; bottom: 2.4rem; left: 2.4rem; }
.bae-service-card small { display: block; margin-bottom: .8rem; color: #a7ef8d; font-size: 1rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.bae-service-card h3 { max-width: 11ch; margin: 0 0 .8rem; color: #fff; font-size: clamp(2.4rem, 2.2vw, 3.2rem); text-shadow: 0 .2rem 2.4rem rgba(0,0,0,.28); }
.bae-service-card p { display: -webkit-box; margin: 0; overflow: hidden; color: rgba(255,255,255,.76); font-size: 1.2rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bae-service-card__arrow { position: absolute; top: 2.4rem; right: 2.4rem; display: grid; width: 4rem; height: 4rem; place-items: center; border: .1rem solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; background: rgba(5,18,39,.26); backdrop-filter: blur(1.6rem); transform: rotate(-35deg); transition: color .25s, background .25s, transform .25s; }
.bae-service-card:hover .bae-service-card__arrow,
.bae-service-card:focus-visible .bae-service-card__arrow { color: var(--bae-navy); background: var(--bae-accent); transform: none; }
.bae-service-card__arrow svg { width: 1.6rem; }
.bae-process { padding: clamp(8rem, 11vw, 15.2rem) 0; color: #fff; background: var(--bae-deep); }
.bae-process__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(4.8rem, 10vw, 15.2rem); }
.bae-process__sticky { align-self: start; position: sticky; top: 4rem; }
.bae-process__sticky h2 { margin: 0 0 3.2rem; color: #fff; }
.bae-process__sticky p { max-width: 44.8rem; color: #a9bdd4; font-size: 1.8rem; }
.bae-process__steps article { display: grid; grid-template-columns: 4.8rem 1fr; gap: 2.4rem; padding: 4rem 0; border-top: .1rem solid rgba(255,255,255,.15); }
.bae-process__steps article > span { color: #66809c; font-size: 1.2rem; font-weight: 800; }
.bae-process__steps article div > svg { width: 4rem; height: 4rem; margin-bottom: 4.8rem; color: var(--bae-green); }
.bae-process__steps h3 { margin: 0 0 1.6rem; color: #fff; font-size: 3.2rem; }
.bae-process__steps p { max-width: 55.2rem; margin: 0; color: #a9bdd4; }
.bae-why { padding: clamp(8rem, 10vw, 14.4rem) 0; background: var(--bae-sky); }
.bae-why__statement { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 6.4rem; }
.bae-why__statement h2 { width: min(68%, 16ch); max-width: none; margin: 0; }
.bae-why__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
.bae-why__cards article { padding: 3.2rem; border: .1rem solid rgba(11,35,67,.09); border-radius: 2.4rem; background: rgba(255,255,255,.7); }
.bae-why__cards article > span { display: grid; width: 5.6rem; height: 5.6rem; place-items: center; margin-bottom: 4.8rem; border-radius: 1.6rem; color: #fff; background: var(--bae-blue); }
.bae-why__cards svg { width: 2.4rem; }
.bae-why__cards h3 { margin: 0 0 1.6rem; font-size: 3.2rem; }
.bae-why__cards p { margin: 0; color: var(--bae-muted); }
.bae-final-cta { padding: 7.2rem 0; color: #fff; background: var(--bae-green); }
.bae-final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 4rem; }
.bae-final-cta span { display: block; margin-bottom: .8rem; font-size: 1.2rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.bae-final-cta h2 { margin: 0; color: #fff; font-size: clamp(4rem, 5vw, 7.2rem); }

/* $CONVERSATIONAL_HANDOFF
--------------------------------------------------------*/
.bae-chat__handoff {
    margin: 3.2rem 0 .8rem;
    padding: 3.2rem;
    border: .1rem solid rgba(255,255,255,.16);
    border-radius: 2.4rem;
    color: #fff;
    background: rgba(7,24,46,.72);
    box-shadow: 0 2.4rem 6.4rem rgba(0,8,27,.2);
    animation: bae-message-in .4s cubic-bezier(.2,.8,.2,1) both;
}
.bae-chat__handoff[hidden] { display: none; }
.bae-chat__handoff-intro { max-width: 60rem; }
.bae-chat__handoff-intro small,
.bae-chat__review span { display: block; margin-bottom: .8rem; color: #81a0bf; font-size: 1rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.bae-chat__handoff-intro h2 { margin: 0 0 .8rem; color: var(--bae-accent); font-size: clamp(3.2rem, 3vw, 4rem); }
.bae-chat__handoff-intro > p { margin: 0; color: #b3c6d8; font-size: 1.4rem; }
.bae-chat__review { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2.4rem; margin: 2.4rem 0 .6rem; padding: 0 0 0 1.6rem; border-left: .2rem solid #6fb9ff; }
.bae-chat__review > div { min-width: 0; }
.bae-chat__review strong { display: block; color: #fff; font-size: 1.8rem; }
.bae-chat__review p { margin: .4rem 0; color: #d8e3ed; font-size: 1.2rem; line-height: 1.45; }
.bae-chat__review small { color: #8fa9c1; font-size: 1rem; }
.bae-chat__review button {
    display: inline-flex;
    min-height: 4.8rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: .8rem 1.6rem;
    border: .1rem solid rgba(255,255,255,.2);
    border-radius: 100vmax;
    color: #c6d8e8;
    background: rgba(255,255,255,.06);
    box-shadow: none;
    font-family: var(--bae-font);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    appearance: none;
    transition: var(--bae-action-transition);
}
.bae-chat__review button:hover,
.bae-chat__review button:focus-visible { border-color: var(--bae-accent); color: #fff; background: rgba(142,229,111,.12); box-shadow: 0 .8rem 2.4rem rgba(0,8,27,.2); transform: translateY(-.1rem); }
.bae-chat__review button:focus-visible { outline: .4rem solid rgba(139,200,255,.6); outline-offset: .2rem; }
.bae-chat__review button:active { transform: translateY(0); }
.bae-chat__handoff:not(.is-project-editing) .bae-gf-project-field { display: none !important; }
.bae-chat__handoff.is-project-editing .bae-chat__review button { color: #fff; }
.bae-chat__handoff,
.bae-estimate-form,
.bae-estimate-form form { color-scheme: dark; }
.bae-estimate-form { padding: 2.4rem 0 .8rem; }
.bae-estimate-form .gform_confirmation_wrapper h3 {
    margin: 0 0 1.6rem;
    color: var(--bae-accent) !important;
    font-size: clamp(3.2rem, 3vw, 4rem);
}
.bae-confirmation__restart {
    display: inline-flex;
    min-height: 4.8rem;
    align-items: center;
    justify-content: center;
    margin: 2.4rem 0 0;
    padding: .8rem 1.6rem;
    border: .1rem solid rgba(255,255,255,.24);
    border-radius: 100vmax;
    color: #fff;
    background: rgba(255,255,255,.08);
    box-shadow: none;
    font-family: var(--bae-font);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.2;
    appearance: none;
    cursor: pointer;
    transition: var(--bae-action-transition);
}
.bae-confirmation__restart:hover,
.bae-confirmation__restart:focus-visible {
    border-color: var(--bae-accent);
    color: #07182e;
    background: var(--bae-accent);
    transform: translateY(-.2rem);
}
.bae-confirmation__restart:focus-visible { outline: .4rem solid rgba(139,200,255,.6); outline-offset: .2rem; }
.bae-confirmation__restart:active { transform: translateY(0); }
.bae-estimate-form .gform_wrapper .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 2.4rem 1.6rem;
}
.bae-estimate-form .gfield--width-full { grid-column: 1 / -1 !important; }
.bae-estimate-form .gfield--width-half { grid-column: span 6 !important; }
.bae-estimate-form .gfield--width-two-thirds { grid-column: span 8 !important; }
.bae-estimate-form .gfield--width-third { grid-column: span 4 !important; }
.bae-estimate-form .ginput_container { width: 100% !important; }
.bae-estimate-form .gfield_label { color: #fff !important; font-size: 1.2rem !important; font-weight: 800 !important; }
.bae-estimate-form .gfield,
.bae-estimate-form .gfield * { box-sizing: border-box; }
.bae-estimate-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.bae-estimate-form select,
.bae-estimate-form textarea {
    width: 100% !important;
    max-width: none !important;
    min-height: 5.6rem;
    padding: 1.6rem 1.6rem !important;
    border: .1rem solid rgba(255,255,255,.2) !important;
    border-radius: .8rem !important;
    color: #fff !important;
    background: rgba(255,255,255,.075) !important;
    box-shadow: none !important;
    font-family: var(--bae-font) !important;
    font-size: 1.2rem !important;
    line-height: 1.35 !important;
    appearance: none !important;
}
.bae-estimate-form select option { color: var(--bae-ink); background: #fff; }
.bae-estimate-form select {
    padding-right: 3.2rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238ee56f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1.6rem center !important;
    background-size: 1.6rem !important;
}
.bae-estimate-form input::placeholder,
.bae-estimate-form textarea::placeholder {
    color: rgba(216,227,237,.58) !important;
    opacity: 1 !important;
}
.bae-estimate-form input:-webkit-autofill,
.bae-estimate-form input:-webkit-autofill:hover,
.bae-estimate-form input:-webkit-autofill:focus,
.bae-estimate-form textarea:-webkit-autofill,
.bae-estimate-form select:-webkit-autofill {
    border-color: rgba(142,229,111,.42) !important;
    color: #fff !important;
    background-color: #1a3b63 !important;
    box-shadow: 0 0 0 100vmax #1a3b63 inset !important;
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff;
}
.bae-estimate-form textarea { min-height: 12rem; }
.bae-estimate-form input:focus,
.bae-estimate-form select:focus,
.bae-estimate-form textarea:focus { border-color: var(--bae-focus) !important; outline: .4rem solid rgba(111,185,255,.12); }
.bae-estimate-form .gfield--type-date .ginput_complex {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem !important;
}
.bae-estimate-form .gfield--type-date .ginput_container_date {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
}
.bae-estimate-form .ginput_container_date select {
    padding-right: 3.2rem !important;
    padding-left: 3.2rem !important;
    text-align: center;
    text-align-last: center;
}
.bae-estimate-form .gfield_radio,
.bae-estimate-form .gfield_checkbox {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .8rem !important;
    margin: 0 !important;
    padding: 0 !important;
}
.bae-estimate-form .gchoice { position: relative !important; margin: 0 !important; }
.bae-estimate-form .gfield--type-checkbox .gchoice { flex: 1 1 100% !important; }
.bae-estimate-form .gchoice input[type="radio"],
.bae-estimate-form .gchoice input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.bae-estimate-form .gchoice label {
    position: relative;
    display: flex;
    min-height: 4.8rem;
    align-items: center;
    gap: .8rem;
    max-width: none;
    margin: 0;
    padding: .8rem 1.6rem;
    border: .1rem solid rgba(255,255,255,.2);
    border-radius: 1.6rem;
    color: #c2d1df;
    background: rgba(255,255,255,.055);
    font-family: var(--bae-font);
    font-size: 1rem;
    font-weight: 720;
    line-height: 1.4;
    cursor: pointer;
    transition: border-color .2s, color .2s, background .2s, box-shadow .2s;
}
.bae-estimate-form .gfield--type-checkbox .gchoice label {
    width: 100%;
    max-width: none;
    min-height: 5.6rem;
    align-items: center;
    justify-content: flex-start !important;
    flex-direction: row !important;
    gap: 1.6rem;
    margin: 0;
    padding: 1.6rem 1.6rem;
    color: #c2d1df;
    background: rgba(255,255,255,.055);
    font-family: var(--bae-font);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.45;
    text-align: left;
    text-transform: none;
}
.bae-estimate-form .gchoice label::before {
    position: static;
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    flex: 0 0 1.6rem;
    margin: 0;
    border: .2rem solid #7893ad;
    border-radius: 50%;
    background: #0b2343;
    background-image: none;
    box-shadow: none;
    content: "";
    opacity: 1;
    transform: none;
    transition: border-color .2s, background .2s;
}
.bae-estimate-form .gchoice input[type="checkbox"] + label::before { border-radius: .4rem; box-shadow: none; }
.bae-estimate-form .gchoice label::after {
    position: static;
    display: none !important;
    width: 0;
    height: 0;
    flex: 0 0 0;
    border: 0;
    opacity: 0;
    background: none;
    box-shadow: none;
    content: none !important;
}
.bae-estimate-form .gchoice input:checked + label {
    border-color: rgba(142,229,111,.72) !important;
    color: #fff !important;
    background: rgba(98,187,70,.14) !important;
    box-shadow: 0 0 0 .4rem rgba(142,229,111,.06) !important;
}
.bae-estimate-form .gchoice input[type="radio"]:checked + label::before {
    border-color: var(--bae-accent);
    background-color: #0b2343;
    background-image: radial-gradient(circle, var(--bae-accent) 0 .4rem, transparent .4rem);
}
.bae-estimate-form .gchoice input[type="checkbox"]:checked + label::before {
    border-color: var(--bae-accent) !important;
    background-color: var(--bae-accent) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2307182e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 8.5 2.8 2.8 6.2-6.4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: .8rem !important;
}
.bae-estimate-form .gchoice input:focus-visible + label { outline: .4rem solid rgba(111,185,255,.2) !important; outline-offset: .2rem; }
.bae-estimate-form .gform_footer {
    display: block !important;
    width: 100% !important;
    margin: 2.4rem 0 0 !important;
    padding: 0 !important;
}
.bae-estimate-form .gform_button {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 5.6rem !important;
    min-height: 5.6rem !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 2.4rem !important;
    border: 0 !important;
    border-radius: 100vmax !important;
    color: #07182e !important;
    background: var(--bae-accent) !important;
    box-shadow: 0 1.6rem 3.2rem rgba(98,187,70,.2) !important;
    font-family: var(--bae-font) !important;
    font-size: 1.2rem !important;
    font-weight: 850 !important;
    letter-spacing: -.01em !important;
    line-height: 1 !important;
    text-align: center !important;
    appearance: none !important;
    transition: var(--bae-action-transition) !important;
}
.bae-estimate-form .gform_button:hover,
.bae-estimate-form .gform_button:focus-visible { color: #07182e !important; background: var(--bae-accent-hover) !important; box-shadow: 0 1.6rem 3.2rem rgba(98,187,70,.3) !important; transform: translateY(-.2rem); }
.bae-estimate-form .gform_button:focus-visible { outline: .4rem solid var(--bae-focus) !important; outline-offset: .4rem !important; }
.bae-estimate-form .gform_button:active { transform: translateY(0); }
.bae-estimate-form .gform_button:disabled { opacity: .45 !important; cursor: not-allowed !important; transform: none !important; box-shadow: none !important; }
.bae-estimate-form .gfield_description,
.bae-estimate-form .gform-field-label--type-inline { color: #a9bfd3 !important; font-size: 1.2rem; }
.bae-estimate-form .gfield_required { color: #9bd47f !important; }
.bae-estimate-form .gform_validation_errors {
    margin: 0 0 2.4rem !important;
    padding: 1.6rem 1.6rem !important;
    border: .1rem solid rgba(255,154,168,.55) !important;
    border-left: .4rem solid #ff9aa8 !important;
    border-radius: 1.6rem !important;
    color: #ffe7ea !important;
    background: rgba(73,18,40,.82) !important;
    box-shadow: 0 1.6rem 3.2rem rgba(3,10,27,.22) !important;
}
.bae-estimate-form .gform_validation_errors h2 {
    margin: 0 0 .8rem !important;
    color: #fff !important;
    font-family: var(--bae-font) !important;
    font-size: 1.2rem !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}
.bae-estimate-form .gform_validation_errors ol,
.bae-estimate-form .gform_validation_errors ul {
    margin: .6rem 0 0 !important;
    padding-left: 1.6rem !important;
    color: #ffd0d7 !important;
}
.bae-estimate-form .gform_validation_errors a {
    color: #ffd0d7 !important;
    font-size: 1rem !important;
    font-weight: 650 !important;
    text-decoration-color: rgba(255,208,215,.5) !important;
}
.bae-estimate-form .gfield_error {
    padding: 1.6rem !important;
    border: .1rem solid rgba(255,154,168,.24) !important;
    border-radius: 1.6rem !important;
    background: rgba(73,18,40,.22) !important;
}
.bae-estimate-form .gfield_error .gfield_label { color: #ffd2d8 !important; }
.bae-estimate-form .validation_message {
    margin-top: .8rem !important;
    padding: .8rem .8rem !important;
    border: 0 !important;
    border-radius: .8rem !important;
    color: #ffd6dc !important;
    background: rgba(255,126,145,.11) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

/* $LIVE_VOICE
--------------------------------------------------------*/
.bae-live {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.6rem;
    min-width: 0;
    padding: .2rem .8rem;
    color: #fff;
}
.bae-live[hidden] { display: none; }
.bae-live__wave { display: flex; height: 3.2rem; align-items: center; gap: .4rem; }
.bae-live__wave span { width: .2rem; height: 1.6rem; border-radius: 100vmax; background: var(--bae-accent); animation: bae-wave 1.15s ease-in-out infinite; }
.bae-live__wave span:nth-child(2),
.bae-live__wave span:nth-child(4) { height: 2.4rem; animation-delay: -.2s; }
.bae-live__wave span:nth-child(3) { height: 3.2rem; animation-delay: -.4s; }
.bae-live__wave span:nth-child(5) { animation-delay: -.6s; }
.bae-live__copy { display: flex; min-width: 0; flex-direction: column; }
.bae-live__copy small { color: #8da8c2; font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bae-live strong { font-size: 1.2rem; }
.bae-live button { min-height: 4.8rem; padding: .8rem 1.6rem; border: .1rem solid rgba(255,255,255,.25); border-radius: 100vmax; color: #fff; font-size: 1rem; font-weight: 800; white-space: nowrap; transition: var(--bae-action-transition); }
.bae-live button:hover,
.bae-live button:focus-visible { border-color: var(--bae-accent); color: var(--bae-accent); background: rgba(142,229,111,.08); }
.bae-live button:focus-visible { outline: .4rem solid rgba(139,200,255,.6); outline-offset: .2rem; }
.bae-live button:active { transform: translateY(.1rem); }

/* $PAGE + SERVICE
--------------------------------------------------------*/
.bae-page-hero,
.bae-service-hero { position: relative; padding: clamp(8rem, 10vw, 14.4rem) 0; overflow: hidden; color: #fff; background: var(--bae-navy); }
.bae-service-hero { padding-top: 2.4rem; }
.bae-page-hero__mesh,
.bae-service-hero__mesh { position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(circle at 80% 20%, #62bb46 0 1px, transparent 2px); background-size: 3.2rem 3.2rem; transform: rotate(-8deg) scale(1.2); }
.bae-page-hero .bae-shell,
.bae-service-hero .bae-shell { position: relative; }
.bae-page-hero h1 { max-width: 14ch; margin: 0 0 3.2rem; color: #fff; }
.bae-page-hero p { max-width: 64.8rem; margin: 0 0 3.2rem; color: #b7c8da; font-size: 2rem; }
.bae-service-archive { padding: 3.2rem 0 12rem; background: #fff; }
.bae-category-nav { display: flex; gap: .8rem; padding: 2.4rem 0; overflow-x: auto; background: #fff; }
.bae-category-nav a { display: inline-flex; min-height: 4.8rem; flex: 0 0 auto; align-items: center; padding: .8rem 1.6rem; border: .1rem solid var(--bae-line); border-radius: 100vmax; color: var(--bae-muted); background: #fff; font-size: 1.2rem; font-weight: 750; text-decoration: none; transition: var(--bae-action-transition); }
.bae-category-nav a:hover,
.bae-category-nav a:focus-visible { border-color: var(--bae-green); color: var(--bae-green-dark); background: rgba(98,187,70,.08); }
.bae-category-nav a:focus-visible { outline: .4rem solid rgba(45,116,218,.24); outline-offset: .2rem; }
.bae-category-section { padding: 7.2rem 0 2.4rem; scroll-margin-top: 11.2rem; }
.bae-category-section__head { max-width: 70.4rem; margin-bottom: 3.2rem; }
.bae-category-section__head h2 { margin: 0 0 .8rem; font-size: 4.8rem; }
.bae-category-section__head p { margin: 0; color: var(--bae-muted); }
.bae-service-list { border-top: .1rem solid var(--bae-line); }
.bae-service-list > a { display: grid; grid-template-columns: 1fr 3.2rem; align-items: center; gap: 2.4rem; padding: 2.4rem .8rem; border-bottom: .1rem solid var(--bae-line); color: var(--bae-ink); text-decoration: none; transition: padding .25s, background .25s; }
.bae-service-list > a:hover,
.bae-service-list > a:focus-visible { padding-inline: 2.4rem; background: var(--bae-mist); }
.bae-service-list > a:focus-visible { outline: .4rem solid rgba(45,116,218,.24); outline-offset: .2rem; }
.bae-service-list h3 { margin: 0 0 .6rem; font-size: 2.4rem; }
.bae-service-list p { max-width: 75.2rem; margin: 0; color: var(--bae-muted); font-size: 1.4rem; }
.bae-service-list svg { width: 2.4rem; color: var(--bae-green-dark); }
.bae-breadcrumbs { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: clamp(4rem, calc(10vw - 4rem), 10.4rem); color: #8fa7c0; font-size: 1.2rem; }
.bae-breadcrumbs a { border-radius: .4rem; color: #b9c9d9; text-decoration: none; transition: color .22s ease, box-shadow .22s ease; }
.bae-breadcrumbs a:hover,
.bae-breadcrumbs a:focus-visible { color: #fff; }
.bae-breadcrumbs a:focus-visible { outline: .4rem solid rgba(139,200,255,.55); outline-offset: .2rem; }
.bae-service-hero__grid { display: grid; grid-template-columns: 1.2fr .55fr; align-items: end; gap: 8rem; }
.bae-service-hero h1 { max-width: 14ch; margin: 0 0 3.2rem; color: #fff; font-size: clamp(4.8rem, 7vw, 8.8rem); }
.bae-service-hero__grid > div:first-child > p { max-width: 64.8rem; margin: 0 0 3.2rem; color: #b9cadb; font-size: 2rem; }
.bae-service-hero__card { padding: 3.2rem; border: .1rem solid rgba(255,255,255,.13); border-radius: 2.4rem; background: rgba(255,255,255,.06); backdrop-filter: blur(1.6rem); }
.bae-service-hero__card > span { display: grid; width: 4.8rem; height: 4.8rem; place-items: center; margin-bottom: 4.8rem; border-radius: 1.6rem; color: #fff; background: var(--bae-green); }
.bae-service-hero__card svg { width: 2.4rem; }
.bae-service-hero__card strong { display: block; margin-bottom: 1.6rem; font-size: 2.4rem; line-height: 1.25; }
.bae-service-hero__card p { margin: 0; color: #a9bdd4; font-size: 1.4rem; }
.bae-service-body { padding: 10.4rem 0; background: #fff; }
.bae-service-body__grid { display: grid; grid-template-columns: minmax(0, 1fr) 36rem; align-items: start; gap: clamp(4.8rem, 9vw, 12.8rem); }
.bae-service-body__content > p:first-child { color: var(--bae-ink); font-size: 2.4rem; line-height: 1.6; }
.bae-service-body__content h2 { margin: 7.2rem 0 2.4rem; font-size: 4rem; }
.bae-service-body__content p,
.bae-service-body__content li { color: var(--bae-muted); }
.bae-service-body__content li + li { margin-top: .8rem; }
.bae-service-sidebar { position: sticky; top: 3.2rem; }
.bae-service-sidebar__card { padding: 3.2rem; border-radius: 2.4rem; color: #fff; background: var(--bae-navy); }
.bae-service-sidebar__card > small { color: #91a9c1; font-size: 1rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bae-service-sidebar h2 { margin: .8rem 0 2.4rem; color: #fff; font-size: 3.2rem; }
.bae-service-sidebar ul { padding: 0; margin: 0 0 3.2rem; list-style: none; }
.bae-service-sidebar li { display: flex; gap: .8rem; padding: .8rem 0; border-bottom: .1rem solid rgba(255,255,255,.12); color: #cad7e4; font-size: 1.4rem; }
.bae-service-sidebar li svg { width: 1.6rem; flex: 0 0 auto; color: var(--bae-green); }
.bae-service-sidebar__card > p { margin: 1.6rem 0 0; color: #91a9c1; font-size: 1rem; text-align: center; }
.bae-service-process { margin-top: 8rem; }
.bae-service-process > div:last-child { border-top: .1rem solid var(--bae-line); }
.bae-service-process article { display: grid; grid-template-columns: 4rem 1fr; gap: 2.4rem; padding: 2.4rem 0; border-bottom: .1rem solid var(--bae-line); }
.bae-service-process article > span { color: var(--bae-green-dark); font-size: 1.2rem; font-weight: 800; }
.bae-service-process h3 { margin: 0 0 .8rem; }
.bae-service-process p { margin: 0; }
.bae-faq { margin-top: 8.8rem; }
.bae-faq details { border-top: .1rem solid var(--bae-line); }
.bae-faq details:last-child { border-bottom: .1rem solid var(--bae-line); }
.bae-faq summary { display: grid; grid-template-columns: 1fr 3.2rem; gap: 2.4rem; padding: 2.4rem 0; color: var(--bae-navy); font-size: 1.8rem; font-weight: 750; cursor: pointer; list-style: none; }
.bae-faq summary::-webkit-details-marker { display: none; }
.bae-faq summary span { font-size: 2.4rem; font-weight: 400; text-align: center; transition: transform .2s; }
.bae-faq details[open] summary span { transform: rotate(45deg); }
.bae-faq details > div { padding: 0 4rem 2.4rem 0; color: var(--bae-muted); }
.bae-related { padding: 8.8rem 0; background: var(--bae-sky); }

/* $LEGAL + CONTACT
--------------------------------------------------------*/
.bae-legal-hero,
.bae-contact-hero { position: relative; padding: 8rem 0; overflow: hidden; color: #fff; background: var(--bae-navy); }
.bae-legal-hero__mesh,
.bae-contact-hero__mesh { position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(circle at 80% 20%, #62bb46 0 1px, transparent 2px); background-size: 3.2rem 3.2rem; transform: rotate(-8deg) scale(1.2); }
.bae-legal-hero .bae-shell,
.bae-contact-hero .bae-shell { position: relative; }
.bae-legal-hero h1,
.bae-contact-hero h1 { max-width: 14ch; margin: 0 0 2.4rem; color: #fff; }
.bae-legal-hero p,
.bae-contact-hero p { max-width: 64.8rem; margin: 0; color: #b7c8da; font-size: 2rem; }
.bae-legal { padding: 8rem 0 12rem; background: #fff; }
.bae-legal__layout { display: grid; grid-template-columns: 24.8rem minmax(0, 76.8rem); align-items: start; justify-content: space-between; gap: 8rem; }
.bae-legal__aside { position: sticky; top: 3.2rem; padding: 2.4rem; border: .1rem solid var(--bae-line); border-radius: 1.6rem; background: var(--bae-sky); }
.bae-legal__aside > strong { display: block; margin-bottom: 1.6rem; color: var(--bae-navy); font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase; }
.bae-legal__aside nav { display: grid; gap: .8rem; }
.bae-legal__aside a { display: block; padding: .8rem 0; border-radius: .4rem; color: var(--bae-muted); font-size: 1.4rem; text-decoration: none; transition: var(--bae-action-transition); }
.bae-legal__aside a:hover,
.bae-legal__aside a:focus-visible { color: var(--bae-green-dark); transform: translateX(.4rem); }
.bae-legal__aside a:focus-visible { outline: .4rem solid rgba(45,116,218,.2); outline-offset: .2rem; }
.bae-legal__content { min-width: 0; }
.bae-legal__effective { margin: 0 0 4.8rem; padding-bottom: 2.4rem; border-bottom: .1rem solid var(--bae-line); color: var(--bae-muted); font-size: 1.4rem; }
.bae-legal__content section { scroll-margin-top: 3.2rem; }
.bae-legal__content section + section { margin-top: 6.4rem; }
.bae-legal__content h2 { margin: 0 0 2.4rem; color: var(--bae-navy); font-size: 4rem; }
.bae-legal__content h3 { margin: 3.2rem 0 1.6rem; color: var(--bae-ink); font-size: 2.4rem; }
.bae-legal__content p,
.bae-legal__content li,
.bae-legal__content address { color: var(--bae-muted); font-size: 1.6rem; line-height: 1.75; }
.bae-legal__content p { margin: 0 0 1.6rem; }
.bae-legal__content ul { margin: 0 0 2.4rem; padding-left: 2.4rem; }
.bae-legal__content li + li { margin-top: .8rem; }
.bae-legal__content a { border-radius: .2rem; color: var(--bae-blue); text-decoration-thickness: .1rem; text-underline-offset: .2rem; }
.bae-legal__content a:hover,
.bae-legal__content a:focus-visible { color: var(--bae-green-dark); }
.bae-legal__content a:focus-visible { outline: .4rem solid rgba(45,116,218,.2); outline-offset: .2rem; }
.bae-legal__content address { padding: 2.4rem; border-left: .4rem solid var(--bae-green); background: var(--bae-mist); font-style: normal; }
.bae-contact { padding: 8rem 0 12rem; background: var(--bae-sky); }
.bae-contact__layout { display: grid; grid-template-columns: minmax(24.8rem, .72fr) minmax(0, 1.28fr); align-items: start; gap: 8rem; }
.bae-contact__intro { position: sticky; top: 3.2rem; }
.bae-contact__intro h2 { max-width: 10ch; margin: 0 0 2.4rem; font-size: 5.6rem; }
.bae-contact__intro > p { max-width: 48rem; margin: 0; color: var(--bae-muted); }
.bae-contact__form { padding: 3.2rem; border: .1rem solid rgba(255,255,255,.12); border-radius: 2.4rem; color: #fff; background: var(--bae-navy); box-shadow: 0 3.2rem 8rem rgba(8,24,56,.16); }
.bae-contact-form { padding: 0; }
.bae-estimate-form .ginput_container_consent {
    display: grid !important;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    align-items: start;
    gap: 1.2rem;
}
.bae-estimate-form .ginput_container_consent input[type="checkbox"] {
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    margin: 0 !important;
    border: .1rem solid rgba(255,255,255,.36) !important;
    border-radius: .4rem !important;
    opacity: 1 !important;
    background: rgba(255,255,255,.08) !important;
    box-shadow: none !important;
    appearance: none !important;
}
.bae-estimate-form .ginput_container_consent input[type="checkbox"]:checked {
    border-color: var(--bae-accent) !important;
    background-color: var(--bae-accent) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2307182e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 8 3 3 7-7'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 1.2rem !important;
}
.bae-estimate-form .ginput_container_consent input[type="checkbox"]:focus-visible { outline: .4rem solid rgba(111,185,255,.2) !important; outline-offset: .2rem !important; }
.bae-estimate-form .ginput_container_consent .gfield_consent_label {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    color: #d5e1ec !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}
.bae-estimate-form .bae-gf-sms-consent .gfield_description { margin-top: .8rem !important; line-height: 1.5 !important; }
.bae-estimate-form .bae-gf-sms-consent .gfield_consent_description_text {
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
}
.bae-estimate-form .bae-gf-sms-consent .gfield_description a { color: var(--bae-accent); }
.bae-estimate-form .bae-gf-submit-disclaimer { margin-top: -.8rem !important; }
.bae-estimate-form .bae-gf-submit-disclaimer p { margin: 0; color: #a9bfd3; font-size: 1.2rem; line-height: 1.5; text-align: center; }
.bae-estimate-form .bae-gf-submit-disclaimer a { color: var(--bae-accent); }

/* $FOOTER
--------------------------------------------------------*/
.bae-ftr { position: relative; overflow: hidden; color: #fff; background: var(--bae-deep); }
.bae-ftr__glow { position: absolute; top: -24.8rem; right: -15.2rem; width: 55.2rem; height: 55.2rem; border-radius: 50%; background: rgba(45,116,218,.2); filter: blur(8rem); }
.bae-ftr__inner { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 10.4rem; padding-top: 6.4rem; }
.bae-brand--light { color: #fff; }
.bae-brand--light .bae-brand__mark-check { border-color: var(--bae-deep); }
.bae-ftr__eyebrow { margin: 0 0 2.4rem; color: var(--bae-accent); font-size: 1.2rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.bae-ftr__lead h2 { max-width: 10ch; margin: 0 0 2.4rem; color: #fff; font-size: clamp(4rem, 5vw, 7.2rem); }
.bae-ftr__summary { max-width: 56.8rem; margin: 0 0 3.2rem; color: #a9bdd4; }
.bae-ftr .bae-btn {
    text-decoration: none;
    text-decoration-color: transparent;
    transition: var(--bae-action-transition);
}
.bae-ftr__links { display: grid; grid-template-columns: 1fr 1fr; gap: 4.8rem; padding-top: 2.4rem; }
.bae-ftr__links h3 { margin: 0 0 2.4rem; color: #91a9c1; font-size: 1.2rem; letter-spacing: .13em; text-transform: uppercase; }
.bae-ftr__links a { display: block; width: fit-content; margin: 0 0 1.6rem; border-radius: .4rem; color: #fff; font-size: 1.4rem; text-decoration: none; transition: color .22s ease, transform .22s ease; }
.bae-ftr__links a:hover,
.bae-ftr__links a:focus-visible { color: #94dfff; transform: translateX(.2rem); }
.bae-ftr__links a:focus-visible,
.bae-ftr__bar a:focus-visible { outline: .4rem solid rgba(139,200,255,.55); outline-offset: .4rem; }
.bae-ftr__bar { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2.4rem; margin-top: 4.8rem; padding: 2.4rem 0; border-top: .1rem solid rgba(255,255,255,.14); color: #7f98b2; font-size: 1rem; }
.bae-ftr__bar p { margin: 0; color: #7f98b2; }
.bae-ftr__bar a { justify-self: end; border-radius: .4rem; color: #a9bdd4; text-decoration: none; transition: color .22s ease; }
.bae-ftr__bar .ftr__colophon-by { justify-self: end; }
.bae-ftr__bar .ftr__colophon-by a { display: flex; justify-self: auto; }
.bae-ftr__bar a:hover,
.bae-ftr__bar a:focus-visible { color: #fff; }
.bae-ftr__legal { display: flex; align-items: center; justify-content: center; gap: 1.6rem; color: #91a9c1; }
.bae-ftr__legal a { justify-self: auto; color: inherit; white-space: nowrap; }

/* $ANIMATION
--------------------------------------------------------*/
@keyframes bae-message-in { from { opacity: 0; transform: translateY(.8rem); } }
@keyframes bae-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-.4rem); } }
@keyframes bae-pulse { 50% { box-shadow: 0 0 0 .6rem rgba(216,72,72,.12); } }
@keyframes bae-wave { 50% { transform: scaleY(.38); opacity: .45; } }
@keyframes bae-brand-service-cycle {
    0% { opacity: 0; transform: translate(-50%, -50%) translateY(.8rem) rotate(-8deg) scale(.8); }
    1.8%,
    6.5% { opacity: 1; transform: translate(-50%, -50%) translateY(0) rotate(0) scale(1); }
    10.2%,
    100% { opacity: 0; transform: translate(-50%, -50%) translateY(-.8rem) rotate(8deg) scale(.8); }
}

/* $RESPONSIVE
--------------------------------------------------------*/
@media (max-width: 1184px) {
    .bae-workspace { grid-template-columns: minmax(0, 1.35fr) minmax(30.4rem, .75fr); }
    .bae-service-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 896px) {
    .bae-hdr__cta { display: none; }
    .bae-hdr__inner { gap: 1.6rem; }
    .bae-hero__intro { grid-template-columns: 1fr; gap: 2.4rem; }
    .bae-hero__intro-side { padding-left: 0; border-left: 0; }
    .bae-hero__image { width: 100%; opacity: .26; mask-image: linear-gradient(180deg, rgba(0,0,0,.45), transparent 78%); }
    .bae-workspace { grid-template-columns: 1fr; }
    .bae-concierge { height: auto; min-height: 54.4rem; padding-right: 0; }
    .bae-plan { min-height: 0; margin-top: 2.4rem; padding: 3.2rem; border-top: .1rem solid rgba(255,255,255,.18); border-left: 0; clip-path: none; }
    .bae-site--home .bae-workspace { grid-template-columns: minmax(0, 1fr) var(--bae-home-plan-width); }
    .bae-site--home .bae-concierge { height: auto; padding-right: var(--bae-home-content-gap); }
    .bae-site--home .bae-plan { margin-top: 0; padding: 3.2rem 2.4rem; border-top: 0; border-left: .1rem solid rgba(255,255,255,.18); }
    .bae-service-grid { grid-template-columns: repeat(2, 1fr); }
    .bae-process__inner { gap: 6.4rem; }
    .bae-service-hero__grid { grid-template-columns: 1fr; gap: 4.8rem; }
    .bae-service-hero__card { max-width: 52rem; }
    .bae-service-body__grid { grid-template-columns: 1fr; }
    .bae-service-sidebar { position: static; }
    .bae-legal__layout,
    .bae-contact__layout { grid-template-columns: 1fr; gap: 4.8rem; }
    .bae-legal__aside,
    .bae-contact__intro { position: static; }
    .bae-legal__aside nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bae-ftr__inner { grid-template-columns: 1fr; gap: 6.4rem; }
}
@media (max-width: 768px) {
    .bae-site--home {
        --bae-home-header-height: 7.2rem;
        --bae-home-dock-height: 10.4rem;
        --bae-home-content-gap: 1.6rem;
        --bae-home-left-gutter: 1.6rem;
    }
    .bae-shell,
    .bae-hdr__inner { width: min(100% - 3.2rem, 64rem); }
    .bae-hdr { height: 7.2rem; padding: 0; }
    .bae-hdr__toggle { display: block; width: 4.8rem; height: 4.8rem; margin-left: auto; }
    .bae-nav { position: fixed; z-index: 40; inset: 7.2rem 0 auto; display: none; margin: 0; padding: 2.4rem; border-top: .1rem solid var(--bae-line); background: var(--bae-mist); box-shadow: 0 3.2rem 4.8rem rgba(8,24,56,.15); }
    .bae-nav.nav--open { display: block; }
    .bae-nav__list { align-items: stretch; flex-direction: column; gap: .6rem; }
    .bae-nav__link { display: block; padding: 1.6rem; font-size: 1.8rem; }
    .bae-brand__type { font-size: 2rem; }
    .bae-brand__type small { font-size: 1rem; }
    .bae-category-section { scroll-margin-top: 9.6rem; }
    .bae-hero { padding-top: 4rem; }
    .bae-site--home .bae-hero { height: auto; min-height: 100dvh; padding: var(--bae-home-header-height) 0 var(--bae-home-dock-height); }
    .bae-site--home .bae-hero__inner { min-height: calc(100dvh - var(--bae-home-header-height) - var(--bae-home-dock-height)); height: auto; padding-left: var(--bae-home-left-gutter); }
    .bae-site--home .bae-workspace { grid-template-columns: 1fr; }
    .bae-site--home .bae-concierge { height: auto; padding-right: var(--bae-home-content-gap); }
    .bae-site--home .bae-plan { display: none; }
    .bae-input-dock__links { gap: 1.6rem; font-size: .8rem; }
    .bae-hero__intro h1 { max-width: none; }
    .bae-trustbar .bae-shell { align-items: flex-start; flex-direction: column; gap: 1.6rem; }
    .bae-trustbar i { display: none; }
    .bae-section-head { grid-template-columns: 1fr; gap: 2.4rem; }
    .bae-process__inner { grid-template-columns: 1fr; }
    .bae-process__sticky { position: static; }
    .bae-process__steps article div > svg { margin-bottom: 2.4rem; }
    .bae-why__statement { align-items: flex-start; flex-direction: column; gap: 2.4rem; }
    .bae-why__statement h2 { width: 100%; max-width: 16ch; }
    .bae-why__cards { grid-template-columns: 1fr; }
    .bae-why__cards article > span { margin-bottom: 3.2rem; }
    .bae-final-cta__inner { align-items: flex-start; flex-direction: column; }
    .bae-category-section__head { grid-template-columns: 3.2rem 1fr; }
    .bae-chat__handoff { padding: 2.4rem; }
    .bae-estimate-form .gfield--width-half,
    .bae-estimate-form .gfield--width-two-thirds,
    .bae-estimate-form .gfield--width-third { grid-column: 1 / -1 !important; }
    .bae-legal-hero,
    .bae-contact-hero { padding: 6.4rem 0; }
    .bae-legal,
    .bae-contact { padding: 6.4rem 0 8rem; }
    .bae-contact__form { padding: 2.4rem; }
    .bae-ftr__bar { grid-template-columns: 1fr; }
    .bae-ftr__bar a,
    .bae-ftr__bar .ftr__colophon-by { justify-self: start; }
    .bae-ftr__legal { flex-wrap: wrap; justify-content: flex-start; }
}
@media (max-width: 520px) {
    .bae-site h1 { font-size: 4.8rem; }
    .bae-hero__intro { margin-bottom: 1.6rem; }
    .bae-hero__intro-side > p { font-size: 1.4rem; }
    .bae-service-grid { grid-template-columns: 1fr; }
    .bae-service-card { min-height: 24.8rem; }
    .bae-legal__aside nav { grid-template-columns: 1fr; }
    .bae-legal__content h2 { font-size: 3.2rem; }
    .bae-contact__intro h2 { font-size: 4rem; }
    .bae-concierge__body { padding: 0 0 2.4rem; }
    .bae-chat { min-height: 24.8rem; padding-right: 0; }
    .bae-chat__message p { font-size: 2rem; }
    .bae-chat__message--user p { font-size: 1.6rem; }
    .bae-chat__message > div { max-width: 100%; }
    .bae-chat__message--user > div { max-width: 90%; }
    .bae-intro-card { min-height: 43.2rem; border-radius: 1.6rem; }
    .bae-intro-card__content { padding: 2.4rem; }
    .bae-intro-card__content > small { font-size: 1.4rem; }
    .bae-intro-card__content h2 { font-size: 4rem; }
    .bae-intro-card__content p { font-size: 2rem; }
    .bae-intro-card__actions { display: grid; grid-template-columns: 1fr; }
    .bae-intro-card__actions button { width: 100%; font-size: 2rem; }
    .bae-prompts { flex-wrap: nowrap; padding-bottom: .4rem; overflow-x: auto; }
    .bae-prompts::before { display: none; }
    .bae-prompts button { flex: 0 0 auto; }
    .bae-composer textarea { font-size: 1.4rem; }
    .bae-composer__entry small { font-size: .8rem; }
    .bae-input-mode button { min-width: 4.8rem; min-height: 4.8rem; padding: 0 .8rem; }
    .bae-input-mode button span { display: none; }
    .bae-live { gap: .8rem; padding-inline: .4rem; }
    .bae-live__copy small { display: none; }
    .bae-live button { padding: .8rem .8rem; }
    .bae-plan { padding: 2.4rem 2.4rem; }
    .bae-proof { align-items: center; flex-direction: row; }
    .bae-ftr__links { grid-template-columns: 1fr; }
    .bae-chat__review { grid-template-columns: 1fr; align-items: start; }
    .bae-chat__review button { justify-self: start; }
    .bae-estimate-form .ginput_container_date select { padding-right: 3.2rem !important; padding-left: .8rem !important; }
    .bae-site--home .bae-chat { padding-right: .6rem; }
    .bae-input-dock__inner { padding: .8rem 0 .8rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,
    *::before,
    *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}