/*
 Theme Name:   Twenty Twenty-Five Child
 Template:     twentytwentyfive
 Version:      1.0
*/
body {
    background-color: #f5f5f5;
}

h1 {
    color: #123456;
}
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");

  :root{
    --forest:#16302A;
    --black:#1A1613;
    --turquoise:#2CA6A4;
    --gold:#E8A93A;
    --cloud:#F4F0E6;
    --hibiscus:#C1443B;
    --line: rgba(244,240,230,0.18);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cloud);
    color:var(--black);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{ font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em; }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--turquoise);
  }
  a{ color:inherit; text-decoration:none; }
  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
/* NAV */
  nav{
    position:sticky; top:0; z-index:50;
    background:rgba(244,240,230,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(26,22,19,0.08);
  }
  .navbar{ display:flex; align-items:center; justify-content:space-between; padding:16px 28px; max-width:1180px; margin:0 auto; }
  .logo{ font-family:'Fraunces', serif; font-weight:700; font-size:1.15rem; }
  .logo span{ color:var(--turquoise); }
  .navlinks{ display:flex; gap:28px; font-size:0.88rem; font-weight:500; }
  .navlinks a{ opacity:0.75; transition:opacity .2s; }
  .navlinks a:hover{ opacity:1; }
  .book-btn{
    background:var(--forest); color:var(--cloud); padding:10px 20px; border-radius:2px;
    font-size:0.85rem; font-weight:600; letter-spacing:0.01em;
  }
  .book-btn:hover{ background:var(--black); }
  @media(max-width:820px){ .navlinks{ display:none; } }

  /* HERO */
  .hero{
    position:relative;
    background:var(--forest);
    color:var(--cloud);
    padding:120px 28px 100px;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 15% 20%, rgba(44,166,164,0.25), transparent 45%),
      radial-gradient(circle at 85% 75%, rgba(232,169,58,0.18), transparent 40%);
    pointer-events:none;
  }
  .hero-inner{ max-width:1180px; margin:0 auto; position:relative; z-index:2; }
  .hero h1{
    font-size:clamp(2.6rem, 6vw, 4.6rem);
    line-height:1.03;
    max-width:820px;
  }
  .hero p.sub{
    margin-top:26px;
    max-width:520px;
    font-size:1.08rem;
    line-height:1.55;
    color:rgba(244,240,230,0.78);
  }
  .hero-ctas{ margin-top:40px; display:flex; gap:16px; flex-wrap:wrap; }
  .btn-primary{
    background:var(--gold); color:var(--black); padding:14px 26px; border-radius:2px;
    font-weight:600; font-size:0.92rem;
  }
  .btn-ghost{
    border:1px solid rgba(244,240,230,0.4); padding:14px 26px; border-radius:2px;
    font-weight:500; font-size:0.92rem;
  }
  .hero-coords{
    margin-top:64px; font-family:'IBM Plex Mono', monospace; font-size:0.75rem;
    color:rgba(244,240,230,0.5); letter-spacing:0.04em;
  }
/* VOYAGE ROUTE */
  .voyage{ padding:90px 28px 60px; position:relative; }
  .voyage-head{ max-width:600px; margin:0 auto 60px; text-align:center; }
  .voyage-head h2{ font-size:2.1rem; margin-top:10px; }
  .route-svg{ width:100%; height:auto; display:block; margin-bottom:-2px; }
  .route-stops{
    display:grid; grid-template-columns:repeat(6,1fr); gap:0; margin-top:-1px;
  }
  .stop{
    padding:24px 14px 0; text-align:center; border-top:2px dashed rgba(22,48,42,0.2);
    position:relative;
  }
  .stop-dot{
    width:14px; height:14px; border-radius:50%; background:var(--turquoise);
    border:3px solid var(--cloud);
    position:absolute; top:-9px; left:50%; transform:translateX(-50%);
  }
  .stop:nth-child(odd) .stop-dot{ background:var(--gold); }
  .stop .num{ font-family:'IBM Plex Mono', monospace; font-size:0.7rem; color:var(--turquoise); }
  .stop h3{ font-size:1.02rem; margin-top:6px; }
  .stop p{ font-size:0.82rem; color:rgba(26,22,19,0.6); margin-top:6px; line-height:1.4; }
  .stop a.go{ display:inline-block; margin-top:12px; font-size:0.78rem; font-weight:600; color:var(--forest); border-bottom:1px solid var(--forest); }
  @media(max-width:900px){
    .route-stops{ grid-template-columns:repeat(3,1fr); row-gap:36px; }
  }
  @media(max-width:560px){
    .route-stops{ grid-template-columns:repeat(2,1fr); }
  }

  /* TOURS STRIP */
  .tours{ background:var(--black); color:var(--cloud); padding:90px 28px; }
  .tours-head{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:44px; max-width:1180px; margin-left:auto; margin-right:auto; }
  .tours-head h2{ font-size:2.1rem; max-width:460px; color:var(--cloud); }
  .tours-head p{ max-width:340px; font-size:0.92rem; color:rgba(244,240,230,0.6); line-height:1.5; }
  .tour-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(244,240,230,0.12); max-width:1180px; margin:0 auto; }
  .tour-card{ background:var(--black); padding:34px 26px; min-height:230px; display:flex; flex-direction:column; justify-content:space-between; transition:background .25s; }
  .tour-card:hover{ background:#231e19; }
  .tour-card .tag{ font-family:'IBM Plex Mono', monospace; font-size:0.68rem; color:var(--gold); letter-spacing:0.08em; text-transform:uppercase; }
  .tour-card h3{ font-size:1.15rem; margin-top:14px; color:var(--cloud); line-height:1.25; }
  .tour-card .arrow{ margin-top:20px; font-size:1.3rem; color:var(--turquoise); }
  @media(max-width:900px){ .tour-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .tour-grid{ grid-template-columns:1fr; } }
/* COMMUNITY BAND */
  .community{ padding:100px 28px; }
  .community-inner{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center; }
  .community h2{ font-size:2rem; line-height:1.15; }
  .community p{ margin-top:20px; font-size:1rem; line-height:1.65; color:rgba(26,22,19,0.72); max-width:460px; }
  .stat-row{ display:flex; gap:44px; margin-top:34px; flex-wrap:wrap; }
  .stat{ }
  .stat .n{ font-family:'Fraunces', serif; font-size:2.1rem; color:var(--forest); }
  .stat .l{ font-size:0.78rem; color:rgba(26,22,19,0.55); margin-top:4px; }
  .community-panel{
    background:var(--forest); color:var(--cloud); padding:44px; border-radius:2px;
    position:relative; overflow:hidden;
  }
  .community-panel::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 80% 10%, rgba(232,169,58,0.2), transparent 50%);
  }
  .community-panel h3{ position:relative; font-size:1.3rem; color:var(--gold); }
  .community-panel p{ position:relative; margin-top:14px; font-size:0.92rem; line-height:1.6; color:rgba(244,240,230,0.82); }
  @media(max-width:820px){ .community-inner{ grid-template-columns:1fr; gap:40px; } }

  /* NEWSLETTER / BLOG */
  .signup{ background:var(--turquoise); padding:70px 28px; }
  .signup-inner{
    max-width:1180px; margin:0 auto; display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:24px;
  }
  .signup h2{ color:var(--black); font-size:1.7rem; max-width:440px; }
  .signup-form{ display:flex; gap:0; }
  .signup-form input{
    border:none; padding:14px 16px; font-family:'Inter'; font-size:0.9rem; width:240px;
  }
  .signup-form button{
    background:var(--black); color:var(--cloud); border:none; padding:14px 22px; font-weight:600; font-size:0.88rem; cursor:pointer;
  }

  /* FOOTER */
  footer{ background:var(--forest); color:rgba(244,240,230,0.7); padding:60px 28px 30px; }
  .foot-inner{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
  footer h4{ color:var(--cloud); font-family:'Inter'; font-size:0.85rem; font-weight:600; margin-bottom:14px; }
  footer .logo{ color:var(--cloud); margin-bottom:14px; }
  footer p.desc{ font-size:0.85rem; line-height:1.6; max-width:280px; }
  footer ul{ list-style:none; }
  footer li{ margin-bottom:9px; font-size:0.85rem; }
  footer li a:hover{ color:var(--gold); }
  .foot-bottom{
    max-width:1180px; margin:40px auto 0; padding-top:24px; border-top:1px solid rgba(244,240,230,0.12);
    font-size:0.75rem; font-family:'IBM Plex Mono', monospace; color:rgba(244,240,230,0.4);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  }
  @media(max-width:820px){ .foot-inner{ grid-template-columns:1fr 1fr; } }