
/* =========================================================
   GNUBOARD FOOTER RESET
========================================================= */

#ft{
    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;

    background:#0c0c0d !important;
}

body.aha-light-theme #ft{
    background:#f7f7f8 !important;
}


/* =========================================================
   FOOTER
========================================================= */

.aha-footer,
.aha-footer *{
    box-sizing:border-box;
}

.aha-footer{

    --footer-bg:#0c0c0d;

    --footer-text:#f5f5f5;
    --footer-sub:#bbb8c0;
    --footer-muted:#706d76;

    --footer-line:rgba(255,255,255,.11);

    --footer-point:var(--aha-primary);

    width:100%;
    clear:both;

    margin:0;

    background:var(--footer-bg);
    color:var(--footer-text);

    font-family:
        "Pretendard Variable",
        "Pretendard",
        "Noto Sans KR",
        Arial,
        sans-serif;

    transition:
        background-color .35s ease,
        color .35s ease;
}

.aha-footer a{
    color:inherit;
    text-decoration:none;
}


/* =========================================================
   INNER
========================================================= */

.aha-footer-inner{

    width:min(
        1520px,
        calc(100% - 120px)
    );

    margin:0 auto;
}


/* =========================================================
   MAIN
========================================================= */

.aha-footer-main{

    display:grid;

    grid-template-columns:
        minmax(0,1.4fr)
        minmax(180px,.52fr)
        minmax(280px,.75fr);

    gap:clamp(60px,7vw,130px);

    min-height:490px;

    padding:
        clamp(72px,6vw,100px)
        0
        72px;

    align-items:start;
}


/* =========================================================
   INTRO
========================================================= */

.aha-footer-intro h2{

    max-width:750px;

    margin:0;

    color:var(--footer-text);

    font-size:clamp(42px,3.3vw,58px);

    font-weight:600;

    line-height:1.07;

    letter-spacing:-.025em;

    word-break:keep-all;
    overflow-wrap:normal;
}


.aha-footer-intro p{

    margin:28px 0 0;

    color:var(--footer-sub);

    font-size:16px;

    font-weight:500;

    line-height:1.72;

    letter-spacing:-.025em;

    word-break:keep-all;
}


/* =========================================================
   PROJECT BUTTON
========================================================= */

.aha-footer-cta{

    display:flex;

    align-items:center;
    justify-content:space-between;

    width:240px;
    height:60px;

    margin-top:40px;

    padding:
        6px
        9px
        6px
        20px;

    background:transparent;

    border:
        1px solid
        rgba(255,255,255,.28);

    border-radius:999px;

    color:var(--footer-text) !important;

    font-size:15px;
    font-weight:700;

    line-height:1;

    transition:
        background-color .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .35s cubic-bezier(.16,1,.3,1);
}


.aha-footer-cta > span{

    display:block;

    color:inherit !important;
}


/* ARROW */

.aha-footer-cta i{

    display:flex;

    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    flex:0 0 40px;

    border-radius:50%;

    background:var(--footer-point);

    border:
        1px solid
        var(--footer-point);

    color:#fff !important;

    font-size:18px;

    font-style:normal;
    font-weight:300;

    line-height:1;

    transition:
        background-color .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .4s cubic-bezier(.16,1,.3,1);
}


/* DARK MODE HOVER */

@media (hover:hover) and (pointer:fine){

    .aha-footer-cta:hover{

        background:var(--footer-text);

        border-color:var(--footer-text);

        color:#111 !important;

        transform:translateY(-2px);
    }


    .aha-footer-cta:hover > span{

        color:#111 !important;
    }


    .aha-footer-cta:hover i{

        background:transparent;

        border-color:#111;

        color:#111 !important;

        transform:translateX(2px);
    }

}


/* =========================================================
   NAV
========================================================= */

.aha-footer-nav{

    display:flex;
    flex-direction:column;

    align-items:flex-start;

    gap:17px;
}


.aha-footer-nav a{

    color:var(--footer-muted);

    font-size:23px;
    font-weight:500;

    line-height:1.2;

    letter-spacing:-.035em;

    transition:
        color .25s ease,
        transform .25s ease;
}


@media (hover:hover) and (pointer:fine){

    .aha-footer-nav a:hover{

        color:var(--footer-text);

        transform:translateX(3px);
    }

}


/* =========================================================
   CONTACT / BUSINESS INFO
========================================================= */

.aha-footer-info{

    display:flex;
    flex-direction:column;

    align-items:flex-end;

    text-align:right;
}


.aha-footer-info > a{

    color:var(--footer-sub);

    font-size:16px;
    font-weight:600;

    line-height:1.75;

    letter-spacing:-.02em;

    transition:color .2s ease;
}


@media (hover:hover) and (pointer:fine){

    .aha-footer-info > a:hover{

        color:var(--footer-text);
    }

}


/* =========================================================
   BUSINESS
========================================================= */

.aha-footer-business{

    margin-top:30px;

    color:var(--footer-sub);

    line-height:1.8;

    letter-spacing:-.02em;
}


.aha-footer-business strong{

    display:block;

    color:var(--footer-text);

    font-size:17px;

    font-weight:700;
}


.aha-footer-business span{

    display:block;

    margin-top:3px;

    color:var(--footer-sub);

    font-size:15px;

    font-weight:500;
}


/* =========================================================
   BOTTOM
========================================================= */

.aha-footer-bottom{

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:30px;

    padding:
        27px
        0
        29px;

    border-top:
        1px solid
        var(--footer-line);
}


/* COPYRIGHT */

.aha-footer-copy{

    color:var(--footer-muted);

    font-size:13px;

    font-weight:500;

    line-height:1.3;
}


/* POLICY */

.aha-footer-policy{

    display:flex;

    align-items:center;

    gap:34px;
}


.aha-footer-policy a{

    color:var(--footer-muted);

    font-size:13px;

    font-weight:500;

    text-decoration:underline;

    text-underline-offset:4px;

    transition:color .2s ease;
}


@media (hover:hover) and (pointer:fine){

    .aha-footer-policy a:hover{

        color:var(--footer-text);
    }

}


/* =========================================================
   LIGHT MODE
========================================================= */

body.aha-light-theme .aha-footer{

    --footer-bg:#fff;

    --footer-text:#17161a;

    --footer-sub:#55515c;

    --footer-muted:#8f8b95;

    --footer-line:rgba(20,18,28,.12);

    --footer-point:var(--aha-primary);
}


body.aha-light-theme #ft{

    background:#f7f7f8 !important;
}


/* LIGHT BUTTON */

body.aha-light-theme .aha-footer-cta{

    background:transparent;

    border-color:rgba(20,18,28,.22);

    color:var(--footer-text) !important;
}


body.aha-light-theme .aha-footer-cta > span{

    color:inherit !important;
}


/* LIGHT MODE HOVER */

@media (hover:hover) and (pointer:fine){

    body.aha-light-theme .aha-footer-cta:hover{

        background:var(--aha-primary);

       border:none;
		
        color:#fff !important;
    }


    body.aha-light-theme .aha-footer-cta:hover > span{

        color:var(--aha-primary);
    }


    body.aha-light-theme .aha-footer-cta:hover i{

        background:#fff;

        border-color:none;
		border:none;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1100px){

    .aha-footer-inner{

        width:calc(100% - 60px);
    }


    .aha-footer-main{

        grid-template-columns:
            minmax(0,1.2fr)
            minmax(145px,.48fr)
            minmax(240px,.7fr);

        gap:42px;
    }


    .aha-footer-intro h2{

        font-size:clamp(38px,4.3vw,50px);
    }


    .aha-footer-nav a{

        font-size:20px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:768px){

    .aha-footer-inner{

        width:calc(100% - 40px);
    }


    .aha-footer-main{

        display:block;

        min-height:0;

        padding:
            54px
            0
            50px;
    }


    /* TITLE */

    .aha-footer-intro h2{

        width:100%;
        max-width:100%;

        font-size:clamp(34px,9.4vw,40px);

        font-weight:600;

        line-height:1.08;

        letter-spacing:-.025em;

        white-space:normal;

        word-break:keep-all;
        overflow-wrap:normal;
    }


    /* DESCRIPTION */

    .aha-footer-intro p{

        margin-top:22px;

        font-size:15px;

        font-weight:500;

        line-height:1.7;
    }


    /* CTA */

    .aha-footer-cta{

        width:220px;
        height:56px;

        margin-top:34px;

        padding:
            6px
            8px
            6px
            18px;

        border-radius:999px;

        font-size:14px;
    }


    .aha-footer-cta i{

        width:38px;
        height:38px;

        flex:0 0 38px;

        border-radius:50%;

        font-size:17px;
    }


    /* NAV */

    .aha-footer-nav{

        margin-top:55px;

        gap:12px;
    }


    .aha-footer-nav a{

        font-size:20px;

        font-weight:500;

        line-height:1.2;
    }


    /* INFO */

    .aha-footer-info{

        align-items:flex-start;

        margin-top:45px;

        text-align:left;
    }


    .aha-footer-info > a{

        font-size:15px;

        font-weight:600;

        line-height:1.7;
    }


    /* BUSINESS */

    .aha-footer-business{

        margin-top:22px;
    }


    .aha-footer-business strong{

        font-size:16px;

        font-weight:700;
    }


    .aha-footer-business span{

        font-size:14px;

        font-weight:500;
    }


    /* BOTTOM */

    .aha-footer-bottom{

        display:block;

        padding:
            22px
            0
            25px;
    }


    .aha-footer-copy{

        margin-bottom:16px;

        font-size:11px;

        font-weight:500;
    }


    .aha-footer-policy{

        gap:24px;
    }


    .aha-footer-policy a{

        font-size:11px;

        font-weight:500;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:390px){

    .aha-footer-inner{

        width:calc(100% - 32px);
    }


    .aha-footer-intro h2{

        font-size:34px;

        line-height:1.08;

        letter-spacing:-.025em;
    }


    .aha-footer-intro p{

        font-size:15px;
    }


    .aha-footer-cta{

        width:210px;
    }


    .aha-footer-nav a{

        font-size:20px;
    }

}


/* =========================================================
   TYPOGRAPHY RESET
========================================================= */

.aha-footer,
.aha-footer *{

    font-family:
        "Pretendard Variable",
        "Pretendard",
        "Noto Sans KR",
        Arial,
        sans-serif !important;

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

    text-rendering:optimizeLegibility;
}
