/* ============================= TOKENS ============================= */
:root{
  --navy-950:#0A1830;
  --navy-900:#0F2140;
  --navy-800:#173259;
  --navy-700:#20406e;
  --blue-500:#2F6FB0;
  --blue-400:#5C93C9;
  --sand-50:#F3F3F1;
  --sand-100:#E9E8E4;
  --ink-800:#2C333B;
  --ink-600:#4B5560;
  --ink-400:#7A828B;
  --bronze-500:#7E1420;
  --bronze-100:#C7DCEF;
  --white:#FFFFFF;
  --line:#DFDEDA;
  --shadow: 0 20px 60px -25px rgba(10,24,48,.35);
  --radius: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}
body{
  margin:0;
  font-family:'Poppins',sans-serif;
  color:var(--ink-800);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,.display{
  font-family:'Fraunces',serif;
  font-weight:500;
  color:var(--navy-950);
  margin:0;
  line-height:1.08;
  letter-spacing:-0.01em;
}
p{margin:0; color:var(--ink-600); line-height:1.7; text-align:justify; text-justify:inter-word; -webkit-hyphens:auto; hyphens:auto;}
p.no-justify, .hero p, .eyebrow, .areas-filter, .calc-note, .form-note{text-align:left; hyphens:none;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
.mono{font-family:'Space Grotesk',monospace;}
.container{max-width:1440px; margin:0 auto; padding:0 32px;}
@media (max-width:700px){.container{padding:0 20px;}}
.eyebrow{
  font-family:'Space Grotesk',monospace;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--bronze-500);
  display:flex; align-items:center; gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--bronze-500);}
.section{padding:120px 0;}
@media (max-width:800px){.section{padding:76px 0;}}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 30px;
  font-size:14px; font-weight:500; letter-spacing:.02em;
  border-radius:var(--radius);
  border:1px solid transparent;
  transition:all .35s var(--ease);
  white-space:nowrap;
}
.btn-primary{background:var(--navy-950); color:var(--white);}
.btn-primary:hover{background:var(--blue-500); transform:translateY(-2px);}
.btn-ghost{border-color:rgba(255,255,255,.5); color:var(--white);}
.btn-ghost:hover{background:rgba(255,255,255,.12); border-color:var(--white);}
.btn-outline{border-color:var(--navy-950); color:var(--navy-950);}
.btn-outline:hover{background:var(--navy-950); color:var(--white);}
.btn-bronze{background:var(--bronze-500); color:var(--white);}
.btn-bronze:hover{background:#8f6c3a;}

/* ============================= TICKER / CINTILLO ============================= */
.ticker-wrap{background:var(--blue-500); overflow:hidden; position:relative; padding:16px 0; border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); display:flex; align-items:center;}
.ticker-track{display:flex; align-items:center; width:max-content; animation:tickerScroll 42s linear infinite;}
.ticker-wrap:hover .ticker-track{animation-play-state:paused;}
.ticker-track .t-item{display:flex; align-items:center; justify-content:center; white-space:nowrap; padding:0 28px; font-family:'Space Grotesk',monospace; font-size:13.5px; line-height:1; letter-spacing:.1em; text-transform:uppercase; color:var(--white); font-weight:500;}
.ticker-track .t-item::after{content:'◆'; margin-left:28px; font-size:8px; color:rgba(255,255,255,.55);}
@keyframes tickerScroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.ticker-track{animation:none; flex-wrap:wrap;}}

/* ============================= MEGA MENU ============================= */
header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .3s var(--ease);
  padding:22px 0;
}
header.solid{background:rgba(10,24,48,.97); backdrop-filter:blur(10px); box-shadow:0 8px 30px -12px rgba(0,0,0,.4); padding:14px 0;}
.nav-wrap{display:flex; align-items:baseline; justify-content:space-between;}
.logo{display:flex; align-items:center; flex-shrink:0; position:relative; top:11px;}
.logo img{height:58px; width:auto; display:block; transition:height .3s var(--ease);}
header.solid .logo img{height:44px;}
@media (max-width:700px){.logo img{height:46px;} header.solid .logo img{height:38px;}}
nav.primary{display:flex; align-items:center; gap:6px; flex:1; justify-content:center;}
nav.primary > ul{display:flex; list-style:none; margin:0; padding:0; gap:6px; justify-content:center; width:100%;}
nav.primary > ul > li{position:relative;}
nav.primary > ul > li > a, nav.primary > ul > li > button{
  color:var(--white); font-size:14px; font-weight:400; padding:12px 18px;
  display:flex; align-items:center; gap:6px; background:none; border:none;
  white-space:nowrap;
}
nav.primary > ul > li > a:hover, nav.primary > ul > li > button:hover{color:var(--bronze-100);}
.caret{width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-4px; transition:transform .3s;}
li.has-mega:hover .caret{transform:rotate(225deg); margin-top:4px;}
.mega{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(8px);
  background:var(--white); min-width:300px; box-shadow:var(--shadow); border-radius:var(--radius);
  opacity:0; pointer-events:none; transition:opacity .25s var(--ease), transform .25s var(--ease);
  padding:28px; border-top:2px solid var(--bronze-500);
}
li.has-mega:hover .mega{opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);}
.mega.wide{min-width:640px; display:grid; grid-template-columns:1fr 1fr; gap:6px 32px;}
.mega.areas-mega{min-width:760px; max-height:70vh; overflow-y:auto;}
.mega a.mega-link{display:block; padding:9px 4px; color:var(--navy-950); font-size:14px; border-bottom:1px solid var(--sand-100); transition:padding-left .2s, color .2s;}
.mega a.mega-link:hover{padding-left:8px; color:var(--blue-500);}
.mega a.mega-link small{display:block; color:var(--ink-400); font-size:11.5px; font-weight:400; margin-top:2px;}
.mega-head{font-family:'Space Grotesk',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--bronze-500); margin:0 0 6px; padding-top:8px;}
.mega-head:first-child{padding-top:0;}
.cta-group{display:flex; align-items:center; gap:14px;}
.lang-switch{display:flex; align-items:center; gap:6px; padding:4px; border:1px solid rgba(255,255,255,.25); border-radius:20px;}
.lang-btn{background:none; border:none; font-size:16px; line-height:1; padding:5px 6px; border-radius:14px; opacity:.5; transition:opacity .25s, background .25s;}
.lang-btn:hover{opacity:.85;}
.lang-btn.active{opacity:1; background:rgba(255,255,255,.16);}
@media (max-width:1080px){.cta-group .lang-switch{display:none;}}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px;}
.burger span{width:24px; height:2px; background:var(--white);}
@media (max-width:1200px){
  nav.primary{display:none;}
  .burger{display:flex;}
  .cta-group .btn-primary{display:none;}
}

/* mobile drawer */
.drawer{position:fixed; inset:0; background:var(--navy-950); z-index:1200; transform:translateX(100%); transition:transform .4s var(--ease); overflow-y:auto; padding:90px 28px 40px;}
.drawer.open{transform:translateX(0);}
.drawer h4{color:var(--bronze-100); font-family:'Space Grotesk',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; margin:26px 0 10px;}
.drawer a{display:block; color:var(--white); padding:10px 0; font-size:16px; border-bottom:1px solid rgba(255,255,255,.1);}
.drawer-close{position:absolute; top:26px; right:24px; background:none; border:none; color:var(--white); font-size:28px;}

/* ============================= HERO ============================= */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:flex-end;
  background:var(--navy-950); overflow:hidden;
}
.hero-media{position:absolute; inset:0; z-index:0;}
.hero-slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.08); transition:opacity 2.4s ease, transform 9s var(--ease);}
.hero-slide.active{opacity:.55; transform:scale(1);}
.hero-media::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,24,48,.55) 0%, rgba(10,24,48,.25) 40%, rgba(10,24,48,.92) 100%);
}
.hero-content{position:relative; z-index:2; width:100%; padding-bottom:120px;}
.hero-eyebrow{color:var(--bronze-100); font-family:'Space Grotesk',monospace; font-size:12px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:22px; display:flex; align-items:center; gap:12px;}
.hero-eyebrow::before{content:''; width:34px; height:1px; background:var(--bronze-100);}
.hero h1{color:var(--white); font-size:clamp(38px,6vw,74px); font-weight:400; max-width:920px;}
.hero h1 em{font-style:italic; color:var(--bronze-100); font-weight:300;}
.hero p.lead{color:rgba(255,255,255,.85); font-family:'Fraunces',serif; font-weight:400; font-style:italic; font-size:clamp(18px,2vw,24px); max-width:620px; margin-top:22px; text-align:left; line-height:1.5;}
.hero-actions{display:flex; gap:16px; margin-top:40px; flex-wrap:wrap;}
.hero-stats{display:flex; gap:52px; margin-top:76px; flex-wrap:wrap;}
.hero-stats div b{display:block; font-family:'Fraunces',serif; font-size:34px; color:var(--white); font-weight:500;}
.hero-stats div span{color:rgba(255,255,255,.6); font-size:12.5px; letter-spacing:.03em;}
.scroll-cue{position:absolute; right:40px; bottom:40px; z-index:2; display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(255,255,255,.6);}
.scroll-cue .line{width:1px; height:46px; background:linear-gradient(rgba(255,255,255,.7),transparent); animation:scrollcue 2s infinite;}
@keyframes scrollcue{0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;}}
@media (max-width:700px){
  .scroll-cue{display:none;} .hero-stats{gap:34px;}
  .hero{min-height:calc(100vh + 90px);}
  .hero-content{padding-top:110px; padding-bottom:50px;}
}

/* ============================= INTRO / SOBRE NOSOTROS ============================= */
.intro{background:var(--white);}
.intro-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start;}
@media (max-width:900px){.intro-grid{grid-template-columns:1fr; gap:40px;}}
.intro h2{font-size:clamp(28px,3.4vw,44px); font-weight:400;}
.intro-lead{font-size:19px; color:var(--ink-800); line-height:1.65; margin-top:24px;}
.intro-body p{margin-bottom:18px;}
.value-list{list-style:none; margin:36px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:18px 28px;}
.value-list li{display:flex; align-items:center; gap:12px; font-family:'Space Grotesk',monospace; font-size:14px; color:var(--navy-950); padding-bottom:14px; border-bottom:1px solid var(--line);}
.value-list li .num{color:var(--bronze-500); font-size:12px;}

/* MVV */
.mvv{background:var(--sand-50); padding:80px 0;}
.mvv-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:var(--line);}
.mvv-card{background:var(--sand-50); padding:44px; }
.mvv-card h3{font-size:24px; font-weight:400; margin-bottom:14px;}
.mvv-card.dark{background:var(--navy-950);}
.mvv-card.dark h3, .mvv-card.dark p{color:var(--white);}
.mvv-card.dark p{color:rgba(255,255,255,.72);}
@media (max-width:800px){.mvv-grid{grid-template-columns:1fr;}}

/* facilities gallery */
.gallery{padding:0;}
.gallery-grid{column-count:2; column-gap:14px; max-width:1280px; margin-inline:auto;}
.gallery-grid a{display:block; break-inside:avoid; margin-bottom:14px; overflow:hidden; border-radius:2px;}
.gallery-grid img{width:100%; height:auto; display:block; transition:transform .5s var(--ease);}
.gallery-grid a:hover img{transform:scale(1.03);}
@media (max-width:800px){
  .gallery-grid{column-count:1;}
}

/* risk widget */
.risk{background:var(--navy-950); color:var(--white); position:relative; overflow:hidden;}
.risk::before{content:''; position:absolute; top:-200px; right:-200px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(126,20,32,.14), transparent 70%);}
.risk-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; position:relative; z-index:1;}
@media (max-width:900px){.risk-grid{grid-template-columns:1fr; gap:40px;}}
.risk h2{color:var(--white); font-size:clamp(26px,3vw,38px); font-weight:400;}
.risk .eyebrow{color:var(--bronze-100);}
.risk .eyebrow::before{background:var(--bronze-100);}
.risk p{color:rgba(255,255,255,.7); margin-top:18px;}
.risk-card{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:var(--radius); padding:36px;}
.rq{display:none;}
.rq.active{display:block; animation:fadein .4s;}
@keyframes fadein{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}
.rq-label{font-family:'Space Grotesk',monospace; font-size:12px; letter-spacing:.1em; color:var(--bronze-100); margin-bottom:14px;}
.rq h4{color:var(--white); font-size:20px; font-weight:400; margin-bottom:22px;}
.rq-opts{display:grid; gap:10px;}
.rq-opts button{
  text-align:left; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.16); color:var(--white);
  padding:14px 18px; border-radius:var(--radius); font-size:14px; transition:all .25s;
}
.rq-opts button:hover{background:rgba(126,20,32,.10); border-color:var(--bronze-500);}
.rq-progress{display:flex; gap:6px; margin-top:28px;}
.rq-progress i{flex:1; height:2px; background:rgba(255,255,255,.16); display:block;}
.rq-progress i.done{background:var(--bronze-500);}
.rq-result{display:none;}
.rq-result.active{display:block; animation:fadein .5s;}
.rq-result .tag{display:inline-block; font-family:'Space Grotesk',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--navy-950); background:var(--bronze-100); padding:6px 12px; border-radius:2px; margin-bottom:16px;}
.rq-result h4{color:var(--white); font-size:22px; font-weight:400; margin-bottom:12px;}
.rq-result p{margin-bottom:24px;}

/* ============================= AREAS ============================= */
.areas{background:var(--sand-50);}
.areas-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; margin-bottom:56px;}
.areas-head h2{font-size:clamp(28px,3.6vw,46px); font-weight:400; max-width:640px;}
.areas-filter{font-family:'Space Grotesk',monospace; font-size:13px; color:var(--ink-400);}
.areas-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media (max-width:900px){.areas-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.areas-grid{grid-template-columns:1fr;}}
.area-card{background:var(--white); padding:34px 30px; cursor:pointer; transition:background .3s; position:relative; min-height:210px; display:flex; flex-direction:column;}
.area-card:hover{background:var(--white);}
.area-card .a-icon{width:34px; height:34px; margin-bottom:22px;}
.area-card .a-icon svg{width:100%; height:100%; stroke:var(--navy-950); fill:none; stroke-width:1.3;}
.area-card h3{font-size:18px; font-weight:500; margin-bottom:8px; letter-spacing:.01em;}
.area-card .a-tag{font-family:'Space Grotesk',monospace; font-size:11.5px; color:var(--bronze-500); margin-bottom:12px; text-transform:uppercase; letter-spacing:.06em;}
.area-card p{font-size:13.5px; flex:1;}
.area-card .a-more{margin-top:18px; font-size:12.5px; font-family:'Space Grotesk',monospace; color:var(--navy-950); display:flex; align-items:center; gap:8px;}
.area-card .a-more .arrow{transition:transform .3s;}
.area-card:hover .a-more .arrow{transform:translateX(5px);}
.area-card::after{content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--bronze-500); transition:width .35s var(--ease);}
.area-card:hover::after{width:100%;}

/* area modal */
.modal-overlay{position:fixed; inset:0; background:rgba(10,17,28,.72); backdrop-filter:blur(3px); z-index:1400; opacity:0; pointer-events:none; transition:opacity .3s;}
.modal-overlay.open{opacity:1; pointer-events:auto;}
.area-modal{position:fixed; top:0; right:0; bottom:0; width:min(560px,92vw); background:var(--white); z-index:1500; transform:translateX(100%); transition:transform .45s var(--ease); overflow-y:auto; padding:56px 44px;}
.area-modal.open{transform:translateX(0);}
.area-modal .m-close{position:absolute; top:26px; right:28px; background:none; border:none; font-size:26px; color:var(--ink-600);}
.area-modal .a-tag{font-family:'Space Grotesk',monospace; font-size:12px; color:var(--bronze-500); text-transform:uppercase; letter-spacing:.08em;}
.area-modal h3{font-size:32px; font-weight:400; margin:14px 0 26px;}
.area-modal p{margin-bottom:16px; font-size:15px;}
.am-team{margin-top:36px; padding-top:32px; border-top:1px solid var(--line);}
.am-team a{display:inline-flex; align-items:center; gap:10px; font-size:14px; color:var(--navy-950); font-weight:500;}
.am-team a .arrow{color:var(--bronze-500);}

/* ============================= COMPROMISO ============================= */
.commit{padding:100px 0; background:var(--white);}
.commit-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
@media (max-width:800px){.commit-grid{grid-template-columns:1fr;}}
.commit-item .num{font-family:'Fraunces',serif; font-size:44px; color:var(--bronze-500); font-weight:400; margin-bottom:16px;}
.commit-item h3{font-size:21px; font-weight:500; margin-bottom:14px;}

/* ============================= PORTAL ============================= */
.portal{background:var(--navy-950); color:var(--white); position:relative;}
.portal-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center;}
@media (max-width:950px){.portal-grid{grid-template-columns:1fr;}}
.portal h2{color:var(--white); font-size:clamp(28px,3.4vw,44px); font-weight:400;}
.portal .eyebrow{color:var(--bronze-100);}
.portal .eyebrow::before{background:var(--bronze-100);}
.portal p{color:rgba(255,255,255,.72); margin-top:20px; font-size:16px;}
.portal-feats{list-style:none; margin:32px 0 0; padding:0; display:grid; gap:16px;}
.portal-feats li{display:flex; gap:14px; align-items:flex-start; font-size:14.5px; color:rgba(255,255,255,.85);}
.portal-feats li svg{flex-shrink:0; width:18px; height:18px; stroke:var(--bronze-100); fill:none; stroke-width:1.6; margin-top:2px;}
.portal-actions{display:flex; gap:14px; margin-top:36px; flex-wrap:wrap;}

/* mock app card */
.app-card{background:#0D1D38; border:1px solid rgba(255,255,255,.1); border-radius:6px; overflow:hidden; box-shadow:0 40px 90px -30px rgba(0,0,0,.6);}
.app-bar{display:flex; align-items:center; gap:8px; padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.08);}
.app-bar i{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.18);}
.app-bar span{margin-left:10px; font-family:'Space Grotesk',monospace; font-size:12px; color:rgba(255,255,255,.5);}
.app-body{padding:26px;}
.app-tabs{display:flex; gap:22px; font-family:'Space Grotesk',monospace; font-size:12.5px; color:rgba(255,255,255,.45); border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:22px; padding-bottom:14px;}
.app-tabs .on{color:var(--bronze-100);}
.case-row{display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.06);}
.case-row:last-child{border-bottom:none;}
.case-row .c-id{font-family:'Space Grotesk',monospace; font-size:12px; color:rgba(255,255,255,.45);}
.case-row .c-name{font-size:14px; margin-top:2px;}
.pill{font-family:'Space Grotesk',monospace; font-size:10.5px; letter-spacing:.04em; padding:5px 11px; border-radius:20px; text-transform:uppercase;}
.pill.active{background:rgba(47,111,176,.22); color:#8fbbe8;}
.pill.review{background:rgba(126,20,32,.14); color:var(--bronze-100);}
.pill.closed{background:rgba(46,125,91,.22); color:#7fd3ac;}
.timeline{margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08);}
.tl-row{display:flex; gap:14px; padding-bottom:18px; position:relative;}
.tl-row::before{content:''; position:absolute; left:5px; top:16px; bottom:-2px; width:1px; background:rgba(255,255,255,.14);}
.tl-row:last-child::before{display:none;}
.tl-dot{width:11px; height:11px; border-radius:50%; background:var(--bronze-500); margin-top:3px; flex-shrink:0; z-index:1;}
.tl-row.pending .tl-dot{background:rgba(255,255,255,.18);}
.tl-txt b{display:block; font-size:13.5px; font-weight:500;}
.tl-txt span{font-family:'Space Grotesk',monospace; font-size:11px; color:rgba(255,255,255,.4);}

/* ============================= CONOCIMIENTO ============================= */
.knowledge{background:var(--sand-50);}
.k-tools{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:64px;}
@media (max-width:900px){.k-tools{grid-template-columns:repeat(2,1fr);}}
.k-tool{width:100%; text-align:left; border:none; font-family:'Poppins';}
.k-tool.clickable{cursor:pointer; transition:background .25s;}
.k-tool.clickable:hover{background:var(--sand-50);}
.k-tool{background:var(--white); padding:30px 26px; text-align:left;}
.k-tool svg{width:26px; height:26px; stroke:var(--navy-950); fill:none; stroke-width:1.3; margin-bottom:16px;}
.k-tool h4{font-size:15px; font-weight:500; margin-bottom:8px; color:var(--navy-950);}
.k-tool p{font-size:12.5px;}
.k-split{display:grid; grid-template-columns:1fr 1fr; gap:70px;}
@media (max-width:900px){.k-split{grid-template-columns:1fr; gap:50px;}}
.article-card{padding:24px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:18px; align-items:flex-start;}
.article-card .a-meta{font-family:'Space Grotesk',monospace; font-size:11px; color:var(--bronze-500); text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px;}
.article-card h4{font-size:16px; font-weight:500; color:var(--navy-950); margin-bottom:6px;}
.article-card p{font-size:13px;}
.article-card .arw{font-size:20px; color:var(--ink-400); flex-shrink:0;}

/* calculator */
.calc-box{background:var(--white); border:1px solid var(--line); padding:36px; border-radius:var(--radius);}
.calc-box h3{font-size:19px; font-weight:500; margin-bottom:6px;}
.calc-box .a-tag{font-family:'Space Grotesk',monospace; font-size:11px; color:var(--bronze-500); text-transform:uppercase; letter-spacing:.06em;}
.calc-field{margin-top:20px;}
.calc-field label{display:block; font-size:12.5px; color:var(--ink-600); margin-bottom:7px; font-family:'Space Grotesk',monospace;}
.calc-field input{width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:2px; font-family:'Poppins'; font-size:14px;}
.calc-field input:focus{outline:none; border-color:var(--bronze-500);}
.calc-out{margin-top:24px; padding:20px; background:var(--sand-50); border-left:2px solid var(--bronze-500);}
.calc-out b{display:block; font-family:'Fraunces',serif; font-size:26px; color:var(--navy-950);}
.calc-out span{font-size:11.5px; color:var(--ink-400);}
.calc-note{font-size:11px; color:var(--ink-400); margin-top:16px; line-height:1.5;}

/* search bar */
.search-jur{display:flex; gap:0; margin-top:10px; border:1px solid var(--navy-950);}
.search-jur input{flex:1; border:none; padding:16px 18px; font-family:'Poppins'; font-size:14px;}
.search-jur input:focus{outline:none;}
.search-jur button{background:var(--navy-950); color:var(--white); border:none; padding:0 22px; font-size:13px;}

/* ============================= CONTACT / AGENDAR ============================= */
.contact{background:var(--white);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr; gap:44px;}}
.modality{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:28px 0 30px;}
.mode-btn{border:1px solid var(--line); padding:22px; text-align:left; background:var(--white); border-radius:2px; transition:all .25s;}
.mode-btn svg{width:22px; height:22px; stroke:var(--navy-950); fill:none; stroke-width:1.4; margin-bottom:14px;}
.mode-btn b{display:block; font-size:14.5px; color:var(--navy-950); margin-bottom:4px;}
.mode-btn span{font-size:12px; color:var(--ink-400);}
.mode-btn.sel{border-color:var(--bronze-500); background:var(--sand-50); box-shadow:0 0 0 1px var(--bronze-500);}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-grid .full{grid-column:1/-1;}
.form-grid label{display:block; font-size:12px; font-family:'Space Grotesk',monospace; color:var(--ink-600); margin-bottom:7px;}
.form-grid input, .form-grid select, .form-grid textarea{
  width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:2px; font-family:'Poppins'; font-size:14px; background:var(--white);
}
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus{outline:none; border-color:var(--bronze-500);}
.contact-info{background:var(--navy-950); color:var(--white); padding:44px; border-radius:2px;}
.contact-info h3{color:var(--white); font-size:20px; font-weight:400; margin-bottom:24px;}
.ci-row{display:flex; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.1);}
a.ci-row{transition:padding-left .2s;}
a.ci-row:hover{padding-left:6px;}
.ci-row svg{width:19px; height:19px; stroke:var(--bronze-100); fill:none; stroke-width:1.4; flex-shrink:0; margin-top:2px;}
.ci-row b{display:block; font-size:13.5px; color:rgba(255,255,255,.5); font-family:'Space Grotesk',monospace; letter-spacing:.03em; margin-bottom:4px;}
.ci-row span{font-size:14.5px; color:var(--white);}
.form-note{background:var(--sand-100); border-left:2px solid var(--bronze-500); padding:14px 18px; font-size:12px; color:var(--ink-600); margin-top:22px;}

/* ============================= FOOTER ============================= */
footer{background:var(--navy-950); color:rgba(255,255,255,.6); padding-top:80px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:40px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,.1);}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr; gap:34px;}}
.footer-grid h5{color:rgba(255,255,255,.9); font-family:'Space Grotesk',monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px;}
.footer-grid a{display:block; font-size:13.5px; padding:6px 0; color:rgba(255,255,255,.6);}
.footer-grid a:hover{color:var(--bronze-100);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:12px; flex-wrap:wrap; gap:12px;}
.footer-grid p{color:rgba(255,255,255,.5); font-size:13px; max-width:280px;}

/* ============================= CHAT / STICKY (social bar) ============================= */
.quick-actions{position:fixed; top:50%; right:0; transform:translateY(-50%); z-index:900; display:flex; flex-direction:column; box-shadow:0 10px 30px -12px rgba(10,24,48,.4);}
.qa-btn{
  width:48px; height:48px; display:flex; align-items:center; justify-content:center;
  transition:width .25s var(--ease); border:none;
}
.qa-btn svg{width:20px; height:20px; stroke:#fff; fill:none; stroke-width:1.7;}
.qa-btn:hover{width:54px;}
.qa-whatsapp{background:#25D366;}
.qa-linkedin{background:#0A66C2;}
.qa-instagram{background:linear-gradient(135deg,#4f5bd5,#962fbf,#d62976,#fa7e1e,#feda75);}
.chat-launcher{
  width:48px; height:48px; background:var(--navy-950); border:none;
  display:flex; align-items:center; justify-content:center; transition:width .25s var(--ease);
}
.chat-launcher:hover{width:54px;}
.chat-launcher svg{width:20px; height:20px; stroke:var(--bronze-100); fill:none; stroke-width:1.7;}
.chat-panel{
  position:fixed; top:50%; right:74px; transform:translateY(-50%) scale(.92); z-index:900; width:330px; max-width:88vw; background:var(--white);
  border-radius:6px; box-shadow:var(--shadow); overflow:hidden; opacity:0; pointer-events:none; transition:all .3s var(--ease);
}
.chat-panel.open{transform:translateY(-50%) scale(1); opacity:1; pointer-events:auto;}
.chat-head{background:var(--navy-950); color:var(--white); padding:16px 18px;}
.chat-head b{display:block; font-size:14px;}
.chat-head span{font-size:11.5px; color:var(--bronze-100); font-family:'Space Grotesk',monospace;}
.chat-body{padding:18px; max-height:280px; overflow-y:auto; display:flex; flex-direction:column; gap:10px;}
.msg{max-width:82%; padding:10px 13px; border-radius:12px; font-size:13px; line-height:1.5;}
.msg.bot{background:var(--sand-50); align-self:flex-start; border-bottom-left-radius:3px;}
.msg.me{background:var(--navy-950); color:var(--white); align-self:flex-end; border-bottom-right-radius:3px;}
.chat-quick{display:flex; flex-wrap:wrap; gap:6px; padding:0 18px 16px;}
.chat-quick button{border:1px solid var(--line); background:var(--white); font-size:11.5px; padding:7px 11px; border-radius:20px; color:var(--navy-950);}
.chat-quick button:hover{border-color:var(--bronze-500);}
@media (max-width:600px){.quick-actions{display:none;}}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}

::selection{background:var(--bronze-500); color:var(--white);}
.skip-link{position:absolute; left:-999px; top:0; background:var(--white); padding:12px 18px; z-index:2000;}
.skip-link:focus{left:12px; top:12px;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:2px solid var(--bronze-500); outline-offset:2px;}