@import url('https://fonts.googleapis.com/css2?family=Bree+Serif&family=Baloo+2:wght@400;600;700;800&display=swap');

:root{
  --navy:#07183f;
  --blue:#0077b6;
  --sun:#ffd21f;
  --orange:#ff7a18;
  --seafoam:#5dff9a;
}

body{
  margin:0;
  font-family:'Baloo 2', system-ui, sans-serif;
  color:#ddeeff;
  background:linear-gradient(175deg,#04112e 0%,#071840 22%,#09305e 52%,#063678 75%,#071840 100%);
  line-height:1.7;
  font-size:20px;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 15% 30%, rgba(93,255,154,0.06), transparent 30%),
    radial-gradient(circle at 80% 60%, rgba(0,119,182,0.08), transparent 35%);
  pointer-events:none;
  z-index:-1;
}

h1,h2,h3{
  font-family:'Bree Serif', serif;
  margin:0 0 12px;
  letter-spacing:-0.5px;
}

h2{font-size:44px;color:#ffffff;line-height:1.14;}
h3{font-size:30px;line-height:1.2;color:#ffffff;}

p{font-size:20px;line-height:1.8;}

a{text-decoration:none;color:inherit;}

.section{
  padding:60px 20px;
  position:relative;
  z-index:1;
}

.wrap{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}

.banner-header{position:relative;z-index:5;}
.banner-image{width:100%;display:block;}

.hero{
  position:relative;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.4) 35%, rgba(255,255,255,0) 70%),
    url('../assets/images/Tropical beach with palm trees and ship.png') center/cover no-repeat;
  padding:100px 20px 130px;
}

.hero::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:280px;
  background:linear-gradient(to bottom, rgba(4,17,46,0) 0%, rgba(4,17,46,0.35) 55%, rgba(4,17,46,0.72) 100%);
  z-index:3;
}

.hero-nav{
  position:absolute;
  top:22px;
  right:22px;
  display:flex;
  flex-direction:column;
  gap:6px;
  background:rgba(0,0,0,0.45);
  backdrop-filter:blur(14px);
  padding:12px 20px;
  border-radius:40px;
  box-shadow:0 10px 30px rgba(0,0,0,0.28);
  border:1px solid rgba(255,255,255,0.15);
  z-index:20;
}

.nav-row{
  display:flex;
  gap:16px;
  justify-content:flex-end;
}

.nav-row.secondary{
  justify-content:center;
  border-top:1px solid rgba(255,255,255,0.15);
  padding-top:6px;
}

.nav-row a{
  color:#fff;
  font-weight:700;
  font-size:18px;
  letter-spacing:0.3px;
  white-space:nowrap;
  padding:4px 10px;
  border-radius:14px;
  transition:all 0.22s ease;
}

.nav-row a:hover{
  color:var(--seafoam);
  background:rgba(93,255,154,0.12);
  transform:translateY(-3px);
  text-shadow:0 0 10px rgba(93,255,154,0.55);
}

.hero-text{
  max-width:800px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(12px);
  padding:34px;
  border-radius:24px;
  position:relative;
  z-index:2;
  box-shadow:0 18px 45px rgba(0,0,0,0.12);
  color:var(--navy);
}
.hero-text h1,.hero-text h2,.hero-text h3,.hero-text p{color:var(--navy);}

.hero h1{font-size:64px;margin-bottom:16px;line-height:1.08;}
.hero p{font-size:26px;}

.meet-mark{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:50px;
  align-items:center;
  position:relative;
}

.meet-mark .bio-img{
  width:100%;
  border-radius:24px;
  object-fit:cover;
  box-shadow:0 18px 40px rgba(0,0,0,0.14);
}

.meet-mark-text{
  max-width:690px;
  position:relative;
  z-index:2;
  background:rgba(4,17,46,0.52);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.13);
  padding:34px;
  border-radius:24px;
  box-shadow:0 16px 40px rgba(0,0,0,0.28);
  color:#ddeeff;
}

.meet-mark-text p{font-size:21px;color:rgba(220,235,255,0.92);}
.meet-mark-text h2{font-size:58px;line-height:1.05;margin-bottom:26px;color:#ffffff;}
.saltwater-line{font-size:0.78em;line-height:1.15;display:inline-block;}

.section-kicker{
  display:inline-block;
  background:rgba(93,255,154,0.13);
  border:1px solid rgba(93,255,154,0.34);
  color:#5dff9a;
  padding:8px 18px;
  border-radius:22px;
  font-size:16px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:18px;
  box-shadow:0 0 18px rgba(93,255,154,0.10);
  text-shadow:0 0 10px rgba(93,255,154,0.38);
}

.meet-mark .parrots-accent{
  position:absolute;
  right:8px;
  top:-128px;
  width:176px;
  max-width:176px;
  height:auto;
  border-radius:22px;
  padding:6px;
  background:rgba(255,255,255,0.72);
  backdrop-filter:blur(8px);
  box-shadow:0 18px 40px rgba(0,0,0,0.22);
  opacity:0.98;
  z-index:5;
  transform:rotate(11deg);
}

.report-section,.vibe-section{position:relative;}

/* ── Vibe section ── */
/* mask-image fades section edges to transparent — body dark background shows through cleanly */
.vibe-section{
  background:
    linear-gradient(to bottom, rgba(0,36,62,0.42) 0%, rgba(0,36,62,0.28) 50%, rgba(0,36,62,0.42) 100%),
    url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e') center/cover no-repeat;
  padding:56px 20px;
  color:white;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 16%, black 84%, transparent 100%);
  mask-image:linear-gradient(to bottom, transparent 0%, black 16%, black 84%, transparent 100%);
}

.vibe-section::before,.vibe-section::after{display:none;}

/* ── Report section ── */
.report-section{
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.36) 0%, rgba(0,0,0,0.30) 50%, rgba(0,0,0,0.36) 100%),
    url('../assets/images/Tropical beach with palm trees and ship.png') center/cover no-repeat;
  padding:56px 20px;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 16%, black 84%, transparent 100%);
  mask-image:linear-gradient(to bottom, transparent 0%, black 16%, black 84%, transparent 100%);
}

.report-section::before,.report-section::after{display:none;}

.report-section h2{color:#ffffff;text-shadow:0 4px 16px rgba(0,0,0,0.7);}

.report-box{
  background:rgba(255,255,255,.82);
  padding:34px;
  border-radius:24px;
  backdrop-filter:blur(10px);
  box-shadow:0 14px 34px rgba(0,0,0,0.12);
}

.vibe-panel{
  position:relative;
  z-index:2;
  background:rgba(0,36,62,0.30);
  padding:52px;
  border-radius:30px;
  backdrop-filter:blur(8px);
  box-shadow:0 20px 44px rgba(0,0,0,0.18);
}

.vibe-panel h2,
.vibe-panel p{
  color:#ffffff;
  text-shadow:0 3px 12px rgba(0,0,0,0.55);
}

.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
  padding:16px 20px 24px;
}

.flavor-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  min-height:320px;
  padding:28px;
  color:white;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  box-shadow:0 18px 34px rgba(0,0,0,0.12);
  transition:transform 0.25s ease, box-shadow 0.25s ease;
  border:1px solid rgba(255,255,255,0.18);
}

.flavor-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(3,18,40,0.82) 0%, rgba(3,18,40,0.48) 38%, rgba(3,18,40,0.10) 100%);
}

.flavor-card > div{position:relative;z-index:2;}

.flavor-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 42px rgba(0,0,0,0.18);
}

.ship-card{background-image:url('https://images.unsplash.com/photo-1569263979104-865ab7cd8d13?q=80&w=1200&auto=format&fit=crop');}
.gear-card{background-image:url('https://images.unsplash.com/photo-1527631746610-bca00a040d60?q=80&w=1200&auto=format&fit=crop');}
.casino-card{background-image:url('https://images.unsplash.com/photo-1511512578047-dfb367046420?q=80&w=1200&auto=format&fit=crop');}

.flavor-card h3{
  font-size:34px;
  color:#ffffff;
  text-shadow:0 4px 14px rgba(0,0,0,0.65);
}

.flavor-card p{
  font-size:20px;
  color:#f2f6ff;
  line-height:1.6;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
}

/* ── YouTube section ── */
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.yt-section-header{
  text-align:center;
  margin-bottom:36px;
}
.yt-section-header h2{
  margin-bottom:12px;
}
.yt-section-sub{
  color:rgba(220,235,255,0.80);
  font-size:18px;
  max-width:640px;
  margin:0 auto;
  line-height:1.6;
}
.yt-content{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:48px;
  align-items:center;
  justify-content:center;
}
.yt-short-wrap{
  display:flex;
  justify-content:center;
}
.yt-short-frame{
  width:315px;
  height:560px;
  border-radius:18px;
  border:0;
  box-shadow:0 24px 60px rgba(0,0,0,0.5);
}
.yt-cta-wrap{
  display:flex;
  flex-direction:column;
  gap:20px;
  max-width:360px;
}
.yt-logo-row{
  display:flex;
  align-items:center;
  gap:12px;
}
.yt-icon{
  font-size:40px;
  color:#ff0000;
  filter:drop-shadow(0 2px 8px rgba(255,0,0,0.4));
}
.yt-channel-name{
  font-family:'Bree Serif', serif;
  font-size:22px;
  color:#ffffff;
}
.yt-cta-text{
  color:rgba(220,235,255,0.82);
  font-size:17px;
  line-height:1.6;
  margin:0;
}
.yt-subscribe-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#ff0000;
  color:#ffffff;
  font-family:'Bree Serif', serif;
  font-size:17px;
  font-weight:700;
  padding:14px 28px;
  border-radius:50px;
  text-decoration:none;
  width:fit-content;
  transition:background 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow:0 8px 24px rgba(255,0,0,0.35);
}
.yt-subscribe-btn:hover{
  background:#cc0000;
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(255,0,0,0.45);
}
.video-placeholder{
  background:rgba(4,17,46,0.52);
  border:1px solid rgba(255,255,255,0.13);
  border-radius:24px;
  backdrop-filter:blur(12px);
  padding:40px;
  text-align:center;
  box-shadow:0 16px 40px rgba(0,0,0,0.26);
}
.video-placeholder i{font-size:60px;color:#ff4444;margin-bottom:16px;display:block;filter:drop-shadow(0 4px 14px rgba(255,0,0,0.32));}
.video-placeholder h3{color:#ffffff;margin-bottom:12px;}
.video-placeholder p{color:rgba(220,235,255,0.88);font-size:18px;}

footer{
  text-align:center;
  padding:32px;
  background:rgba(4,17,46,0.95);
  color:white;
  font-size:18px;
}

/* ── Report grid — two columns desktop ── */
.report-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}

/* ═══════════════════════════════════════
   MOBILE RESPONSIVE — 768px and below
═══════════════════════════════════════ */
@media(max-width:768px){

  body{ font-size:16px; }

  h2{ font-size:28px; }
  h3{ font-size:22px; }
  p{ font-size:16px; line-height:1.65; }

  .section{ padding:40px 16px; }

  /* ── Hero ── */
  .hero{ padding:56px 16px 70px; }
  .hero h1{ font-size:34px; line-height:1.15; }
  .hero p{ font-size:17px; }
  .hero-text{ padding:20px 18px; border-radius:18px; }

  /* ── Banner image — limit height on phone ── */
  .banner-image{ max-height:180px; object-fit:cover; object-position:center; }

  /* ── Meet Mark — stack vertically ── */
  .meet-mark{
    grid-template-columns:1fr;
    gap:24px;
  }
  .meet-mark .bio-img{
    max-height:300px;
    object-fit:cover;
    object-position:top center;
  }
  .meet-mark-text{ padding:22px 18px; }
  .meet-mark-text h2{ font-size:32px; }
  .meet-mark .parrots-accent{ display:none; }

  /* ── Vibe section ── */
  .vibe-section{ padding:60px 16px; }
  .vibe-panel{ padding:26px 18px; border-radius:20px; }

  /* ── Report section ── */
  .report-section{ padding:60px 16px; }
  .report-grid{ grid-template-columns:1fr; }
  .report-box{ padding:22px 18px; border-radius:20px; }

  /* ── Flavor cards ── */
  .cards{ padding:8px 4px 16px; gap:16px; }
  .flavor-card{ min-height:220px; padding:20px; border-radius:20px; }
  .flavor-card h3{ font-size:24px; }
  .flavor-card p{ font-size:15px; }

  /* ── YouTube section ── */
  .two-col{ grid-template-columns:1fr; gap:24px; }
  .yt-content{ grid-template-columns:1fr; gap:28px; justify-items:center; }
  .yt-short-frame{ width:260px; height:462px; }
  .yt-cta-wrap{ max-width:100%; text-align:center; align-items:center; }

  /* ── Footer ── */
  footer{ padding:24px 16px 32px; font-size:15px; }
}

/* ═══════════════════════════════════════
   EXTRA SMALL — 480px and below
═══════════════════════════════════════ */
@media(max-width:480px){
  .hero h1{ font-size:28px; }
  h2{ font-size:24px; }
  .meet-mark-text h2{ font-size:26px; }
  .section-kicker{ font-size:13px; padding:6px 14px; }
}
