:root {
  --cream: #f8f6f1;
  --paper: #fffdf9;
  --white: #ffffff;
  --graphite: #252522;
  --muted: #67665f;
  --line: #ded9cf;
  --gold: #b18b47;
  --gold-dark: #8f6c32;
  --max: 1180px;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  color: var(--graphite);
  background: var(--paper);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -4rem;
  padding: .8rem 1rem;
  background: var(--graphite);
  color: white;
  z-index: 999;
}
.skip-link:focus { top: 1rem; }

.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.section { padding: 112px 0; position: relative; }
.section-soft { background: var(--cream); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,253,249,.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(222,217,207,.75);
}
.nav-wrap { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand img { width: 142px; }
.main-nav { display: flex; align-items: center; gap: 1.8rem; font-size: .88rem; }
.main-nav a { position: relative; }
.main-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--gold); transition:.25s; }
.main-nav a:hover::after { right:0; }
.menu-toggle { display:none; border:0; background:transparent; padding:.5rem; }
.menu-toggle span { display:block; width:24px; height:1px; background:var(--graphite); margin:6px 0; }

.hero { min-height: calc(100vh - 86px); display: grid; align-items: center; overflow: hidden; }
.hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; align-items:center; gap:6vw; }
.hero-copy { max-width: 690px; position:relative; z-index:2; }
.eyebrow { margin:0 0 1.15rem; color:var(--gold-dark); letter-spacing:.14em; text-transform:uppercase; font-size:.76rem; font-weight:600; }
.eyebrow.light { color:#d7ba7f; }
h1,h2,h3 { margin-top:0; font-family:var(--serif); font-weight:500; line-height:1.08; }
h1 { font-size:clamp(3.6rem, 8vw, 7.7rem); letter-spacing:-.045em; margin-bottom:1.6rem; }
h2 { font-size:clamp(2.5rem, 5vw, 4.7rem); letter-spacing:-.035em; }
h3 { font-size:1.55rem; }
.hero-text { max-width:650px; font-size:clamp(1.05rem,1.5vw,1.25rem); color:var(--muted); }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.3rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:.75rem 1.35rem; border:1px solid transparent; border-radius:999px; font-size:.92rem; font-weight:600; transition:transform .2s, background .2s, color .2s, border-color .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--graphite); color:white; }
.button-primary:hover { background:#111; }
.button-secondary { border-color:var(--line); background:transparent; }
.button-secondary:hover { border-color:var(--gold); color:var(--gold-dark); }
.button-gold { background:var(--gold); color:#171611; }
.button-gold:hover { background:#c29a51; }
.hero-mark { display:flex; justify-content:center; opacity:.92; }
.hero-mark img { width:min(410px,85%); filter:drop-shadow(0 18px 40px rgba(63,49,22,.08)); }
.watermark { position:absolute; right:-2vw; bottom:-15vw; font-family:var(--serif); font-size:46vw; line-height:.75; color:rgba(177,139,71,.035); user-select:none; }

.section-heading { max-width:800px; margin-bottom:3.5rem; }
.section-heading > p:last-child { color:var(--muted); max-width:650px; }
.solutions-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.solution-card { padding:2.2rem; min-height:310px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .25s, transform .25s; }
.solution-card:hover { background:var(--cream); transform:translateY(-4px); }
.card-number { color:var(--gold); font-size:.75rem; letter-spacing:.12em; margin-bottom:3rem; }
.solution-card p { color:var(--muted); }
.solution-card a { margin-top:auto; font-weight:600; font-size:.9rem; }

.split-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:7vw; align-items:start; }
.feature-list { border-top:1px solid var(--line); }
.feature { padding:2rem 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:230px 1fr; gap:2rem; }
.feature h3 { margin-bottom:0; font-size:1.35rem; }
.feature p { margin:0; color:var(--muted); }

.challenge { background:var(--graphite); color:white; }
.challenge-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:7vw; align-items:center; }
.challenge h2 { color:white; }
.challenge p { color:#d8d6cf; }
.challenge-rule { border:1px solid rgba(255,255,255,.16); border-radius:24px; padding:2.2rem; background:rgba(255,255,255,.035); }
.challenge-rule ol { padding-left:1.2rem; }
.challenge-rule li { margin-bottom:.75rem; }
.challenge-rule small { color:#aaa79e; }

.content-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.knowledge-card { min-height:330px; padding:2rem; border:1px solid var(--line); background:white; border-radius:18px; }
.knowledge-card > span { display:block; color:var(--gold-dark); text-transform:uppercase; font-size:.72rem; letter-spacing:.13em; font-weight:600; margin-bottom:2rem; }
.knowledge-card p { color:var(--muted); }
.poll-actions { display:flex; gap:.7rem; margin:1.5rem 0; }
.poll-actions button { border:1px solid var(--line); background:transparent; border-radius:999px; padding:.6rem 1rem; cursor:pointer; }
.poll-actions button:hover { border-color:var(--gold); }
.poll-result { min-height:4.5rem; font-size:.92rem; }

.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.testimonial { padding:2rem; background:white; border:1px solid var(--line); border-radius:18px; }
.avatar { width:72px; height:72px; border-radius:50%; display:grid; place-items:center; background:var(--cream); color:#99958c; font-size:.72rem; margin-bottom:1.5rem; border:1px dashed #c9c2b5; }
.testimonial blockquote { margin:0 0 2rem; font-family:var(--serif); font-size:1.25rem; line-height:1.45; }
.testimonial span { color:var(--muted); font-size:.86rem; }
.placeholder { opacity:.82; }

.partner-list { display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.partner-list span { min-height:105px; display:grid; place-items:center; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:#77736a; font-weight:600; }

.contact { border-top:1px solid var(--line); }
.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:7vw; align-items:end; }
.contact-actions { border-left:1px solid var(--line); padding-left:3rem; }
.contact-actions p { color:var(--muted); }

.site-footer { background:#1d1d1a; color:#d7d4ca; padding:72px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.3fr .7fr 1fr; gap:4rem; }
.footer-grid img { width:160px; filter:brightness(0) invert(1); opacity:.92; margin-bottom:1rem; }
.footer-grid a { display:block; margin:.5rem 0; color:#c9c6bd; }
.footer-title { color:white; font-weight:600; }
.footer-bottom { margin-top:4rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:2rem; color:#98958d; font-size:.82rem; }

.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:90; background:var(--graphite); color:white; padding:.82rem 1rem; border-radius:999px; font-size:.82rem; font-weight:600; box-shadow:0 12px 30px rgba(0,0,0,.18); }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 920px) {
  .section { padding:86px 0; }
  .menu-toggle { display:block; z-index:3; }
  .main-nav { position:fixed; inset:86px 0 auto; background:var(--paper); border-bottom:1px solid var(--line); display:none; flex-direction:column; align-items:flex-start; padding:1.6rem 20px 2rem; gap:1.2rem; }
  .main-nav.open { display:flex; }
  .hero-grid, .split-layout, .challenge-grid, .contact-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .hero-mark { order:-1; justify-content:flex-start; }
  .hero-mark img { width:220px; }
  h1 { font-size:clamp(3.1rem,13vw,5.6rem); }
  .solutions-grid, .content-grid, .testimonial-grid { grid-template-columns:1fr 1fr; }
  .feature { grid-template-columns:1fr; gap:.5rem; }
  .partner-list { grid-template-columns:repeat(3,1fr); }
  .contact-actions { border-left:0; border-top:1px solid var(--line); padding:2rem 0 0; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .nav-wrap { min-height:74px; }
  .brand img { width:120px; }
  .main-nav { inset:74px 0 auto; }
  .hero { padding-top:60px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .solutions-grid, .content-grid, .testimonial-grid { grid-template-columns:1fr; }
  .solution-card { min-height:260px; }
  .partner-list { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .whatsapp-float { right:14px; bottom:14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
