/* =====================================================================
   SEACOLORS — MODERN THEME
   Ein eigenständiges Layer, das nach style.css geladen wird und die
   Startseite in ein modernes, auf Buchungen ausgerichtetes Design bringt.
   Grundidee: "Tiefes Atlantik-Blau trifft warmes Leuchtturm-Gold" —
   Meeresforschung (kühl, seriös, dunkelblau) + der Nervenkitzel der
   Begegnung mit dem Wal (warm, einladend, golden), dazu ein Sonar-Ping
   als wiederkehrendes Signaturelement (Anspielung auf die Echoortung
   der Wale / die akustische Forschung von SeaColors).
   ===================================================================== */

:root{
  --sc-navy-950:#04101d;
  --sc-navy-900:#082036;
  --sc-navy-800:#0d3358;
  --sc-teal-600:#1c6e83;
  --sc-foam-400:#8fd4ce;
  --sc-gold-500:#ffa019;
  --sc-gold-600:#e88a08;
  --sc-sand-100:#f6f1e6;
  --sc-sand-200:#eee2c8;
  --sc-ink-900:#101820;
  --sc-ink-600:#42525c;

  --sc-font-display:'Fraunces', 'Georgia', serif;
  --sc-font-body:'Inter', 'Lato', sans-serif;
  --sc-font-brand:'Multicolore', var(--sc-font-display);

  --sc-radius:10px;
  --sc-shadow-soft:0 25px 60px -30px rgba(4,16,29,.55);
  --sc-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Grundierung ---------- */
html{ scroll-behavior:smooth; }

body{
  font-family:var(--sc-font-body);
}

.sc-heading,
.hero-overlay h1,
.sc-philosophy-content h2,
.sc-cta-banner h2,
.sc-highlight-card h3,
.contact .section-header h2,
#data4 .section-header h2,
.streifen .section-header h2{
  font-family:var(--sc-font-display) !important;
  font-weight:600;
  letter-spacing:-.01em;
}

.sc-container{
  width:100%;
  max-width:1220px;
  margin:0 auto;
  padding:0 24px;
}

.sc-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.65em;
  font-family:var(--sc-font-body);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--sc-gold-500);
  margin-bottom:1.1rem;
}
.sc-eyebrow::before{
  content:"";
  width:30px;
  height:1px;
  background:var(--sc-gold-500);
}
.sc-eyebrow.sc-eyebrow-light{ color:var(--sc-teal-600); }

/* ---------- Buttons ---------- */
.btn-sc{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65em;
  padding:1.05rem 2.2rem;
  font-family:var(--sc-font-body);
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:var(--sc-radius);
  text-decoration:none;
  white-space:nowrap;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .35s var(--sc-ease), box-shadow .35s var(--sc-ease),
             background-color .35s var(--sc-ease), color .35s var(--sc-ease),
             border-color .35s var(--sc-ease);
}
.btn-sc-primary{
  background:var(--sc-gold-500);
  color:var(--sc-navy-950);
  box-shadow:0 16px 30px -14px rgba(255,160,25,.65);
}
.btn-sc-primary:hover,
.btn-sc-primary:focus{
  background:var(--sc-gold-600);
  color:var(--sc-navy-950);
  transform:translateY(-3px);
  box-shadow:0 20px 36px -12px rgba(255,160,25,.7);
  text-decoration:none;
}
.btn-sc-ghost{
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:rgba(255,255,255,.55);
  backdrop-filter:blur(6px);
}
.btn-sc-ghost:hover,
.btn-sc-ghost:focus{
  background:rgba(255,255,255,.16);
  border-color:#fff;
  color:#fff;
  transform:translateY(-3px);
  text-decoration:none;
}
.btn-sc-dark{
  background:var(--sc-navy-950);
  color:#fff;
}
.btn-sc-dark:hover{
  background:var(--sc-teal-600);
  color:#fff;
  transform:translateY(-3px);
  text-decoration:none;
}
.btn-sc-block{ width:100%; }

/* ---------- Top bar ---------- */
.top-bar{
  background-image:linear-gradient(to right, var(--sc-navy-900), var(--sc-navy-950)) !important;
}
.top-bar .social a:hover{
  color:var(--sc-navy-950) !important;
  background:var(--sc-gold-500) !important;
}

/* ---------- Navbar ---------- */
.navbar{
  background:transparent !important;
  transition:background .45s var(--sc-ease), box-shadow .45s var(--sc-ease), padding .35s var(--sc-ease);
}
.navbar .navbar-brand{
  display:inline-flex;
  align-items:center;
  gap:.55em;
}
.sc-brand-mark{
  flex:none;
  height:1em;
  width:auto;
  display:block;
}
.sc-brand-word{
  font-family:var(--sc-font-brand);
  font-weight:400;
  background:linear-gradient(90deg, var(--sc-gold-500) 0%, var(--sc-gold-600) 25%, var(--sc-foam-400) 55%, var(--sc-teal-600) 80%, var(--sc-gold-500) 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.sc-brand-word b{ font-weight:700; }

.navbar-nav .sc-nav-cta{
  background:var(--sc-gold-500) !important;
  color:var(--sc-navy-950) !important;
  border-radius:6px;
  padding:8px 20px !important;
  font-weight:700;
  margin-left:10px;
}
.navbar-nav .sc-nav-cta:hover{
  background:var(--sc-gold-600) !important;
  color:var(--sc-navy-950) !important;
}
@media (max-width:991.98px){
  .navbar-nav .sc-nav-cta{
    margin-left:0;
    margin-top:8px;
    display:inline-block;
    text-align:center;
  }
}

.navbar.nav-sticky,
.navbar.sc-scrolled{
  background:rgba(4,16,29,.86) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 12px 30px -18px rgba(0,0,0,.6);
}

@media (max-width:991.98px){
  .navbar,
  .navbar.nav-sticky,
  .navbar.sc-scrolled{
    background:var(--sc-navy-950) !important;
  }
}

/* ---------- Hero ---------- */
.hero-video{ background-color:var(--sc-navy-950); }

.hero-overlay{
  background:linear-gradient(
    185deg,
    rgba(4,16,29,.35) 0%,
    rgba(4,16,29,.35) 45%,
    rgba(4,16,29,.75) 100%
  );
  padding:0 20px;
}

.sc-hero-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:900px;
}

.hero-overlay .sc-eyebrow{ color:var(--sc-gold-500); }

.hero-overlay h1{
  font-size:clamp(2.4rem, 2.2vw + 2.2rem, 5.6rem) !important;
  letter-spacing:-.01em !important;
  min-height:1.15em;
}

/* SeaColors-Markenschrift MULTICOLORE für den Hero-Titel */
#hero-title.sc-hero-fade{
  font-family:var(--sc-font-brand) !important;
  font-weight:400;
  background:linear-gradient(90deg, var(--sc-gold-500) 0%, var(--sc-gold-600) 25%, var(--sc-foam-400) 55%, var(--sc-teal-600) 80%, var(--sc-gold-500) 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.hero-overlay p{
  font-family:var(--sc-font-body) !important;
  font-size:clamp(1rem, .5vw + .9rem, 1.3rem) !important;
  font-weight:400;
  letter-spacing:.14em !important;
  text-transform:uppercase;
  color:#e8eff3;
  max-width:46ch;
}

.sc-hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  justify-content:center;
  margin-top:2.6rem;
}

.sc-hero-fade{
  transition:opacity .5s ease;
}
.sc-hero-fade.sc-fade-out{ opacity:0; }

/* Sonar-Scroll-Cue */
.sc-scroll-cue{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  width:44px;
  height:44px;
  z-index:3;
  cursor:pointer;
}
.sc-scroll-cue .sc-ping{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  animation:sc-sonar 2.6s ease-out infinite;
}
.sc-scroll-cue .sc-ping.sc-ping-delay{ animation-delay:1s; }
.sc-scroll-cue .sc-dot{
  position:absolute;
  top:50%; left:50%;
  width:8px; height:8px;
  margin:-4px 0 0 -4px;
  border-radius:50%;
  background:var(--sc-gold-500);
  box-shadow:0 0 14px 3px rgba(255,160,25,.75);
}
@keyframes sc-sonar{
  0%{ transform:scale(.25); opacity:.9; }
  100%{ transform:scale(1.7); opacity:0; }
}

/* ---------- Trust / Highlight Strip ---------- */
.sc-highlights{
  background:var(--sc-navy-950);
  padding:clamp(3rem,6vw,5rem) 0;
  position:relative;
}
.sc-highlight-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
@media (max-width:991.98px){
  .sc-highlight-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:575.98px){
  .sc-highlight-grid{ grid-template-columns:1fr; }
}
.sc-highlight-card{
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.09);
  border-radius:var(--sc-radius);
  padding:2rem 1.7rem;
  transition:transform .4s var(--sc-ease), border-color .4s var(--sc-ease);
}
.sc-highlight-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,160,25,.4);
}
.sc-highlight-card .sc-icon{
  width:52px; height:52px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,160,25,.14);
  color:var(--sc-gold-500);
  font-size:1.3rem;
  margin-bottom:1.3rem;
}
.sc-highlight-card h3{
  font-size:1.2rem;
  color:#fff;
  margin-bottom:.6rem;
}
.sc-highlight-card p{
  font-size:.94rem;
  line-height:1.65;
  color:#a9bac6;
  margin:0;
}

/* ---------- Philosophy / Ocean Challenge (Hwhale) ---------- */
.Hwhale{ position:relative; overflow:hidden; }
.sc-scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, rgba(4,16,29,.94) 0%, rgba(4,16,29,.82) 42%, rgba(4,16,29,.35) 100%);
  z-index:1;
}
.Hwhale .streifen{ position:relative; z-index:2; }
.sc-philosophy-content{ max-width:600px; }
.sc-philosophy-content h2{
  font-size:clamp(2rem,3.2vw,3.1rem) !important;
  color:#fff;
  margin-bottom:1.3rem;
}
.sc-philosophy-content p{
  font-size:1.05rem;
  line-height:1.85;
}
.sc-philosophy-content .Abstandblau{
  background:rgba(8,32,54,.55);
  backdrop-filter:blur(4px);
}

/* ---------- Long Term Scientific Data ---------- */
#data4{ background:var(--sc-sand-100); }
#data4 .streifen{ background:transparent; padding-top:clamp(3.5rem,7vw,6rem); padding-bottom:clamp(3rem,6vw,5rem); }
#data4 .section-header h2{
  font-size:clamp(1.9rem,2.6vw,2.8rem) !important;
  color:var(--sc-navy-900);
}
.sc-prose{ max-width:72ch; }
.sc-prose p{
  color:var(--sc-ink-600);
  line-height:1.85;
  font-size:1rem;
}

.sc-data-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.3rem;
  margin:2.6rem 0;
}
@media (max-width:767.98px){
  .sc-data-grid{ grid-template-columns:1fr; }
}
.sc-data-item{
  background:#fff;
  border:1px solid rgba(9,42,73,.08);
  border-radius:var(--sc-radius);
  padding:1.6rem 1.7rem;
  display:flex;
  gap:1rem;
  align-items:flex-start;
  box-shadow:var(--sc-shadow-soft);
}
.sc-data-item .sc-data-icon{
  flex:none;
  width:42px; height:42px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(28,110,131,.1);
  color:var(--sc-teal-600);
}
.sc-data-item h4{
  font-family:var(--sc-font-display);
  font-size:1.05rem;
  margin:0 0 .35rem;
  color:var(--sc-navy-900);
}
.sc-data-item p{
  margin:0;
  font-size:.9rem;
  color:var(--sc-ink-600);
  line-height:1.6;
}

.sc-field-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.1rem;
  margin-top:1rem;
}
@media (max-width:767.98px){
  .sc-field-gallery{ grid-template-columns:1fr; }
}
.sc-field-gallery figure{
  margin:0;
  border-radius:var(--sc-radius);
  overflow:hidden;
  box-shadow:var(--sc-shadow-soft);
  background:#fff;
}
.sc-field-gallery img{ width:100%; display:block; }
.sc-field-gallery figcaption{
  padding:.9rem 1.1rem;
  font-size:.82rem;
  color:var(--sc-ink-600);
  letter-spacing:.03em;
}

/* ---------- Photo ID / Acoustic (berni2) ---------- */
.berni2{ position:relative; overflow:hidden; }
.sc-acoustic-content{ max-width:620px; }
.sc-acoustic-content h2{
  font-size:clamp(2rem,3.2vw,3rem) !important;
  color:#fff;
  margin-bottom:1.2rem;
}
.sc-acoustic-content p{ font-size:1.02rem; line-height:1.8; }
.sc-acoustic-content .btn-sc{ margin-top:1rem; }

/* ---------- Social feed wrapper ---------- */
.sc-social-feed{
  background:#fff;
  padding-bottom:2.5rem;
}

/* ---------- CTA-Banner ---------- */
.sc-cta-banner{
  background:radial-gradient(120% 180% at 15% -20%, var(--sc-teal-600) 0%, var(--sc-navy-950) 55%);
  padding:clamp(3.6rem,7vw,6rem) 0;
  text-align:center;
  color:#fff;
}
.sc-cta-banner h2{
  font-size:clamp(2rem,4vw,3.3rem) !important;
  margin-bottom:1.1rem;
}
.sc-cta-banner p{
  font-size:1.05rem;
  color:#d6e6ec;
  max-width:54ch;
  margin:0 auto 2.3rem;
  line-height:1.7;
}
.sc-cta-banner .sc-hero-ctas{ margin-top:0; }

/* ---------- Contact ---------- */
.contact{
  position:relative;
}
.contact::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(4,16,29,.88), rgba(4,16,29,.82));
}
.contact .sc-container,
.contact .container{ position:relative; z-index:1; }
.contact .section-header p{
  font-family:var(--sc-font-body);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--sc-gold-500);
}
.contact .section-header h2{
  color:#fff;
  font-size:clamp(1.9rem,2.8vw,2.7rem) !important;
}
.contact .contact-info{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--sc-radius);
  backdrop-filter:blur(4px);
}
.contact .contact-icon{
  background:rgba(255,160,25,.14);
  border:none;
  border-radius:50%;
}
.contact .contact-icon i{ color:var(--sc-gold-500); }
.contact .contact-text h3{ color:#fff; }
.contact .contact-text p{ color:#c3d2db; }

.contact .contact-form{
  background:var(--sc-sand-100);
  border:none;
  border-radius:16px;
  padding:2.4rem;
  box-shadow:var(--sc-shadow-soft);
}
.contact .contact-form input,
.contact .contact-form textarea{
  background:#fff;
  border:1px solid rgba(9,42,73,.12);
  border-radius:8px;
  font-family:var(--sc-font-body);
}
.contact .contact-form input:focus,
.contact .contact-form textarea:focus{
  outline:none;
  border-color:var(--sc-gold-500);
  box-shadow:0 0 0 3px rgba(255,160,25,.2);
}
.contact .contact-form .btn{
  border-radius:8px;
  border-color:var(--sc-navy-950);
  color:var(--sc-navy-950);
  font-family:var(--sc-font-body);
  width:100%;
}
.contact .contact-form .btn:hover{
  background:var(--sc-navy-950);
  border-color:var(--sc-navy-950);
  color:#fff;
}

@media (max-width:575.98px){
  .contact .contact-form{ padding:1.5rem; }
}

/* ---------- Footer ---------- */
.footer{ background:var(--sc-navy-950) !important; }
.footer h2{ color:#fff !important; font-family:var(--sc-font-display); }
.footer p, .footer a{ color:#a9bac6; }
.footer .footer-newsletter .form .btn,
.footer .footer-link a:hover,
.footer .footer-contact a:hover{ color:var(--sc-gold-500) !important; }
.footer .footer-newsletter .form .btn{ background:var(--sc-gold-500) !important; color:var(--sc-navy-950) !important; }

/* ---------- Reveal-on-scroll ---------- */
.sc-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--sc-ease), transform .8s var(--sc-ease);
}
.sc-reveal.sc-visible{
  opacity:1;
  transform:none;
}

/* ---------- Sticky mobile booking bar ---------- */
.sc-mobile-bar{
  display:none;
}
@media (max-width:767.98px){
  .sc-mobile-bar{
    display:flex;
    position:fixed;
    left:0; right:0; bottom:0;
    z-index:1050;
    background:var(--sc-navy-950);
    border-top:1px solid rgba(255,255,255,.12);
    padding:.65rem .75rem;
    gap:.6rem;
    box-shadow:0 -12px 30px -18px rgba(0,0,0,.6);
  }
  .sc-mobile-bar a{
    flex:1;
  }
  .sc-mobile-bar .btn-sc{
    padding:.85rem 1rem;
    font-size:.78rem;
  }
  .sc-mobile-bar .btn-sc-call{
    flex:0 0 52px;
    padding:.85rem 0;
  }
  /* Platz am Seitenende lassen, damit der Footer nicht verdeckt wird */
  body{ padding-bottom:74px; }
}

/* ---------- Reduzierte Bewegung respektieren ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .sc-reveal{ opacity:1; transform:none; transition:none; }
  .sc-scroll-cue .sc-ping{ animation:none; display:none; }
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
