/* ==========================================================
   GOLDEN GATE AMBULANCE SERVICES
   STYLE.CSS — PART 1
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700;800&family=Bebas+Neue&family=Orbitron:wght@400;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#050505;

    color:#fff;

    font-family:'Montserrat',sans-serif;

    overflow-x:hidden;

}

/* ==========================================
   HEADER
========================================== */

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:999;

    background:rgba(0,0,0,.72);

    backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(212,175,55,.20);

    transition:.35s;

}

nav{

    max-width:1500px;

    margin:auto;

    padding:18px 70px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

/* ==========================================
   LOGO
========================================== */

.logo{

    display:flex;

    align-items:center;

}

.logo img{

    width:90px;

    height:90px;

    object-fit:contain;

    transition:.35s;

    filter:drop-shadow(0 0 18px rgba(212,175,55,.35));

}

.logo img:hover{

    transform:scale(1.08);

    filter:drop-shadow(0 0 28px rgba(212,175,55,.75));

}

/* ==========================================
   NAVIGATION
========================================== */

.menu{

    display:flex;

    gap:42px;

}

.menu a{

    color:#fff;

    text-decoration:none;

    font-weight:700;

    letter-spacing:1px;

    position:relative;

    transition:.3s;

}

.menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:#d4af37;

    transition:.35s;

}

.menu a:hover{

    color:#d4af37;

}

.menu a:hover::after{

    width:100%;

}

/* ==========================================
   HERO
========================================== */

.hero{

    position:relative;

    display:flex;

    align-items:center;

    min-height:100vh;

    overflow:hidden;

    padding:170px 8% 100px;

    background:
    linear-gradient(
        rgba(0,0,0,.82),
        rgba(55,0,0,.55)
    );

}

.hero-content{

    position:relative;

    z-index:5;

    max-width:820px;

    animation:heroFade 1.2s ease;

}

/* ==========================================
   COMING SOON BADGE
========================================== */

.coming{

    display:inline-block;

    padding:12px 28px;

    border-radius:999px;

    background:#d4af37;

    color:#111;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:30px;

    box-shadow:0 0 25px rgba(212,175,55,.35);

}

/* ==========================================
   HERO TEXT
========================================== */

.hero h1{

    font-family:'Bebas Neue',sans-serif;

    font-size:110px;

    line-height:.9;

    letter-spacing:3px;

    color:#fff;

    margin-bottom:20px;

    text-shadow:
        0 0 15px rgba(212,175,55,.30),
        0 0 35px rgba(212,175,55,.15);

}

.hero h1 span{

    color:#d4af37;

}

.hero p{

    max-width:720px;

    font-size:22px;

    line-height:1.8;

    color:#ddd;

}

/* ==========================================
   HEARTBEAT SVG
========================================== */

.heartbeat{

    position:absolute;

    right:3%;

    top:50%;

    transform:translateY(-50%);

    width:650px;

    max-width:42vw;

    opacity:.35;

    pointer-events:none;

    z-index:1;

}

.heartbeat svg{

    width:100%;

    height:auto;

}

.heartbeat-line{

    fill:none;

    stroke:#d4af37;

    stroke-width:6;

    stroke-linecap:round;

    stroke-linejoin:round;

    filter:
    drop-shadow(0 0 10px rgba(212,175,55,.7))
    drop-shadow(0 0 25px rgba(212,175,55,.4));

    stroke-dasharray:1800;

    stroke-dashoffset:1800;

    animation:heartbeatMove 4s linear infinite;

}

@keyframes heartbeatMove{

    from{

        stroke-dashoffset:1800;

    }

    to{

        stroke-dashoffset:0;

    }

}

@keyframes heroFade{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:none;

    }

}/* ==========================================
   BUTTONS
========================================== */

.buttons{

    display:flex;

    gap:20px;

    margin-top:40px;

    flex-wrap:wrap;

}

.btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    min-width:210px;

    padding:18px 40px;

    border-radius:999px;

    text-decoration:none;

    font-weight:700;

    letter-spacing:1px;

    transition:.35s;

}

.red{

    background:#b60000;

    color:#fff;

}

.gold-button{

    background:#d4af37;

    color:#111;

}

.btn:hover{

    transform:translateY(-7px);

    box-shadow:0 0 30px rgba(212,175,55,.35);

}

/* ==========================================
   SECTIONS
========================================== */

.section{

    padding:120px 8%;

    text-align:center;

}

.section h2{

    font-family:'Bebas Neue',sans-serif;

    font-size:64px;

    color:#d4af37;

    letter-spacing:2px;

    margin-bottom:25px;

}

.section h2::after{

    content:"";

    display:block;

    width:90px;

    height:3px;

    background:#d4af37;

    margin:18px auto 0;

    border-radius:30px;

}

.section p{

    max-width:900px;

    margin:auto;

    color:#d0d0d0;

    line-height:1.8;

    font-size:20px;

}

.dark{

    background:#0d0d0d;

}

/* ==========================================
   FOUNDER
========================================== */

.founder{

    max-width:900px;

    margin:50px auto;

}

.founder h3{

    color:#d4af37;

    font-size:42px;

}

.founder h4{

    color:#888;

    margin:12px 0 25px;

    letter-spacing:2px;

    text-transform:uppercase;

}

/* ==========================================
   STATS
========================================== */

.stats{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:35px;

    margin-top:60px;

}

.stats div{

    background:linear-gradient(145deg,#1b1b1b,#111);

    border:1px solid rgba(212,175,55,.35);

    border-radius:25px;

    padding:45px;

    transition:.35s;

}

.stats div:hover{

    transform:translateY(-10px);

    box-shadow:0 0 35px rgba(212,175,55,.35);

}

.stats h3{

    font-family:'Orbitron',sans-serif;

    font-size:72px;

    color:#d4af37;

}

.stats p{

    margin-top:15px;

    text-transform:uppercase;

    letter-spacing:2px;

}

/* ==========================================
   CARDS
========================================== */

.cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

    margin-top:60px;

}

.card{

    background:linear-gradient(145deg,#1b1b1b,#111);

    border:1px solid rgba(212,175,55,.35);

    border-radius:25px;

    padding:45px;

    transition:.35s;

}

.card:hover{

    transform:translateY(-12px);

    border-color:#d4af37;

    box-shadow:0 0 40px rgba(212,175,55,.30);

}

.card h3{

    font-family:'Bebas Neue',sans-serif;

    font-size:34px;

    color:#d4af37;

    margin-bottom:18px;

}

.card p{

    color:#d4d4d4;

}

/* ==========================================
   CONTACT
========================================== */

#contact{

    background:linear-gradient(#111,#000);

}

#contact p{

    margin-top:15px;

}

/* ==========================================
   FOOTER
========================================== */

footer{

    background:#000;

    padding:35px;

    text-align:center;

    color:#999;

    border-top:1px solid rgba(212,175,55,.25);

}

/* ==========================================
   SCROLLBAR
========================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#050505;

}

::-webkit-scrollbar-thumb{

    background:#d4af37;

    border-radius:30px;

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:900px){

nav{

    flex-direction:column;

    gap:20px;

    padding:20px;

}

.menu{

    flex-wrap:wrap;

    justify-content:center;

    gap:18px;

}

.hero{

    text-align:center;

    padding:140px 25px 90px;

}

.hero h1{

    font-size:68px;

}

.hero p{

    font-size:18px;

}

.heartbeat{

    display:none;

}

.california-map{

    display:none;

}

.buttons{

    justify-content:center;

}

.btn{

    width:240px;

}

.section{

    padding:90px 25px;

}

.section h2{

    font-size:46px;

}

.stats,

.cards{

    grid-template-columns:1fr;

}

.logo img{

    width:70px;

    height:70px;

}

}

@media(max-width:480px){

.hero h1{

    font-size:48px;

}

.hero p{

    font-size:16px;

}

.menu{

    gap:12px;

    font-size:14px;

}

}
/* ==========================================
   SECTION TITLES
========================================== */

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-title span{

    display:inline-block;

    color:#d4af37;

    font-size:14px;

    font-weight:700;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:15px;

}

.section-title h2{

    margin:0;

}

/* ==========================================
   FOUNDER CARD
========================================== */

.founder-card{

    display:flex;

    align-items:center;

    gap:30px;

    max-width:1100px;

    margin:0 auto 70px;

    padding:40px;

    background:linear-gradient(145deg,#1a1a1a,#101010);

    border:1px solid rgba(212,175,55,.25);

    border-radius:24px;

    transition:.35s;

}

.founder-card:hover{

    transform:translateY(-6px);

    box-shadow:0 0 35px rgba(212,175,55,.20);

}

.founder-logo{

    width:60px;

    height:60px;

    object-fit:contain;

    flex-shrink:0;

    filter:drop-shadow(0 0 10px rgba(212,175,55,.35));

}

.founder-info{

    text-align:left;

}

.founder-info h3{

    font-family:'Bebas Neue',sans-serif;

    font-size:42px;

    color:#d4af37;

    margin-bottom:6px;

}

.founder-info h4{

    color:#bdbdbd;

    margin-bottom:20px;

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:16px;

}

.founder-info p{

    margin:0;

}

/* ==========================================
   ABOUT GRID
========================================== */

.about-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(350px,1fr));

    gap:35px;

    margin-top:30px;

}

.about-card{

    background:linear-gradient(145deg,#181818,#0f0f0f);

    border:1px solid rgba(212,175,55,.20);

    border-radius:24px;

    padding:40px;

    transition:.35s;

}

.about-card:hover{

    transform:translateY(-8px);

    box-shadow:0 0 30px rgba(212,175,55,.20);

}

.about-card h3{

    font-family:'Bebas Neue',sans-serif;

    color:#d4af37;

    font-size:34px;

    margin-bottom:20px;

}

/* ==========================================
   MISSION
========================================== */

.mission-text{

    max-width:900px;

    margin:auto;

    font-size:24px;

    line-height:2;

}

/* ==========================================
   CONTACT
========================================== */

.contact-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

    margin-top:60px;

}

.contact-box{

    background:linear-gradient(145deg,#181818,#101010);

    border:1px solid rgba(212,175,55,.25);

    border-radius:24px;

    padding:35px;

    transition:.35s;

}

.contact-box:hover{

    transform:translateY(-8px);

    box-shadow:0 0 30px rgba(212,175,55,.20);

}

.contact-box h3{

    font-family:'Bebas Neue',sans-serif;

    color:#d4af37;

    font-size:32px;

    margin-bottom:18px;

}

.contact-box a{

    color:#fff;

    text-decoration:none;

}

.contact-box a:hover{

    color:#d4af37;

}

/* ==========================================
   CTA SECTION
========================================== */

.cta{

    background:linear-gradient(180deg,#101010,#070707);

}

.cta p{

    max-width:950px;

    margin:30px auto;

}

/* ==========================================
   FOOTER UPDATES
========================================== */

.footer-logo img{

    width:80px;

    margin-bottom:20px;

}

.footer-links{

    display:flex;

    justify-content:center;

    gap:30px;

    margin:30px 0;

    flex-wrap:wrap;

}

.footer-links a{

    color:#bbb;

    text-decoration:none;

    transition:.3s;

}

.footer-links a:hover{

    color:#d4af37;

}

.copyright{

    color:#777;

    font-size:15px;

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:900px){

    .founder-card{

        flex-direction:column;

        text-align:center;

    }

    .founder-info{

        text-align:center;

    }

    .about-grid{

        grid-template-columns:1fr;

    }

    .contact-grid{

        grid-template-columns:1fr;

    }

}
/* FIX CONTACT EMAIL OVERFLOW */

.contact-box{

    overflow:hidden;

}


.contact-box a{

    display:block;

    word-break:break-word;

    overflow-wrap:anywhere;

    font-size:16px;

}