/* IMPORTED FONT FACES FROM LEGACY */
@font-face{
    font-family:'Glacial Indifference';
    src:
    url('/assets/fonts/GlacialIndifference-Regular.woff2') format('woff2'),
    url('/assets/fonts/GlacialIndifference-Regular.woff') format('woff');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'Glacial Indifference';
    src:
    url('/assets/fonts/GlacialIndifference-Bold.woff2') format('woff2'),
    url('/assets/fonts/GlacialIndifference-Bold.woff') format('woff');
    font-weight:700;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'Inter';
    src:url('/assets/fonts/Inter-Regular.woff2') format('woff2');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'Inter';
    src:url('/assets/fonts/Inter-Medium.woff2') format('woff2');
    font-weight:500;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'Inter';
    src:url('/assets/fonts/Inter-Bold.woff2') format('woff2');
    font-weight:700;
    font-style:normal;
    font-display:swap;
}

/* GROW CORE SYSTEM */

:root{
    --grow-bg:#030712;
    --grow-surface:#07111f;
    --grow-text:#ffffff;
    --grow-muted:#d7e4fb;
    --grow-blue:#007BFF;
    --grow-cyan:#00A3FF;
    --grow-container:1180px;
    --grow-radius:28px;
    --grow-font-ui:'Inter', Arial, sans-serif;
    --grow-font-brand:'Glacial Indifference', Arial, sans-serif;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html,
body{
    margin:0;
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

body.grow-clean-body{
    background:var(--grow-bg);
    color:var(--grow-text);
    font-family:var(--grow-font-ui);
}

.grow-container{
    width:100%;
    max-width:var(--grow-container);
    margin:0 auto;
    padding:0 clamp(24px,6vw,72px);
}

/* HEADER */

.gc-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:96px;
    padding:0 6%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    background:rgba(3,7,18,.72);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    z-index:9999;
}

.gc-logo,
.gc-footer-logo{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    color:#fff;
    text-decoration:none;
    font-family:var(--grow-font-brand);
}

.gc-logo-main{
    display:flex;
    align-items:flex-start;
    font-size:42px;
    font-weight:900;
    line-height:.85;
    letter-spacing:-.08em;
}

.gc-logo-main b{
    color:var(--grow-blue);
    font-size:48px;
    line-height:.7;
    margin-left:2px;
}

.gc-typewriter{
    margin-top:10px;
    min-height:18px;
    color:#fff;
    font-size:15px;
    font-weight:800;
    line-height:1;
}

.gc-typewriter::after{
    content:"/";
    color:var(--grow-blue);
    margin-left:5px;
}

.gc-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:26px;
}

.gc-nav a{
    color:rgba(255,255,255,.82);
    font-size:15px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}

.gc-nav a:hover{
    color:#fff;
}

.gc-nav-cta{
    height:48px;
    padding:0 24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:linear-gradient(135deg,var(--grow-cyan),#006BFF);
    color:#fff !important;
    box-shadow:0 0 24px rgba(0,123,255,.38);
}

.gc-nav-cta::after{
    content:"/";
    color:#8fd8ff;
    margin-left:8px;
}

.gc-menu-toggle{
    display:none;
}

/* FOOTER */

.gc-footer{
    padding:86px 6% 38px;
    background:#030712;
    border-top:1px solid rgba(255,255,255,.08);
}

.gc-footer-container{
    max-width:var(--grow-container);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.1fr 1.4fr;
    gap:70px;
}

.gc-footer-logo .gc-logo-main{
    font-size:52px;
}

.gc-footer p{
    max-width:430px;
    color:var(--grow-muted);
    font-size:16px;
    line-height:1.7;
}

.gc-footer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:34px;
}

.gc-footer h4{
    margin:0 0 18px;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.gc-footer a{
    display:block;
    margin-bottom:12px;
    color:#b9c7df;
    text-decoration:none;
    font-size:15px;
}

/* MOBILE */

@media(max-width:900px){

    .gc-header{
        position:relative;
        height:190px;
        padding:32px 24px 24px;
        align-items:flex-start;
        background:#030712;
    }

    .gc-nav{
        position:fixed;
        top:112px;
        left:24px;
        right:24px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:8px;
        padding:20px;
        background:rgba(3,7,18,.96);
        border:1px solid rgba(255,255,255,.12);
        border-radius:28px;
        z-index:10000;
    }

    .gc-nav.open{
        display:flex;
    }

    .gc-nav a{
        min-height:54px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        font-size:18px;
    }

    .gc-nav-cta{
        height:58px;
        margin-top:8px;
    }

    .gc-menu-toggle{
        width:54px;
        height:54px;
        border:1px solid rgba(255,255,255,.16);
        border-radius:999px;
        background:rgba(255,255,255,.06);
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:7px;
    }

    .gc-menu-toggle span{
        width:22px;
        height:2px;
        background:#fff;
        border-radius:999px;
    }

    .gc-footer{
        padding:64px 24px 34px;
    }

    .gc-footer-container,
    .gc-footer-grid{
        grid-template-columns:1fr;
        gap:34px;
    }
}


/* =========================================================
   CORE TYPOGRAPHY SYSTEM V1
   ========================================================= */

body.grow-clean-body{
    font-family:var(--grow-font-ui);
}

body.grow-clean-body p,
body.grow-clean-body a,
body.grow-clean-body li,
body.grow-clean-body button,
body.grow-clean-body input,
body.grow-clean-body textarea,
body.grow-clean-body select{
    font-family:var(--grow-font-ui);
}

body.grow-clean-body h1,
body.grow-clean-body h2,
body.grow-clean-body h3,
body.grow-clean-body h4,
body.grow-clean-body h5,
body.grow-clean-body h6,
.gc-logo,
.gc-logo *,
.gc-footer-logo,
.gc-footer-logo *{
    font-family:var(--grow-font-brand);
}


/* =========================================================
   CORE COMPONENTS SYSTEM V1
   Containers, sections, grids, cards, buttons
   ========================================================= */

.grow-container,
.gp-container{
    width:100%;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    padding-left:clamp(24px,6vw,72px);
    padding-right:clamp(24px,6vw,72px);
}

.grow-section,
.gp-section{
    width:100%;
    padding-top:110px;
    padding-bottom:120px;
}

.grow-section-light,
.gp-section--light{
    background:#eef4fb;
    color:#07111f;
}

.grow-section-dark,
.gp-section--dark{
    background:#030712;
    color:#ffffff;
}

.grow-grid,
.gp-grid{
    display:grid;
    gap:24px;
    width:100%;
}

.grow-grid-2,
.gp-grid--2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.grow-grid-3,
.gp-grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.grow-card,
.gp-service-card,
.gp-mini-card,
.gp-impact-box{
    border-radius:28px;
    box-sizing:border-box;
}

.grow-btn,
.gp-btn{
    min-height:54px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:16px;
    font-weight:900;
    line-height:1;
    text-decoration:none !important;
    border:0;
    cursor:pointer;
}

.grow-btn-primary,
.gp-btn-primary{
    background:linear-gradient(135deg,#00A3FF,#006BFF);
    color:#ffffff !important;
    box-shadow:0 0 30px rgba(0,123,255,.42);
}

.grow-btn-secondary,
.gp-btn-secondary{
    background:rgba(255,255,255,.045);
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,.30);
}

@media(max-width:900px){

    .grow-container,
    .gp-container{
        max-width:100%;
        padding-left:24px;
        padding-right:24px;
    }

    .grow-section,
    .gp-section{
        padding-top:74px;
        padding-bottom:84px;
    }

    .grow-grid-2,
    .grow-grid-3,
    .gp-grid--2,
    .gp-grid--3{
        grid-template-columns:1fr;
    }

    .grow-btn,
    .gp-btn{
        width:100%;
        max-width:330px;
        min-height:52px;
        font-size:15px;
    }
}


/* MOBILE MENU CORE FIX */

.gc-menu-toggle{
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    z-index:10002;
}

@media(max-width:900px){

    .gc-header{
        z-index:10001;
    }

    .gc-nav{
        z-index:10000;
    }

    .gc-nav.open{
        display:flex !important;
    }

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

    .gc-menu-toggle.open span:first-child{
        transform:translateY(4.5px) rotate(45deg);
    }

    .gc-menu-toggle.open span:last-child{
        transform:translateY(-4.5px) rotate(-45deg);
    }

    .gc-menu-toggle span{
        transition:transform .22s ease;
    }
}


/* CORE MOBILE HEADER - reduce global gap under menu */
@media(max-width:900px){

    .gc-header{
        height:132px !important;
        padding:28px 24px 18px !important;
        align-items:flex-start !important;
    }

    .gp-hero,
    .analysis-hero-v2,
    .gp-hero--thanks{
        padding-top:58px !important;
    }
}


/* =========================================================
   CORE CARD SYSTEM V2
   Reusable card foundations
   ========================================================= */

.grow-card{
    position:relative;
    box-sizing:border-box;
    border-radius:28px;
    border:1px solid rgba(15,23,42,.08);
    background:#ffffff;
    box-shadow:0 22px 60px rgba(15,23,42,.05);
}

.grow-card-soft{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(15,23,42,.07);
    box-shadow:0 28px 80px rgba(15,23,42,.055);
    backdrop-filter:blur(14px);
}

.grow-card-dark{
    background:
        radial-gradient(circle at 85% 10%, rgba(0,123,255,.22), transparent 32%),
        linear-gradient(135deg,#07111f 0%,#0b1830 58%,#020617 100%);
    color:#ffffff;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 30px 90px rgba(2,6,23,.18);
}

.grow-card-highlight{
    background:
        radial-gradient(circle at 82% 18%, rgba(0,123,255,.34), transparent 36%),
        linear-gradient(135deg,#07111f,#0047d7);
    color:#ffffff;
    border:1px solid rgba(255,255,255,.12);
}

.grow-card h3{
    margin-top:0;
}

.grow-card-dark h1,
.grow-card-dark h2,
.grow-card-dark h3,
.grow-card-dark h4,
.grow-card-highlight h1,
.grow-card-highlight h2,
.grow-card-highlight h3,
.grow-card-highlight h4{
    color:#ffffff;
}

.grow-card-dark p,
.grow-card-highlight p{
    color:rgba(255,255,255,.74);
}

@media(max-width:900px){
    .grow-card{
        border-radius:26px;
    }
}


/* =========================================================
   CORE EYEBROW SYSTEM V1
   ========================================================= */

.grow-eyebrow,
.gp-eyebrow{
    display:inline-flex;
    align-items:center;
    color:#00A3FF;
    font-size:13px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:22px;
}

.grow-eyebrow::after,
.gp-eyebrow::after{
    content:"/";
    margin-left:8px;
    color:#007BFF;
}


/* =========================================================
   CORE BUTTON SYSTEM V2
   ========================================================= */

.grow-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:58px;
    padding:0 28px;
    border-radius:999px;
    border:0;
    text-decoration:none;
    font-size:15px;
    font-weight:900;
    letter-spacing:.01em;
    cursor:pointer;
    transition:
        transform .18s ease,
        box-shadow .22s ease,
        opacity .18s ease;
}

.grow-btn:hover{
    transform:translateY(-2px);
}

.grow-btn-primary{
    background:linear-gradient(135deg,#00A3FF,#006BFF);
    color:#ffffff;
    box-shadow:
        0 18px 42px rgba(0,123,255,.24),
        0 0 30px rgba(0,123,255,.14);
}

.grow-btn-primary:hover{
    box-shadow:
        0 24px 56px rgba(0,123,255,.32),
        0 0 38px rgba(0,123,255,.20);
}

.grow-btn-secondary{
    background:rgba(255,255,255,.08);
    color:#ffffff;
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
}

.grow-btn-secondary-dark{
    background:#ffffff;
    color:#07111f;
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 16px 36px rgba(15,23,42,.08);
}

@media(max-width:900px){
    .grow-btn{
        width:100%;
        max-width:none;
    }
}


/* ACTIVE MENU SLASH */
.gc-nav a[aria-current="page"]::after{
    content:"/";
    display:inline-block;
    margin-left:10px;
    color:#007BFF;
    font-weight:900;
}

.gc-nav a[aria-current="page"]{
    color:#ffffff;
}

