:root{
  --ink:#0a1219;
  --ink-2:#0f1a24;
  --ink-3:#152230;
  --bone:#f4ede1;
  --bone-2:#e8dec9;
  --rust:#d96b2c;
  --rust-2:#b8541e;
  --gold:#c8a45c;
  --sea:#2a4a5e;
  --line:rgba(244,237,225,0.12);
  --line-2:rgba(244,237,225,0.22);
  --display:'Fraunces',Georgia,serif;
  --body:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--bone);
  font-family:var(--body);
  font-weight:300;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ==================== NAV ==================== */
.nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  padding:1.25rem 2rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:linear-gradient(to bottom, rgba(10,18,25,0.92), rgba(10,18,25,0));
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:padding 0.3s ease;
}
.nav.scrolled{
  padding:0.85rem 2rem;
  background:rgba(10,18,25,0.95);
  border-bottom:1px solid var(--line);
}
.logo{
  font-family:var(--display);
  font-weight:500;
  font-size:1.05rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  line-height:1.1;
}
.logo .accent{color:var(--rust);font-style:italic;font-weight:400}
.logo .small{display:block;font-size:0.62rem;letter-spacing:0.28em;font-weight:400;opacity:0.7;margin-top:0.15rem}
.nav-links{
  display:flex;
  gap:2.25rem;
  align-items:center;
}
.nav-links a{
  font-size:0.78rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  opacity:0.78;
  transition:opacity 0.2s, color 0.2s;
  font-weight:400;
}
.nav-links a:hover{opacity:1;color:var(--rust)}
.lang-switch{
  display:flex;
  gap:0.35rem;
  font-size:0.7rem;
  letter-spacing:0.18em;
  font-weight:500;
  border:1px solid var(--line-2);
  border-radius:99px;
  padding:0.35rem 0.65rem;
  align-items:center;
}
.lang-switch button{
  padding:0.2rem 0.55rem;
  border-radius:99px;
  opacity:0.55;
  transition:opacity 0.2s, background 0.2s;
  letter-spacing:0.18em;
  font-weight:500;
}
.lang-switch button.active{
  background:var(--rust);
  opacity:1;
  color:var(--bone);
}
.mobile-toggle{display:none}

/* ==================== HERO ==================== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  padding:8rem 2rem 4rem;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:1;
  opacity:0;
  transition:opacity 1s ease;
}
.hero-video.is-ready{opacity:1}
.hero-overlay{
  content:'';
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg, rgba(10,18,25,0.55) 0%, rgba(10,18,25,0.25) 40%, rgba(10,18,25,0.85) 90%, rgba(10,18,25,1) 100%);
}
@media (prefers-reduced-motion: reduce){
  .hero-video{display:none}
}
.hero-content{
  position:relative;
  z-index:3;
  max-width:1400px;
  margin:0 auto;
  width:100%;
}
.hero-eyebrow{
  display:flex;
  align-items:center;
  gap:1rem;
  font-size:0.72rem;
  letter-spacing:0.32em;
  text-transform:uppercase;
  margin-bottom:2rem;
  opacity:0.95;
  font-weight:500;
}
.hero-eyebrow .dot{
  width:6px;height:6px;
  background:var(--rust);
  border-radius:50%;
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.5;transform:scale(1.3)}
}
.hero h1{
  font-family:var(--display);
  font-size:clamp(2.8rem, 8vw, 7.5rem);
  line-height:0.92;
  font-weight:400;
  letter-spacing:-0.02em;
  max-width:14ch;
  margin-bottom:2rem;
  text-shadow:0 2px 30px rgba(0,0,0,0.4);
}
.hero h1 em{
  font-style:italic;
  font-weight:300;
  color:var(--rust);
}
.hero-meta{
  display:flex;
  gap:3rem;
  flex-wrap:wrap;
  align-items:flex-end;
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--line-2);
}
.hero-meta-block{
  flex:1;
  min-width:200px;
}
.hero-meta-label{
  font-size:0.68rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  opacity:0.75;
  margin-bottom:0.5rem;
  font-weight:500;
}
.hero-meta-value{
  font-family:var(--display);
  font-size:1.4rem;
  font-weight:500;
  letter-spacing:-0.01em;
}
.hero-cta{
  display:inline-flex;
  align-items:center;
  gap:0.8rem;
  background:var(--rust);
  color:var(--bone);
  padding:1.1rem 2rem;
  font-size:0.78rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:500;
  border-radius:2px;
  transition:background 0.2s, transform 0.2s;
  margin-top:1rem;
}
.hero-cta:hover{
  background:var(--rust-2);
  transform:translateX(4px);
}
.hero-cta::after{
  content:'→';
  font-size:1rem;
  transition:transform 0.2s;
}
.hero-cta:hover::after{transform:translateX(4px)}

.scroll-hint{
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  font-size:0.65rem;
  letter-spacing:0.32em;
  text-transform:uppercase;
  opacity:0.7;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.6rem;
}
.scroll-hint .line{
  width:1px;
  height:30px;
  background:linear-gradient(to bottom, var(--bone), transparent);
  animation:scrollLine 2s infinite;
}
@keyframes scrollLine{
  0%{transform:scaleY(0);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  51%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}

/* ==================== CREDENTIALS BAR ==================== */
.credentials{
  background:var(--ink-2);
  padding:2rem 2rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.credentials-inner{
  max-width:1400px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
}
.credential{
  display:flex;
  align-items:center;
  gap:0.9rem;
  font-size:0.78rem;
  letter-spacing:0.04em;
  opacity:0.85;
}
.credential-icon{
  width:32px;height:32px;
  border:1px solid var(--gold);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-style:italic;
  font-size:0.95rem;
  border-radius:50%;
  flex-shrink:0;
}
.credential strong{
  font-family:var(--display);
  font-weight:500;
  color:var(--bone);
  letter-spacing:0;
  font-style:italic;
}

/* ==================== PARTNERS LOGO STRIP ==================== */
.partners-strip{
  background:var(--ink);
  padding:3rem 2rem;
  border-bottom:1px solid var(--line);
}
.partners-inner{
  max-width:1400px;
  margin:0 auto;
}
.partners-label{
  text-align:center;
  font-size:0.65rem;
  letter-spacing:0.36em;
  text-transform:uppercase;
  opacity:0.5;
  margin-bottom:2rem;
  font-weight:500;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
}
.partners-label::before,
.partners-label::after{
  content:'';
  width:36px;
  height:1px;
  background:var(--line-2);
}
.partners-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  align-items:center;
  gap:2rem;
}
.partner{
  display:flex;
  align-items:center;
  justify-content:center;
  height:64px;
  opacity:0.7;
  transition:opacity 0.3s, transform 0.3s;
  filter:grayscale(0.3);
}
.partner:hover{
  opacity:1;
  transform:translateY(-2px);
  filter:grayscale(0);
}
.partner img{
  max-height:100%;
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
/* Fallback text logos — used when an image isn't placed yet.
   Drop logo-*.png/svg files in images/ to replace these automatically
   (the <img> takes priority if it loads). */
.partner-text{
  font-family:var(--display);
  font-weight:600;
  font-size:1.5rem;
  letter-spacing:0.04em;
  color:var(--bone);
  text-align:center;
  line-height:1;
}
.partner-text em{
  font-style:italic;
  font-weight:400;
  color:var(--rust);
}
.partner-text .sub{
  display:block;
  font-family:var(--body);
  font-size:0.6rem;
  letter-spacing:0.24em;
  font-weight:400;
  text-transform:uppercase;
  opacity:0.65;
  margin-top:0.25rem;
  color:var(--bone);
}

/* ==================== INTRO / ABOUT ==================== */
.intro{
  padding:8rem 2rem;
  position:relative;
}
.intro-inner{
  max-width:1400px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:6rem;
  align-items:start;
}
.section-label{
  font-size:0.7rem;
  letter-spacing:0.36em;
  text-transform:uppercase;
  font-weight:500;
  opacity:0.55;
  margin-bottom:1.5rem;
  display:flex;
  align-items:center;
  gap:0.8rem;
}
.section-label::before{
  content:'';
  width:24px;
  height:1px;
  background:var(--rust);
}
.intro h2{
  font-family:var(--display);
  font-size:clamp(2rem,4.5vw,3.6rem);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-0.02em;
  margin-bottom:0;
}
.intro h2 em{
  font-style:italic;
  font-weight:300;
  color:var(--rust);
}
.intro-body{
  font-size:1.05rem;
  line-height:1.7;
  opacity:0.82;
}
.intro-body p{margin-bottom:1.4rem}
.intro-body p:last-child{margin-bottom:0}
.intro-pull{
  font-family:var(--display);
  font-style:italic;
  font-size:1.4rem;
  line-height:1.4;
  color:var(--bone);
  border-left:2px solid var(--rust);
  padding-left:1.5rem;
  margin:2rem 0;
  opacity:1;
}

/* ==================== THE BOAT ==================== */
.boat{
  background:var(--ink-2);
  padding:8rem 2rem;
  position:relative;
  overflow:hidden;
}
.boat::before{
  content:'AXOPAR';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-family:var(--display);
  font-size:clamp(10rem,28vw,28rem);
  font-weight:600;
  letter-spacing:-0.04em;
  color:var(--ink-3);
  opacity:0.5;
  z-index:0;
  white-space:nowrap;
  pointer-events:none;
}
.boat-inner{
  max-width:1400px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.boat-header{
  text-align:center;
  margin-bottom:5rem;
}
.boat-header .section-label{
  justify-content:center;
}
.boat-header .section-label::before,
.boat-header .section-label::after{
  content:'';
  width:24px;
  height:1px;
  background:var(--rust);
}
.boat-header h2{
  font-family:var(--display);
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-0.02em;
}
.boat-header h2 em{font-style:italic;color:var(--rust);font-weight:300}
.boat-photo{
  aspect-ratio:21/9;
  border-radius:2px;
  margin-bottom:4rem;
  overflow:hidden;
  background:#000;
}
.boat-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.boat-specs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2px;
  background:var(--line);
  border:1px solid var(--line);
}
.spec{
  background:var(--ink-2);
  padding:2rem 1.5rem;
  text-align:center;
}
.spec-value{
  font-family:var(--display);
  font-size:2.2rem;
  font-weight:500;
  line-height:1;
  margin-bottom:0.5rem;
  color:var(--bone);
}
.spec-value em{color:var(--rust);font-style:italic;font-weight:400}
.spec-label{
  font-size:0.68rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  opacity:0.6;
  font-weight:500;
}
.boat-features{
  margin-top:4rem;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem;
}
.feature{
  border-top:1px solid var(--line-2);
  padding-top:1.5rem;
}
.feature h4{
  font-family:var(--display);
  font-size:1.2rem;
  font-weight:500;
  margin-bottom:0.6rem;
}
.feature p{
  font-size:0.92rem;
  opacity:0.7;
  line-height:1.6;
}

/* ==================== TRIPS ==================== */
.trips{
  padding:8rem 2rem;
}
.trips-inner{
  max-width:1400px;
  margin:0 auto;
}
.trips-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:4rem;
  flex-wrap:wrap;
  gap:2rem;
}
.trips-header h2{
  font-family:var(--display);
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-0.02em;
  max-width:14ch;
}
.trips-header h2 em{font-style:italic;color:var(--rust);font-weight:300}
.trips-intro{
  max-width:420px;
  font-size:1rem;
  line-height:1.6;
  opacity:0.75;
}
.trip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.trip-card{
  background:var(--ink);
  padding:3rem 2rem;
  display:flex;
  flex-direction:column;
  min-height:480px;
  transition:background 0.3s;
  position:relative;
}
.trip-card:hover{background:var(--ink-3)}
.trip-card .duration{
  font-family:var(--display);
  font-size:3.2rem;
  font-weight:500;
  line-height:1;
  color:var(--rust);
  margin-bottom:0.4rem;
  letter-spacing:-0.02em;
}
.trip-card .duration em{font-style:italic;font-weight:300}
.trip-card h3{
  font-family:var(--display);
  font-size:1.5rem;
  font-weight:500;
  margin-bottom:1rem;
  letter-spacing:-0.01em;
}
.trip-card .trip-desc{
  font-size:0.92rem;
  line-height:1.6;
  opacity:0.75;
  margin-bottom:2rem;
  flex-grow:1;
}
.trip-card ul{
  list-style:none;
  margin-bottom:2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--line-2);
}
.trip-card li{
  font-size:0.82rem;
  padding:0.45rem 0;
  opacity:0.85;
  display:flex;
  align-items:center;
  gap:0.6rem;
}
.trip-card li::before{
  content:'';
  width:4px;height:4px;
  background:var(--rust);
  flex-shrink:0;
}
.trip-link{
  font-size:0.72rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--rust);
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  margin-top:auto;
}
.trip-link::after{content:'→';transition:transform 0.2s}
.trip-card:hover .trip-link::after{transform:translateX(4px)}

/* ==================== CATCH ==================== */
.catch{
  background:var(--ink-2);
  padding:8rem 2rem;
  position:relative;
  overflow:hidden;
}
.catch-inner{
  max-width:1400px;
  margin:0 auto;
}
.catch-header{
  text-align:center;
  margin-bottom:5rem;
}
.catch-header .section-label{justify-content:center}
.catch-header .section-label::before,
.catch-header .section-label::after{
  content:'';
  width:24px;height:1px;
  background:var(--rust);
}
.catch-header h2{
  font-family:var(--display);
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-0.02em;
  margin-bottom:1.5rem;
}
.catch-header h2 em{font-style:italic;color:var(--rust);font-weight:300}
.catch-header p{
  max-width:600px;
  margin:0 auto;
  opacity:0.75;
  font-size:1rem;
  line-height:1.6;
}
.fish-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2.5rem;
}
.fish-card{
  background:var(--ink);
  padding:2.5rem 2.5rem 2rem;
  border:1px solid var(--line);
  text-align:center;
  position:relative;
  transition:border-color 0.3s, transform 0.3s;
}
.fish-card:hover{
  border-color:var(--rust);
  transform:translateY(-4px);
}
.fish-illustration{
  width:100%;
  margin:0 auto 1.75rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fish-illustration img{
  width:100%;
  max-width:440px;
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,0.4));
  transition:transform 0.5s ease;
}
.fish-card:hover .fish-illustration img{transform:scale(1.03)}
.fish-card h4{
  font-family:var(--display);
  font-size:1.5rem;
  font-weight:500;
  margin-bottom:0.4rem;
  letter-spacing:-0.01em;
}
.fish-card .latin{
  font-family:var(--display);
  font-style:italic;
  font-size:0.85rem;
  opacity:0.5;
  margin-bottom:1.2rem;
  letter-spacing:0.02em;
}
.fish-stats{
  display:flex;
  justify-content:space-around;
  gap:1rem;
  padding-top:1.2rem;
  border-top:1px solid var(--line-2);
}
.fish-stat{text-align:center}
.fish-stat-value{
  font-family:var(--display);
  font-size:1.1rem;
  font-weight:500;
  color:var(--rust);
  display:block;
}
.fish-stat-label{
  font-size:0.62rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  opacity:0.55;
  margin-top:0.2rem;
}

/* ==================== PROOF ==================== */
.proof{
  padding:8rem 2rem;
  position:relative;
  background-image:linear-gradient(rgba(10,18,25,0.92), rgba(10,18,25,0.92)), url('images/sunset-fishing.jpg');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.proof-inner{
  max-width:1100px;
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:1;
}
.quote-mark{
  font-family:var(--display);
  font-style:italic;
  font-size:8rem;
  color:var(--rust);
  line-height:0.5;
  margin-bottom:1rem;
  opacity:0.6;
}
.proof blockquote{
  font-family:var(--display);
  font-style:italic;
  font-size:clamp(1.4rem,2.8vw,2.4rem);
  line-height:1.4;
  font-weight:400;
  letter-spacing:-0.01em;
  margin-bottom:2.5rem;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.proof cite{
  font-style:normal;
  font-size:0.78rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  opacity:0.85;
  font-weight:500;
  display:block;
}
.proof cite strong{color:var(--rust);font-weight:600}

/* ==================== AS SEEN ON / VIDEOS ==================== */
.featured{
  padding:7rem 2rem;
  background:var(--ink);
  position:relative;
}
/* Roofmeister logo band — sits between the promo video and the
   documentary-trilogy card row. Background matches --ink so the logo
   image's near-black JPEG background blends in seamlessly. */
.roofmeister-logo-band{
  background:var(--ink);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:3.5rem 1rem 4rem;
  margin:0 auto;
}
.roofmeister-logo-caption{
  margin:1.5rem auto 0;
  max-width:640px;
  text-align:center;
  font-size:0.8rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--gold);
  line-height:1.6;
}
.roofmeister-logo-img{
  width:auto;
  height:auto;
  max-width:520px;
  max-height:300px;
  width:38vw;
  min-width:280px;
  object-fit:contain;
  display:block;
  /* the source is a JPEG with a near-black background; screen blend
     drops that dark background and keeps the light cream wordmark,
     so it sits cleanly on the matching --ink band with no visible box */
  mix-blend-mode:screen;
}
.featured-inner{
  max-width:1400px;
  margin:0 auto;
}
.featured-header{
  text-align:center;
  margin-bottom:4rem;
}
.featured-header .section-label{justify-content:center}
.featured-header .section-label::before,
.featured-header .section-label::after{
  content:'';
  width:24px;height:1px;
  background:var(--rust);
}
.featured-header h2{
  font-family:var(--display);
  font-size:clamp(2.2rem,4.5vw,3.6rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-0.02em;
  margin-bottom:1rem;
}
.featured-header h2 em{font-style:italic;color:var(--rust);font-weight:300}
.featured-header .lede{
  max-width:640px;
  margin:0 auto;
  opacity:0.75;
  font-size:1rem;
  line-height:1.6;
}
.featured-header .roofmeister-tag{
  display:inline-flex;
  align-items:center;
  gap:0.6rem;
  margin-top:1.5rem;
  padding:0.55rem 1.1rem;
  border:1px solid var(--gold);
  border-radius:99px;
  font-size:0.7rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--gold);
}
.featured-header .roofmeister-tag::before{
  content:'▶';
  font-size:0.65rem;
  color:var(--rust);
}
.video-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.video-card{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
  transition:border-color 0.3s, transform 0.3s;
  display:flex;
  flex-direction:column;
}
.video-card:hover{
  border-color:var(--rust);
  transform:translateY(-4px);
}
.video-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  overflow:hidden;
}
.promo-feature{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  overflow:hidden;
  border-radius:2px;
  margin-bottom:2.5rem;
}
.promo-feature video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.promo-tag{
  position:absolute;
  top:1rem;left:1rem;
  z-index:4;
  font-size:0.62rem;
  letter-spacing:0.26em;
  text-transform:uppercase;
  font-weight:600;
  padding:0.45rem 0.8rem;
  background:rgba(217,107,44,0.92);
  color:var(--bone);
  border-radius:99px;
  pointer-events:none;
}
@media (max-width:760px){
  .promo-feature{margin-bottom:1.5rem}
}
.video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:none;
}
/* Lazy-load facade: poster image with play button until clicked */
.video-facade{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:filter 0.3s;
}
.video-facade:hover{filter:brightness(1.1)}
.video-facade::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6));
}
.video-facade .play-btn{
  position:relative;
  z-index:2;
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(216,107,44,0.95);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform 0.2s, background 0.2s;
  box-shadow:0 10px 30px rgba(0,0,0,0.5);
}
.video-facade:hover .play-btn{
  transform:scale(1.08);
  background:var(--rust);
}
.video-facade .play-btn::after{
  content:'';
  width:0;
  height:0;
  border-left:18px solid var(--bone);
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  margin-left:5px;
}
.video-meta{
  padding:1.5rem 1.5rem 1.75rem;
}
.video-eyebrow{
  font-size:0.65rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  opacity:0.55;
  font-weight:500;
  margin-bottom:0.7rem;
}
.video-eyebrow .ep{color:var(--rust)}
.video-card h3{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:500;
  line-height:1.25;
  letter-spacing:-0.01em;
}
.featured-footer{
  text-align:center;
  margin-top:3rem;
  font-size:0.85rem;
  opacity:0.65;
}
.featured-footer a{
  color:var(--rust);
  border-bottom:1px solid transparent;
  transition:border-color 0.2s;
}
.featured-footer a:hover{border-bottom-color:var(--rust)}

/* ==================== GALLERY ==================== */
.gallery{
  background:var(--ink-2);
  padding:6rem 2rem;
}
.gallery-inner{
  max-width:1400px;
  margin:0 auto;
}
.gallery-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:3rem;
  flex-wrap:wrap;
  gap:2rem;
}
.gallery-header h2{
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-0.02em;
}
.gallery-header h2 em{font-style:italic;color:var(--rust);font-weight:300}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.gallery-item{
  border-radius:2px;
  overflow:hidden;
  position:relative;
  aspect-ratio:4/3;
  background:var(--ink-2);
  transition:transform 0.4s;
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.6s, filter 0.4s;
  filter:saturate(1.05);
}
.gallery-item:hover img{transform:scale(1.05);filter:saturate(1.15)}
.gallery-item img{cursor:zoom-in}
/* Lightbox overlay for enlarging gallery photos on click */
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(8,12,18,0.94);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:2rem;
  cursor:zoom-out;
}
.lightbox.open{display:flex}
.lightbox img{
  max-width:92vw;
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:6px;
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
  cursor:default;
}
.lightbox-close{
  position:absolute;
  top:1.25rem;
  right:1.5rem;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,0.12);
  color:#fff;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lightbox-close:hover{background:rgba(255,255,255,0.22)}

/* ==================== BOOK ==================== */
.book{
  padding:8rem 2rem;
  position:relative;
  overflow:hidden;
}
.book::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(216,107,44,0.08), transparent 50%),
    radial-gradient(ellipse at 80% 70%, rgba(42,74,94,0.4), transparent 50%);
  z-index:0;
}
.book-inner{
  max-width:1100px;
  margin:0 auto;
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:center;
}
.book-left h2{
  font-family:var(--display);
  font-size:clamp(2.5rem,5vw,4rem);
  line-height:1;
  font-weight:400;
  letter-spacing:-0.02em;
  margin-bottom:1.5rem;
}
.book-left h2 em{font-style:italic;color:var(--rust);font-weight:300}
.book-left p{
  font-size:1.05rem;
  line-height:1.6;
  opacity:0.8;
  margin-bottom:2.5rem;
}
.contact-block{
  border-top:1px solid var(--line-2);
  padding-top:1.5rem;
  margin-bottom:1.2rem;
}
.contact-label{
  font-size:0.68rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  opacity:0.55;
  margin-bottom:0.4rem;
  font-weight:500;
}
.contact-value{
  font-family:var(--display);
  font-size:1.25rem;
  font-weight:500;
}
.contact-value a:hover{color:var(--rust)}
.book-form{
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:2.5rem;
  border-radius:2px;
}
.book-widget-wrap{
  min-height:500px;
}
.book-widget-wrap .caribious-calendar-iframe{
  width:100%;
  border:0;
}
.form-row{margin-bottom:1.3rem}
.form-row label{
  display:block;
  font-size:0.7rem;
  letter-spacing:0.24em;
  text-transform:uppercase;
  margin-bottom:0.6rem;
  opacity:0.7;
  font-weight:500;
}
.form-row input,
.form-row select,
.form-row textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line-2);
  padding:0.7rem 0;
  color:var(--bone);
  font-family:var(--body);
  font-size:0.95rem;
  font-weight:300;
  outline:none;
  transition:border-color 0.2s;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{border-bottom-color:var(--rust)}
.form-row select{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23f4ede1' fill='none' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 0.5rem center;
  cursor:pointer;
}
.form-row select option{background:var(--ink-2);color:var(--bone)}
.form-row textarea{resize:vertical;min-height:80px;font-family:var(--body)}
.form-submit{
  width:100%;
  background:var(--rust);
  color:var(--bone);
  padding:1.1rem;
  font-size:0.78rem;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:500;
  border-radius:2px;
  transition:background 0.2s;
  margin-top:0.5rem;
}
.form-submit:hover{background:var(--rust-2)}

/* ==================== FAQ ==================== */
.faq{
  background:var(--ink-2);
  padding:6rem 2rem;
}
.faq-inner{
  max-width:900px;
  margin:0 auto;
}
.faq-inner h2{
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3rem);
  font-weight:400;
  letter-spacing:-0.02em;
  text-align:center;
  margin-bottom:3rem;
}
.faq-inner h2 em{font-style:italic;color:var(--rust);font-weight:300}
.faq-item{
  border-bottom:1px solid var(--line);
  padding:1.5rem 0;
}
.faq-q{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  text-align:left;
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:500;
  padding:0.5rem 0;
}
.faq-q::after{
  content:'+';
  font-size:1.4rem;
  font-weight:300;
  color:var(--rust);
  transition:transform 0.3s;
  flex-shrink:0;
  margin-left:1rem;
}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease, padding 0.4s ease;
  opacity:0.8;
  font-size:0.95rem;
  line-height:1.6;
}
.faq-item.open .faq-a{
  max-height:400px;
  padding:1rem 0 0.5rem;
}

/* ==================== FOOTER ==================== */
footer{
  background:var(--ink);
  border-top:1px solid var(--line);
  padding:4rem 2rem 2rem;
}
.footer-inner{
  max-width:1400px;
  margin:0 auto;
}
.footer-top{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid var(--line);
}
.footer-brand h3{
  font-family:var(--display);
  font-size:1.5rem;
  font-weight:500;
  letter-spacing:-0.01em;
  margin-bottom:1rem;
}
.footer-brand h3 em{font-style:italic;color:var(--rust);font-weight:300}
.footer-brand p{
  font-size:0.9rem;
  line-height:1.6;
  opacity:0.7;
  max-width:300px;
}
.footer-col h5{
  font-size:0.68rem;
  letter-spacing:0.28em;
  text-transform:uppercase;
  margin-bottom:1.2rem;
  opacity:0.8;
  font-weight:500;
}
.footer-col ul{list-style:none}
.footer-col li{
  margin-bottom:0.7rem;
  font-size:0.88rem;
  opacity:0.65;
  transition:opacity 0.2s;
}
.footer-col li:hover{opacity:1}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:2rem;
  flex-wrap:wrap;
  gap:1rem;
}
.footer-bottom p{
  font-size:0.75rem;
  opacity:0.5;
  letter-spacing:0.04em;
}
.footer-bottom .partners{
  font-size:0.7rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  opacity:0.55;
  font-weight:500;
}
.footer-bottom .partners span{color:var(--rust)}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 1024px){
  .intro-inner{grid-template-columns:1fr;gap:2rem}
  .boat-specs{grid-template-columns:repeat(2,1fr)}
  .boat-features{grid-template-columns:1fr;gap:1.5rem}
  .trip-grid{grid-template-columns:repeat(2,1fr)}
  .fish-grid{grid-template-columns:repeat(2,1fr)}
  .book-inner{grid-template-columns:1fr;gap:3rem}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .video-grid{grid-template-columns:1fr;gap:1.25rem}
  .partners-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem}
  .proof{background-attachment:scroll}
}
@media (max-width: 720px){
  .nav{padding:1rem 1.25rem}
  .nav.scrolled{padding:0.7rem 1.25rem}
  .nav-links{display:none}
  .nav-links.open{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:100%;left:0;right:0;
    background:var(--ink-2);
    padding:2rem;
    border-top:1px solid var(--line);
    gap:1.5rem;
    align-items:flex-start;
  }
  .mobile-toggle{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:0.5rem;
  }
  .mobile-toggle span{
    width:22px;height:1.5px;
    background:var(--bone);
    transition:transform 0.2s;
  }
  .hero{padding:7rem 1.25rem 3rem;min-height:90vh}
  .intro,.boat,.trips,.catch,.proof,.book,.faq,.featured{padding:5rem 1.25rem}
  .roofmeister-logo-band{padding:2.5rem 1rem 3rem}
  .roofmeister-logo-img{width:72vw;min-width:200px;max-width:340px}
  .credentials{padding:1.5rem 1.25rem}
  .credentials-inner{justify-content:flex-start;gap:1.5rem}
  .credential{font-size:0.72rem}
  .partners-strip{padding:2rem 1.25rem}
  .partners-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}
  .partner:last-child{grid-column:1 / -1}
  .partner{height:48px}
  .partner-text{font-size:1.15rem}
  .boat-specs{grid-template-columns:1fr 1fr}
  .spec-value{font-size:1.7rem}
  .trip-grid{grid-template-columns:1fr}
  .fish-grid{grid-template-columns:1fr;gap:1.5rem}
  .fish-card{padding:2rem 1.5rem}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr}
  .hero-meta{gap:1.5rem}
  .book-form{padding:1.5rem}
}

/* ==================== V2 ADDITIONS ==================== */

/* Price chip next to hero CTA */
.hero-price{
  display:inline-flex;
  align-items:center;
  gap:0.6rem;
  margin-top:1rem;
  margin-left:1rem;
  padding:1.05rem 1.4rem;
  border:1px solid var(--line-2);
  border-radius:2px;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:500;
  background:rgba(10,18,25,0.55);
  backdrop-filter:blur(6px);
}
.hero-price strong{
  font-family:var(--display);
  font-size:1.15rem;
  letter-spacing:0;
  color:var(--rust);
  font-style:italic;
}
@media (max-width:720px){
  .hero-price{margin-left:0;display:inline-flex}
}

/* Signature (bookable) trip card */
.trip-card.signature{
  background:var(--ink-3);
  border-top:2px solid var(--rust);
}
.trip-card .price-line{
  font-family:var(--display);
  font-size:1.35rem;
  font-weight:500;
  margin-bottom:1.2rem;
}
.trip-card .price-line em{color:var(--rust);font-style:italic}
.trip-card .price-line .per{
  display:block;
  font-family:var(--body);
  font-size:0.7rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  opacity:0.6;
  margin-top:0.25rem;
  font-weight:400;
}
.trip-badge{
  position:absolute;
  top:1.1rem;right:1.1rem;
  font-size:0.6rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--rust);
  border:1px solid var(--rust);
  border-radius:99px;
  padding:0.35rem 0.75rem;
}

/* Sticky mobile booking bar */
.sticky-book{
  display:none;
}
@media (max-width:720px){
  .sticky-book{
    display:flex;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:99;
    background:rgba(10,18,25,0.97);
    border-top:1px solid var(--line-2);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    padding:0.7rem 0.9rem calc(0.7rem + env(safe-area-inset-bottom));
    gap:0.7rem;
  }
  .sticky-book a{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0.5rem;
    padding:0.95rem 0.5rem;
    font-size:0.74rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:600;
    border-radius:2px;
  }
  .sticky-book .sb-call{
    border:1px solid var(--line-2);
    color:var(--bone);
    flex:0 0 auto;
    padding-left:1.1rem;
    padding-right:1.1rem;
  }
  .sticky-book .sb-book{
    background:var(--rust);
    color:var(--bone);
  }
  footer{padding-bottom:6.5rem}
}

/* ==================== SUBPAGE LAYOUT ==================== */
.page-hero{
  position:relative;
  min-height:62vh;
  display:flex;
  align-items:flex-end;
  padding:9rem 2rem 3.5rem;
  overflow:hidden;
}
.page-hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero .hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,18,25,0.6) 0%, rgba(10,18,25,0.35) 45%, rgba(10,18,25,0.94) 92%, var(--ink) 100%);
}
.page-hero .hero-content{position:relative;z-index:2;max-width:1100px;margin:0 auto;width:100%}
.breadcrumb{
  font-size:0.68rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  opacity:0.75;
  margin-bottom:1.2rem;
  font-weight:500;
}
.breadcrumb a:hover{color:var(--rust)}
.breadcrumb span{opacity:0.5;margin:0 0.4rem}
.page-hero h1{
  font-family:var(--display);
  font-size:clamp(2.4rem,6vw,4.8rem);
  line-height:0.98;
  font-weight:400;
  letter-spacing:-0.02em;
  max-width:18ch;
  margin-bottom:1.2rem;
}
.page-hero h1 em{font-style:italic;font-weight:300;color:var(--rust)}
.page-hero .lede{
  max-width:640px;
  font-size:1.05rem;
  line-height:1.65;
  opacity:0.85;
}

.article{
  padding:5rem 2rem;
}
.article-inner{
  max-width:820px;
  margin:0 auto;
}
.article-inner h2{
  font-family:var(--display);
  font-size:clamp(1.7rem,3.2vw,2.4rem);
  font-weight:400;
  letter-spacing:-0.015em;
  margin:3rem 0 1.2rem;
  line-height:1.15;
}
.article-inner h2:first-child{margin-top:0}
.article-inner h2 em{font-style:italic;color:var(--rust);font-weight:300}
.article-inner p{
  font-size:1.02rem;
  line-height:1.75;
  opacity:0.85;
  margin-bottom:1.3rem;
}
.article-inner ul{
  margin:0 0 1.3rem 0;
  padding:0;
  list-style:none;
}
.article-inner ul li{
  font-size:0.98rem;
  line-height:1.6;
  opacity:0.85;
  padding:0.45rem 0 0.45rem 1.3rem;
  position:relative;
}
.article-inner ul li::before{
  content:'';
  position:absolute;
  left:0;top:1.05rem;
  width:5px;height:5px;
  background:var(--rust);
}
.article-inner strong{font-weight:500;color:var(--bone)}
.article-inner a{color:var(--rust);border-bottom:1px solid rgba(217,107,44,0.35)}
.article-inner a:hover{border-bottom-color:var(--rust)}

/* Fact strip on subpages */
.fact-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2px;
  background:var(--line);
  border:1px solid var(--line);
  margin:2.5rem 0;
}
.fact-strip .spec{background:var(--ink-2);padding:1.6rem 1rem}
@media (max-width:720px){.fact-strip{grid-template-columns:1fr 1fr}}

/* Season calendar table */
.season-table{
  width:100%;
  border-collapse:collapse;
  margin:2rem 0;
  font-size:0.92rem;
}
.season-table th,.season-table td{
  border:1px solid var(--line);
  padding:0.75rem 0.9rem;
  text-align:left;
  vertical-align:top;
}
.season-table th{
  font-family:var(--display);
  font-weight:500;
  font-size:1rem;
  background:var(--ink-2);
  white-space:nowrap;
}
.season-table td{opacity:0.85;line-height:1.55}
.season-table .hot{color:var(--rust);font-weight:500;opacity:1}
.table-scroll{overflow-x:auto}

/* Month availability bars (species pages) */
.month-bar{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:3px;
  margin:1.5rem 0 0.5rem;
}
.month-bar span{
  font-size:0.6rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-align:center;
  padding:0.55rem 0;
  background:var(--ink-3);
  opacity:0.55;
  border-radius:1px;
}
.month-bar span.on{
  background:var(--rust);
  color:var(--bone);
  opacity:1;
  font-weight:600;
}
.month-bar-caption{
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  opacity:0.55;
  margin-bottom:2rem;
}

/* CTA band on subpages */
.cta-band{
  background:var(--ink-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:4.5rem 2rem;
  text-align:center;
}
.cta-band h2{
  font-family:var(--display);
  font-size:clamp(1.9rem,4vw,3rem);
  font-weight:400;
  letter-spacing:-0.02em;
  margin-bottom:1rem;
}
.cta-band h2 em{font-style:italic;color:var(--rust);font-weight:300}
.cta-band p{max-width:560px;margin:0 auto 2rem;opacity:0.8;line-height:1.6}
.cta-band .hero-cta{margin-top:0}
.cta-band .cta-alt{
  display:block;
  margin-top:1.4rem;
  font-size:0.85rem;
  opacity:0.75;
}
.cta-band .cta-alt a{color:var(--rust)}

/* Related pages grid */
.related{
  padding:5rem 2rem 6rem;
}
.related-inner{max-width:1100px;margin:0 auto}
.related-inner h2{
  font-family:var(--display);
  font-size:clamp(1.7rem,3vw,2.3rem);
  font-weight:400;
  margin-bottom:2rem;
  letter-spacing:-0.015em;
}
.related-inner h2 em{font-style:italic;color:var(--rust);font-weight:300}
.related-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.related-card{
  background:var(--ink);
  padding:1.8rem 1.6rem;
  transition:background 0.3s;
  display:block;
}
.related-card:hover{background:var(--ink-3)}
.related-card .rc-label{
  font-size:0.62rem;
  letter-spacing:0.24em;
  text-transform:uppercase;
  opacity:0.55;
  font-weight:500;
  margin-bottom:0.6rem;
}
.related-card h3{
  font-family:var(--display);
  font-size:1.2rem;
  font-weight:500;
  margin-bottom:0.5rem;
  letter-spacing:-0.01em;
}
.related-card p{font-size:0.85rem;opacity:0.7;line-height:1.55}
.related-card .trip-link{margin-top:1rem}
@media (max-width:900px){.related-grid{grid-template-columns:1fr}}

/* Seasons teaser strip on home */
.seasons-teaser{
  padding:6rem 2rem;
  background:var(--ink);
  border-top:1px solid var(--line);
}
.seasons-teaser-inner{max-width:1100px;margin:0 auto;text-align:center}
.seasons-teaser h2{
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:400;
  letter-spacing:-0.02em;
  margin-bottom:1rem;
}
.seasons-teaser h2 em{font-style:italic;color:var(--rust);font-weight:300}
.seasons-teaser > .seasons-teaser-inner > p{max-width:600px;margin:0 auto 2.5rem;opacity:0.78;line-height:1.6}
.seasons-rows{
  max-width:820px;
  margin:0 auto 2.5rem;
  text-align:left;
}
.seasons-row{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:1.2rem;
  align-items:center;
  padding:0.9rem 0;
  border-bottom:1px solid var(--line);
}
.seasons-row .sr-name{
  font-family:var(--display);
  font-size:1.05rem;
  font-weight:500;
}
.seasons-row .month-bar{margin:0}
@media (max-width:720px){
  .seasons-row{grid-template-columns:1fr;gap:0.5rem}
}

/* Species links under fish cards */
.fish-card .trip-link{margin-top:1.2rem;display:inline-flex}

/* Widget wrap on subpages */
.subpage-book{
  max-width:520px;
  margin:2.5rem auto 0;
}

/* Lang switch as links (EN <-> /nl/) */
.lang-switch a{
  padding:0.2rem 0.55rem;
  border-radius:99px;
  opacity:0.55;
  transition:opacity 0.2s, background 0.2s;
  letter-spacing:0.18em;
  font-weight:500;
  font-size:0.7rem;
  text-transform:uppercase;
}
.lang-switch a.active{background:var(--rust);opacity:1;color:var(--bone)}
.lang-switch a:hover{opacity:1;color:var(--bone)}

/* ==================== BLOG ==================== */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.blog-card{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:border-color 0.3s, transform 0.3s;
}
.blog-card:hover{border-color:var(--rust);transform:translateY(-4px)}
.blog-card .bc-thumb{
  aspect-ratio:16/9;
  overflow:hidden;
  background:#000;
}
.blog-card .bc-thumb img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 0.5s;
}
.blog-card:hover .bc-thumb img{transform:scale(1.04)}
.blog-card .bc-body{
  padding:1.6rem 1.5rem 1.75rem;
  display:flex;
  flex-direction:column;
  flex-grow:1;
}
.post-meta{
  font-size:0.65rem;
  letter-spacing:0.24em;
  text-transform:uppercase;
  opacity:0.55;
  font-weight:500;
  margin-bottom:0.7rem;
}
.blog-card h3{
  font-family:var(--display);
  font-size:1.25rem;
  font-weight:500;
  line-height:1.25;
  letter-spacing:-0.01em;
  margin-bottom:0.6rem;
}
.blog-card p{
  font-size:0.88rem;
  opacity:0.72;
  line-height:1.6;
  flex-grow:1;
}
.blog-card .trip-link{margin-top:1.2rem}
@media (max-width:900px){.blog-grid{grid-template-columns:1fr}}
.page-hero .post-meta{opacity:0.8}
