:root{
    --fst-primary:#00353F;
    --fst-secondary:#01858E;
    --fst-accent:#96BA04;
    --fst-light:#F7FAFA;
    --fst-white:#FFFFFF;
    --fst-text:#60767B;
    --fst-border:#E6EFF0;
    --fst-shadow:0 18px 45px rgba(0,53,63,.08);
    --fst-shadow-hover:0 28px 60px rgba(0,53,63,.14);
}

/* Breadcrumb */
.ahc-breadcrumb{
    background:linear-gradient(135deg,var(--fst-primary) 0%,var(--fst-secondary) 100%);
    padding:35px 0;
    position:relative;
    overflow:hidden;
}

.ahc-breadcrumb h1{color:#fff;}
.ahc-breadcrumb p{color:rgba(255,255,255,.85);}
.ahc-breadcrumb .breadcrumb-item,
.ahc-breadcrumb .breadcrumb-item a{
    color:#fff;
    text-decoration:none;
    font-weight:800;
}
.ahc-breadcrumb .breadcrumb-item.active{color:var(--fst-accent);}
.ahc-breadcrumb .breadcrumb-item+.breadcrumb-item::before{
    color:rgba(255,255,255,.55);
    content:"/";
}

/* Hero */
.ahc-hero{
    padding:90px 0;
    background:
        radial-gradient(circle at 10% 18%,rgba(150,186,4,.16),transparent 30%),
        radial-gradient(circle at 88% 20%,rgba(1,133,142,.15),transparent 34%),
        linear-gradient(180deg,var(--fst-light) 0%,#FFFFFF 100%);
}

.ahc-badge,
.ahc-header-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 16px;
    border-radius:999px;
    background:#EAF8F4;
    color:var(--fst-secondary);
    font-weight:900;
    margin-bottom:16px;
}

.ahc-hero h2 span{color:var(--fst-secondary);}

.ahc-actions,
.ahc-cta-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:28px;
}

.ahc-outline-btn,
.ahc-cta-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 24px;
    border-radius:999px;
    background:#fff;
    color:var(--fst-primary) !important;
    font-weight:900;
    text-decoration:none;
    border:1px solid var(--fst-border);
    box-shadow:0 12px 26px rgba(0,53,63,.08);
}

/* Mini List */
.ahc-mini-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:30px;
}

.ahc-mini-list div{
    padding:12px 13px;
    border-radius:18px;
    background:#fff;
    color:var(--fst-primary);
    font-weight:800;
    box-shadow:0 12px 28px rgba(0,53,63,.08);
    border:1px solid var(--fst-border);
    font-size:14px;
}

.ahc-mini-list i{
    color:var(--fst-secondary);
    margin-right:6px;
}

/* Document Preview */
.ahc-document-preview{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ahc-document-preview:before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(150,186,4,.18),rgba(1,133,142,.15));
    filter:blur(3px);
}

.ahc-paper{
    position:relative;
    z-index:2;
    width:390px;
    min-height:500px;
    padding:28px;
    border-radius:26px;
    background:#fff;
    box-shadow:0 35px 80px rgba(0,53,63,.15);
    transform:rotate(-2deg);
    border:1px solid var(--fst-border);
}

.paper-top{
    display:flex;
    gap:7px;
    margin-bottom:24px;
}

.paper-top span{
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--fst-secondary);
}

.ahc-paper h4{
    color:var(--fst-primary);
    font-weight:900;
    text-align:center;
    margin-bottom:25px;
}

.doc-line{
    height:12px;
    border-radius:999px;
    background:var(--fst-border);
    margin-bottom:14px;
}

.w-80{width:80%;}
.w-95{width:95%;}
.w-70{width:70%;}
.w-90{width:90%;}
.w-60{width:60%;}

.doc-box{
    height:95px;
    border-radius:16px;
    background:var(--fst-light);
    border:1px dashed var(--fst-secondary);
    margin:24px 0;
}

.doc-sign{
    width:120px;
    height:10px;
    border-radius:999px;
    background:var(--fst-secondary);
    margin-left:auto;
    margin-top:34px;
}

.ahc-float-card{
    position:absolute;
    z-index:3;
    padding:14px 18px;
    border-radius:18px;
    background:rgba(255,255,255,.92);
    box-shadow:0 18px 36px rgba(0,53,63,.12);
}

.ahc-float-card strong{
    display:block;
    color:var(--fst-primary);
    font-size:18px;
    font-weight:900;
}

.ahc-float-card span{
    color:var(--fst-secondary);
    font-size:13px;
    font-weight:900;
}

.float-one{left:15px;top:80px;}
.float-two{right:15px;bottom:90px;}

/* Categories */
.ahc-categories{
    padding:90px 0;
    background:#fff;
}

.ahc-module-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.ahc-module-card{
    min-height:210px;
    padding:28px;
    border-radius:28px;
    background:var(--fst-light);
    border:1px solid var(--fst-border);
    text-decoration:none;
    color:var(--fst-primary);
    box-shadow:0 14px 35px rgba(0,53,63,.07);
    transition:.35s;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    position:relative;
    overflow:hidden;
}

.ahc-module-card:before{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    right:-70px;
    top:-70px;
    border-radius:50%;
    background:rgba(150,186,4,.15);
}

.ahc-module-card:hover{
    transform:translateY(-8px);
    background:#fff;
    box-shadow:0 25px 55px rgba(0,53,63,.13);
}

.ahc-module-card.large{
    grid-column:span 2;
    grid-row:span 2;
    min-height:442px;
    background:linear-gradient(135deg,var(--fst-primary),var(--fst-secondary));
    color:#fff;
}

.ahc-module-card.wide{
    grid-column:span 2;
    background:linear-gradient(135deg,var(--fst-primary),var(--fst-secondary));
    color:#fff;
}

.ahc-module-card i{
    width:64px;
    height:64px;
    border-radius:20px;
    background:var(--fst-accent);
    color:var(--fst-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    margin-bottom:18px;
    position:relative;
    z-index:2;
}

.ahc-module-card h4{
    font-weight:900;
    margin-bottom:8px;
    position:relative;
    z-index:2;
}

.ahc-module-card p{
    margin:0;
    color:inherit;
    opacity:.82;
    position:relative;
    z-index:2;
}

/* Practice List */
.ahc-practice-list{
    padding:90px 0;
    background:var(--fst-light);
}

.ahc-practice-card{
    height:100%;
    background:#fff;
    border:1px solid var(--fst-border);
    border-radius:26px;
    padding:28px;
    box-shadow:0 18px 45px rgba(0,53,63,.07);
    transition:.35s;
    position:relative;
    overflow:hidden;
}

.ahc-practice-card.featured{
    border-color:var(--fst-secondary);
    box-shadow:0 25px 60px rgba(0,53,63,.14);
}

.ahc-practice-card:hover{
    transform:translateY(-8px);
}

.ahc-card-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}

.ahc-card-head span,
.ahc-card-head b{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 13px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
}

.ahc-card-head span{
    background:#EAF8F4;
    color:var(--fst-secondary);
}

.ahc-card-head .free{
    background:#EAF8F4;
    color:#16A34A;
}

.ahc-card-head .paid{
    background:var(--fst-primary);
    color:#fff;
}

.ahc-card-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}

.ahc-card-meta span{
    background:var(--fst-light);
    border-radius:999px;
    padding:8px 13px;
    color:var(--fst-primary);
    font-size:13px;
    font-weight:800;
}

.ahc-card-meta i{
    color:var(--fst-secondary);
    margin-right:5px;
}

/* Benefits */
.ahc-benefits{
    padding:90px 0;
    background:#fff;
}

.ahc-benefit-card{
    height:100%;
    padding:28px;
    border-radius:24px;
    background:var(--fst-light);
    border:1px solid var(--fst-border);
    transition:.35s;
}

.ahc-benefit-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,53,63,.12);
}

.ahc-benefit-card i{
    width:62px;
    height:62px;
    border-radius:18px;
    background:linear-gradient(135deg,var(--fst-secondary),var(--fst-primary));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin-bottom:18px;
}

.ahc-benefit-card h5{
    color:var(--fst-primary);
    font-weight:900;
    margin-bottom:10px;
}

.ahc-benefit-card p{
    color:var(--fst-text);
    margin:0;
    line-height:1.7;
}

/* CTA */
.ahc-cta{
    padding:90px 0;
    background:var(--fst-light);
}

.ahc-cta-box{
    position:relative;
    overflow:hidden;
    border-radius:34px;
    padding:62px 30px;
    background:linear-gradient(135deg,var(--fst-primary),var(--fst-secondary));
    box-shadow:0 30px 70px rgba(0,53,63,.18);
}

.ahc-cta-box:before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    right:-140px;
    top:-150px;
    border-radius:50%;
    background:rgba(150,186,4,.15);
}

.ahc-cta-box h2,
.ahc-cta-box p{
    color:#fff;
    position:relative;
    z-index:2;
}

.ahc-cta-actions{
    position:relative;
    z-index:2;
    justify-content:center;
}

/* Responsive */
@media(max-width:991px){
    .ahc-hero,
    .ahc-categories,
    .ahc-practice-list,
    .ahc-benefits,
    .ahc-cta{
        padding:60px 0;
    }

    .ahc-hero{
        text-align:center;
    }

    .ahc-actions,
    .ahc-mini-list{
        justify-content:center;
    }

    .ahc-mini-list{
        grid-template-columns:1fr;
    }

    .ahc-document-preview{
        min-height:auto;
        margin-top:20px;
    }

    .ahc-paper{
        width:100%;
        max-width:380px;
        min-height:450px;
    }

    .ahc-module-grid{
        grid-template-columns:1fr;
    }

    .ahc-module-card.large,
    .ahc-module-card.wide{
        grid-column:span 1;
        grid-row:span 1;
        min-height:240px;
    }

    .float-one{
        left:5px;
        top:35px;
    }

    .float-two{
        right:5px;
        bottom:35px;
    }
}