/* ============================================
   KRAFT SEGUROS — Design System
   ============================================ */
:root{
  --navy-950:#0B1626;
  --navy-900:#0F1E36;
  --navy-800:#142B4A;
  --navy-700:#1D3A63;
  --navy-600:#2A4D80;
  --gold-500:#C89B4D;
  --gold-300:#E3C486;
  --gold-100:#F5E9D1;
  --paper:#F7F6F2;
  --paper-dim:#ECE9E1;
  --ink:#151A22;
  --ink-dim:#5B6472;
  --ok:#3E7A55;
  --danger:#B4443B;
  --shadow-lg: 0 20px 60px rgba(11,22,38,0.16);
  --shadow-sm: 0 4px 16px rgba(11,22,38,0.08);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.hidden{display:none !important;}
.container{max-width:1180px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .container{padding:0 20px;} }

h1,h2,h3,h4{
  font-family:'Oswald',sans-serif;
  font-weight:600;
  color:var(--navy-950);
  line-height:1.15;
}
.eyebrow{
  font-size:12px; letter-spacing:3px; text-transform:uppercase;
  color:var(--gold-500); font-weight:600; margin-bottom:12px; display:block;
}
.section-title{font-size:clamp(28px,4vw,42px); margin-bottom:18px;}
.lead{font-size:17px; color:var(--ink-dim); max-width:620px;}

.rule-gold{width:64px; height:3px; background:var(--gold-500); margin-bottom:20px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:6px;
  font-weight:600; font-size:14px; letter-spacing:0.3px;
  border:none; cursor:pointer; transition:all .18s;
}
.btn-primary{background:var(--navy-800); color:#fff;}
.btn-primary:hover{background:var(--navy-700); transform:translateY(-1px);}
.btn-gold{background:var(--gold-500); color:var(--navy-950);}
.btn-gold:hover{background:var(--gold-300); transform:translateY(-1px);}
.btn-outline{background:transparent; border:1.5px solid rgba(255,255,255,0.4); color:#fff;}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,0.08);}
.btn-outline-dark{background:transparent; border:1.5px solid #D8D5CC; color:var(--ink);}
.btn-outline-dark:hover{border-color:var(--navy-700);}

/* ---------- Navbar ---------- */
.navbar{
  position:sticky; top:0; z-index:100;
  background:rgba(11,22,38,0.96);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.navbar .container{display:flex; align-items:center; justify-content:space-between; height:76px;}
.navbar .logo img{height:32px; width:auto;}
.navbar nav{display:flex; align-items:center; gap:32px;}
.navbar nav a{
  color:#C6CEDB; font-size:13px; font-weight:600; letter-spacing:0.8px;
  text-transform:uppercase; transition:color .15s;
}
.navbar nav a:hover{color:var(--gold-300);}
.nav-toggle{display:none; background:none; border:none; color:#fff; font-size:24px; cursor:pointer;}
@media (max-width:900px){
  .navbar nav{
    position:absolute; top:76px; left:0; right:0;
    background:var(--navy-950);
    flex-direction:column; align-items:flex-start;
    padding:20px 32px; gap:18px;
    display:none;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .navbar nav.open{display:flex;}
  .nav-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:88vh;
  display:flex; align-items:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
}
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(115deg, rgba(11,22,38,0.97) 0%, rgba(11,22,38,0.88) 40%, rgba(11,22,38,0.55) 75%, rgba(11,22,38,0.35) 100%);
}
.hero-content{position:relative; z-index:2; color:#fff; max-width:640px;}
.hero-content .eyebrow{color:var(--gold-300);}
.hero-content h1{color:#fff; font-size:clamp(36px,5.5vw,58px); margin-bottom:20px;}
.hero-content p{font-size:18px; color:#C6CEDB; margin-bottom:32px; max-width:520px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.hero-stats{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; margin-top:64px;
  border-top:1px solid rgba(255,255,255,0.15);
  padding-top:28px;
}
.hero-stats div{border-right:1px solid rgba(255,255,255,0.12); padding-right:20px;}
.hero-stats div:last-child{border-right:none;}
.hero-stats .num{font-family:'Oswald',sans-serif; font-size:30px; color:var(--gold-300); font-weight:600;}
.hero-stats .label{font-size:12px; color:#9AA6B8; letter-spacing:0.5px; margin-top:4px;}
@media (max-width:760px){
  .hero-stats{grid-template-columns:repeat(2,1fr); row-gap:24px;}
}

/* ---------- Sections ---------- */
section{padding:96px 0;}
@media (max-width:640px){ section{padding:64px 0;} }
.section-dark{background:var(--navy-950); color:#fff;}
.section-dark .eyebrow{color:var(--gold-300);}
.section-dark h2, .section-dark h3{color:#fff;}
.section-dim{background:var(--paper-dim);}

.split{
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
@media (max-width:860px){ .split{grid-template-columns:1fr; gap:36px;} }
.split.reverse .split-media{order:2;}
.split-media img{border-radius:14px; box-shadow:var(--shadow-lg);}

.split-media.portrait{max-width:320px;}
.split-media.portrait img{border-radius:50%; aspect-ratio:1/1; object-fit:cover; border:4px solid var(--gold-500);}

/* ---------- Cards / Grids ---------- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media (max-width:900px){ .grid-3{grid-template-columns:1fr 1fr;} .grid-4{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .grid-3{grid-template-columns:1fr;} .grid-4{grid-template-columns:1fr;} }

.product-card{
  background:#fff; border-radius:12px; padding:28px;
  box-shadow:var(--shadow-sm); border-top:3px solid var(--navy-700);
}
.product-card.alt{border-top-color:var(--navy-700);}
.product-card .icon{
  width:44px; height:44px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:#E4ECF7; color:var(--navy-700); margin-bottom:16px;
}
.product-card .icon svg{width:22px; height:22px;}
.product-card.alt .icon{background:var(--navy-800); color:#9FC2EE;}
.product-card h4{font-size:17px; margin-bottom:8px;}
.product-card p{font-size:14px; color:var(--ink-dim);}

/* ---------- Pricing / Plans ---------- */
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){ .plans{grid-template-columns:1fr; max-width:420px; margin:0 auto;} }
.plan-card{
  background:#fff; border-radius:14px; padding:32px 28px;
  border:1px solid #E4E1D8; position:relative;
}
.plan-card.featured{
  border-color:var(--gold-500); box-shadow:var(--shadow-lg); transform:translateY(-8px);
}
.plan-card .plan-badge{
  position:absolute; top:-13px; left:28px;
  background:var(--gold-500); color:var(--navy-950);
  font-size:11px; font-weight:700; letter-spacing:1px;
  padding:4px 12px; border-radius:20px; text-transform:uppercase;
}
.plan-name{font-family:'Oswald',sans-serif; font-size:22px; margin-bottom:4px;}
.plan-retencao{font-size:36px; font-family:'Oswald',sans-serif; color:var(--navy-800); margin:12px 0 4px;}
.plan-retencao span{font-size:14px; color:var(--ink-dim); font-family:'Inter',sans-serif; font-weight:400;}
.plan-list{list-style:none; margin:24px 0; display:flex; flex-direction:column; gap:11px;}
.plan-list li{font-size:14px; display:flex; align-items:center; gap:9px; color:var(--ink);}
.plan-list li.off{color:#B7B2A6;}
.plan-list .check{color:var(--ok); font-weight:700;}
.plan-list .cross{color:#C9C4B8;}
.section-dark .plan-list li{color:#fff;}
.section-dark .plan-list .check{color:#fff;}

/* ---------- Contact ---------- */
.contact-form{display:flex; flex-direction:column; gap:16px; max-width:520px;}
.contact-form input, .contact-form textarea{
  padding:13px 16px; border:1.5px solid #D8D5CC; border-radius:6px;
  font-family:'Inter',sans-serif; font-size:15px; background:#fff; color:var(--ink);
}
.contact-form textarea{min-height:110px; resize:vertical;}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--navy-700);}

/* ---------- Footer ---------- */
footer{background:var(--navy-950); color:#8695AA; padding:48px 0 28px;}
footer .footer-top{
  display:flex; justify-content:space-between; align-items:flex-start;
  flex-wrap:wrap; gap:32px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,0.08);
}
footer .footer-logo img{height:26px; margin-bottom:12px;}
footer .footer-links{display:flex; gap:48px; flex-wrap:wrap;}
footer .footer-links h5{color:#fff; font-size:12px; letter-spacing:1px; text-transform:uppercase; margin-bottom:14px;}
footer .footer-links a{display:block; font-size:13px; margin-bottom:9px; color:#8695AA;}
footer .footer-links a:hover{color:var(--gold-300);}
footer .footer-bottom{padding-top:22px; font-size:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(120deg, var(--navy-900), var(--navy-700));
  border-radius:18px; padding:56px; text-align:center; color:#fff;
  position:relative; overflow:hidden;
}
.cta-banner::before{
  content:""; position:absolute; top:-40%; right:-10%; width:60%; height:180%;
  background:linear-gradient(120deg, transparent 40%, rgba(200,155,77,0.14) 50%, transparent 60%);
}
.cta-banner h2{color:#fff; position:relative; z-index:1;}
.cta-banner p{color:#C6CEDB; max-width:520px; margin:14px auto 28px; position:relative; z-index:1;}
.cta-banner .hero-actions{justify-content:center; position:relative; z-index:1;}
