/* ============================================================
   Cruz Adventures — Luxury Travel
   Shared design system. Linked by index.html and groups.html.
   Palette: ocean navy → teal → sea glass. No red.
   Marks: 05 ligature (primary lockup) · 02 disc (icon/favicon)
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#08202D;
  --navy:#0B2C3D;
  --navy-2:#113D53;
  --navy-3:#17506B;
  --teal:#2A9DB8;
  --teal-d:#1B7B95;
  --sea:#5FC9D6;
  --sky:#A8E6EE;
  --paper:#F5FAFB;
  --paper-2:#E7F2F5;
  --text:#EAF6F9;
  --muted:#93B6C6;
  --muted-2:#6E93A5;
  --line:rgba(95,201,214,.20);
  --line-2:rgba(234,246,249,.12);
  --ink-text:#08202D;
  --ink-muted:#4C6C7C;
}

html{scroll-behavior:smooth}
body{
  background:var(--navy);color:var(--text);line-height:1.6;
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}

.display{font-family:'Poppins','Archivo',sans-serif;font-weight:800;letter-spacing:-.03em;line-height:.98}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
section{padding:92px 0;position:relative}

h1.display{font-size:clamp(2.9rem,7vw,5.2rem)}
h2.display{font-size:clamp(2.1rem,4.6vw,3.5rem)}
h3{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.22rem;letter-spacing:-.015em}

.kick{
  display:inline-block;font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--sea);margin-bottom:16px;
}
.lead{font-size:clamp(1rem,1.7vw,1.18rem);color:var(--muted);max-width:60ch}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:.95rem;
  padding:15px 30px;border-radius:100px;border:0;cursor:pointer;
  background:var(--teal);color:#fff;transition:transform .16s,background .16s;
}
.btn:hover{background:var(--teal-d);transform:translateY(-2px)}
.btn.ink{background:var(--ink);color:#fff}
.btn.ink:hover{background:#04141d}
.btn.ghost{background:transparent;border:2px solid var(--line);color:var(--text)}
.btn.ghost:hover{background:rgba(95,201,214,.12);border-color:var(--sea)}
.btn.light{background:#fff;color:var(--ink-text)}
.btn.light:hover{background:var(--paper-2)}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:15px 24px;background:rgba(8,32,45,.9);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-2);
}
.mark{display:flex;align-items:center;gap:11px}
.mark .sig{height:38px;width:auto;flex:0 0 auto}
.mark .t{display:block;font-family:'Poppins',sans-serif;font-size:1.06rem;font-weight:800;letter-spacing:.01em;line-height:1;color:#fff;text-transform:uppercase}
.mark .t i{font-style:normal;font-weight:500;color:var(--sea);letter-spacing:.02em}
.mark .s{display:block;font-size:7.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted-2);margin-top:6px;font-weight:600}
.nav .links{display:flex;gap:28px;font-family:'Poppins',sans-serif;font-size:.92rem;font-weight:600;color:var(--muted)}
.nav .links a:hover{color:var(--sea)}
@media(max-width:900px){.nav .links{display:none}}
.nav .btn{padding:11px 22px;font-size:.86rem}

/* ---------- hero ---------- */
.hero{
  padding:96px 0 110px;position:relative;overflow:hidden;
  background:
    radial-gradient(90% 120% at 82% -10%, #2A9DB8 0%, rgba(42,157,184,0) 55%),
    linear-gradient(165deg,#0B2C3D 0%,#08202D 60%,#071C27 100%);
}
.hero .wavebase{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:110px;pointer-events:none}
.hero-in{position:relative;z-index:2;max-width:820px}
.hero h1 span{color:var(--sea);display:block}
.hero .lead{margin-top:22px;color:#C3DEE7}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.hero .note{margin-top:24px;font-size:.86rem;color:var(--muted-2)}

/* ---------- credential strip ---------- */
.creds{background:var(--ink);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:0}
.creds .wrap{display:flex;flex-wrap:wrap;padding:0 24px}
.cred{flex:1 1 190px;padding:26px 22px;border-right:1px solid var(--line-2)}
.cred:last-child{border-right:0}
.cred .n{font-family:'Poppins',sans-serif;font-size:1.55rem;font-weight:800;color:var(--sea);letter-spacing:-.03em}
.cred .l{font-size:.8rem;color:var(--muted);margin-top:5px;line-height:1.45}

/* ---------- light section ---------- */
.light{background:var(--paper);color:var(--ink-text)}
.light .lead{color:var(--ink-muted)}
.light .kick{color:var(--teal-d)}

/* ---------- feature grid ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
@media(max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.grid3{grid-template-columns:1fr}}
.card{
  background:var(--navy-2);border:1px solid var(--line-2);border-radius:20px;padding:28px 26px;
  transition:transform .18s,border-color .18s;
}
.card:hover{transform:translateY(-4px);border-color:var(--sea)}
.light .card{background:#fff;border-color:rgba(8,32,45,.09);box-shadow:0 2px 18px -10px rgba(8,32,45,.2)}
.card .ic{width:46px;height:46px;border-radius:14px;background:rgba(95,201,214,.14);
  display:grid;place-items:center;margin-bottom:18px}
.card .ic svg{width:24px;height:24px;fill:none;stroke:var(--sea);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.light .card .ic{background:rgba(42,157,184,.12)}
.light .card .ic svg{stroke:var(--teal-d)}
.card h3{margin-bottom:9px}
.card p{font-size:.94rem;color:var(--muted)}
.light .card p{color:var(--ink-muted)}

/* ---------- big CTA band ---------- */
.band{
  background:linear-gradient(120deg,var(--teal) 0%,#33AFC6 45%,var(--sea) 100%);
  color:var(--ink-text);padding:66px 0;position:relative;overflow:hidden;
}
.band h2{color:#04222E}
.band p{font-size:1.05rem;color:#0A3B4A;margin-top:14px;max-width:52ch}
.band .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* ---------- footer ---------- */
footer{background:var(--ink);border-top:1px solid var(--line-2);padding:52px 0 40px;font-size:.88rem;color:var(--muted-2)}
footer .cols{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
footer a:hover{color:var(--sea)}
footer .fine{font-size:.74rem;color:#4E7183;margin-top:20px;max-width:86ch;line-height:1.6}
footer .navlinks{display:flex;flex-direction:column;gap:7px;text-align:right}
@media(max-width:640px){footer .navlinks{text-align:left}}
