/* =========================================================
   STERK 2026 – components.css (CANONICAL / CLEAN)
   ========================================================= */


/* =========================
   NAV
   ========================= */

.site-nav{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand-logo{height:30px;width:auto;}


/* =========================
   HERO
   ========================= */

.hero{
  position:relative;
  min-height:82vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  --bs-heading-color:#fff;
}
.hero.hero-sm{min-height:60vh;}

.hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  will-change:transform;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0.10) 0%,
    rgba(0,0,0,0.40) 45%,
    rgba(0,0,0,0.75) 100%
  );
  pointer-events:none;
}

.hero-content{
  position:relative;
  z-index:2;
  width:100%;
  padding:160px 0 72px 0;
}

.hero h1{
  font-weight:650;
  margin-bottom:14px;
  text-shadow:
    0 2px 12px rgba(0,0,0,.65),
    0 0 2px rgba(0,0,0,.9);
}

.hero .lead{
  max-width:46rem;
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 10px rgba(0,0,0,.35);
}


/* =========================
   IMAGE BREAK
   ========================= */

.image-break{
  position:relative;
  min-height:44vh;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.image-break .break-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-position:center;
}

.image-break::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0.05) 0%,
    rgba(0,0,0,0.45) 70%,
    rgba(0,0,0,0.65) 100%
  );
}

.image-break .caption{
  position:relative;
  z-index:2;
  padding:24px 0;
  font-size:21px;
  font-weight:500;
  color:#fff;
  text-shadow:
    0 3px 14px rgba(0,0,0,.85),
    0 0 4px rgba(0,0,0,.95);
}


/* =========================
   REGION CARDS
   ========================= */

.region-card{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:var(--surface);
  height:100%;
  transition:transform .15s ease, box-shadow .15s ease;
}

.region-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}

.region-thumb{
  aspect-ratio:3/2;
  background-size:cover;
  background-position:center;
}

.region-body{padding:18px;}

.region-map img{
  width:100%;
  height:auto;
  background:#f5f5f5;
}


/* =========================
   BADGES / STRIPS
   ========================= */

.badge-mini{
  display:inline-block;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:12px;
  color:var(--muted);
}

.experience-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.experience-item{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  font-size:13px;
  color:var(--muted);
}


/* =====================================================
   EXPERIENCE GRID – SELECTED EXPERIENCE
   Matches HTML: .experience-grid / .exp-card / .exp-meta
   ===================================================== */

.experience-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}

/* Card */
.exp-card{
  position:relative;
  display:block;
  aspect-ratio:2 / 3;
  border-radius:10px;
  overflow:hidden;
  background:#000;
  text-decoration:none;
  color:#fff;
}

.exp-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.exp-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.45) 40%,
    rgba(0,0,0,.10) 65%
  );
  z-index:1;
}

.exp-card:hover img{
  transform:scale(1.05);
}

/* Text overlay */
.exp-meta{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:1rem;
  z-index:2;
}

.exp-meta strong{
  display:block;
  font-size:.95rem;
  font-weight:600;
  line-height:1.25;
}

.exp-meta span{
  display:block;
  font-size:.75rem;
  opacity:.85;
  margin-top:.25rem;
}


.footer-cta{
  display:inline-block;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--text);
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  transition:all .15s ease;
}

.footer-cta:hover{
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  transform:translateY(-1px);
  text-decoration:none;
}






/* =========================
   EXPERIENCE GRID – RESPONSIVE
   ========================= */

@media (max-width:1200px){
  .experience-grid{grid-template-columns:repeat(3,1fr);}
}

@media (max-width:768px){
  .experience-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:480px){
  .experience-grid{grid-template-columns:1fr;}
}


/* =========================
   FOOTER
   ========================= */

.site-footer{
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.6);
}


/* =========================
   MOBILE HERO TUNING
   ========================= */

@media (max-width:768px){
  .hero{min-height:72vh;}
  .hero::after{
    background:linear-gradient(
      180deg,
      rgba(0,0,0,0.30) 0%,
      rgba(0,0,0,0.60) 45%,
      rgba(0,0,0,0.88) 100%
    );
  }
  .hero-content{padding:72px 0 56px;}
  .hero h1{font-size:1.9rem;}
}
