/* =========================================================
   OBJ – Warm Island WOW v2 (2026)
   - Warm sand base, sea-teal accents, sun/coral highlights
   - Flow layout (less cards), waves, editorial typography
   - Keeps your existing header structure/classes
========================================================= */

@font-face{
  font-family:"Ubuntu";
  src:url("/assets/fonts/ubuntu/Ubuntu-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Ubuntu";
  src:url("/assets/fonts/ubuntu/Ubuntu-Medium.woff2") format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}


/* -----------------------------
   01) TOKENS
----------------------------- */
:root{

  /* OBJ Warm Luxe */

  --bg:#F3F1EC;          /* warmer Stein */
  --cream:#FFFDF8;

  --ink:#1A1E23;        /* edles Anthrazit */
  --muted:rgba(26,30,35,.68);
  --line:rgba(26,30,35,.10);

  /* Deep Navy (Footer / Header Dark Areas) */
  --deep:#010D26;

  /* Soft Navy (Header Light Areas / Lines) */
  --sea:#0B2A3D;
  --sea2:#061B28;

  /* Warm Gold (Akzent, Headlines, Underlines) */
  --gold:#D8B36A;

  /* Soft Copper (Hover / kleine Highlights) */
  --copper:#C9895A;

  /* Very soft sage (nur für Hintergründe, kaum sichtbar) */
  --mist:#EEF2EF;

  --radius:16px;
  --radius2:22px;

  --shadow1:0 10px 30px rgba(1,13,38,.10);
  --shadow2:0 22px 60px rgba(1,13,38,.18);
}


/* -----------------------------
   02) BASE
----------------------------- */
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:"Ubuntu", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; 
  font-weight:400;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.65;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:none; }
/* Focus ring – keyboard accessible, agency style */
:focus{ outline: none; }

:focus-visible{
  outline: 2px solid rgba(242,201,76,.85);   /* sun */
  outline-offset: 3px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.social-btn:focus-visible,
.support-link:focus-visible,
.nav-item:focus-visible{
  box-shadow: 0 0 0 4px rgba(242,140,107,.20); /* coral halo */
  border-radius: 12px;
}


.container{ max-width:1100px; margin:0 auto; padding:0 18px; }
.site-main{ min-height:60vh; }

/* Helpers */
.kicker{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: rgba(7,52,60,.70);
  margin:0 0 10px;
}
.h2{
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight:600;
  letter-spacing:.2px;
  margin:0 0 10px;
}
.lead{
  font-size:16px;
  line-height:1.9;
  color: rgba(14,27,30,.78);
  margin:0;
  max-width: 78ch;
}
.muted{ color: var(--muted); }
.small{ font-size:12px; }

/* -----------------------------
   03) HEADER (2-line)
   - removes rainbow stripe: clean
----------------------------- */
.site-header{
  position: sticky;
  top: 0;
  z-index: 10;
  background: transparent;
  border-bottom: 1px solid var(--line);
}

/* remove any old stripe */
.site-header::before{ content:none !important; }

/* TOPBAR (warm sea gradient) */
.topbar{
  background:
    linear-gradient(90deg,
      #061B28 0%,
      #0A2A3A 45%,
      #0B3A34 100%);
}
.topbar-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:44px;
  padding:8px 0;
  font-size:12px;
}
.topbar-left, .topbar-right{
  display:flex;
  align-items:center;
  gap:10px;
}
.sep{ color: rgba(255,253,248,.45); }

.topbar a, .topbar span{ color: rgba(255,255,255,.92); }
.topbar a:hover{ color:#fff; }

.top-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  color: rgba(255,253,248,.92);
}

.icon-svg{
  width:14px; height:14px;
  display:inline-flex;
  color: rgba(255,253,248,.92);
}

/* Social buttons */
.social{ display:flex; align-items:center; gap:8px; margin-left:6px; }
.social-btn{
  width:28px; height:28px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  border-color: rgba(255,255,255,.28);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.06);
  color:#fff;
}
.social-btn:hover{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.40);
}
.social-btn svg{
  width:16px;
  height:16px;
  display:block;
}
/* Juist hover – subtle, premium */
.social-btn{
  transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease, color .18s ease;
}

.social-btn:hover{
  background: rgba(242,201,76,.12);        /* sun wash */
  border-color: rgba(242,140,107,.45);      /* coral edge */
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  transform: translateY(-1px);
}

.social-btn:hover svg{
  color: rgba(255,255,255,.96);            /* keeps icon crisp on teal */
}

/* Support pill */
.support-link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 12px 5px 7px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius:999px;
  border-color: rgba(255,255,255,.38);
  background: rgba(255,255,255,.08);
  color:#fff;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.support-link:hover{
  background: linear-gradient(135deg, rgba(216,179,106,.20), rgba(201,137,90,.14));
  border-color: rgba(216,179,106,.55);
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
  transform: translateY(-1px);
}
/* kleines Extra für das Icon innen */
.support-link:hover .support-icon{
  background: rgba(255,255,255,.22);
}
.support-icon{
  width:28px; height:28px;
  border-radius:999px;
  background: rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content:center;
}
.support-icon img{
  width:15px; height:15px;
  display:block;
  filter: brightness(0) invert(1);
}

/* MAINBAR */
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:54px;
  padding:10px 0;
  background: rgba(255,253,248,.70);
  backdrop-filter: blur(8px);
}
.brand img{
  display:block;
  width:68px;
  height:68px;
  border-radius: 16px;
  box-shadow: var(--shadow1);
}

/* NAV */
.nav{
  display:flex;
  align-items:center;
  padding-right:16px;
}
.nav-item{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:18px;
  font-size:12px;
  font-weight:500;
  color: rgba(7,52,60,.72);
  letter-spacing:.12px;
  position:relative;
  padding:8px 0;
}
.nav-item img{
  width:15px; height:15px;
  display:block;
  filter:none !important;
  opacity:1 !important;
}
.nav-item:hover{ color: rgba(7,52,60,.95); }

.nav-item.is-active{
  color: rgba(7,52,60,.95);
}
.nav-item.is-active::after{
  content:"";
  position:absolute;
  left:0; right:0;
  bottom:0px;
  height:2px;
  border-radius:2px;
  background: linear-gradient(90deg, var(--mint), rgba(159,227,211,.35));
}
/* Nav hover – subtle sun underline */
.nav-item{
  transition: color .18s ease;
}

.nav-item::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--gold),var(--copper));
  opacity:0;
  transform: scaleX(.4);
  transform-origin:left;
  transition: opacity .18s ease, transform .18s ease;
}

.nav-item:hover{
  color: rgba(7,52,60,.95);
}

.nav-item:hover::after{
  opacity:.9;
  transform: scaleX(1);
}

/* Active bleibt wie gehabt grünlich/mint – wir lassen das bewusst */

/* -----------------------------
   04) HERO WOW (no card, alive)
----------------------------- */
.hero-wow{
  position:relative;
  min-height: 62vh;
  display:flex;
  align-items:center;
  padding: 86px 0 72px;
  border-bottom: 1px solid var(--line);

  background-image:url("/assets/img/hero-juist-blur.webp");
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 28%;
}

/* Soft contrast overlay (warm) */
.hero-wow::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,
      rgba(44,53,50,.42) 0%,
      rgba(15,100,102,.22) 48%,
      rgba(44,53,50,.38) 100%);
}

/* Warm sun vignette (subtle) */
.hero-wow::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 55% 18%,
      rgba(255,203,154,.22) 0%,
      rgba(216,176,140,.14) 32%,
      rgba(216,176,140,0) 70%);
}
@media (min-width: 1600px){
  .hero-wow{
    min-height: 66vh;
    background-position: center 22%;
  }
}

@media (max-width: 900px){
  .hero-wow::before{
    background:
      linear-gradient(180deg,
        rgba(7,52,60,.22) 0%,
        rgba(7,52,60,.10) 48%,
        rgba(7,52,60,.18) 100%);
  }
  .hero-wow::after{
    background:
      radial-gradient(820px 380px at 55% 18%,
        rgba(242,201,76,.12) 0%,
        rgba(242,140,107,.06) 32%,
        rgba(242,140,107,0) 70%);
  }
}
/* Content */
.hero-wow-inner{
  position:relative;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.hero-title{
  margin:0 0 14px;
  font-size: clamp(34px, 3.8vw, 54px);
  font-weight:700;
  letter-spacing:.35px;
  background: linear-gradient(180deg,
    rgba(255,253,248,.98) 0%,
    rgba(242,201,76,.92) 52%,
    rgba(255,253,248,.96) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color:var(--gold);
  text-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.hero-sub{
  margin:0;
  max-width: 64ch;
  font-size: 18px;
  line-height: 1.85;
  font-weight:500;
  color: rgba(255,253,248,.90);
  text-shadow: 0 18px 50px rgba(0,0,0,.28);
}

/* Tiny “spark” underline */
.hero-underline{
  margin-top:18px;
  width:84px;
  height:3px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--sun), rgba(242,140,107,.75));
  box-shadow: 0 10px 30px rgba(242,140,107,.25);
}

/* -----------------------------
   05) SECTIONS (flow, not tiles)
----------------------------- */
.section{
  padding: 66px 0;
}
.welcome-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 40px;
  align-items:start;
}

@media(max-width:900px){
  .welcome-grid{grid-template-columns:1fr;}
}

.welcome-text p{
  max-width:52ch;
}

.welcome-note{
  background:rgba(255,255,255,.55);
  border-radius:var(--radius2);
  padding:26px 28px;
  box-shadow:var(--shadow1);
}

.note-title{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:8px;
  font-weight:700;
}

/* Warm cream bands for contrast */
.section.band{
  background: var(--cream);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

/* Wave divider (subtle, lively) */
.section.wave{
  position:relative;
  background: var(--cream);
}

/* Split layout (more alive than cards) */
.split{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 26px;
  align-items:start;
}
@media (max-width: 900px){
  .split{ grid-template-columns:1fr; }
}
/* Modern services grid (no cards) */
.service-grid{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 900px){
  .service-grid{ grid-template-columns:1fr; }
}

.service-item{
  display:flex;
  align-items:center;
  gap: 14px;
  padding: 16px 16px;
  border-radius: var(--radius2);
  border: 1px solid rgba(26,30,35,.10);
  background: rgba(255,253,248,.82);
  box-shadow: var(--shadow1);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.service-item:hover{
  transform: translateY(-2px);
  border-color: rgba(216,179,106,.45);
  box-shadow: var(--shadow2);
  background: rgba(255,253,248,.92);
}

.service-icon{
  width:44px;
  height:44px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, rgba(216,179,106,.18), rgba(201,137,90,.10));
  flex: 0 0 auto;
}

.service-icon img{
  width:18px;
  height:18px;
  display:block;
  filter: none;
  opacity: .95;
}

.service-dot{
  width:10px; height:10px;
  border-radius:999px;
  background: var(--gold);
  box-shadow: 0 0 0 6px rgba(216,179,106,.18);
}

.service-body{ min-width:0; }
.service-title{
  font-weight:700;
  color: rgba(1,13,38,.92);
  letter-spacing:.2px;
}
.service-text{
  margin-top:4px;
  font-size:13px;
  line-height:1.7;
  color: rgba(26,30,35,.70);
}

.service-arrow{
  margin-left:auto;
  font-size:12px;
  color: rgba(1,13,38,.55);
}

/* Feature list (no cards) */
.feature-list{
  margin: 18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.feature-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding: 14px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,253,248,.78);
  box-shadow: var(--shadow1);
}
.fi-ico{
  width:34px; height:34px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, rgba(242,201,76,.22), rgba(242,140,107,.14));
  color: rgba(7,52,60,.95);
  flex: 0 0 auto;
}
.fi-ico svg{ width:18px; height:18px; display:block; }
.fi-title{ font-weight:650; margin:0 0 4px; }
.fi-text{ margin:0; color: rgba(14,27,30,.78); font-size:14.5px; line-height:1.75; }

/* Statement “WOW” block */
.statement{
  padding: 28px 22px;
  border-radius: var(--radius2);
  background:
    linear-gradient(135deg, rgba(14,77,90,.10), rgba(242,201,76,.12));
  border: 1px solid var(--line);
  box-shadow: var(--shadow2);
}
.statement .kicker{ margin-bottom:12px; }
.statement p{
  margin:0;
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight:650;
  line-height:1.55;
  color: rgba(7,52,60,.95);
}

/* Dashboard strip (not a card grid) */
.dashboard-strip{
  margin-top: 18px;
  padding: 18px 18px;
  border-radius: var(--radius2);
  border: 1px solid var(--line);
  background: rgba(255,253,248,.85);
  box-shadow: var(--shadow2);
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 900px){
  .dashboard-strip{ grid-template-columns:1fr; }
}
.kpi{
  padding: 14px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.55));
  border: 1px solid rgba(14,77,90,.10);
}
.kpi .label{
  font-size:12px;
  color: rgba(14,27,30,.65);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 8px;
}
.kpi .value{
  font-size:18px;
  font-weight:700;
  color: rgba(7,52,60,.95);
  margin:0;
}

/* Concierge host vibe */
.host-band{
  margin-top: 18px;
  padding: 22px 20px;
  border-radius: var(--radius2);
  background:
    radial-gradient(520px 240px at 18% 20%, rgba(242,140,107,.18), transparent 62%),
    radial-gradient(520px 240px at 88% 30%, rgba(159,227,211,.18), transparent 62%),
    rgba(255,253,248,.86);
  border: 1px solid var(--line);
  box-shadow: var(--shadow2);
}
.host-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(14,27,30,.78);
  line-height: 1.9;
}
.host-cta{
  display:inline-flex;
  margin-top: 14px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(7,52,60,.95);
  border-bottom: 2px solid rgba(242,201,76,.65);
  padding-bottom: 3px;
}
.host-cta:hover{ border-bottom-color: rgba(242,140,107,.75); }

/* -----------------------------
   06) FOOTER
----------------------------- */
/* =========================
   FOOTER (quiet, 2 rows)
========================= */

.site-footer{
  margin-top:44px;
  padding:40px 0 18px;
  background:
    linear-gradient(180deg,#010D26,#020F2B);
  color:rgba(255,255,255,.88);
}
.site-footer a{
  color:rgba(255,255,255,.82);
}

.site-footer a:hover{
  color:var(--gold);
}

.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.2fr;
  gap: 26px;
  padding-bottom: 18px;
}

@media (max-width: 980px){
  .footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .footer-grid{ grid-template-columns: 1fr; }
}

.footer-h{
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 10px;
  font-weight: 700;
}

.footer-p{
  font-size: 12px;
  line-height: 1.7;
  color: rgba(14,27,30,.72);
  margin: 0 0 10px;
}

.footer-p strong{
  color: rgba(7,52,60,.95);
  font-weight: 700;
}

.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap: 8px;
}

.footer-links a{
  font-size: 12px;
  color: rgba(14,27,30,.70);
}

.footer-links a:hover{
  color: rgba(7,52,60,.95);
}

/* Social icons */
.footer-social{
  display:flex;
  gap:10px;
  margin-top: 12px;
}

.footer-social-btn{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(7,52,60,.18);
  background: rgba(255,255,255,.55);
  color: rgba(7,52,60,.88);
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.footer-social-btn svg{
  width:16px;
  height:16px;
  display:block;
}

.footer-social-btn:hover{
  transform: translateY(-1px);
  background: rgba(242,201,76,.14);
  border-color: rgba(242,140,107,.28);
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
}

/* Bottom row (9px) */
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.18);
  padding-top: 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
  flex-wrap: wrap;
}

.footer-copy,
.footer-legal{
  font-size: 9px;
  letter-spacing: .04em;
  color: rgba(255,253,248,.70);
}

.footer-legal a{
  color: rgba(14,27,30,.62);
}

.footer-legal a:hover{
  color: rgba(7,52,60,.95);
}

.footer-dot{
  padding: 0 6px;
  color: rgba(14,27,30,.40);
}
/* Mini Claim */
.footer-claim{
  display:block;
  font-size:11px;
  margin:4px 0 10px;
  color: rgba(255,253,248,.78);
  letter-spacing:.04em;
}
/* -----------------------------
   07) RESPONSIVE
----------------------------- */
@media (max-width: 820px){
  .topbar{ display:none; }
  .brand img{ width:60px; height:60px; }
  .nav{ padding-right:0; }
  .nav-item{ margin-left:12px; }
  .hero-wow{ padding:64px 0 56px; min-height:56vh; }
}
