.hero-photo img{
    width:100%;
    display:block;
    border-radius:var(--radius-lg);
    object-fit:cover;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.stat-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    text-align:center;
    padding:24px;
    padding-bottom:36px;
    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

.stat-number{
    font-family:var(--heading);
    color:var(--red);
    font-size:3.4rem;
}

.stat-title{
    text-transform:uppercase;
    letter-spacing:2px;
    color:var(--muted);
    font-size:.95rem;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.feature-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:42px;
    text-align:center;
    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

.feature-icon{
    width:72px;
    height:72px;
    margin:0 auto 24px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(198,40,40,.14);
    font-size:2.75rem;
    line-height:1;
}

.quote-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:48px;
    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

.quote-card > h2{
    text-align:center;
}

.oath{
    max-width:760px;
    margin:0 auto;
    text-align:center;
    line-height:2;
    font-size:1.15rem;
}

.law-intro{
    text-align:center;
    margin-bottom:28px;
}

.law-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    justify-items:center;
}

.law-pill{
    width:100%;
    max-width:220px;
    min-width:0;
    padding:16px 22px;
    text-align:center;
    border-radius:999px;
    background:rgba(198,40,40,.12);
    border:1px solid rgba(198,40,40,.35);
    font-weight:700;
    transition:var(--transition);
    cursor:pointer;
    font:inherit;
    color:inherit;
    appearance:none;
    -webkit-appearance:none;
}

.law-pill:hover{
    background:var(--red);
    transform:translateY(-4px);
}

.join-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:48px;
    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
    text-align:center;
}

.join-card p{
    max-width:720px;
    margin:0 auto 28px;
}

.timeline{
    position:relative;
    max-width:400px;
    margin:0 auto;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:30px;
    padding:32px 24px;
}

.timeline::before{
    content:"";
    position:absolute;
    left:34px;
    top:32px;
    bottom:32px;
    width:4px;
    background:rgba(255,255,255,.12);
    border-radius:999px;
}

.timeline-item{
    display:grid;
    grid-template-columns:28px 1fr;
    gap:18px;
    align-items:flex-start;
    padding:22px 0;
}

.timeline-year{
    grid-column:2;
    font-family:var(--heading);
    font-size:1.9rem;
    color:var(--red);
    text-align:left;
    white-space:nowrap;
    margin-bottom:8px;
}

.timeline-marker{
    grid-row:1 / span 2;
    position:relative;
    display:flex;
    justify-content:center;
    padding-top:8px;
}

.timeline-marker::before{
    content:"";
    width:18px;
    height:18px;
    border-radius:50%;
    background:var(--red);
    border:4px solid var(--navy);
    z-index:2;
    transform:translate(-2px, 5px);
}

.timeline-content{
    grid-column:2;
    color:var(--muted);
}

.timeline-content p{
    margin-bottom:10px;
}

.timeline-content p:last-child{
    margin-bottom:0;
}

.btnc{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px 34px;
    border-radius:999px;
    font-weight:700;
    position:relative;
    overflow:hidden;
    transition:var(--transition);
}

.btnc::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            120deg,
            transparent,
            rgba(255,255,255,.15),
            transparent
        );
    transform:translateX(-130%);
    transition:.7s;
}

.btnc:hover::before{
    transform:translateX(130%);
}

.btnc-primary{
    background-color:#FDC116;
    color:var(--navy);
}

.btnc-primary:hover{
    background-color:#FCCE50;
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(253,193,22,.15);
}

@media (min-width:1000px){
    .law-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (max-width:900px){
    .stats-grid{
        grid-template-columns:1fr;
    }
    
    .feature-grid{
        grid-template-columns:1fr;
    }

    .quote-card{
        padding:36px 28px;
    }

    .join-card{
        padding:36px 28px;
    }
}
