.hero-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.2fr;
    gap: 65px;
    align-items: center;
}
.hero-copy p {
    margin: 26px 0 32px;
}
.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

/*===================AWARD=====================*/
.hero-award-wrap {
    position: relative;
}
.hero-award-wrap::before {
    content: "";
    position: absolute;
    inset: 5%;
    background: radial-gradient(circle, rgba(173, 143, 83, 0.2), transparent 64%);
    filter: blur(34px);
    z-index: -1;
}
.hero-award-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(180px, 220px) 1fr;
    align-items: center;
    gap: 30px;
    overflow: hidden;
    padding: 36px;
    border: 1px solid rgba(173, 143, 83, 0.34);
    border-radius: 28px;
    background-color: var(--bg2);
    /*background: 
    radial-gradient(
        circle at 20% 20%, rgba(173, 143, 83, 0.1), 
        transparent 35%), 
        linear-gradient(146deg, rgb(93 174 222 / 96%), rgb(0 50 119 / 98%));*/
    /*box-shadow: 
        0 34px 80px rgba(8, 28, 43, 0.126), 
        inset 0 1px 0 rgb(49 49 49 / 0%);*/
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    transition: transform .18s ease, box-shadow .18s ease;
}
.hero-award-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.hero-award-card::after {
    position: absolute;
    right: -90px;
    bottom: -110px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(85, 233, 255, 0.08);
    border-radius: 50%;
    content: "";
}
.hero-award-mark {
    position: relative;
    z-index: 1;
    padding: 10px;
    border: 1px solid rgba(173, 143, 83, 0.36);
    border-radius: 50%;
    background: #030423;
    box-shadow:
        0 24px 55px rgba(0, 0, 0, 0.42),
        0 0 35px rgba(173, 143, 83, 0.12);
}
.hero-award-mark img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
}
.hero-award-copy {
    position: relative;
    z-index: 1;
    color: #F7F8F5;
}
.hero-award-kicker {
    display: block;
    margin: 16px 0 8px;
    color: #edb124;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.16em;
}
.hero-award-copy h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.06;
    color: var(--text2);
}
.hero-award-copy p {
    margin: 18px 0 22px;
    color: var(--muted);
    font-size: 14px;
    color: var(--text2);
}
.hero-award-link {
    color: var(--cyan);
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.hero-award-link::after{
    content: "→";
    transition: transform 0.15s ease;
}
.hero-award-link:hover::after{
    transform: translateX(3px);
}

/*===================MICROPROOF=====================*/
.microproof{
    display:flex; 
    justify-content: center;
    gap:  7rem; 
    list-style: none;
    margin: 0 0 60px;
}
.microproof li{
    margin-top: 2.5rem;
    font-size: 15px;
    display: flex;
    flex-direction: column;
    align-items: center; 
    color: #74768a;
}
.microproof b{ 
    display: block;
}
.microproof p{ 
    text-align: center;
    padding: 0;
    margin: 0;
}

/*===================PROTECTION INFO=====================*/
.section-head-bullets ul{
    display:grid; 
    grid-template-columns:1fr 1fr; 
    gap:16px;
}
.section-head-bullets li{
    border:1.5px solid #828793; 
    border-radius:14px; 
    padding:20px;
    font-size:12.5px; 
    color:#74768a; 
    line-height:1.6;
    transition: transform .18s ease, box-shadow .18s ease;
}
.section-head-bullets li:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(35,38,92,0.08);
}

/*===================EXPLAINABLE INFO=====================*/
.exp-container{
    margin-top: 7rem;
    margin-bottom: 7rem;
    display: flex;
    /* the copy and the phone sit centred against each other instead of both
       being stretched to full height with the copy stuck at the top */
    align-items: center;
    background: var(--bg2);
    padding: 60px 8rem 40px 5rem;
    border-radius: 30px;
    width: fit-content;
}
.exp-container .eyebrow{
    color: var(--eyebrow);
}
.exp-container h2{ 
    font-weight:700; 
    margin-bottom:12px; 
    color: var(--text2);
}
.exp-container p{
    line-height:1.7;
    max-width:520px; 
    color: var(--text2);
}
.exp-container li{ 
    margin-bottom:20px; 
    line-height:1.6; 
    display: flex;
    align-items: center;
    color: var(--text2);
}
.exp-container li img{ 
    width: 41px;
    height: 38px;
    padding: 6px;
    margin: 10px 10px 10px 0;
}
.exp-container li b{ 
    display:block; 
    margin-bottom:4px; 
    color: var(--text2);
}
.expHeader ul{
    margin-top: 45px;
}

/* The phone mockup (.phoneShell / .threatPanel / .tp-*) now lives in
   general.css so the Windows page can reuse it without duplicating it. */

/*===================DETECTION WORKFLOW=====================*/
.detection-workflow{ 
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 2rem;
}
.detection-workflow h2{  
    margin: 0px;
    padding-bottom: 3rem;
}
.detection-workflow ul {
    counter-reset: stepNum; 
    display: flex;
    /* the columns sit edge to edge otherwise, so one step's description runs
       straight into the next one */
    gap: 26px;
}

.detection-workflow ul li {
    border-top: 2px solid #1097b9;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;    
    counter-increment: stepNum; 
    padding-top: 24px;      
}

/* the number circle itself */
.detection-workflow ul li::before {
    content: counter(stepNum);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%); /* centers it exactly on the border line */
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #1097b9;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.detection-workflow ul li img {
    padding: 0px;
    width: 2.5rem;
    height: 2.5rem;
    margin-top: 10px;
}
.detection-workflow ul li p {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 0;
}
.img-label-contain{
    display: flex;
    flex-direction: column;
    align-items: center;
}

/*===================BUILT FOR INFO=====================*/
.builtFor h2{
    margin-top: 5rem;
    padding-bottom: 3rem;
    text-align: center;
}
.builtFor ul{
    display: flex;
    flex-direction: row;
    gap: 20px;
}
.builtFor ul li{
    width: fit-content;
    display: flex; 
    flex-direction: column;
    border-radius: 14px;
    padding: 20px;
    border:1.5px solid #828793; 
    transition: transform .18s ease, box-shadow .18s ease;
}
.builtFor ul li:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(35,38,92,0.08);
}
.builtFor ul li img{
    margin: 5px;
    padding: 5px;
    background: #1F2A7C;
    border-radius: 50%;
}

/*===================NARROW DESKTOP / TABLET=====================*/
/* Measured breakpoint, not a guess: at 1110px the phone frame starts being
   squeezed below its 348px width while .threatPanel keeps its fixed 620px
   height, so the mockup stretches; the award card's copy column is down to
   ~220px by then and the hero row starts spilling off screen not far below.
   Both rows go vertical here so neither ever renders distorted. */
@media (max-width: 1120px) {

    /* ---------- HERO: award card drops under the copy, full width ---------- */
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }
    .hero-award-wrap {
        width: 100%;
    }

    /* ---------- EXPLAINABLE BY DESIGN: phone drops under the copy ---------- */
    .exp-container {
        flex-direction: column;
        align-items: center;
        width: auto;
        padding: 52px 3rem 44px;
    }
    /* the heading no longer has the phone beside it to balance against, so it
       centres the moment the phone moves underneath. Only the heading block —
       the feature rows below stay ranged left, centred as a group, so their
       icons stay in one column */
    .expHeader > .eyebrow,
    .expHeader > h2,
    .expHeader > p {
        margin-inline: auto;
        text-align: center;
    }
    .exp-container p {
        max-width: 620px;
    }
    .expHeader ul {
        max-width: 560px;
        margin-inline: auto;
    }
    .phoneShell {
        /* stacked now, so hold the frame at its designed width instead of
           letting the flex row shrink it out of proportion */
        flex-shrink: 0;
        margin-top: 34px;
    }
}

/*===================PHONE LAYOUT=====================*/
@media (max-width: 620px) {

    /* ---------- HERO: copy centered, award card underneath ---------- */
    .hero {
        padding: 0 0 3rem 0;
    }
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .hero-copy {
        text-align: center;
    }
    .hero-copy .eyebrow,
    .hero-copy .lead {
        margin-inline: auto;
    }
    .actions {
        justify-content: center;
    }
    .hero-award-wrap {
        width: 100%;
        margin: 0 auto;
    }
    .hero-award-card {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 28px 22px;
        text-align: center;
    }
    .hero-award-mark {
        width: min(190px, 62%);
        margin-inline: auto;
    }
    .hero-award-link {
        justify-content: center;
    }

    /* ---------- MICROPROOF: centered below the award card ---------- */
    .microproof {
        flex-wrap: wrap;
        justify-content: center;
        gap: 26px 42px;
        margin: 0 0 40px;
    }
    .microproof li {
        margin-top: 1.5rem;
    }

    /* ---------- UNIFIED DEFENCE: centered head, stacked full-width cards ---------- */
    .section-head {
        text-align: center;
    }
    .section-head .eyebrow,
    .section-head .lead {
        margin-inline: auto;
    }
    .section-head-bullets ul {
        grid-template-columns: 1fr;
    }
    .section-head-bullets li {
        text-align: center;
    }
    .section-head-bullets li #iconImg {
        margin-inline: auto;
    }

    /* ---------- EXPLAINABLE BY DESIGN: centered text, phone below, front-facing ---------- */
    .exp-container {
        flex-direction: column;
        align-items: center;
        width: auto;
        padding: 42px 22px 38px;
        text-align: center;
        margin: 10px;
    }
    .exp-container .eyebrow {
        margin-inline: auto;
    }
    .exp-container p {
        max-width: 100%;
    }
    .expHeader ul {
        margin-top: 32px;
    }
    .exp-container li {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-bottom: 28px;
    }
    .exp-container li #iconImg {
        margin: 0 0 10px;
    }

    /* ---------- DETECTION WORKFLOW: vertical number line, content on the right ---------- */
    .detection-workflow {
        padding: 3rem 0 0;
    }
    .detection-workflow h2 {
        text-align: center;
        padding-bottom: 2.5rem;
    }
    .detection-workflow ul {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        width: 100%;
        padding-left: 14px;
    }
    .detection-workflow ul li {
        display: block;
        border-top: 0;
        border-left: 2px solid #1097b9;
        padding: 0 0 34px 30px;
        text-align: left;
    }
    .detection-workflow ul li:last-child {
        border-left-color: transparent;
        padding-bottom: 0;
    }
    .detection-workflow ul li::before {
        top: 0;
        left: 0;
        transform: translate(-50%, -2px);    /* sits on the vertical line */
    }
    .detection-workflow ul li b {
        display: block;
        margin-left: 10px;
    }
    .detection-workflow ul li #iconImg {
        margin: 10px 0;
    }
    .detection-workflow ul li p {
        display: block;
        text-align: left;
    }
    .img-label-contain{
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    .detection-workflow ul li #iconImg{ 
        order: -1; 
        margin: 0; 
        flex: 0 0 auto; 
    }
    .detection-workflow ul li b{ 
        order: 0; 
    }
    .detection-workflow ul li p{ 
        order: 1; 
        flex: 1 0 100%; 
        margin: 0; 
    }

    /* ---------- BUILT FOR EVERYONE: same as unified defence ---------- */
    .builtFor {        
        margin-top: 2rem;
        margin-bottom: 2rem;
    }
    .builtFor {
        /* the workflow above already ends with breathing room on phones */
        margin-top: 0;
    }
    .builtFor h2 {
        margin-top: 1.75rem;
        padding-bottom: 2rem;
    }
    .builtFor ul {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .builtFor ul li {
        width: auto;
        align-items: center;
        text-align: center;
    }
    .builtFor ul li #iconImg {
        margin-inline: auto;
    }

    /* ---------- SMARTER ENDPOINT: centered, full-width background ---------- */
    .band {
        width: 100%;
    }
    .contact-inner-band {
        margin: 5rem 0 6rem;
        padding: 34px 22px 40px;
        text-align: center;
    }
    .contact-inner-band #schedBtn {
        margin-bottom: 0;
    }
}

