/* Components */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid transparent;
  background:linear-gradient(135deg,#1f6e59,#1a5c4a 55%,#174f40);
  color:#fff;
  text-decoration:none;
  font:700 .95rem/1 var(--font-body);
  letter-spacing:.02em;
  box-shadow:0 10px 26px rgba(26,92,74,.28);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(26,92,74,.33)}

.btn-ghost{
  background:rgba(255,255,255,.04);
  color:var(--c-navy);
  border:1px solid var(--c-border-strong);
  box-shadow:none;
}
.btn-ghost:hover{background:rgba(27,45,74,.07)}

.card-grid{display:grid;gap:18px}
.info-card{
  background:linear-gradient(150deg,var(--c-surface),var(--c-surface-2));
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(26,92,74,.35)}
.info-card h3{margin-top:0;margin-bottom:9px;font-size:var(--step-1)}

.text-link{font-weight:700;color:var(--c-navy);text-decoration:none;position:relative}
.text-link::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--c-gold);opacity:.65}
.text-link:hover{color:var(--c-emerald)}

.hero-media{
  position:relative;
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.18);
  min-height:440px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:28px;
  overflow:hidden;
  box-shadow:var(--shadow-deep);
}
.img-ph{
  position:relative;
  z-index:2;
  font:600 .82rem/1.2 var(--font-body);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.95);
  border:2px dashed rgba(255,255,255,.82);
  box-shadow:inset 0 0 0 2px rgba(11,24,40,.35), 0 10px 28px rgba(8,18,31,.35);
}

.img-ph-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(8,16,30,.78);
  border:1px solid rgba(255,255,255,.48);
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
}

.cookie-banner{position:fixed;left:0;right:0;bottom:0;border-top:1px solid var(--c-border);background:rgba(253,252,249,.95);backdrop-filter:blur(12px);z-index:95}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-modal{position:fixed;inset:0;background:rgba(11,20,36,.62);display:flex;align-items:center;justify-content:center;padding:18px;z-index:99}
.cookie-modal-inner{width:min(560px,100%);background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;border:1px solid var(--c-border)}
.cookie-banner[hidden],
.cookie-modal[hidden]{display:none!important;}
.check{display:flex;gap:10px;align-items:center;margin:12px 0}

.legal-content{
  max-width:920px;
  color:var(--c-ink);
}
.legal-content .legal-updated{
  margin:0 0 24px;
  color:var(--c-muted);
}
.legal-content h2{
  margin-top:34px;
  font-size:clamp(1.18rem,2vw,1.45rem);
}
.legal-content h3{
  margin-top:24px;
  font-size:1.05rem;
}
.legal-content p,
.legal-content li{
  line-height:1.75;
}
.legal-content table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0 26px;
  overflow:hidden;
  border-radius:14px;
  background:var(--c-surface);
  box-shadow:0 0 0 1px var(--c-border);
}
.legal-content th,
.legal-content td{
  border:1px solid var(--c-border);
  padding:12px 14px;
  vertical-align:top;
  text-align:left;
}
.legal-content th{
  width:32%;
  background:rgba(27,45,74,.06);
  color:var(--c-navy);
}
.legal-content a{
  color:var(--c-emerald);
  font-weight:700;
}
.legal-content ul{
  padding-left:1.25rem;
}

@media (max-width:860px){
  .cookie-inner{display:block}
  .hero-media{min-height:350px}
  .legal-content table,
  .legal-content tbody,
  .legal-content tr,
  .legal-content th,
  .legal-content td{
    display:block;
    width:100%;
  }
  .legal-content th{
    border-bottom:0;
  }
}
