:root{
     --ink:#0a1c2e;
    /* deep navy */
     --ink-2:#0f2b46;
    /* slightly lighter */
     --sand:#e6dccb;
    /* parchment */
     --paper:#f7f3ea;
    /* soft background */
     --accent:#c39b4e;
    /* brass/gold */
     --accent-2:#7f5a1f;
    /* dark brass */
     --success:#1f7a4f;
     --danger:#9b2c2c;
     --muted:#6c7886;
     --ring: 2px solid rgba(195,155,78,.35);
}
 *{
    box-sizing:border-box
}
 html,body{
    margin:0;
    padding:0;
    background:var(--paper);
    color:var(--ink);
    font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial
}
 a{
    color:var(--ink);
    text-decoration:none
}
 a:focus{
    outline:var(--ring)
}
 img{
    max-width:100%;
    height:auto;
    display:block
}
 .container{
    width:100%;
    max-width:1200px;
    margin-inline:auto;
    padding-inline:1rem
}
 .btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.8rem 1rem;
    border-radius:.6rem;
    border:1px solid var(--ink);
    background:var(--ink);
    color:#fff;
    cursor:pointer;
    font-weight:600;

}
.smaller{
    width: 90%;
}
 .btn:hover{
    filter:brightness(1.1)
}
 .btn.ghost{
    background:transparent;
    color:var(--ink);
    border-color:var(--ink)
}
 .btn.brass{
    background:var(--accent);
    border-color:var(--accent-2)
}
 .tag{
    display:inline-block;
    padding:.25rem .5rem;
    border:1px solid var(--accent-2);
    border-radius:999px;
    background:linear-gradient(180deg,#f4ead7,#e9dbbf);
    font-size:.8rem
}
 .card{
    background:linear-gradient(180deg,#fff, #f6f2e9);
    border:1px solid #ddd;
    border-radius:1rem;
    box-shadow:0 6px 24px rgba(10,28,46,.06);
    overflow:hidden
}
 .shadow-soft{
    box-shadow:0 8px 32px rgba(10,28,46,.08)
}
 .grid{
    display:grid;
    gap:1rem
}
 .grid-2{
    grid-template-columns:repeat(2,minmax(0,1fr))
}
 .grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr))
}
 @media (max-width:900px){
    .grid-2,.grid-3{
        grid-template-columns:1fr
    }
}
 .muted{
    color:var(--muted)
}
 .divider{
    height:1px;
    background:linear-gradient(90deg,transparent,#cbb588,transparent);
    border:none;
    margin:2rem 0
}
 .sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
/* Header */
 .site-header{
    position:sticky;
    top:0;
    z-index:40;
    background:rgba(247,243,234,.85);
    backdrop-filter:saturate(160%) blur(6px);
    border-bottom:1px solid rgba(12,30,48,.08)
}
 .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.75rem 0
}
 .brand{
    display:flex;
    align-items:center;
    gap:.75rem;
    font-weight:800;
    letter-spacing:.2px
}
 .brand .owl{
    width:36px;
    height:36px;
    border-radius:.5rem;
    background:radial-gradient(70% 70% at 30% 30%, #d9c496, #a88941);
    display:grid;
    place-items:center;
    color:#241b07;
    font-weight:900;
    box-shadow:inset 0 0 0 2px rgba(127,90,31,.2)
}
 .nav a.link{
    padding:.5rem .75rem;
    border-radius:.5rem;
    font-size: 1.2rem;
}
 .nav a.link:hover{
    background:rgba(12,30,48,.06)
}
 .nav-cta{
    display:flex;
    align-items:center;
    gap:.5rem
}
 .mobile-toggle{
    margin-right: 3vw;
    display:none;
}
 @media (max-width:1000px){
     .desktop-only{
        display:none
    }
     .mobile-toggle{
        display:inline-flex
    }
     .mobile-menu{
        display:none
    }
     .mobile-menu.open{
        display:block
    }
     .mobile-menu a{
        display:block;
        padding:.75rem 0;
        border-top:1px dashed rgba(12,30,48,.12)
    }
    .blueprint{
        display: none;

    }
    .mainShop{
        display: none;
    }
}
/* Footer */
 .footer{
    margin-top:4rem;
    padding:2rem 0;
    border-top:1px solid rgba(12,30,48,.08);
    background:linear-gradient(180deg,#f4efe3,#efe6d5)
}
 .footgrid{
    display:grid;
    gap:1.25rem;
    grid-template-columns:2fr 1fr 1fr
}
 @media (max-width:900px){
    .footgrid{
        grid-template-columns:1fr
    }
}
 .tiny{
    font-size: 1rem;
    line-height:1.4;
    margin-bottom: 3vh;
}
/* Hero & sections */
 .hero{
    position:relative;
    isolation:isolate;
    padding:4.5rem 0
}
 .hero::before{
     content:"";
    position:absolute;
    inset:0;
    z-index:-1;
     background: radial-gradient(60% 50% at 20% 10%, rgba(195,155,78,.22), transparent 60%), radial-gradient(40% 60% at 90% 30%, rgba(10,28,46,.12), transparent 70%), linear-gradient(180deg, #f7f3ea, #efe6d5);
     mask:linear-gradient(180deg, rgba(0,0,0,.25), #000);
}
 .hero h1{
    font-size:clamp(2rem,5vw,3.25rem);
    line-height:1.05;
    margin:0
}
 .kicker{
    display:inline-flex;
    gap:.5rem;
    align-items:center;
    font-weight:700;
    color:var(--accent-2);
    letter-spacing:.08em;
    text-transform:uppercase
}
 .lede{
    font-size:clamp(1rem,2.2vw,1.15rem);
    color:#2a3a4c;
    max-width:60ch
}
 .stripe{
    padding:2.25rem 0;
    background:linear-gradient(90deg, rgba(10,28,46,.05), rgba(195,155,78,.12), rgba(10,28,46,.05));
    border-top:1px solid rgba(12,30,48,.08);
    border-bottom:1px solid rgba(12,30,48,.08)
}
 .stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem
}
 @media (max-width:900px){
    .stats{
        grid-template-columns:repeat(2,1fr)
    }
}
 .stat{
    background:#fff;
    border:1px solid rgba(12,30,48,.12);
    border-radius:1rem;
    padding:1rem;
    text-align:center
}
 .stat strong{
    font-size:1.75rem;
    display:block
}
 .timeline{
    position:relative;
    padding-left:1.25rem
}
 .timeline::before{
    content:"";
    position:absolute;
    left:.45rem;
    top:.25rem;
    bottom:.25rem;
    width:2px;
    background:linear-gradient(#c39b4e,#a88941)
}
 .milestone{
    position:relative;
    margin:0 0 1.25rem 0;
    padding-left:1rem
}
 .milestone::marker{
    content:""
}
 .dot{
    position:absolute;
    left:-.1rem;
    top:.35rem;
    width:.7rem;
    height:.7rem;
    border-radius:50%;
    background:radial-gradient(circle at 30% 30%, #fff, #c39b4e);
    box-shadow:0 0 0 3px #f2ead8
}
 .gallery{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:1rem
}
 @media (max-width:900px){
    .gallery{
        grid-template-columns:1fr
    }
}
 .notice{
    padding:1rem;
    border-radius:.75rem;
    background:#fff5d7;
    border:1px solid #e8c572
}
 .msg{
    padding:.9rem 1rem;
    margin:.5rem 0;
    border-radius:.6rem
}
 .msg.success{
    background:#e9fbf3;
    border:1px solid rgba(31,122,79,.4)
}
 .msg.error{
    background:#ffecec;
    border:1px solid rgba(155,44,44,.35)
}
.container1 {
    padding: 20px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.blueprint {
    width: auto;
    height: 90vh;
}
.donationHeader{
    font-size: 2em;

}
.linkSection{
    font-size: 2em;
}

.billPic{
    height: 50vh;
}