/* ==========================================================
   PROGRAM PROFESIONAL – ARHITECTURA SISTEMELOR DE AUTOMATIZARE
   Stil aliniat cu Nivelul 1 – Proiectare Electrică
========================================================== */


html{
    scroll-behavior:smooth;
}

body{
    background:var(--az-gray);
}

.az-container{
    width:min(1700px,94vw);
    margin-inline:auto;
}

.arch-page{
    color:var(--az-ink);
    background:var(--az-white);
}

.arch-section{
    padding:clamp(76px,7vw,116px) 0;
}

.arch-section-soft{
    background:var(--az-sand);
}

.arch-section-dark{
    color:var(--az-white);
    background:var(--az-green-deep);
}

.arch-heading{
    max-width:940px;
}

.arch-heading h2,
.arch-section h2,
.arch-cta h2{
    margin:18px 0;
    color:var(--az-ink);
    font-size:clamp(2.15rem,4vw,4.35rem);
    font-weight:650;
    line-height:1.05;
    letter-spacing:-.045em;
    text-wrap:balance;
}

.arch-heading p,
.arch-section p{
    color:var(--az-green);
    font-size:1.02rem;
    line-height:1.75;
}

.arch-heading-light h2,
.arch-section-dark h2,
.arch-cta h2{
    color:var(--az-white);
}

.arch-heading-light p,
.arch-section-dark p,
.arch-cta p{
    color:rgba(255,255,255,.72);
}

.arch-section-tag,
.arch-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--az-green);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.arch-section-tag::before,
.arch-eyebrow::before{
    width:36px;
    height:2px;
    content:"";
    background:currentColor;
}

.arch-section-tag::after,
.arch-eyebrow::after{
    width:36px;
    height:2px;
    content:"";
    background:currentColor;
}

.arch-section-tag-light,
.arch-eyebrow{
    color:var(--az-lime);
}

.arch-lead{
    font-size:1.14rem!important;
}


/* ==========================================================
   HERO
========================================================== */

.arch-hero{
    position:relative;
    overflow:hidden;
    padding: clamp(36px, 4vw, 96px) 0;
    color:var(--az-white);
    background:
        linear-gradient(115deg,rgba(12,47,40,.99),rgba(30,74,61,.94)),
        var(--az-green);
}

.arch-hero-grid{
    position:absolute;
    inset:0;
    opacity:.15;
    background-image:
        linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
    background-size:54px 54px;
    mask-image:linear-gradient(90deg,transparent,#000 45%,#000);
}

.arch-hero .az-container{
    position:relative;
    z-index:2;
}

.arch-hero h1{
    max-width:980px;
    margin:24px 0 0;
    color:var(--az-white);
    font-size:clamp(3rem,5.7vw,6rem);
    font-weight:650;
    line-height:.98;
    letter-spacing:-.055em;
    text-wrap:balance;
}

.arch-hero-lead{
    max-width:800px;
    margin:28px 0 0;
    color:rgba(255,255,255,.9);
    font-size:clamp(1.12rem,1.6vw,1.34rem);
    line-height:1.65;
}

.arch-hero-copy{
    max-width:760px;
    margin:14px 0 0;
    color:rgba(255,255,255,.66);
    line-height:1.75;
}

.arch-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:36px;
}

.arch-hero-actions .btn{
    min-height:58px;
    padding:14px 22px;
    border-radius:4px;
}

.btn-primary{
    color:var(--az-green-deep);
    background:var(--az-lime);
    border-color:var(--az-lime);
}

.arch-hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.arch-hero-tags span{
    padding:8px 12px;
    color:rgba(255,255,255,.78);
    border:1px solid rgba(255,255,255,.18);
    font-size:.82rem;
    font-weight:600;
}


/* SYSTEM CARD */

.arch-system-card{
    padding:34px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
}

.arch-system-label{
    display:block;
    color:var(--az-lime);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.arch-system-flow{
    margin-top:24px;
}

.arch-system-flow div{
    padding:16px 18px;
    color:var(--az-white);
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.13);
    text-align:center;
    font-size:.9rem;
    font-weight:700;
}

.arch-system-flow div.is-accent{
    color:var(--az-green-deep);
    background:var(--az-lime);
    border-color:var(--az-lime);
}

.arch-system-flow i{
    display:block;
    padding:8px 0;
    color:var(--az-lime);
    text-align:center;
}

.arch-system-card > p{
    margin:22px 0 0;
    color:rgba(255,255,255,.64);
    font-size:.82rem;
    line-height:1.6;
}


/* POSITIONING */

.arch-positioning{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:50px;
}

.arch-positioning article{
    padding:30px;
    background:var(--az-white);
    border:1px solid var(--az-line);
}

.arch-positioning article.is-featured{
    color:var(--az-white);
    background:var(--az-green);
    border-color:var(--az-green);
}

.arch-positioning article > span{
    color:var(--az-green);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.arch-positioning article.is-featured > span{
    color:var(--az-lime);
}

.arch-positioning h3{
    margin:12px 0 10px;
    color:var(--az-ink);
    font-size:1.35rem;
}

.arch-positioning article.is-featured h3{
    color:var(--az-white);
}

.arch-positioning p{
    margin:0;
    font-size:.86rem;
}

.arch-positioning article.is-featured p{
    color:rgba(255,255,255,.75);
}


/* LEVELS */

.arch-levels{
    max-width:1250px;
    margin:58px auto 0;
}

.arch-level-card{
    display:grid;
    grid-template-columns:86px 1fr;
    gap:26px;
}

.arch-level-number{
    display:flex;
    align-items:center;
    justify-content:center;
    width:80px;
    height:80px;
    color:var(--az-green-deep);
    background:var(--az-lime);
    font-size:.72rem;
    font-weight:800;
}

.arch-level-body{
    padding:34px;
    background:var(--az-white);
    border:1px solid var(--az-line);
    box-shadow:0 16px 45px rgba(16,40,35,.05);
}

.arch-level-card-featured .arch-level-body{
    border-top:4px solid var(--az-lime);
    box-shadow:0 20px 55px rgba(16,40,35,.1);
}

.arch-level-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.arch-level-meta span{
    padding:6px 9px;
    color:var(--az-green);
    background:var(--az-sand);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.arch-level-card h3{
    margin:16px 0 10px;
    color:var(--az-ink);
    font-size:clamp(1.8rem,3vw,2.65rem);
    line-height:1.15;
}

.arch-level-lead{
    max-width:920px;
    margin:0;
    color:var(--az-green);
    line-height:1.7;
}

.arch-level-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:34px;
    margin-top:28px;
    padding-top:26px;
    border-top:1px solid var(--az-line);
}

.arch-level-label{
    display:block;
    margin-bottom:12px;
    color:var(--az-green);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.arch-level-grid ul{
    margin:0;
    padding:0;
    list-style:none;
}

.arch-level-grid li{
    position:relative;
    margin-bottom:9px;
    padding-left:20px;
    color:var(--az-ink);
    font-size:.86rem;
    line-height:1.5;
}

.arch-level-grid li::before{
    content:"";
    position:absolute;
    top:.55em;
    left:0;
    width:8px;
    height:8px;
    background:var(--az-lime);
}

.arch-result-list li::before{
    width:6px;
    height:6px;
    background:var(--az-green);
}

.arch-level-result{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:18px;
    align-items:center;
    margin:26px 0 24px;
    padding:18px 20px;
    color:var(--az-green-deep);
    background:var(--az-sand);
    border-left:4px solid var(--az-lime);
}

.arch-level-result span{
    color:var(--az-green);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.arch-level-result strong{
    line-height:1.55;
}

.arch-level-card .btn{
    min-height:50px;
}


/* CONNECTOR */

.arch-level-connector{
    display:grid;
    grid-template-columns:1fr 70px 1fr;
    gap:16px;
    align-items:center;
    max-width:900px;
    margin:28px auto;
    color:var(--az-green);
    text-align:center;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.arch-level-connector div{
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    margin:auto;
    color:var(--az-green-deep);
    background:var(--az-lime);
}


/* AUDIENCE */

.arch-audience-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:50px;
}

.arch-audience-grid article{
    padding:34px;
    background:var(--az-green);
    border:1px solid rgba(255,255,255,.16);
}

.arch-audience-index{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    color:var(--az-green-deep);
    background:var(--az-lime);
    font-size:.68rem;
    font-weight:800;
}

.arch-audience-grid article > i{
    float:right;
    color:var(--az-lime);
    font-size:1.5rem;
}

.arch-audience-grid h3{
    margin:24px 0 10px;
    color:var(--az-white);
    font-size:1.45rem;
}

.arch-audience-grid > article > p{
    color:rgba(255,255,255,.68);
}

.arch-audience-result{
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.14);
}

.arch-audience-result > span{
    color:var(--az-lime);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.arch-audience-result ul{
    margin:14px 0 0;
    padding-left:20px;
}

.arch-audience-result li{
    margin-bottom:8px;
    color:rgba(255,255,255,.8);
    font-size:.86rem;
}


/* METHOD */

.arch-method-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.arch-method-grid article{
    position:relative;
    min-height:220px;
    padding:28px;
    background:var(--az-white);
    border:1px solid var(--az-line);
}

.arch-method-grid article > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    color:var(--az-green-deep);
    background:var(--az-lime);
    font-size:.68rem;
    font-weight:800;
}

.arch-method-grid i{
    position:absolute;
    top:28px;
    right:28px;
    color:var(--az-green);
    font-size:1.35rem;
}

.arch-method-grid h3{
    margin:22px 0 9px;
    color:var(--az-ink);
    font-size:1.08rem;
}

.arch-method-grid p{
    margin:0;
    font-size:.83rem;
}


/* SKILLS */

.arch-skills{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.arch-skills > div{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:14px;
    align-items:center;
    min-height:88px;
    padding:18px;
    background:var(--az-white);
    border:1px solid var(--az-line);
}

.arch-skills i{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    color:var(--az-green-deep);
    background:var(--az-lime);
    font-size:1.05rem;
}

.arch-skills span{
    color:var(--az-ink);
    font-size:.86rem;
    font-weight:650;
    line-height:1.45;
}

.arch-quote{
    max-width:100%;
    margin:58px auto 0;
    padding:34px;
    color:var(--az-white);
    background:var(--az-green-deep);
    border-left:5px solid var(--az-lime);
}

.arch-quote p{
    margin:0;
    color:var(--az-white);
    font-size:clamp(0.7rem,1.3vw,1.05rem);
    line-height:1.5;
}


/* FAQ */

.arch-faq{
    border: 1px solid var(--az-line);
    padding: 40px;
    background: var(--az-gray);
}
.arch-faq .accordion-item{
    background:transparent;
    border:0;
    border-bottom:1px solid var(--az-line);
}

.arch-faq .accordion-button{
      display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 14px 0;
    color: var(--az-ink);
    background: transparent;
    border: none;
    box-shadow: none;
    font-size: 1.06rem;
    font-weight: 650;
    width: 100%;
}

.arch-faq .accordion-button > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    color: var(--az-green-deep);
    background: var(--az-lime);
    font-size: .72rem;
    font-weight: 800;
    margin-right: 30px;
}

.arch-faq .accordion-button:not(.collapsed){
    color:var(--az-green);
}

.arch-faq .accordion-body{
    padding:0 0 20px;
    color:var(--az-green);
    line-height:1.7;
}


/* CTA / FORM */

.arch-cta{
    padding:96px 0;
    background:var(--az-green);
}

.arch-cta h2{
    margin-bottom:18px;
}

.arch-cta > .az-container > .row > div:first-child > p{
    max-width:570px;
}

.arch-cta-points{
    margin-top:30px;
    border-top:1px solid rgba(255,255,255,.16);
}

.arch-cta-points > div{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:14px;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.16);
}

.arch-cta-points span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    color:var(--az-green-deep);
    background:var(--az-lime);
    font-size:.68rem;
    font-weight:800;
}

.arch-cta-points p{
    margin:0;
    color:rgba(255,255,255,.72);
}

.arch-contact-form{
    padding:34px;
    color:var(--az-ink);
    background:var(--az-white);
    border:1px solid var(--az-line);
    box-shadow:0 26px 70px rgba(0,0,0,.2);
}

.arch-form-heading{
    margin-bottom:26px;
    padding-bottom:22px;
    border-bottom:1px solid var(--az-line);
}

.arch-form-heading > span{
    color:var(--az-green);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.arch-form-heading h3{
    margin:8px 0 0;
    color:var(--az-ink);
    font-size:1.8rem;
}

.arch-contact-form .form-label{
    margin-bottom:7px;
    color:var(--az-ink);
    font-size:.8rem;
    font-weight:700;
}

.arch-contact-form .form-control,
.arch-contact-form .form-select{
    min-height:52px;
    padding:10px 14px;
    color:var(--az-ink);
    background:var(--az-white);
    border:1px solid var(--az-line);
    border-radius:3px;
    font-size:.82rem;
}

.arch-contact-form textarea.form-control{
    min-height:110px;
}

.arch-contact-form .form-control:focus,
.arch-contact-form .form-select:focus{
    border-color:var(--az-green);
    box-shadow:0 0 0 4px rgba(30,74,61,.12);
}

.arch-consent{
    margin-top:8px;
    margin-bottom: 20px;
    padding:18px;
    background:var(--az-sand);
    border-left:4px solid var(--az-lime);
}

.arch-form-status{
    display:block;
    margin-top:12px;
    color:var(--az-green);
    font-size:.82rem;
}


/* RESPONSIVE */

@media(max-width:1199.98px){

    .arch-level-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:991.98px){

    .arch-positioning,
    .arch-audience-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:767.98px){

    .arch-section,
    .arch-cta{
        padding:72px 0;
    }

    .arch-level-card{
        grid-template-columns:1fr;
        gap:12px;
    }

    .arch-level-number{
        width:58px;
        height:58px;
    }

    .arch-level-body{
        padding:24px 20px;
    }

    .arch-level-result{
        grid-template-columns:1fr;
        gap:6px;
    }

    .arch-level-connector{
        grid-template-columns:1fr;
    }

    .arch-method-grid,
    .arch-skills{
        grid-template-columns:1fr;
    }

    .arch-contact-form{
        padding:24px 20px;
    }

}

@media(max-width:575.98px){

    .arch-hero h1{
        font-size:2.75rem;
    }

    .arch-hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .arch-hero-actions .btn{
        width:100%;
    }

}
