:root {
  --navy: #0b2436;
  --deep: #153b50;
  --blue: #17647a;
  --gold: #c9a96a;
  --cream: #f6f2ea;
  --pale: #eaf1f3;
  --ink: #1d2a31;
  --muted: #5e6a70;
  --white: #fff;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--ink); background: var(--white); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
.site-header { position: sticky; top: 0; z-index: 10; height: 78px; padding: 0 max(28px, calc((100% - var(--max))/2)); display: flex; align-items: center; justify-content: space-between; background: rgba(11,36,54,.97); color: white; border-bottom: 1px solid rgba(255,255,255,.12); }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 700; letter-spacing: .06em; }
.brand img { width: 46px; height: 46px; object-fit: contain; }
nav { display: flex; align-items: center; gap: 30px; font-size: 14px; }
nav a { color: #d9e2e6; }
nav a:hover { color: white; }
.language { color: var(--gold); font-weight: 700; border-left: 1px solid rgba(255,255,255,.25); padding-left: 18px; }
.nav-cta { border: 1px solid var(--gold); padding: 10px 17px; border-radius: 2px; color: white; }
.hero { min-height: 670px; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.6fr); background: var(--navy); color: white; overflow: hidden; }
.hero-copy { padding: 105px max(50px, calc((100vw - var(--max))/2)) 92px; padding-right: 75px; position: relative; }
.hero-copy:after { content:""; position:absolute; width:470px; height:470px; border:72px solid var(--deep); border-radius:50%; right:-250px; top:-160px; opacity:.95; }
.hero-copy > * { position: relative; z-index: 1; }
.eyebrow { color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .13em; margin: 0 0 18px; }
h1 { max-width: 770px; font-size: clamp(42px,5vw,68px); line-height: 1.05; letter-spacing: -.035em; margin: 0 0 28px; position: relative; z-index:1; }
.hero-lead { max-width: 700px; color: #d4dfe4; font-size: 19px; margin: 0 0 38px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.button { display:inline-flex; min-height:48px; padding: 0 22px; align-items:center; justify-content:center; font-weight:700; font-size:14px; letter-spacing:.02em; border:1px solid transparent; }
.button.gold { background: var(--gold); color: var(--navy); }
.button.ghost { border-color: rgba(255,255,255,.35); color:white; }
.hero-proof { background: var(--cream); color: var(--navy); padding: 100px 48px 70px; display:flex; justify-content:flex-end; flex-direction:column; }
.hero-proof:before { content:""; width:64px; height:3px; background:var(--gold); margin-bottom:22px; }
.hero-proof strong { font-size:42px; line-height:1; margin-bottom:14px; }
.hero-proof span { font-size:18px; font-weight:600; }
.section { padding: 105px max(28px, calc((100% - var(--max))/2)); }
.section-heading { max-width: 800px; margin-bottom: 55px; }
.section-heading h2, .bio-copy h2, .contact h2 { color:var(--navy); font-size:clamp(34px,4vw,52px); line-height:1.08; letter-spacing:-.025em; margin:0 0 20px; }
.section-heading > p:last-child { color:var(--muted); font-size:17px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.service-card { border:1px solid #dbe2e5; padding:35px 30px 32px; min-height:390px; display:flex; flex-direction:column; background:white; box-shadow:0 10px 35px rgba(11,36,54,.05); }
.number { width:50px; height:50px; background:var(--navy); color:var(--gold); display:flex; align-items:center; justify-content:center; border-radius:7px; font-weight:700; margin-bottom:28px; }
.service-card h3, .capability-grid h3, .timeline h3 { color:var(--navy); margin:0 0 14px; font-size:20px; line-height:1.2; }
.service-card p { color:var(--muted); }
.service-card .objective { border-top:1px solid #e0e6e8; margin-top:auto; padding-top:18px; color:var(--blue); font-size:14px; font-weight:700; }
.complementary { background:var(--navy); color:white; }
.section-heading.light h2 { color:white; }
.section-heading.light > p:last-child { color:#c8d4d9; }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.16); }
.capability-grid article { background:var(--navy); padding:32px 30px; min-height:200px; border-top:3px solid var(--gold); }
.capability-grid h3 { color:white; }
.capability-grid p { color:#c8d4d9; margin:0; font-size:15px; }
.experience { background:#fbfaf7; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:70px; }
.stats div { background:var(--cream); padding:32px; display:flex; flex-direction:column; min-height:160px; }
.stats strong { color:var(--navy); font-size:48px; line-height:1; margin-bottom:14px; }
.stats span { color:var(--muted); max-width:250px; }
.timeline { max-width:950px; border-left:2px solid var(--gold); margin-left:9px; }
.timeline-row { display:grid; grid-template-columns:180px 1fr; gap:28px; padding:0 0 34px 34px; position:relative; }
.timeline-row:before { content:""; position:absolute; width:12px; height:12px; background:var(--gold); border-radius:50%; left:-7px; top:3px; }
.timeline-row > span { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.08em; }
.timeline p { margin:0; color:var(--muted); }
.bio { display:grid; grid-template-columns:minmax(350px,.85fr) minmax(0,1.15fr); min-height:760px; }
.bio-photo { background:var(--pale); min-height:760px; overflow:hidden; }
.bio-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:saturate(.82); }
.bio-copy { padding:100px max(42px, calc((100vw - var(--max))/2)); padding-left:75px; }
.role { color:var(--blue); font-weight:700; font-size:18px; margin:0 0 32px; }
.bio-copy > p:not(.eyebrow):not(.role) { color:var(--muted); max-width:720px; font-size:17px; }
blockquote { margin:36px 0 0; background:var(--navy); color:white; border-left:5px solid var(--gold); padding:28px 30px; font-size:20px; line-height:1.35; max-width:680px; }
.contact { background:var(--cream); padding:90px max(28px, calc((100% - var(--max))/2)); display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:start; }
.contact h2 { font-size:42px; max-width:720px; }
.contact-details { display:flex; flex-direction:column; gap:10px; color:var(--muted); }
.contact-details strong { color:var(--navy); text-transform:uppercase; font-size:13px; letter-spacing:.06em; margin-bottom:5px; }
.contact-details .button { align-self:flex-start; margin-top:18px; }
.contact .button.ghost { border-color: var(--deep); color: var(--navy); background: transparent; }
.contact .button.ghost:hover { background: var(--navy); color: var(--white); }
footer { background:var(--navy); color:#b9c7cd; padding:24px max(28px, calc((100% - var(--max))/2)); display:flex; justify-content:space-between; font-size:12px; }
footer a { color: var(--gold); }
.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:20; width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#25d366; color:white; box-shadow:0 8px 24px rgba(0,0,0,.24); transition:transform .2s ease, box-shadow .2s ease; }
.whatsapp-float:hover { transform:translateY(-2px); box-shadow:0 11px 28px rgba(0,0,0,.28); }
.whatsapp-float svg { width:31px; height:31px; fill:currentColor; }
.privacy-page { background:var(--cream); }
.privacy-main { padding:80px max(28px, calc((100% - 900px)/2)) 100px; }
.privacy-card { background:white; border-top:5px solid var(--gold); box-shadow:0 14px 45px rgba(11,36,54,.08); padding:55px 62px; }
.privacy-card h1 { color:var(--navy); font-size:clamp(38px,5vw,58px); margin-bottom:14px; }
.privacy-card h2 { color:var(--navy); font-size:22px; margin:34px 0 10px; }
.privacy-card p, .privacy-card li { color:var(--muted); }
.privacy-card a { color:var(--blue); text-decoration:underline; }
.privacy-updated { color:var(--gold); font-weight:700; font-size:13px; letter-spacing:.06em; }
.privacy-back { margin-top:35px; }
@media (min-width: 851px) and (max-width: 1200px) and (orientation: landscape) {
  .site-header { padding-left:28px; padding-right:28px; }
  nav { gap:22px; }
  .hero { grid-template-columns:minmax(0,1.55fr) minmax(270px,.45fr); min-height:610px; }
  .hero-copy { padding:90px 42px 76px; }
  .hero-copy:after { width:340px; height:340px; border-width:55px; right:-175px; top:-120px; }
  .hero-proof { padding:72px 34px 60px; }
  .hero-proof strong { font-size:36px; }
  .bio { grid-template-columns:minmax(370px,.9fr) minmax(0,1.1fr); }
  .bio-photo img { object-position:72% top; }
  .bio-copy { padding:76px 42px; }
}
@media (max-width: 850px) {
  .site-header { height:68px; padding:0 20px; }
  .brand img { width:40px; height:40px; }
  .brand span { display:none; }
  nav { gap:15px; font-size:12px; }
  nav a:nth-child(2), nav a:nth-child(3) { display:none; }
  .hero { grid-template-columns:1fr; min-height:0; }
  .hero-copy { padding:76px 25px 68px; }
  .hero-copy:after { width:220px; height:220px; right:-165px; top:-85px; border-width:38px; opacity:.72; }
  h1 { font-size:42px; }
  .hero-proof { padding:42px 25px; }
  .hero-proof strong { font-size:34px; }
  .section { padding:76px 24px; }
  .service-grid, .capability-grid, .stats { grid-template-columns:1fr; }
  .service-card { min-height:0; }
  .timeline-row { grid-template-columns:1fr; gap:9px; padding-left:26px; }
  .bio { grid-template-columns:1fr; }
  .bio-photo { min-height:500px; max-height:620px; }
  .bio-copy { padding:72px 25px; }
  .contact { grid-template-columns:1fr; padding:72px 25px; gap:32px; }
  .privacy-main { padding:50px 18px 70px; }
  .privacy-card { padding:38px 25px; }
  .whatsapp-float { width:54px; height:54px; right:16px; bottom:16px; }
  footer { padding:24px; gap:15px; flex-direction:column; }
}
