/*
Theme: Biosystem Sanificazioni
Stack: HTML5, Bootstrap 5, jQuery, PHP include
*/

:root{
    --bio-black:#020402;
    --bio-black-2:#060a07;
    --bio-dark:#08110b;
    --bio-card:#0b130d;
    --bio-green:#62e622;
    --bio-green-2:#76f12a;
    --bio-white:#ffffff;
    --bio-muted:#c9d1c7;
    --bio-border:rgba(91,239,32,.35);
    --bio-shadow:0 28px 80px rgba(0,0,0,.55);
    --font-display:"Bebas Neue", "Barlow Condensed", "Arial Narrow Bold", Impact, sans-serif;
    --font-body:"Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:var(--font-body);
    color:var(--bio-white);
    background:var(--bio-black);
    overflow-x:hidden;
}

body.has-sticky-cta{
    padding-bottom:92px;
}

img{
    max-width:100%;
    height:auto;
}

a{
    color:inherit;
    text-decoration:none;
}

a:hover{
    color:var(--bio-green);
}

.skip-link{
    position:absolute;
    left:-999px;
    top:10px;
    background:var(--bio-green);
    color:#000;
    padding:10px 16px;
    z-index:9999;
}

.skip-link:focus{
    left:10px;
}

/* HEADER */
.site-header{
    position:sticky;
    top:0;
    z-index:1050;
    background:rgba(2,4,2,.92);
    backdrop-filter:blur(16px);
    border-bottom:2px solid rgba(91,239,32,.55);
}

.navbar{
    min-height:92px;
    padding:12px 0;
}

.logo-wrap{
    display:flex;
    align-items:center;
    gap:0;
}

.site-logo{
    width:260px;
    height:auto;
    display:block;
}

.logo-symbol{
    width:58px;
    height:58px;
    flex:0 0 auto;
}

.logo-text-main{
    display:block;
    color:#fff;
    font-weight:900;
    font-size:1.58rem;
    letter-spacing:.04em;
    line-height:.95;
}

.logo-text-sub{
    display:block;
    color:var(--bio-green);
    font-weight:700;
    font-size:.76rem;
    letter-spacing:.52em;
    margin-top:7px;
}

.nav-link{
    color:#fff!important;
    font-weight:700;
    font-size:.88rem;
    letter-spacing:0;
    padding:12px 8px!important;
}

.nav-link:hover,
.nav-link.active{
    color:var(--bio-green)!important;
}

.header-call{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#030603;
    background:linear-gradient(135deg,var(--bio-green),var(--bio-green-2));
    border:0;
    border-radius:18px;
    padding:12px 18px;
    font-weight:900;
    text-transform:uppercase;
    box-shadow:0 12px 35px rgba(91,239,32,.28);
}

.header-call:hover{
    color:#030603;
    transform:translateY(-1px);
}

.mobile-call-square{
    width:56px;
    height:56px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--bio-green),var(--bio-green-2));
    color:#fff;
    font-size:1.45rem;
    box-shadow:0 12px 35px rgba(91,239,32,.25);
}

.mobile-call-square:hover{
    color:#030603;
}

.navbar-toggler{
    border:0;
    padding:8px;
    box-shadow:none!important;
}

.burger{
    width:42px;
    height:30px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.burger span{
    height:4px;
    border-radius:999px;
    background:#fff;
    display:block;
    box-shadow:0 0 18px rgba(255,255,255,.35);
}

/* HERO */
.hero{
    position:relative;
    isolation:isolate;
    min-height:calc(100vh - 92px);
    display:flex;
    align-items:center;
    padding:18px 0 72px;
    overflow:hidden;
    background:
        radial-gradient(circle at 75% 25%, rgba(91,239,32,.25), transparent 35%),
        radial-gradient(circle at 20% 80%, rgba(91,239,32,.12), transparent 34%),
        linear-gradient(180deg,#020402 0%, #07110a 48%, #020402 100%);
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(0,0,0,.28),transparent 55%),
        linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.62));
    z-index:-2;
}

.hero::after{
    content:"";
    position:absolute;
    inset:auto -8% 0 -8%;
    height:38%;
    background:radial-gradient(ellipse at center, rgba(91,239,32,.22), transparent 62%);
    filter:blur(22px);
    z-index:-1;
}

.experience-badge{
    width:max-content;
    max-width:100%;
    margin:0 auto 30px;
    background:linear-gradient(135deg,var(--bio-green),var(--bio-green-2));
    color:#020402;
    padding:17px 42px;
    border-radius:0 0 34px 34px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    font-weight:900;
    font-size:clamp(1.05rem,1.65vw,1.45rem);
    text-transform:uppercase;
    letter-spacing:.035em;
    box-shadow:0 24px 70px rgba(91,239,32,.25);
}

.experience-badge-icon{
    width:32px;
    height:32px;
    display:inline-grid;
    place-items:center;
    border:3px solid #020402;
    border-radius:10px;
    font-size:.95rem;
    line-height:1;
}

.experience-badge-icon::before{
    content:"";
    width:58%;
    height:58%;
    display:block;
    background:#020402;
    clip-path:polygon(48% 0, 92% 18%, 84% 70%, 48% 100%, 12% 70%, 4% 18%);
}

.hero-title{
    color:#fff;
    text-transform:uppercase;
    font-family:var(--font-display);
    font-weight:700;
    letter-spacing:0;
    line-height:.88;
    font-size:clamp(4.65rem, 8.15vw, 9.45rem);
    margin:0;
    text-shadow:0 18px 46px rgba(0,0,0,.78);
}

.hero-title .green{
    color:var(--bio-green);
}

.hero-title .line{
    display:block;
}

.hero-title .mobile-line{
    display:none;
}

.hero-copy{
    max-width:920px;
}

.hero-lead{
    color:#fff;
    font-size:clamp(1.45rem,2.55vw,2.75rem);
    line-height:1.38;
    margin:26px 0 0;
    max-width:900px;
    text-shadow:0 12px 25px rgba(0,0,0,.6);
}

.hero-lead strong{
    color:var(--bio-green);
    font-weight:900;
}

.hero-image-wrap{
    position:relative;
    text-align:center;
}

.hero-image{
    width:min(100%,560px);
    max-height:540px;
    object-fit:contain;
    filter:drop-shadow(0 28px 80px rgba(91,239,32,.18));
}

.hero-actions{
    margin-top:34px;
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.btn-bio,
.btn-outline-bio{
    min-height:64px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    border-radius:8px;
    padding:16px 30px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.02em;
    transition:.22s ease;
}

.btn-icon,
.header-phone-icon{
    width:1.38em;
    height:1.38em;
    display:inline-block;
    flex:0 0 auto;
    background:currentColor;
    -webkit-mask:center / contain no-repeat;
    mask:center / contain no-repeat;
}

.btn-icon-calendar{
    color:#020402;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 2h3v5h8V2h3v5h4v23H5V7h4V2Zm0 8H7v18h18V10h-2v3h-3v-3h-8v3H9v-3Zm2 7h4v4h-4v-4Zm6 0h4v4h-4v-4ZM7 10v4h18v-4H7Z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 2h3v5h8V2h3v5h4v23H5V7h4V2Zm0 8H7v18h18V10h-2v3h-3v-3h-8v3H9v-3Zm2 7h4v4h-4v-4Zm6 0h4v4h-4v-4ZM7 10v4h18v-4H7Z'/%3E%3C/svg%3E");
}

.btn-icon-phone,
.header-phone-icon{
    transform:rotate(-8deg);
    transform-origin:center;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.2 3.2 5.7 7.7c-1.1 1.1-1.4 2.8-.7 4.3 3.1 6.6 8.4 11.9 15 15 .8.4 1.7.5 2.5.3.7-.2 1.3-.5 1.8-1l4.5-4.5-6.7-6.7-3.2 3.1c-.4.4-1 .5-1.5.2-1.3-.7-2.6-1.7-3.8-2.9-1.2-1.2-2.2-2.5-2.9-3.8-.3-.5-.2-1.1.2-1.5L14 7l-3.8-3.8Z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.2 3.2 5.7 7.7c-1.1 1.1-1.4 2.8-.7 4.3 3.1 6.6 8.4 11.9 15 15 .8.4 1.7.5 2.5.3.7-.2 1.3-.5 1.8-1l4.5-4.5-6.7-6.7-3.2 3.1c-.4.4-1 .5-1.5.2-1.3-.7-2.6-1.7-3.8-2.9-1.2-1.2-2.2-2.5-2.9-3.8-.3-.5-.2-1.1.2-1.5L14 7l-3.8-3.8Z'/%3E%3C/svg%3E");
}

.btn-bio{
    background:linear-gradient(135deg,var(--bio-green),var(--bio-green-2));
    color:#020402;
    border:2px solid transparent;
    box-shadow:0 16px 45px rgba(91,239,32,.28);
}

.btn-bio:hover{
    color:#020402;
    transform:translateY(-2px);
}

.btn-outline-bio{
    color:#fff;
    border:2px solid var(--bio-green);
    background:rgba(0,0,0,.14);
}

.btn-outline-bio .btn-icon-phone{
    color:var(--bio-green);
}

.btn-outline-bio:hover{
    color:#020402;
    background:var(--bio-green);
    transform:translateY(-2px);
}

/* SECTIONS */
.section-padding{
    padding:96px 0;
}

.section-dark{
    background:#050806;
}

.section-green-glow{
    position:relative;
    background:
        radial-gradient(circle at 15% 15%, rgba(91,239,32,.12), transparent 30%),
        radial-gradient(circle at 85% 20%, rgba(91,239,32,.10), transparent 30%),
        #060a07;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--bio-green);
    font-weight:900;
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.eyebrow::before{
    content:"";
    width:28px;
    height:2px;
    background:var(--bio-green);
}

.section-title{
    color:#fff;
    font-family:var(--font-display);
    font-size:clamp(2.5rem,5.4vw,5.8rem);
    line-height:.9;
    font-weight:400;
    letter-spacing:0;
    margin-top:18px;
}

.text-muted-bio{
    color:var(--bio-muted);
}

.card-service{
    height:100%;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
    border:1px solid var(--bio-border);
    border-radius:8px;
    overflow:hidden;
    box-shadow:var(--bio-shadow);
    transition:.25s ease;
}

.card-service:hover{
    transform:translateY(-7px);
    border-color:rgba(91,239,32,.75);
}

.card-service img{
    width:100%;
    aspect-ratio:1.45/1;
    object-fit:cover;
    background:#0b130d;
    border-bottom:1px solid var(--bio-border);
}

.card-service-text{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height:100%;
    background:
        radial-gradient(circle at 80% 0%, rgba(91,239,32,.22), transparent 38%),
        linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
}

.card-service-kicker{
    min-height:188px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--bio-green);
    font-family:var(--font-display);
    font-size:clamp(4.8rem,8vw,7.4rem);
    line-height:1;
    text-shadow:0 18px 45px rgba(91,239,32,.25);
    border-bottom:1px solid var(--bio-border);
}

.card-service-body{
    padding:28px;
}

.card-service h3{
    color:#fff;
    font-weight:900;
    margin-bottom:12px;
}

.card-service p{
    color:var(--bio-muted);
}

.card-service a{
    color:var(--bio-green);
    font-weight:900;
}

.trust-panel,
.method-card,
.stat-card{
    background:rgba(255,255,255,.045);
    border:1px solid var(--bio-border);
    border-radius:8px;
    padding:30px;
    height:100%;
    box-shadow:0 22px 70px rgba(0,0,0,.32);
}

.stat-card strong{
    display:block;
    color:var(--bio-green);
    font-size:3rem;
    line-height:1;
    font-family:var(--font-display);
    font-weight:400;
}

.stat-card span{
    color:#fff;
    font-weight:800;
}

.method-number{
    width:52px;
    height:52px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--bio-green),var(--bio-green-2));
    color:#020402;
    font-weight:900;
    margin-bottom:18px;
}

.zone-list{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.zone-list a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--bio-border);
    background:rgba(255,255,255,.05);
    color:#fff;
    border-radius:999px;
    padding:12px 18px;
    font-weight:800;
}

.zone-list a:hover{
    background:var(--bio-green);
    color:#020402;
}

.cta-big{
    border-radius:8px;
    padding:48px;
    background:
        radial-gradient(circle at 80% 15%, rgba(91,239,32,.30), transparent 38%),
        linear-gradient(135deg,#08110b,#020402);
    border:1px solid rgba(91,239,32,.55);
    box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.accordion{
    --bs-accordion-bg:rgba(255,255,255,.045);
    --bs-accordion-color:#fff;
    --bs-accordion-border-color:rgba(91,239,32,.28);
    --bs-accordion-btn-color:#fff;
    --bs-accordion-btn-bg:rgba(255,255,255,.045);
    --bs-accordion-active-bg:rgba(91,239,32,.13);
    --bs-accordion-active-color:#fff;
}

.accordion-button{
    font-weight:900;
}

.accordion-button:focus{
    box-shadow:0 0 0 .25rem rgba(91,239,32,.15);
}

/* 404 */
.not-found-hero{
    min-height:calc(100vh - 92px);
    display:flex;
    align-items:center;
    padding:96px 0;
    background:
        linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.68)),
        radial-gradient(circle at 80% 35%, rgba(98,230,34,.20), transparent 36%),
        #020402;
}

.not-found-panel{
    max-width:760px;
}

.not-found-title{
    color:#fff;
    font-family:var(--font-display);
    font-size:clamp(4.8rem,9vw,9rem);
    line-height:.86;
    margin:18px 0 24px;
    text-transform:uppercase;
}

.not-found-text{
    max-width:650px;
    color:#f7fff5;
    font-size:clamp(1.15rem,2vw,1.6rem);
    line-height:1.45;
    margin:0;
}

.not-found-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}

/* FOOTER */
.site-footer{
    background:#020402;
    border-top:1px solid var(--bio-border);
    padding:64px 0 28px;
}

.site-footer a{
    color:#dfffda;
}

.site-footer a:hover{
    color:var(--bio-green);
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    margin-top:36px;
    padding-top:22px;
    color:#aeb8ad;
}

/* STICKY CTA ALWAYS VISIBLE */
.sticky-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1060;
    background:rgba(2,4,2,.92);
    backdrop-filter:blur(18px);
    border-top:1px solid rgba(91,239,32,.55);
    padding:12px 0;
}

.sticky-cta-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.sticky-cta .btn{
    min-height:56px;
    border-radius:16px;
    font-size:.98rem;
}

@media (min-width:992px){
    .site-header{
        background:rgba(0,0,0,.88);
        border-bottom:1px solid rgba(98,230,34,.72);
        box-shadow:0 18px 60px rgba(0,0,0,.28);
    }

    .navbar{
        min-height:88px;
        padding:10px 0;
    }

    .site-logo{
        width:238px;
    }

    .nav-link{
        position:relative;
        font-size:.86rem;
        padding:10px 7px!important;
        transition:color .2s ease;
    }

    .nav-link::after{
        content:"";
        position:absolute;
        left:8px;
        right:8px;
        bottom:4px;
        height:2px;
        background:var(--bio-green);
        transform:scaleX(0);
        transform-origin:center;
        transition:transform .2s ease;
    }

    .nav-link:hover::after,
    .nav-link.active::after{
        transform:scaleX(1);
    }

    .header-call{
        min-height:56px;
        border-radius:16px;
        padding:12px 22px;
        box-shadow:0 18px 48px rgba(98,230,34,.24);
    }

    .hero{
        min-height:760px;
        padding:76px 0 96px;
        align-items:center;
        background:
            linear-gradient(90deg,rgba(0,0,0,.98) 0%, rgba(0,0,0,.90) 36%, rgba(2,28,9,.62) 68%, rgba(0,0,0,.95) 100%),
            linear-gradient(180deg,#000 0%, #061008 55%, #000 100%);
    }

    .hero::before{
        inset:0;
        background:
            linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.02) 48%,rgba(0,0,0,.34)),
            repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px, transparent 1px 94px);
        opacity:.45;
        z-index:-2;
    }

    .hero::after{
        inset:auto 0 0 0;
        height:30%;
        background:linear-gradient(180deg,transparent,rgba(0,0,0,.92));
        filter:none;
        z-index:-1;
    }

    .hero > .container{
        max-width:1320px;
    }

    .sticky-cta{
        left:auto;
        right:24px;
        bottom:24px;
        width:340px;
        border:1px solid rgba(91,239,32,.55);
        border-radius:18px;
        padding:14px;
        background:rgba(0,0,0,.78);
        box-shadow:0 24px 80px rgba(0,0,0,.56), 0 0 36px rgba(98,230,34,.08);
    }

    .sticky-cta-inner{
        grid-template-columns:1fr;
        gap:12px;
    }

    .sticky-cta .btn{
        min-height:58px;
        border-radius:12px;
        font-size:.96rem;
        padding:13px 18px;
    }

    body.has-sticky-cta{
        padding-bottom:0;
    }

    .hero-desktop-grid{
        display:grid;
        grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
        grid-template-areas:
            "badge visual"
            "copy visual";
        column-gap:58px;
        row-gap:34px;
        align-items:center;
    }

    .experience-badge{
        grid-area:badge;
        margin:0;
        padding:15px 30px;
        border-radius:999px;
        font-size:clamp(1rem,1.4vw,1.22rem);
        box-shadow:0 18px 56px rgba(98,230,34,.20);
    }

    .hero-copy{
        grid-area:copy;
        max-width:760px;
    }

    .hero-image-wrap{
        grid-area:visual;
        position:relative;
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:480px;
        border:1px solid rgba(98,230,34,.26);
        border-radius:8px;
        overflow:hidden;
        background:
            linear-gradient(180deg,rgba(98,230,34,.13),rgba(0,0,0,.16)),
            #041006;
        box-shadow:0 40px 110px rgba(0,0,0,.54), inset 0 0 0 1px rgba(255,255,255,.04);
    }

    .hero-image-wrap::before{
        content:"";
        position:absolute;
        inset:0;
        background:
            linear-gradient(90deg,rgba(0,0,0,.36),transparent 44%,rgba(0,0,0,.20)),
            linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.52));
        z-index:1;
        pointer-events:none;
    }

    .hero-image-wrap::after{
        content:"";
        position:absolute;
        left:10%;
        right:10%;
        bottom:30px;
        height:24px;
        background:rgba(98,230,34,.36);
        filter:blur(26px);
        z-index:2;
        pointer-events:none;
    }

    .hero-image{
        width:100%;
        height:100%;
        max-height:none;
        object-fit:cover;
        object-position:center 48%;
        transform:scale(1.18);
        filter:saturate(1.08) contrast(1.08);
    }

    .hero-title{
        font-size:clamp(5.4rem,6.7vw,8rem);
        line-height:.87;
        text-shadow:0 18px 48px rgba(0,0,0,.86);
        max-width:930px;
    }

    .hero-title .green{
        text-shadow:0 0 32px rgba(98,230,34,.16), 0 18px 48px rgba(0,0,0,.72);
    }

    .hero-lead{
        max-width:760px;
        margin-top:26px;
        font-size:clamp(1.28rem,1.75vw,1.95rem);
        line-height:1.34;
        color:#f7fff5;
    }

    .section-padding{
        padding:110px 0;
    }

    .card-service,
    .method-card,
    .stat-card,
    .cta-big{
        border-color:rgba(98,230,34,.26);
        box-shadow:0 28px 90px rgba(0,0,0,.36);
    }

    .card-service{
        background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
    }

    .card-service-body{
        padding:26px 24px 28px;
    }

    .section-title{
        font-size:clamp(3.4rem,4.5vw,5.2rem);
        line-height:.92;
    }
}

@media (max-width:991.98px){
    body.has-sticky-cta{
        padding-bottom:138px;
    }

    .navbar{
        min-height:86px;
    }

    .logo-symbol{
        width:52px;
        height:52px;
    }

    .logo-text-main{
        font-size:1.32rem;
    }

    .logo-text-sub{
        font-size:.62rem;
        letter-spacing:.4em;
    }

    .navbar-collapse{
        padding:18px 0 8px;
    }

    .hero{
        min-height:auto;
        padding:0;
        display:block;
        background:
            linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08)),
            url("../../biosystem-sanificazioni-mobile-hero-topi-blatte-volatili.png") center -13.4vw / 100% auto no-repeat,
            #020402;
    }

    .hero::before,
    .hero::after{
        display:none;
    }

    .hero .container{
        height:135vw;
        min-height:620px;
        max-height:1040px;
    }

    .hero-desktop-grid{
        display:flex;
        flex-direction:column;
        height:100%;
    }

    .experience-badge,
    .hero-title,
    .hero-image-wrap,
    .hero-lead{
        display:none;
    }

    .section-padding{
        padding:66px 0;
    }

    .sticky-cta{
        display:block;
        left:0;
        right:0;
        bottom:0;
        width:auto;
        padding:10px 0 12px;
        background:#020402;
        border-top:0;
        border-radius:0;
        box-shadow:none;
    }

    .sticky-cta .container{
        max-width:none;
        padding-left:clamp(18px,7.6vw,78px);
        padding-right:clamp(18px,7.6vw,78px);
    }

    .sticky-cta-inner{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
    }

    .sticky-cta .btn{
        min-height:52px;
        border-radius:13px;
        padding:10px 18px;
        gap:18px;
        font-size:clamp(1rem,3.75vw,1.22rem);
        font-weight:900;
        line-height:1;
        letter-spacing:0;
        border-width:1.5px;
        white-space:nowrap;
    }

    .sticky-cta .btn-icon{
        width:1.45em;
        height:1.45em;
    }

    .sticky-cta .btn-bio{
        min-height:50px;
    }
}

@media (max-width:575.98px){
    body.has-sticky-cta{
        padding-bottom:138px;
    }

    .container{
        padding-left:24px;
        padding-right:24px;
    }

    .site-header{
        position:relative;
        background:#000;
        border-bottom:1px solid var(--bio-green);
        backdrop-filter:none;
    }

    .navbar{
        min-height:52px;
        padding:5px 0;
    }

    .navbar > .container{
        padding-left:10px;
        padding-right:15px;
    }

    .logo-wrap{
        gap:0;
    }

    .site-logo{
        width:151px;
        height:auto;
    }

    .logo-symbol{
        width:29px;
        height:29px;
    }

    .logo-text-main{
        font-size:1.24rem;
        line-height:.82;
        letter-spacing:.015em;
    }

    .logo-text-sub{
        font-size:.37rem;
        letter-spacing:.48em;
        margin-top:4px;
    }

    .mobile-call-square{
        width:34px;
        height:34px;
        border-radius:8px;
        font-size:1rem;
        box-shadow:none;
    }

    .mobile-call-square .header-phone-icon{
        width:19px;
        height:19px;
    }

    .navbar-toggler{
        padding:0;
    }

    .burger{
        width:27px;
        height:24px;
    }

    .burger span{
        height:2.5px;
        border-radius:5px;
        box-shadow:0 0 10px rgba(255,255,255,.25);
    }

    .hero{
        min-height:auto;
        padding:0 0 18px;
        background:
            linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08)),
            url("../../biosystem-sanificazioni-mobile-hero-topi-blatte-volatili.png") center -52px / 100% auto no-repeat,
            #020402;
    }

    .hero::before{
        display:none;
    }

    .hero::after{
        display:none;
    }

    .hero .container{
        height:116vw;
        min-height:442px;
        max-height:650px;
    }

    .hero-desktop-grid{
        gap:0;
        height:100%;
    }

    .experience-badge{
        width:190px;
        min-height:27px;
        margin:0 auto 11px;
        padding:4px 15px 5px;
        border-radius:0 0 22px 22px;
        gap:7px;
        font-size:.72rem;
        line-height:1;
        letter-spacing:0;
        box-shadow:none;
    }

    .experience-badge-icon{
        width:15px;
        height:17px;
        border:0;
        border-radius:0;
    }

    .experience-badge-icon::before{
        width:15px;
        height:17px;
    }

    .hero-title{
        width:100%;
        font-size:clamp(3.42rem,14.9vw,4.02rem);
        font-weight:700;
        line-height:.92;
        margin:0 0 10px;
        text-shadow:0 8px 22px rgba(0,0,0,.85);
    }

    .experience-badge,
    .hero-title,
    .hero-image-wrap,
    .hero-lead{
        display:none;
    }

    .hero-title .desktop-line{
        display:none;
    }

    .hero-title .mobile-line{
        display:block;
    }

    .hero-title .green{
        font-size:1em;
    }

    .hero-image-wrap{
        width:100%;
        margin:5px 0 14px;
        text-align:center;
    }

    .hero-image{
        width:min(100%,480px);
        max-width:none;
        max-height:255px;
        object-fit:contain;
        display:block;
        margin:0 auto;
        filter:drop-shadow(0 18px 45px rgba(91,239,32,.16));
    }

    .hero-lead{
        font-size:1.21rem;
        line-height:1.22;
        margin:0;
        max-width:345px;
        text-shadow:0 8px 18px rgba(0,0,0,.85);
    }

    .experience-badge{
        font-weight:900;
    }

    .hero-actions{
        gap:8px;
        margin-top:17px;
    }

    .btn-bio,
    .btn-outline-bio{
        min-height:36px;
        border-radius:8px;
        padding:7px 18px;
        gap:16px;
        font-size:.88rem;
        line-height:1;
        letter-spacing:0;
        border-width:1.5px;
    }

    .btn-icon{
        width:1.5em;
        height:1.5em;
    }

    .cta-big{
        padding:32px 24px;
        border-radius:8px;
    }

    .sticky-cta{
        display:block;
        left:0;
        right:0;
        bottom:0;
        width:auto;
        padding:10px 0 12px;
        background:#020402;
        border-top:0;
        border-radius:0;
        box-shadow:none;
    }

    .sticky-cta .container{
        max-width:none;
        padding-left:clamp(18px,7.6vw,78px);
        padding-right:clamp(18px,7.6vw,78px);
    }

    .sticky-cta-inner{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
    }

    .sticky-cta .btn{
        min-height:52px;
        border-radius:13px;
        padding:10px 18px;
        gap:18px;
        font-size:clamp(1rem,3.75vw,1.22rem);
        font-weight:900;
        line-height:1;
        letter-spacing:0;
        border-width:1.5px;
        white-space:nowrap;
    }

    .sticky-cta .btn-icon{
        width:1.45em;
        height:1.45em;
    }

    .sticky-cta .btn-bio{
        min-height:50px;
    }
}

/* SERVICE PAGES: preserve the homepage visual system with service-specific content. */
@media (min-width:992px){
    .service-page .hero-actions{
        flex-wrap:nowrap;
        align-items:stretch;
    }

    .service-page .hero-actions .btn{
        min-width:220px;
    }

    .service-page .section-dark > .container > .row{
        align-items:flex-start;
    }

    .service-page .cta-big{
        max-width:820px;
    }
}

@media (max-width:991.98px){
    .service-page .hero{
        min-height:auto;
        padding:0 0 52px;
        background:
            radial-gradient(circle at 76% 28%, rgba(91,239,32,.18), transparent 34%),
            linear-gradient(180deg,#020402 0%,#07110a 54%,#020402 100%);
    }

    .service-page .hero .container{
        height:auto;
        min-height:0;
        max-height:none;
    }

    .service-page .hero-desktop-grid{
        display:flex;
        flex-direction:column;
        height:auto;
        gap:0;
    }

    .service-page .hero-copy{
        display:contents;
    }

    .service-page .experience-badge{
        display:flex;
        order:1;
        margin:0 auto 24px;
    }

    .service-page .hero-title{
        display:block;
        order:2;
        width:100%;
        font-size:clamp(3.42rem,8.15vw,4.65rem);
        font-weight:700;
        line-height:.92;
        margin:0 0 18px;
    }

    .service-page .hero-image-wrap{
        display:block;
        order:3;
        width:100%;
        min-height:0;
        margin:0 0 22px;
        border:0;
        background:transparent;
        box-shadow:none;
        overflow:visible;
    }

    .service-page .hero-image-wrap::before,
    .service-page .hero-image-wrap::after{
        display:none;
    }

    .service-page .hero-image{
        width:min(100%,620px);
        height:auto;
        max-height:430px;
        object-fit:contain;
        object-position:center;
        transform:none;
        filter:drop-shadow(0 22px 58px rgba(91,239,32,.16));
    }

    .service-page .hero-lead{
        display:block;
        order:4;
        max-width:900px;
        margin:0;
        font-size:clamp(1.21rem,2.55vw,1.7rem);
        line-height:1.22;
    }

    .service-page .hero-actions{
        order:5;
        display:grid;
        grid-template-columns:1fr;
        width:100%;
        gap:12px;
        margin-top:26px;
    }

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

@media (max-width:575.98px){
    .service-page .hero{
        padding-bottom:42px;
    }

    .service-page .experience-badge{
        width:190px;
        min-height:27px;
        margin-bottom:17px;
    }

    .service-page .hero-title{
        font-size:clamp(3.42rem,14.9vw,4.02rem);
        font-weight:700;
        line-height:.92;
        margin-bottom:14px;
    }

    .service-page .hero-image-wrap{
        margin:0 0 18px;
    }

    .service-page .hero-image{
        width:100%;
        max-height:255px;
    }

    .service-page .hero-lead{
        max-width:none;
        font-size:1.21rem;
        line-height:1.22;
    }

    .service-page .hero-actions{
        gap:8px;
        margin-top:18px;
    }

    .service-page .hero-actions .btn{
        min-height:44px;
        font-size:.88rem;
    }

    .service-page .cta-big .d-flex{
        display:grid!important;
        grid-template-columns:1fr;
    }

    .service-page .cta-big .btn{
        width:100%;
    }

    .standard-page .hero-lead{
        width:100%;
        max-width:100%;
        padding-right:4px;
        overflow-wrap:anywhere;
    }

    .standard-page .section-dark .row{
        --bs-gutter-y:2rem;
    }
}
