/* ===== index.html ===== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600&display=swap');

  :root{
    --black:#0c0c0d;
    --charcoal:#232324;
    --gold:#c9a227;
    --gold-light:#e8c874;
    --gold-deep:#8a6d1a;
    --white:#faf9f6;
    --gray:#5a5a58;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Source Sans 3', sans-serif;
    background:var(--white);
    color:var(--charcoal);
    line-height:1.5;
  }
  a{text-decoration:none;color:inherit;}
  h1,h2,h3{font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:0.02em;}

  /* NAV */
  header{
    position:sticky; top:0; z-index:100;
    background:var(--black);
    border-bottom:3px solid var(--gold);
  }
 .nav-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 24px;
}
  .nav-wrap img{height:85px;width: auto;display: block;}
  nav ul{display:flex; gap:28px; list-style:none;}
  nav a{
    color:var(--white); font-family:'Oswald',sans-serif;
    font-size:14px; letter-spacing:0.08em; text-transform:uppercase;
    padding:8px 2px; border-bottom:2px solid transparent;
    transition:border-color .2s, color .2s;
  }
  nav a:hover, nav a:focus-visible{color:var(--gold-light); border-color:var(--gold);}
  .nav-toggle{display:none;}

  /* HERO */
  .hero{
    position:relative;
    background:var(--black);
    color:var(--white);
    overflow:hidden;
    padding:90px 24px 140px;
    text-align:center;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse at 50% -10%, rgba(201,162,39,0.18), transparent 60%);
  }
  .hero-inner{position:relative; max-width:800px; margin:0 auto;}
  .eyebrow{
    font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.25em;
    color:var(--gold-light); text-transform:uppercase; margin-bottom:18px;
  }
  .hero h1{
    font-size:clamp(2.2rem, 5vw, 3.6rem);
    font-weight:700; line-height:1.08; margin-bottom:22px;
  }
  .hero h1 span{color:var(--gold);}
  .slogan{
    font-family:'Oswald',sans-serif; font-size:1.1rem; letter-spacing:0.03em;
    color:var(--gold-light); margin-bottom:18px; font-weight:500;
  }
  .hero p{
    font-size:1.15rem; color:#d8d6cf; max-width:560px; margin:0 auto 34px;
  }
  .btn-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .btn{
    display:inline-block; padding:14px 30px;
    font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em;
    text-transform:uppercase; border-radius:2px; transition:transform .15s, box-shadow .15s;
  }
  .btn-primary{
    background:linear-gradient(135deg, var(--gold-light), var(--gold-deep));
    color:var(--black); font-weight:600;
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(201,162,39,0.35);}
  .btn-outline{
    border:1.5px solid var(--gold); color:var(--gold-light);
  }
  .btn-outline:hover{background:rgba(201,162,39,0.1); transform:translateY(-2px);}

  /* ROAD RIBBON — signature element, echoes the logo's road swoosh */
  .ribbon-wrap{
    position:relative; height:90px; margin-top:-1px;
    background:var(--black);
  }
  .ribbon-wrap svg{position:absolute; bottom:-1px; left:0; width:100%; height:100%;}

  /* QUICK LINKS / SERVICE CARDS */
  .services{
    max-width:1200px; margin:0 auto; padding:70px 24px 90px;
  }
  .services-head{text-align:center; margin-bottom:50px;}
  .services-head .eyebrow{color:var(--gold-deep);}
  .services-head h2{font-size:2rem; color:var(--black);}
  .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .card{
    border:1px solid #e6e2d8; border-radius:4px; padding:36px 28px;
    position:relative; overflow:hidden; transition:border-color .2s, transform .2s;
    background:var(--white);
  }
  .card:hover{border-color:var(--gold); transform:translateY(-4px);}
  .card .num{
    font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.15em;
    color:var(--gold-deep); margin-bottom:14px; display:block;
  }
  .card h3{font-size:1.35rem; color:var(--black); margin-bottom:12px;}
  .card p{color:var(--gray); font-size:0.96rem; margin-bottom:20px;}
  .card a.link{
    font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--gold-deep); border-bottom:1px solid var(--gold-deep);
    padding-bottom:2px;
  }
  .card a.link:hover{color:var(--gold); border-color:var(--gold);}

  /* SINCE 1954 BAND */
  .legacy{
    background:var(--black); color:var(--white);
    padding:64px 24px; text-align:center;
  }
  .legacy .big{
    font-family:'Oswald',sans-serif; font-size:clamp(2.6rem,7vw,4.2rem);
    color:var(--gold); font-weight:700; line-height:1;
  }
  .legacy p{color:#cfcdc5; max-width:560px; margin:14px auto 0; font-size:1.05rem;}

  /* CONTACT STRIP */
  .contact-strip{
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    color:var(--black); padding:44px 24px; text-align:center;
  }
  .contact-strip h3{font-size:1.5rem; margin-bottom:8px;}
  .contact-strip p{font-size:1.05rem; margin-bottom:20px;}
  .contact-strip .btn-primary{background:var(--black); color:var(--gold-light);}
  .contact-strip .btn-primary:hover{box-shadow:0 8px 20px rgba(0,0,0,0.3);}

  footer{
    background:var(--black); color:#8d8b85; text-align:center;
    padding:28px 24px; font-size:0.85rem;
  }
  footer .gold{color:var(--gold);}

  @media (max-width:820px){
    .cards{grid-template-columns:1fr;}
    nav ul{gap:16px;}
    nav a{font-size:12px;}
  }
@media (max-width:600px){

    .nav-wrap{
        flex-direction:column;
        gap:10px;
        padding:14px 6px;
    }

    nav{
        width:100%;
    }

    nav ul{
        width:100%;
        flex-wrap:nowrap;
        justify-content:space-between;
        gap:0;
    }

    nav a{
        font-size:9px;
        letter-spacing:0.02em;
        padding:8px 1px;
        white-space:nowrap;
    }
}
  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;}
  }

  /* PHOTO PLACEHOLDERS */
  .photo-placeholder{
    background:repeating-linear-gradient(135deg, #1a1a1b, #1a1a1b 10px, #232324 10px, #232324 20px);
    border:1px dashed var(--gold);
    display:flex; align-items:center; justify-content:center;
    color:var(--gold-light); font-family:'Oswald',sans-serif;
    font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
    border-radius:4px;
  }
  .hero-photo{
    max-width:900px; margin:44px auto 0; height:320px;
  }
  .photo-strip{
    display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
    max-width:1200px; margin:0 auto; padding:0 24px 70px;
  }
  .photo-strip .photo-placeholder{height:180px; color:var(--gray); border-color:#cbb35a;
    background:repeating-linear-gradient(135deg, #f0ede4, #f0ede4 10px, #e8e4d6 10px, #e8e4d6 20px);
  }
  .photo-strip .strip-img{width:100%;height:180px;object-fit:cover;border-radius:4px;border:1px solid #e6e2d8;}
  @media (max-width:820px){
    .photo-strip{grid-template-columns:1fr;}
  }

/* ===== about.html ===== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600&display=swap');
  :root{
    --black:#0c0c0d; --charcoal:#232324; --gold:#c9a227; --gold-light:#e8c874;
    --gold-deep:#8a6d1a; --white:#faf9f6; --gray:#5a5a58;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Source Sans 3', sans-serif; background:var(--white); color:var(--charcoal); line-height:1.6;}
  a{text-decoration:none;color:inherit;}
  h1,h2,h3{font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:0.02em;}

  header{position:sticky; top:0; z-index:100; background:var(--black); border-bottom:3px solid var(--gold);}
  .nav-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 24px;
}
  .nav-wrap img{height:85px;width: auto;display: block;}
  nav ul{display:flex; gap:28px; list-style:none;}
  nav a{color:var(--white); font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; padding:8px 2px; border-bottom:2px solid transparent; transition:border-color .2s, color .2s;}
  nav a:hover{color:var(--gold-light); border-color:var(--gold);}
  nav a.active{color:var(--gold-light); border-color:var(--gold);}

  .page-hero{background:var(--black); color:var(--white); text-align:center; padding:64px 24px 50px; position:relative;}
  .page-hero::before{content:"";position:absolute; inset:0; background:radial-gradient(ellipse at 50% -10%, rgba(201,162,39,0.18), transparent 60%);}
  .page-hero .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.25em; color:var(--gold-light); text-transform:uppercase; margin-bottom:14px; position:relative;}
  .page-hero h1{font-size:clamp(2rem,5vw,3rem); position:relative;}

  .ribbon-wrap{position:relative; height:70px; margin-top:-1px; background:var(--black);}
  .ribbon-wrap svg{position:absolute; bottom:-1px; left:0; width:100%; height:100%;}

  section.intro{max-width:900px; margin:0 auto; padding:60px 24px 20px; text-align:center;}
  section.intro p{font-size:1.15rem; color:var(--charcoal); max-width:720px; margin:0 auto;}
  section.intro .slogan{font-family:'Oswald',sans-serif; color:var(--gold-deep); font-size:1.2rem; margin-top:16px; letter-spacing:0.02em;}

  .timeline{max-width:1100px; margin:0 auto; padding:50px 24px 90px;}
  .gen{display:grid; grid-template-columns:340px 1fr; gap:44px; align-items:center; margin-bottom:70px;}
  .gen:nth-child(even){grid-template-columns:1fr 340px;}
  .gen:nth-child(even) .gen-photo{order:2;}
  .gen-photo{position:relative;}
  .gen-photo img{width:100%; border-radius:4px; display:block; border:1px solid #e6e2d8;}
  .gen-text .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:8px;}
  .gen-text h3{font-size:1.6rem; color:var(--black); margin-bottom:14px;}
  .gen-text p{color:var(--gray); font-size:1.02rem;}

  .connector{width:2px; height:50px; background:linear-gradient(var(--gold), transparent); margin:0 auto -20px; opacity:0.7;}

  .legacy-band{background:var(--black); color:var(--white); text-align:center; padding:60px 24px;}
  .legacy-band .big{font-family:'Oswald',sans-serif; font-size:clamp(2.4rem,6vw,3.6rem); color:var(--gold); font-weight:700; line-height:1;}
  .legacy-band p{color:#cfcdc5; max-width:600px; margin:14px auto 0; font-size:1.05rem;}

  .contact-strip{background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:var(--black); padding:44px 24px; text-align:center;}
  .contact-strip h3{font-size:1.5rem; margin-bottom:8px;}
  .contact-strip p{font-size:1.05rem; margin-bottom:20px;}
  .btn{display:inline-block; padding:14px 30px; font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; border-radius:2px; background:var(--black); color:var(--gold-light); transition:transform .15s, box-shadow .15s;}
  .btn:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.3);}

  footer{background:var(--black); color:#8d8b85; text-align:center; padding:28px 24px; font-size:0.85rem;}
  footer .gold{color:var(--gold);}

  @media (max-width:820px){
    .gen, .gen:nth-child(even){grid-template-columns:1fr; gap:24px;}
    .gen:nth-child(even) .gen-photo{order:0;}
    .gen-photo{max-width:400px; margin:0 auto;}
    nav ul{gap:16px;} nav a{font-size:12px;}
  }
 @media (max-width:600px){

    .nav-wrap{
        flex-direction:column;
        gap:10px;
        padding:14px 6px;
    }

    nav{
        width:100%;
    }

    nav ul{
        width:100%;
        flex-wrap:nowrap;
        justify-content:space-between;
        gap:0;
    }

    nav a{
        font-size:9px;
        letter-spacing:0.02em;
        padding:8px 1px;
        white-space:nowrap;
    }
}

/* ===== schoolbus.html ===== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600&display=swap');
  :root{
    --black:#0c0c0d; --charcoal:#232324; --gold:#c9a227; --gold-light:#e8c874;
    --gold-deep:#8a6d1a; --white:#faf9f6; --gray:#5a5a58;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Source Sans 3', sans-serif; background:var(--white); color:var(--charcoal); line-height:1.6;}
  a{text-decoration:none;color:inherit;}
  h1,h2,h3{font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:0.02em;}

  header{position:sticky; top:0; z-index:100; background:var(--black); border-bottom:3px solid var(--gold);}
  .nav-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 24px;
}
  .nav-wrap img{height:85px;width: auto;display: block;}
  nav ul{display:flex; gap:28px; list-style:none;}
  nav a{color:var(--white); font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; padding:8px 2px; border-bottom:2px solid transparent; transition:border-color .2s, color .2s;}
  nav a:hover{color:var(--gold-light); border-color:var(--gold);}
  nav a.active{color:var(--gold-light); border-color:var(--gold);}

  .page-hero{background:var(--black); color:var(--white); text-align:center; padding:64px 24px 50px; position:relative;}
  .page-hero::before{content:"";position:absolute; inset:0; background:radial-gradient(ellipse at 50% -10%, rgba(201,162,39,0.18), transparent 60%);}
  .page-hero .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.25em; color:var(--gold-light); text-transform:uppercase; margin-bottom:14px; position:relative;}
  .page-hero h1{font-size:clamp(2rem,5vw,3rem); position:relative;}

  .ribbon-wrap{position:relative; height:70px; margin-top:-1px; background:var(--black);}
  .ribbon-wrap svg{position:absolute; bottom:-1px; left:0; width:100%; height:100%;}

  .section{max-width:1100px; margin:0 auto; padding:60px 24px;}
  .section-head{text-align:center; margin-bottom:40px;}
  .section-head .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:8px;}
  .section-head h2{font-size:1.9rem; color:var(--black);}
  .section-head p{color:var(--gray); max-width:600px; margin:12px auto 0;}

  /* ROUTE CARDS */
  .routes{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin:0 auto;
} 
.capacity-routes{
    grid-template-columns:repeat(3, 1fr);
}
.route-card{
    border:1px solid #e6e2d8; border-radius:4px; padding:34px 28px;
    background:var(--white); transition:border-color .2s, transform .2s; position:relative;
  }
  .route-card:hover{border-color:var(--gold); transform:translateY(-4px);}
.route-card .area-photo{
    width:100%;
    height:auto;
    border-radius:3px;
    margin-bottom:16px;
    display:block;
}
  .route-card .tag{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.12em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:10px; display:block;}
  .route-card h3{font-size:1.5rem; color:var(--black); margin-bottom:12px;}
  .route-card p{color:var(--gray); font-size:0.98rem; margin-bottom:18px;}
  .route-card a.link{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-deep); border-bottom:1px solid var(--gold-deep); padding-bottom:2px;}
  .route-card a.link:hover{color:var(--gold); border-color:var(--gold);}

  /* ACTIVITY TRIPS BAND */
  .activity{background:var(--black); color:var(--white); text-align:center; padding:64px 24px;}
  .activity .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.2em; color:var(--gold-light); text-transform:uppercase; margin-bottom:14px;}
  .activity h2{font-size:2rem; margin-bottom:16px; color:var(--white);}
  .activity p{color:#d8d6cf; max-width:620px; margin:0 auto; font-size:1.05rem;}

  /* QUOTE FORM */
  .quote-wrap{background:#f6f4ee; padding:70px 24px;}
  .quote-inner{max-width:700px; margin:0 auto; text-align:center;}
  .quote-inner .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:8px;}
  .quote-inner h2{font-size:1.9rem; color:var(--black); margin-bottom:10px;}
  .quote-inner > p{color:var(--gray); margin-bottom:36px;}
  form.quote-form{
    background:var(--white); border:1px solid #e6e2d8; border-radius:6px;
    padding:36px; text-align:left; display:grid; gap:18px;
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  label{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--charcoal); margin-bottom:6px; display:block;}
  input, select, textarea{
    width:100%; padding:12px 14px; border:1px solid #d8d4c8; border-radius:3px;
    font-family:'Source Sans 3', sans-serif; font-size:0.95rem; background:var(--white); color:var(--charcoal);
  }
  input:focus, select:focus, textarea:focus{outline:none; border-color:var(--gold);}
  textarea{resize:vertical; min-height:100px;}
  .submit-btn{
    justify-self:start; padding:14px 34px; border:none; cursor:pointer;
    background:linear-gradient(135deg, var(--gold-light), var(--gold-deep));
    color:var(--black); font-family:'Oswald',sans-serif; font-weight:600;
    font-size:14px; letter-spacing:0.08em; text-transform:uppercase; border-radius:2px;
    transition:transform .15s, box-shadow .15s;
  }
  .submit-btn:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(201,162,39,0.35);}

  footer{background:var(--black); color:#8d8b85; text-align:center; padding:28px 24px; font-size:0.85rem;}
  footer .gold{color:var(--gold);}

  @media (max-width:820px){
    .routes{grid-template-columns:1fr;}
    .capacity-routes{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    nav ul{gap:16px;}
    nav a{font-size:12px;}
}
  @media (max-width:600px){

    .nav-wrap{
        flex-direction:column;
        gap:10px;
        padding:14px 6px;
    }

    nav{
        width:100%;
    }

    nav ul{
        width:100%;
        flex-wrap:nowrap;
        justify-content:space-between;
        gap:0;
    }

    nav a{
        font-size:9px;
        letter-spacing:0.02em;
        padding:8px 1px;
        white-space:nowrap;
    }
}

/* ===== coaches.html ===== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600&display=swap');
  :root{
    --black:#0c0c0d; --charcoal:#232324; --gold:#c9a227; --gold-light:#e8c874;
    --gold-deep:#8a6d1a; --white:#faf9f6; --gray:#5a5a58;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Source Sans 3', sans-serif; background:var(--white); color:var(--charcoal); line-height:1.6;}
  a{text-decoration:none;color:inherit;}
  h1,h2,h3{font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:0.02em;}

  header{position:sticky; top:0; z-index:100; background:var(--black); border-bottom:3px solid var(--gold);}
  .nav-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 24px;
}
  .nav-wrap img{height:85px;width: auto;display: block;}
  nav ul{display:flex; gap:28px; list-style:none;}
  nav a{color:var(--white); font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; padding:8px 2px; border-bottom:2px solid transparent; transition:border-color .2s, color .2s;}
  nav a:hover{color:var(--gold-light); border-color:var(--gold);}
  nav a.active{color:var(--gold-light); border-color:var(--gold);}

  .page-hero{background:var(--black); color:var(--white); text-align:center; padding:64px 24px 50px; position:relative;}
  .page-hero::before{content:"";position:absolute; inset:0; background:radial-gradient(ellipse at 50% -10%, rgba(201,162,39,0.18), transparent 60%);}
  .page-hero .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.25em; color:var(--gold-light); text-transform:uppercase; margin-bottom:14px; position:relative;}
  .page-hero h1{font-size:clamp(2rem,5vw,3rem); position:relative;}

  .ribbon-wrap{position:relative; height:70px; margin-top:-1px; background:var(--black);}
  .ribbon-wrap svg{position:absolute; bottom:-1px; left:0; width:100%; height:100%;}

  .section{max-width:1100px; margin:0 auto; padding:60px 24px;}
  .section-head{text-align:center; margin-bottom:40px;}
  .section-head .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:8px;}
  .section-head h2{font-size:1.9rem; color:var(--black);}
  .section-head p{color:var(--gray); max-width:600px; margin:12px auto 0;}

  /* SPEC + PHOTO SPLIT */
  .spec-split{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; max-width:1100px; margin:0 auto; padding:60px 24px;}
  .spec-text .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:10px;}
  .spec-text h2{font-size:2rem; color:var(--black); margin-bottom:16px;}
  .spec-text p{color:var(--gray); font-size:1.02rem; margin-bottom:20px;}
  .spec-list{list-style:none; display:grid; gap:12px;}
  .spec-list li{display:flex; align-items:center; gap:10px; font-size:0.98rem; color:var(--charcoal);}
  .spec-list li::before{content:"—"; color:var(--gold-deep); font-weight:700;}
  .photo-placeholder{
    background:repeating-linear-gradient(135deg, #1a1a1b, #1a1a1b 10px, #232324 10px, #232324 20px);
    border:1px dashed var(--gold); display:flex; align-items:center; justify-content:center;
    color:var(--gold-light); font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.08em;
    text-transform:uppercase; border-radius:4px; height:340px;
  }

  /* COACH INTERIOR GALLERY */
  .interior{background:var(--black); color:var(--white); padding:70px 24px; text-align:center;}
  .interior .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.2em; color:var(--gold-light); text-transform:uppercase; margin-bottom:14px;}
  .interior h2{font-size:2rem; margin-bottom:16px; color:var(--white);}
  .interior p{color:#d8d6cf; max-width:600px; margin:0 auto 34px;}
  .interior-gallery{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .interior-gallery .gallery-img{width:100%; height:180px; object-fit:cover; border-radius:4px; border:1px solid rgba(232,200,116,0.4);}
  .interior-gallery .photo-placeholder{height:180px; border-color:var(--gold-light); color:var(--gold-light);
    background:repeating-linear-gradient(135deg, #1a1a1b, #1a1a1b 10px, #2a2a2b 10px, #2a2a2b 20px);}

  /* QUOTE FORM (shared style) */
  .quote-wrap{background:#f6f4ee; padding:70px 24px;}
  .quote-inner{max-width:700px; margin:0 auto; text-align:center;}
  .quote-inner .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:8px;}
  .quote-inner h2{font-size:1.9rem; color:var(--black); margin-bottom:10px;}
  .quote-inner > p{color:var(--gray); margin-bottom:36px;}
  form.quote-form{background:var(--white); border:1px solid #e6e2d8; border-radius:6px; padding:36px; text-align:left; display:grid; gap:18px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  label{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--charcoal); margin-bottom:6px; display:block;}
  input, select, textarea{width:100%; padding:12px 14px; border:1px solid #d8d4c8; border-radius:3px; font-family:'Source Sans 3', sans-serif; font-size:0.95rem; background:var(--white); color:var(--charcoal);}
  input:focus, select:focus, textarea:focus{outline:none; border-color:var(--gold);}
  textarea{resize:vertical; min-height:100px;}
  .submit-btn{justify-self:start; padding:14px 34px; border:none; cursor:pointer; background:linear-gradient(135deg, var(--gold-light), var(--gold-deep)); color:var(--black); font-family:'Oswald',sans-serif; font-weight:600; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; border-radius:2px; transition:transform .15s, box-shadow .15s;}
  .submit-btn:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(201,162,39,0.35);}

  /* CONTACT US */
  .contact-strip{background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:var(--black); padding:44px 24px; text-align:center;}
  .contact-strip h3{font-size:1.5rem; margin-bottom:8px;}
  .contact-strip p{font-size:1.05rem; margin-bottom:20px;}
  .btn{display:inline-block; padding:14px 30px; font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; border-radius:2px; background:var(--black); color:var(--gold-light); transition:transform .15s, box-shadow .15s;}
  .btn:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.3);}

  footer{background:var(--black); color:#8d8b85; text-align:center; padding:28px 24px; font-size:0.85rem;}
  footer .gold{color:var(--gold);}

  @media (max-width:820px){
    .spec-split{grid-template-columns:1fr;}
    .interior-gallery{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    nav ul{gap:16px;} nav a{font-size:12px;}
  }
  @media (max-width:600px){

    .nav-wrap{
        flex-direction:column;
        gap:10px;
        padding:14px 6px;
    }

    nav{
        width:100%;
    }

    nav ul{
        width:100%;
        flex-wrap:nowrap;
        justify-content:space-between;
        gap:0;
    }

    nav a{
        font-size:9px;
        letter-spacing:0.02em;
        padding:8px 1px;
        white-space:nowrap;
    }
}

/* ===== trips.html ===== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600&display=swap');
  :root{
    --black:#0c0c0d; --charcoal:#232324; --gold:#c9a227; --gold-light:#e8c874;
    --gold-deep:#8a6d1a; --white:#faf9f6; --gray:#5a5a58;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Source Sans 3', sans-serif; background:var(--white); color:var(--charcoal); line-height:1.6;}
  a{text-decoration:none;color:inherit;}
  h1,h2,h3{font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:0.02em;}

  header{position:sticky; top:0; z-index:100; background:var(--black); border-bottom:3px solid var(--gold);}
  .nav-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 24px;
}
  .nav-wrap img{height:85px;width: auto;display: block;}
  nav ul{display:flex; gap:28px; list-style:none;}
  nav a{color:var(--white); font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; padding:8px 2px; border-bottom:2px solid transparent; transition:border-color .2s, color .2s;}
  nav a:hover{color:var(--gold-light); border-color:var(--gold);}
  nav a.active{color:var(--gold-light); border-color:var(--gold);}

  .page-hero{background:var(--black); color:var(--white); text-align:center; padding:64px 24px 50px; position:relative;}
  .page-hero::before{content:"";position:absolute; inset:0; background:radial-gradient(ellipse at 50% -10%, rgba(201,162,39,0.18), transparent 60%);}
  .page-hero .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.25em; color:var(--gold-light); text-transform:uppercase; margin-bottom:14px; position:relative;}
  .page-hero h1{font-size:clamp(2rem,5vw,3rem); position:relative;}

  .ribbon-wrap{position:relative; height:70px; margin-top:-1px; background:var(--black);}
  .ribbon-wrap svg{position:absolute; bottom:-1px; left:0; width:100%; height:100%;}

  .call-notice{
    background:#f6f4ee; border-top:1px solid #e6e2d8; border-bottom:1px solid #e6e2d8;
    text-align:center; padding:22px 24px;
  }
  .call-notice p{font-family:'Oswald',sans-serif; font-size:0.95rem; letter-spacing:0.03em; color:var(--charcoal); text-transform:uppercase;}
  .call-notice span{color:var(--gold-deep); font-weight:600;}

  .section{max-width:1100px; margin:0 auto; padding:60px 24px;}
  .section-head{text-align:center; margin-bottom:40px;}
  .section-head .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:8px;}
  .section-head h2{font-size:1.9rem; color:var(--black);}
  .section-head p{color:var(--gray); max-width:600px; margin:12px auto 0;}

  .dest-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .dest-card{border:1px solid #e6e2d8; border-radius:4px; padding:30px 26px; transition:border-color .2s, transform .2s;}
  .dest-card:hover{border-color:var(--gold); transform:translateY(-4px);}
  .dest-card h3{font-size:1.35rem; color:var(--black); margin-bottom:6px;}
  .dest-card .hotel-name{font-family:'Oswald',sans-serif; font-size:0.85rem; letter-spacing:0.05em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:14px;}
  .dest-card ul{list-style:none; display:grid; gap:8px; margin-bottom:16px;}
  .dest-card li{font-size:0.92rem; color:var(--gray);}
  .dest-card .addr{font-size:0.88rem; color:var(--gray); border-top:1px solid #e6e2d8; padding-top:12px; margin-top:4px;}

  .notes-band{background:var(--black); color:var(--white); padding:64px 24px;}
  .notes-inner{max-width:800px; margin:0 auto;}
  .notes-band .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.2em; color:var(--gold-light); text-transform:uppercase; margin-bottom:16px; text-align:center;}
  .notes-band h2{font-size:1.9rem; margin-bottom:28px; text-align:center; color:var(--white);}
  .notes-list{list-style:none; display:grid; gap:18px;}
  .notes-list li{display:flex; gap:14px; align-items:flex-start; color:#d8d6cf; font-size:1rem;}
  .notes-list li::before{content:"—"; color:var(--gold); font-weight:700; flex-shrink:0;}

  .calendar-wrap{background:linear-gradient(135deg, var(--gold-light), var(--gold)); text-align:center; padding:54px 24px; color:var(--black);}
  .calendar-wrap h3{font-size:1.6rem; margin-bottom:10px;}
  .calendar-wrap p{margin-bottom:24px; font-size:1.02rem;}
  .btn{display:inline-block; padding:14px 32px; font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; border-radius:2px; background:var(--black); color:var(--gold-light); transition:transform .15s, box-shadow .15s;}
.calendar-buttons {
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}
.calendar-wrap .btn {
    margin: 7px;
}
  .btn:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.3);}

  footer{background:var(--black); color:#8d8b85; text-align:center; padding:28px 24px; font-size:0.85rem;}
  footer .gold{color:var(--gold);}

  @media (max-width:820px){
    .dest-cards{grid-template-columns:1fr;}
    nav ul{gap:16px;} nav a{font-size:12px;}
  }
  @media (max-width:600px){

    .nav-wrap{
        flex-direction:column;
        gap:10px;
        padding:14px 6px;
    }

    nav{
        width:100%;
    }

    nav ul{
        width:100%;
        flex-wrap:nowrap;
        justify-content:space-between;
        gap:0;
    }

    nav a{
        font-size:9px;
        letter-spacing:0.02em;
        padding:8px 1px;
        white-space:nowrap;
    }
}

/* ===== contact.html ===== */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600&display=swap');
  :root{
    --black:#0c0c0d; --charcoal:#232324; --gold:#c9a227; --gold-light:#e8c874;
    --gold-deep:#8a6d1a; --white:#faf9f6; --gray:#5a5a58;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Source Sans 3', sans-serif; background:var(--white); color:var(--charcoal); line-height:1.6;}
  a{text-decoration:none;color:inherit;}
  h1,h2,h3{font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:0.02em;}

  header{position:sticky; top:0; z-index:100; background:var(--black); border-bottom:3px solid var(--gold);}
  .nav-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 24px;
}
  .nav-wrap img{height:85px;width: auto;display: block;}
  nav ul{display:flex; gap:28px; list-style:none;}
  nav a{color:var(--white); font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; padding:8px 2px; border-bottom:2px solid transparent; transition:border-color .2s, color .2s;}
  nav a:hover{color:var(--gold-light); border-color:var(--gold);}
  nav a.active{color:var(--gold-light); border-color:var(--gold);}

  .page-hero{background:var(--black); color:var(--white); text-align:center; padding:64px 24px 50px; position:relative;}
  .page-hero::before{content:"";position:absolute; inset:0; background:radial-gradient(ellipse at 50% -10%, rgba(201,162,39,0.18), transparent 60%);}
  .page-hero .eyebrow{font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.25em; color:var(--gold-light); text-transform:uppercase; margin-bottom:14px; position:relative;}
  .page-hero h1{font-size:clamp(2rem,5vw,3rem); position:relative;}

  .ribbon-wrap{position:relative; height:70px; margin-top:-1px; background:var(--black);}
  .ribbon-wrap svg{position:absolute; bottom:-1px; left:0; width:100%; height:100%;}

  .contact-layout{max-width:1100px; margin:0 auto; padding:70px 24px; display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px;}

  .info-col .eyebrow2{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.15em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:10px;}
  .info-col h2{font-size:1.9rem; color:var(--black); margin-bottom:20px;}
  .info-block{margin-bottom:28px;}
  .info-block .label{font-family:'Oswald',sans-serif; font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px;}
  .info-block .value{font-size:1.05rem; color:var(--charcoal);}
  .info-block .value a{color:var(--charcoal); border-bottom:1px solid transparent; transition:border-color .2s, color .2s;}
  .info-block .value a:hover{color:var(--gold-deep); border-color:var(--gold-deep);}

  .dept-list{border-top:1px solid #e6e2d8; margin-top:20px; padding-top:20px;}
  .dept-list h3{font-size:1.1rem; color:var(--black); margin-bottom:14px;}
  .dept-row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #f0ede4; font-size:0.95rem;}
  .dept-row:last-child{border-bottom:none;}
  .dept-row .who{color:var(--gray);}
  .dept-row .what{font-family:'Oswald',sans-serif; font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--gold-deep);}

  form.contact-form{background:#f6f4ee; border:1px solid #e6e2d8; border-radius:6px; padding:36px; display:grid; gap:18px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  label{font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--charcoal); margin-bottom:6px; display:block;}
  input, select, textarea{width:100%; padding:12px 14px; border:1px solid #d8d4c8; border-radius:3px; font-family:'Source Sans 3', sans-serif; font-size:0.95rem; background:var(--white); color:var(--charcoal);}
  input:focus, select:focus, textarea:focus{outline:none; border-color:var(--gold);}
  textarea{resize:vertical; min-height:130px;}
  .submit-btn{justify-self:start; padding:14px 34px; border:none; cursor:pointer; background:linear-gradient(135deg, var(--gold-light), var(--gold-deep)); color:var(--black); font-family:'Oswald',sans-serif; font-weight:600; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; border-radius:2px; transition:transform .15s, box-shadow .15s;}
  .submit-btn:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(201,162,39,0.35);}

  .map-placeholder{
    background:repeating-linear-gradient(135deg, #1a1a1b, #1a1a1b 10px, #232324 10px, #232324 20px);
    border:1px dashed var(--gold); display:flex; align-items:center; justify-content:center;
    color:var(--gold-light); font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.08em;
    text-transform:uppercase; border-radius:4px; height:220px; margin-top:14px;
  }

  footer{background:var(--black); color:#8d8b85; text-align:center; padding:28px 24px; font-size:0.85rem;}
  footer .gold{color:var(--gold);}

  @media (max-width:820px){
    .contact-layout{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    nav ul{gap:16px;} nav a{font-size:12px;}
  }
@media (max-width:600px){

    .nav-wrap{
        flex-direction:column;
        gap:10px;
        padding:14px 6px;
    }

    nav{
        width:100%;
    }

    nav ul{
        width:100%;
        flex-wrap:nowrap;
        justify-content:space-between;
        gap:0;
    }

    nav a{
        font-size:9px;
        letter-spacing:0.02em;
        padding:8px 1px;
        white-space:nowrap;
    }
}
