@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --ink:#e9f3ff;
  --text:#dce8f7;
  --muted:#93a7c1;
  --blue:#4d8dff;
  --blue-strong:#2f6fff;
  --navy:#07101d;
  --navy-2:#0c1728;
  --panel:#0f1b2d;
  --panel-soft:rgba(14,25,42,.78);
  --card:rgba(15,27,45,.72);
  --line:rgba(129,162,204,.16);
  --line-strong:rgba(129,162,204,.28);
  --teal:#33e0c7;
  --teal-soft:rgba(51,224,199,.18);
  --shadow:0 22px 70px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font:16px/1.7 'DM Sans',Arial,sans-serif;
  background:
    radial-gradient(circle at 12% 10%, rgba(67,120,255,.14), transparent 26%),
    radial-gradient(circle at 88% 14%, rgba(39,225,195,.10), transparent 20%),
    radial-gradient(circle at 76% 62%, rgba(78,108,255,.08), transparent 24%),
    linear-gradient(180deg, #060c15 0%, #09111d 36%, #0b1423 100%);
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(180deg,rgba(255,255,255,.42),transparent 75%);
  pointer-events:none;
  opacity:.35;
}
a{text-decoration:none;color:inherit}
button{font:inherit}
.wrap{max-width:1180px;margin:auto;padding:0 24px}
.topline{height:4px;background:linear-gradient(90deg,#2d74ff 0%, #33e0c7 100%);box-shadow:0 0 22px rgba(51,224,199,.35)}

header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(7,16,29,.72);
  border-bottom:1px solid rgba(129,162,204,.12);
  backdrop-filter:blur(18px);
}
nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{
  font:800 28px/1 Manrope,sans-serif;
  letter-spacing:-1.6px;
  color:#f5fbff;
  text-shadow:0 0 18px rgba(54,146,255,.15);
}
.brand span{
  background:linear-gradient(90deg,#6ca7ff,#49f0d3);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.brand small{display:block;font:700 10px/1.6 'DM Sans',sans-serif;color:#7f95b0;letter-spacing:2.4px;text-transform:uppercase}
.menu{display:flex;align-items:center;gap:27px;font-weight:700;font-size:14px}
.menu a{color:#cddbf0;transition:.2s ease}
.menu a:hover,.textlink:hover{color:#fff}
.action{
  display:inline-block;
  color:#08111d;
  background:linear-gradient(135deg,#76a8ff,#39e2cb);
  padding:12px 20px;
  border-radius:12px;
  font-weight:800;
  font-size:14px;
  box-shadow:0 10px 28px rgba(52,143,255,.20), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.action:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(52,143,255,.28), inset 0 1px 0 rgba(255,255,255,.4);filter:saturate(1.05)}
.hamb{display:none;background:transparent;border:0;font-size:24px;color:#fff}

.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 18%, rgba(75,112,255,.22) 0%, transparent 28%),
    radial-gradient(circle at 18% 12%, rgba(51,224,199,.08) 0%, transparent 22%),
    linear-gradient(135deg, #08111d 0%, #0a1525 48%, #101f37 100%);
  border-bottom:1px solid rgba(129,162,204,.1);
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:50px 50px;
  mask-image:radial-gradient(circle at 70% 30%, rgba(255,255,255,.95), rgba(255,255,255,.35) 55%, transparent 100%);
  opacity:.55;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto auto -140px -100px;
  width:360px;
  height:360px;
  background:radial-gradient(circle, rgba(51,224,199,.14), transparent 68%);
  filter:blur(20px);
  pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:520px;align-items:center;gap:40px;padding-top:62px;padding-bottom:72px;position:relative;z-index:1}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-transform:uppercase;
  letter-spacing:2.5px;
  font-weight:800;
  font-size:11px;
  color:#75f1da;
  padding:8px 13px;
  border:1px solid rgba(103,235,214,.22);
  border-radius:999px;
  background:rgba(11,28,43,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.hero h1{font:800 clamp(38px,4.6vw,62px)/1.08 Manrope,sans-serif;letter-spacing:-2.5px;margin:22px 0 16px;color:#f5fbff}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(90deg,#93b9ff,#69f0dc);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero p{color:#b0c2d9;max-width:590px;font-size:17px}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.ghost{
  display:inline-block;
  padding:11px 19px;
  border-radius:12px;
  border:1px solid rgba(125,151,188,.35);
  font-size:14px;
  font-weight:800;
  color:#edf5ff;
  background:rgba(14,26,43,.35);
  backdrop-filter:blur(8px);
}
.ghost:hover{border-color:rgba(125,151,188,.6);background:rgba(16,31,52,.55)}
.visual{
  position:relative;
  border:1px solid rgba(122,152,191,.24);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(20,37,61,.85), rgba(11,22,37,.92));
  padding:22px;
  box-shadow:0 28px 80px rgba(2,8,18,.48), inset 0 1px 0 rgba(255,255,255,.05);
  transform:rotate(2deg);
  overflow:hidden;
}
.visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(115,171,255,.10), transparent 42%, rgba(51,224,199,.08) 100%);
  pointer-events:none;
}
.visual-top{display:flex;gap:8px;margin-bottom:24px}
.dot{height:9px;width:9px;border-radius:50%;background:#6383aa;box-shadow:0 0 12px rgba(99,131,170,.25)}
.screen-main{
  background:linear-gradient(180deg, rgba(9,24,43,.95), rgba(11,29,50,.88));
  border:1px solid rgba(116,151,195,.18);
  border-radius:16px;
  padding:22px;
  position:relative;
  overflow:hidden;
}
.screen-main::after{
  content:"";
  position:absolute;
  top:0;left:-30%;
  width:70%;height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
  transform:skewX(-25deg);
}
.screen-pill{color:#7af2de;font-size:11px;letter-spacing:2px;font-weight:800}
.screen-title{font:800 28px/1.18 Manrope;margin:12px 0;color:#fff}
.screen-lines i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,#28496d,#365a84);margin-top:10px}
.screen-lines i:nth-child(2){width:85%}
.screen-lines i:nth-child(3){width:62%}
.screen-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.mini{
  border:1px solid rgba(89,118,155,.32);
  border-radius:12px;
  padding:16px;
  background:rgba(12,26,44,.45);
}
.mini strong{display:block;font-size:25px;color:#fff}
.mini span{font-size:11px;color:#a5c2dd;letter-spacing:1px;text-transform:uppercase}

.strip{background:rgba(10,20,36,.86);padding:15px 0;border-top:1px solid rgba(125,151,188,.06);border-bottom:1px solid rgba(125,151,188,.12)}
.strip p{margin:0;color:#7fc5dd;font-size:13px;font-weight:700;text-align:center;letter-spacing:.7px}
.section{padding:76px 0;position:relative}
.section::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(129,162,204,.12), transparent);
}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px}
.tag{font-weight:800;color:#7fc5ff;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.section h2,.page h1{font:800 clamp(29px,3.4vw,42px)/1.2 Manrope,sans-serif;letter-spacing:-1.5px;margin:7px 0 12px;color:#f4f9ff}
.section-head p{max-width:620px;color:var(--muted);margin:0}
.textlink{color:#8cb8ff;font-weight:800;font-size:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}
.tile,.article,.policy,.info{
  background:linear-gradient(180deg, rgba(15,27,45,.82), rgba(13,23,38,.74));
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.tile,.article,.policy,.info,.principles .item{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.tile:hover,.article:hover,.policy:hover,.info:hover,.principles .item:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 26px 70px rgba(0,0,0,.42)}
.tile{padding:27px;position:relative}
.tile::after,.article::after,.policy::after,.info::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(95,140,255,.05), transparent 42%, rgba(51,224,199,.04) 100%);
  pointer-events:none;
}
.ico{
  font-size:29px;
  background:linear-gradient(180deg, rgba(86,136,255,.18), rgba(55,229,205,.15));
  width:60px;height:60px;
  display:grid;place-items:center;
  border-radius:16px;
  border:1px solid rgba(125,151,188,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.tile h3{font:800 20px Manrope;margin:21px 0 9px;color:#f2f8ff}
.tile p,.article p,.prose,.prose p,.page .lead{color:var(--muted)}
.tile a{display:inline-block;margin-top:20px;color:#9cc2ff;font-size:14px;font-weight:800}

.ico{position:relative;overflow:hidden}
.ico svg{width:34px;height:34px;display:block;filter:drop-shadow(0 8px 18px rgba(57,145,255,.16))}
.ico::before{content:"";position:absolute;inset:10px;background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.1), transparent 60%);pointer-events:none}

.article-visual{height:178px;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(129,162,204,.16);overflow:hidden}
.article-visual.security-visual{background:linear-gradient(135deg,#173a86,#295dcf)}
.article-visual.shopping-visual{background:linear-gradient(135deg,#093d51,#13b8b0)}
.article-visual.ai-visual{background:linear-gradient(135deg,#3a3e96,#6c6ff7)}
.feature-art{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.feature-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);background-size:24px 24px;opacity:.35}
.feature-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.12), transparent 62%);top:-30px;right:-10px;filter:blur(8px)}
.glyph{position:relative;z-index:2;width:84px;height:84px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(180deg, rgba(9,20,37,.18), rgba(6,15,29,.06));backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 30px rgba(2,10,30,.22), inset 0 1px 0 rgba(255,255,255,.1)}
.glyph svg{width:58px;height:58px;display:block;filter:drop-shadow(0 10px 16px rgba(0,0,0,.18))}
.data-chip{position:absolute;z-index:2;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#eef7ff;background:rgba(7,16,29,.26);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);box-shadow:0 10px 20px rgba(3,8,18,.16)}
.chip-a{left:18px;bottom:18px}
.chip-b{right:18px;top:18px}
.article-content{padding:24px;position:relative}
.article-content small{font-size:11px;color:#8fcbff;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.article h3{font:800 19px/1.4 Manrope;margin:10px 0;color:#f5fbff}
.article a.more{display:block;color:#9cc2ff;font-weight:800;font-size:14px;margin-top:18px}
.band{background:linear-gradient(180deg, rgba(10,18,32,.22), rgba(10,18,32,.5))}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.principles .item{
  border:1px solid rgba(121,151,188,.14);
  border-left:3px solid #27d8c0;
  padding:22px 20px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(14,26,42,.7), rgba(11,22,36,.62));
}
.principles h3{margin:0;font:800 18px Manrope;color:#f4f9ff}
.principles p{color:var(--muted);font-size:14px}
.pitch{background:linear-gradient(135deg,#091322,#0d1c31 60%, #0f2340);color:white;padding:68px 0;border-top:1px solid rgba(129,162,204,.1);border-bottom:1px solid rgba(129,162,204,.1)}
.pitch-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.pitch h2{font:800 33px/1.22 Manrope;margin:6px 0;color:#f7fbff}
.pitch p{color:#b0c2d9;max-width:670px}

.page{padding:60px 0 88px;min-height:55vh}
.page .lead{font-size:18px;max-width:830px}
.prose{max-width:825px;color:#b8c8da}
.prose h2{font:800 24px Manrope;margin:35px 0 10px;color:#f7fbff}
.prose h3{font:800 19px Manrope;margin:24px 0 9px;color:#f2f8ff}
.prose li{margin:9px 0}
.prose a{color:#9cc2ff;text-decoration:underline}
.labelbox{
  background:linear-gradient(180deg, rgba(22,51,84,.72), rgba(11,28,48,.7));
  border:1px solid rgba(76,125,198,.35);
  border-left:4px solid var(--blue);
  color:#d6e6f7;
  padding:15px 20px;
  border-radius:12px;
  margin:24px 0;
}
.footer{background:linear-gradient(180deg,#050c16,#07111d);color:#cad6e7;padding:56px 0 23px;border-top:1px solid rgba(129,162,204,.12)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}
.footer .brand{color:#fff}
.footer h4{color:white;margin:0 0 13px}
.footer p,.footer a{font-size:13px;color:#8ea3bd}
.footer a{display:block;margin:9px 0}
.footer a:hover{color:#fff}
.bottom{border-top:1px solid rgba(129,162,204,.16);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#6f87a3}
.email{font-weight:800;color:#9cc2ff}

@media(max-width:800px){
  .hamb{display:block}
  .menu{
    display:none;
    position:absolute;
    top:78px;left:0;right:0;
    background:rgba(9,18,32,.96);
    border-bottom:1px solid rgba(129,162,204,.12);
    padding:20px 24px;
    box-shadow:0 15px 25px rgba(0,0,0,.32);
    flex-direction:column;
    align-items:start
  }
  .menu.open{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:25px;min-height:auto}
  .visual{transform:none;max-width:500px}
  .grid3,.principles{grid-template-columns:1fr 1fr}
  .pitch-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero h1{letter-spacing:-1.4px}
}

@media(max-width:530px){
  .grid3,.principles,.footer-grid{grid-template-columns:1fr}
  .hero-grid{padding-top:42px;padding-bottom:56px}
  .section{padding:56px 0}
  .section-head{display:block}
  .bottom{display:block}
  .wrap{padding:0 19px}
  .brand{font-size:25px}
}

/* --- V4 home refresh --- */
.hero-v2{padding-bottom:18px}
.hero-grid-v2{grid-template-columns:1.02fr .98fr;min-height:560px;gap:46px}
.hero-copy{position:relative;z-index:2}
.hero-showcase{position:relative;display:flex;align-items:center;justify-content:center;min-height:460px}
.hero-image-card{
  width:min(100%,620px);
  padding:14px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(18,34,55,.84), rgba(12,21,36,.92));
  border:1px solid rgba(129,162,204,.2);
  box-shadow:0 30px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
}
.hero-image-card img{display:block;width:100%;height:auto;border-radius:20px}
.hero-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:640px;margin-top:28px}
.mini-stat{padding:15px 16px;border-radius:16px;background:rgba(12,25,42,.58);border:1px solid rgba(129,162,204,.14);backdrop-filter:blur(8px)}
.mini-stat strong{display:block;font:800 22px/1 Manrope,sans-serif;color:#f6fbff;margin-bottom:5px}
.mini-stat span{display:block;font-size:12px;color:#98abc2;text-transform:uppercase;letter-spacing:.8px}
.floating-note{position:absolute;max-width:230px;padding:14px 16px;border-radius:18px;background:rgba(8,17,30,.8);border:1px solid rgba(129,162,204,.18);box-shadow:0 18px 30px rgba(0,0,0,.28);backdrop-filter:blur(10px)}
.note-a{left:-20px;bottom:45px}
.note-b{right:-18px;top:32px}
.note-label{display:block;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#7ecfff;margin-bottom:4px}
.floating-note strong{font:700 14px/1.4 'DM Sans',sans-serif;color:#eff7ff}

.product-grid{display:grid;gap:22px}
.product-grid.six{grid-template-columns:repeat(3,1fr)}
.product-category{
  position:relative;
  background:linear-gradient(180deg, rgba(15,27,45,.84), rgba(12,21,36,.76));
  border:1px solid rgba(129,162,204,.16);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.32);
}
.product-shot{padding:16px 16px 0}
.product-shot img{display:block;width:100%;height:auto;border-radius:18px;background:#0b1730}
.product-text{padding:18px 20px 22px}
.product-text small{display:inline-block;margin-bottom:8px;color:#8fc4ff;font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}
.product-text h3{margin:0 0 8px;font:800 24px/1.18 Manrope,sans-serif;color:#f5fbff}
.product-text p{margin:0;color:#93a7c1;font-size:14px}

.featured-shell{display:grid;grid-template-columns:1fr 1.03fr;gap:26px;align-items:stretch}
.featured-copy,.featured-panel{background:linear-gradient(180deg, rgba(15,27,45,.84), rgba(12,21,36,.76));border:1px solid rgba(129,162,204,.16);border-radius:24px;box-shadow:0 24px 64px rgba(0,0,0,.3)}
.featured-copy{padding:28px}
.featured-copy h3{margin:12px 0 10px;font:800 28px/1.2 Manrope,sans-serif;color:#f4f9ff}
.featured-copy p{color:#95a9c2;margin:0 0 18px}
.pill{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(59,117,255,.16);border:1px solid rgba(108,171,255,.2);color:#9bc2ff;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.check-list li{position:relative;padding-left:24px;color:#d8e4f3}
.check-list li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#75a7ff,#44e7cf);box-shadow:0 0 12px rgba(68,231,207,.25)}
.featured-panel{padding:22px}
.feature-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:#99b0ca}
.feature-panel-head span{font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:#7ecfff}
.feature-panel-head strong{font-size:14px;color:#f1f7ff}
.compare-card{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:14px;border-radius:18px;background:rgba(7,16,29,.45);border:1px solid rgba(129,162,204,.12)}
.compare-thumb img{display:block;width:100%;height:auto;border-radius:14px}
.compare-info small{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#88c7ff}
.compare-info h4{margin:8px 0 8px;font:800 24px/1.2 Manrope,sans-serif;color:#f5fbff}
.compare-info p{margin:0;color:#95a9c2}
.compare-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.compare-tags span{display:inline-block;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(129,162,204,.12);color:#dce7f5;font-size:12px}
.mini-products{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.mini-product{padding:10px;border-radius:16px;background:rgba(7,16,29,.34);border:1px solid rgba(129,162,204,.12);text-align:center}
.mini-product img{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:10px}
.mini-product span{display:block;color:#e6effb;font-size:13px;font-weight:700}

@media(max-width:980px){
  .hero-grid-v2,.featured-shell{grid-template-columns:1fr}
  .hero-showcase{min-height:auto}
  .floating-note{position:static;margin-top:14px;max-width:none}
  .hero-image-card{width:100%}
}
@media(max-width:800px){
  .product-grid.six{grid-template-columns:1fr 1fr}
  .hero-mini-stats{grid-template-columns:1fr}
  .compare-card{grid-template-columns:1fr}
  .mini-products{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:530px){
  .product-grid.six,.mini-products{grid-template-columns:1fr}
  .featured-copy,.featured-panel{padding:20px}
  .hero-v2{padding-bottom:6px}
}

/* --- V6 product desire / more tech --- */
.hero-collage{min-height:520px;align-items:center;justify-content:center}
.hero-main-product{
  position:relative;z-index:2;width:min(76%,520px);padding:14px;border-radius:28px;
  background:linear-gradient(180deg, rgba(18,34,55,.86), rgba(10,19,34,.95));
  border:1px solid rgba(129,162,204,.22);
  box-shadow:0 35px 90px rgba(0,0,0,.48), 0 0 0 1px rgba(120,181,255,.04), inset 0 1px 0 rgba(255,255,255,.05);
}
.hero-main-product::before,.hero-float::before,.product-category::before,.spotlight-card::before{
  content:"";position:absolute;inset:auto;pointer-events:none;
}
.hero-main-product img{display:block;width:100%;height:auto;border-radius:20px;filter:saturate(1.05) contrast(1.02)}
.hero-float{
  position:absolute;padding:10px;border-radius:24px;
  background:linear-gradient(180deg, rgba(14,27,46,.84), rgba(11,22,37,.92));
  border:1px solid rgba(129,162,204,.18);box-shadow:0 26px 70px rgba(0,0,0,.4);
  backdrop-filter:blur(8px);
}
.hero-float img{display:block;width:100%;height:auto;border-radius:16px}
.hero-phone{width:220px;top:18px;right:-6px;transform:rotate(6deg);z-index:3}
.hero-headphones{width:250px;bottom:8px;left:-8px;transform:rotate(-7deg);z-index:1}
.hero-collage::after{
  content:"";position:absolute;inset:12% 8% auto auto;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle, rgba(75,141,255,.28), transparent 68%);filter:blur(26px);pointer-events:none;
}

.product-category{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;position:relative}
.product-category::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 45%, rgba(4,10,18,.18) 100%);pointer-events:none}
.product-category:hover{transform:translateY(-6px);border-color:rgba(129,162,204,.28);box-shadow:0 30px 80px rgba(0,0,0,.42)}
.product-shot{padding:14px 14px 0}
.product-shot img{display:block;width:100%;height:auto;border-radius:18px;background:#0b1730;transition:transform .28s ease, filter .28s ease;box-shadow:0 22px 40px rgba(0,0,0,.25)}
.product-category:hover .product-shot img{transform:scale(1.035);filter:saturate(1.08)}
.product-text{position:relative;z-index:1}
.product-link{display:inline-block;margin-top:15px;font-size:14px;font-weight:800;color:#9cc7ff}

.spotlight-section{padding-top:16px}
.spotlight-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:22px}
.spotlight-card{
  position:relative;overflow:hidden;border-radius:24px;
  background:linear-gradient(180deg, rgba(15,27,45,.88), rgba(11,21,36,.82));
  border:1px solid rgba(129,162,204,.16);box-shadow:0 26px 72px rgba(0,0,0,.36);
}
.spotlight-card::before{content:"";position:absolute;inset:-20% -20% auto auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, rgba(72,145,255,.18), transparent 70%);filter:blur(10px)}
.spotlight-media{padding:16px 16px 0}
.spotlight-media img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.24)}
.spotlight-body{padding:18px 20px 22px;position:relative;z-index:1}
.spotlight-body small{display:inline-block;margin-bottom:8px;color:#8fc4ff;font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}
.spotlight-body h3{margin:0 0 8px;font:800 28px/1.14 Manrope,sans-serif;color:#f6fbff}
.spotlight-card:not(.spotlight-large) .spotlight-body h3{font-size:22px}
.spotlight-body p{margin:0;color:#97abc3}

.compare-card{background:linear-gradient(180deg, rgba(7,16,29,.52), rgba(7,16,29,.38));border-color:rgba(129,162,204,.15)}
.compare-thumb img,.mini-product img{box-shadow:0 16px 30px rgba(0,0,0,.22)}
.mini-product{transition:transform .2s ease,border-color .2s ease}
.mini-product:hover{transform:translateY(-4px);border-color:rgba(129,162,204,.24)}

@media(max-width:1100px){
  .spotlight-grid{grid-template-columns:1fr 1fr}
  .spotlight-large{grid-column:1 / -1}
}
@media(max-width:980px){
  .hero-phone,.hero-headphones{position:relative;top:auto;right:auto;left:auto;bottom:auto;transform:none;width:100%;max-width:300px}
  .hero-collage{display:grid;gap:14px}
  .hero-main-product{width:100%;max-width:none}
}
@media(max-width:800px){
  .spotlight-grid{grid-template-columns:1fr}
}


/* --- V7 cards + brand differentiation --- */
.brand{
  color:#fff;
  text-shadow:0 0 18px rgba(255,183,77,.10);
}
.brand span{
  background:linear-gradient(90deg,#ffcf6c 0%, #ff9a5f 48%, #ff6b7a 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.brand small{color:#c7a97a}

.article-visual{
  height:220px;
  position:relative;
  display:block;
  overflow:hidden;
  border-bottom:1px solid rgba(129,162,204,.16);
}
.article-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.03);
  transition:transform .28s ease, filter .28s ease;
}
.article:hover .article-visual img{transform:scale(1.07);filter:saturate(1.05)}
.article-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(6,12,22,.08) 0%, rgba(5,12,23,.10) 42%, rgba(4,11,19,.35) 100%);
  pointer-events:none;
}
.article-visual .data-chip{z-index:2;background:rgba(16,29,52,.62);border:1px solid rgba(255,255,255,.16);color:#eef7ff}
.article-visual .chip-a{left:22px;top:22px;bottom:auto}
.article-visual .chip-b{right:22px;top:22px}
.article h3{font-size:21px}
@media(max-width:530px){
  .article-visual{height:205px}
}


/* --- Site-wide page unification --- */
.page-rich{padding-top:48px;padding-bottom:86px}
.page-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;margin-bottom:26px}
.page-hero-copy,.page-hero-visual{
  background:linear-gradient(180deg, rgba(15,27,45,.86), rgba(10,20,35,.82));
  border:1px solid rgba(129,162,204,.16);
  border-radius:26px;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.page-hero-copy{padding:34px}
.page-hero-copy h1{margin:10px 0 12px}
.page-hero-copy .lead{max-width:700px}
.page-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.page-chips span,.page-stat,.page-visual-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 12px;border-radius:999px;
  border:1px solid rgba(129,162,204,.16);
  background:rgba(255,255,255,.05);
  color:#deecfa;font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;
}
.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.page-hero-visual{position:relative;padding:16px;overflow:hidden}
.page-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;min-height:310px;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.page-visual-badge{position:absolute;left:28px;bottom:28px;background:rgba(8,17,30,.74);backdrop-filter:blur(8px)}
.page-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.content-main{min-width:0}
.content-main .prose{max-width:none;background:linear-gradient(180deg, rgba(15,27,45,.78), rgba(10,20,35,.68));border:1px solid rgba(129,162,204,.14);border-radius:24px;padding:28px;box-shadow:0 24px 64px rgba(0,0,0,.28)}
.content-side{display:grid;gap:16px}
.side-card{background:linear-gradient(180deg, rgba(15,27,45,.84), rgba(11,22,36,.76));border:1px solid rgba(129,162,204,.15);border-radius:20px;padding:22px;box-shadow:0 22px 50px rgba(0,0,0,.24)}
.side-card h3{margin:0 0 14px;font:800 20px/1.2 Manrope,sans-serif;color:#f4f9ff}
.side-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.side-list li,.side-list a{color:#cddbf0;font-size:14px;line-height:1.5}
.side-list a:hover,.mini-links a:hover{color:#fff}
.side-list li{position:relative;padding-left:18px}
.side-list li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#76a8ff,#39e2cb)}
.side-card.emphasis{background:linear-gradient(180deg, rgba(31,41,77,.86), rgba(16,22,42,.84));border-color:rgba(151,128,255,.22)}
.side-card p{margin:0;color:#97abc3}
.mini-links{display:grid;gap:10px}
.mini-links a,.side-list a{font-weight:700}
.institutional .page-hero-visual img{min-height:280px}
.labelbox code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff}

@media(max-width:980px){
  .page-hero,.content-layout{grid-template-columns:1fr}
  .content-side{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .page-rich{padding-top:30px;padding-bottom:60px}
  .page-hero-copy,.content-main .prose,.side-card{padding:20px}
  .content-side{grid-template-columns:1fr}
  .page-hero-visual img{min-height:220px}
}


/* --- final polish --- */
.menu a{position:relative}
.menu a:not(.action)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,#6ca7ff,#49f0d3);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;opacity:.9}
.menu a:not(.action):hover::after{transform:scaleX(1)}
.page-hero-copy,.page-hero-visual,.content-main .prose,.side-card,.product-category,.spotlight-card,.featured-copy,.featured-panel{backdrop-filter:blur(12px)}
.prose p{font-size:16.5px}
.prose h2{position:relative;padding-bottom:8px}
.prose h2::after{content:"";position:absolute;left:0;bottom:0;width:54px;height:2px;background:linear-gradient(90deg,#6ca7ff,#49f0d3);border-radius:999px}
.inner-cta{padding:0 0 74px}
.inner-cta-box{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:30px 32px;border-radius:26px;background:linear-gradient(135deg, rgba(10,23,41,.96), rgba(17,33,56,.92));border:1px solid rgba(129,162,204,.16);box-shadow:0 26px 70px rgba(0,0,0,.30)}
.inner-cta-box h2{margin:8px 0 10px;font:800 30px/1.15 Manrope,sans-serif;color:#f8fbff}
.inner-cta-box p{margin:0;color:#aebfd4;max-width:680px}
.inner-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.side-card,.content-main .prose{position:relative;overflow:hidden}
.side-card::before,.content-main .prose::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(95,140,255,.04), transparent 45%, rgba(51,224,199,.03) 100%);pointer-events:none}
.prose>*{position:relative;z-index:1}
.page-hero-visual::before{content:"";position:absolute;inset:-20% auto auto -10%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle, rgba(76,146,255,.16), transparent 68%);filter:blur(18px);pointer-events:none}
@media(max-width:800px){.inner-cta-box{grid-template-columns:1fr}.inner-cta-box h2{font-size:26px}}


/* --- V10 categories + partners alignment --- */
.product-grid.eight{grid-template-columns:repeat(4,1fr)}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.partner-card{background:linear-gradient(180deg, rgba(15,27,45,.84), rgba(11,22,36,.76));border:1px solid rgba(129,162,204,.16);border-radius:22px;padding:24px;box-shadow:0 24px 64px rgba(0,0,0,.28);backdrop-filter:blur(10px);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.partner-card:hover{transform:translateY(-4px);border-color:rgba(129,162,204,.28);box-shadow:0 30px 80px rgba(0,0,0,.38)}
.partner-card h3{margin:0 0 10px;font:800 23px/1.18 Manrope,sans-serif;color:#f5fbff}
.partner-card p{margin:0;color:#95a9c2}
.partner-section .section-head p{max-width:760px}

@media(max-width:1100px){
  .product-grid.eight{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .product-grid.eight,.partner-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:530px){
  .product-grid.eight,.partner-grid{grid-template-columns:1fr}
}


/* --- V11 cleanup: no public partner exposure --- */
.footer-discreet{font-size:12px;color:#748aa6;max-width:520px;margin-top:10px}
@media(max-width:1100px){
  .product-grid.eight{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .product-grid.eight{grid-template-columns:1fr 1fr}
}
@media(max-width:530px){
  .product-grid.eight{grid-template-columns:1fr}
}

/* TechFaro 2.0 first functional acquisition release */
.tool-promo{padding:24px}.tool-promo h3{font-size:clamp(25px,3vw,36px);line-height:1.15}.tool-promo p{color:#aebfd4}.cost-teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:22px 0}.cost-teaser div{border:1px solid rgba(151,182,224,.19);border-radius:14px;padding:14px 10px;background:rgba(6,15,27,.65)}.cost-teaser small{display:block;color:#9fb5ce;font-size:11px;min-height:30px}.cost-teaser strong{color:white;font-size:18px}.fine-print{font-size:12px!important;line-height:1.6;color:#95a8c0!important}.cost-hero .page-hero-visual{min-height:345px}.cost-art{display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#203f66,#081424 70%);overflow:hidden}.cost-art-icon{font-size:80px;font-weight:900;color:#83e6df;filter:drop-shadow(0 0 25px #2ce5c188)}.cost-art-bars{height:85px;display:flex;align-items:flex-end;gap:12px;margin:10px}.cost-art-bars i{width:26px;border-radius:5px 5px 0 0;background:linear-gradient(#68dcd7,#3572c0);height:25px}.cost-art-bars i:nth-child(2){height:42px}.cost-art-bars i:nth-child(3){height:49px}.cost-art-bars i:nth-child(4){height:68px}.cost-art-bars i:nth-child(5){height:85px}.cost-art span{color:#dae9fc;font-weight:700;margin:12px 0}.cost-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}.cost-form-panel,.cost-results,.category-article,.category-intro{background:linear-gradient(180deg,rgba(17,32,54,.90),rgba(9,19,33,.94));border:1px solid rgba(129,162,204,.17);border-radius:24px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.cost-form-panel h2{font-size:29px;margin:10px 0}.cost-form-panel p{color:#a8bcd3}.cost-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:25px}.cost-fields label{font-size:13px;color:#cbd9e9;font-weight:700;display:grid;gap:8px}.cost-fields input,.cost-fields select{width:100%;background:#101f34;border:1px solid #36516d;border-radius:12px;color:#fff;min-height:46px;padding:10px 12px;font-size:16px}.cost-fields input:focus-visible,.cost-fields select:focus-visible{outline:2px solid #6ee0d4;outline-offset:2px}.cost-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.cost-actions button{cursor:pointer}.cost-error{color:#ff8a8a}.cost-big{font-size:clamp(32px,4vw,52px);color:#f1fbff;display:block;margin:15px 0 24px}.cost-result-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid #34475f;color:#b8cadd}.cost-result-row strong{color:#fff}.cost-explainer{max-width:900px;margin:25px 0}.category-intro{margin-bottom:32px}.category-intro h1{max-width:850px}.category-intro .lead{max-width:800px}.category-intro .ghost{display:inline-block;margin-top:15px}.category-resource-section{margin-top:25px}.category-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.category-article h3{font-size:23px;line-height:1.2}.category-article p{color:#a9bed2}.category-article small{color:#7fd9d0}.forthcoming{font-size:13px;color:#95abc2;font-weight:700}.footer-discreet{font-size:12px}.cost-results{position:sticky;top:105px}
@media(max-width:850px){.cost-layout{grid-template-columns:1fr}.cost-results{position:static}.category-articles{grid-template-columns:1fr 1fr}}@media(max-width:580px){.cost-fields,.category-articles,.cost-teaser{grid-template-columns:1fr}.cost-form-panel,.cost-results,.category-intro{padding:19px}}

/* V13 Trading software and education */
.trading-shot{background:radial-gradient(circle at 70% 15%,#29c1b138,transparent 60%),linear-gradient(135deg,#0b2035,#0b1322)}
.trading-visual{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:100%;gap:12px}
.tv-line{font-size:54px;color:#7cf6df;letter-spacing:4px;text-shadow:0 0 22px #1ad9ba70}
.tv-label,.trade-terminal-title,.trade-terminal-foot{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#a3c9dc}
.trading-feature-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;padding:32px;border:1px solid #5f91b436;border-radius:26px;background:linear-gradient(125deg,#0d1d31,#101a2f)}
.trading-feature-layout h2{font-size:clamp(26px,3vw,42px);line-height:1.14;margin:12px 0}
.trading-feature-layout p{color:#aebfd4}.trading-feature-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.trading-feature-visual{background:radial-gradient(circle at 50% 5%,#235b657a,transparent 70%),#091726;border:1px solid #39647a;border-radius:20px;padding:28px 20px;box-shadow:0 20px 50px #0005}
.trade-accounts{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:40px 0 22px}
.trade-accounts span{flex:1;padding:13px 5px;text-align:center;border:1px solid #4a91a6;background:#112e40;color:#d8faff;border-radius:10px;font-size:11px;font-weight:800}
.trade-accounts b{font-size:25px;color:#68dcd5}.trade-flow{display:flex;gap:4px;justify-content:space-between;margin:0 0 26px}
.trade-flow span{border-bottom:2px solid #31c8b7;padding:7px 2px;font-size:11px;color:#d0e6f0}
.trading-education-cta{padding:26px;margin-top:26px;border-radius:18px;background:linear-gradient(135deg,#112944,#17353c);border:1px solid #336e84}
.trading-education-cta h2{margin:0 0 10px}.trading-education-cta p{margin-bottom:20px}
@media(max-width:820px){.trading-feature-layout{grid-template-columns:1fr;padding:22px}.trade-accounts{margin-top:20px}}
@media(max-width:450px){.trade-accounts span,.trade-flow span{font-size:9px}.tv-line{font-size:40px}}


/* --- V15 portada refinada --- */
.hero-copy h1{max-width:10.5ch;text-transform:uppercase;letter-spacing:-2px;line-height:.9;margin:0 0 20px}
.hero-copy .hero-title-line{display:block}
.hero-copy .hero-title-accent{color:#7fd7ff}
.hero-copy p{max-width:680px}
.hero-single-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px}
.hero-main-visual{position:relative;z-index:2;width:min(100%,660px);padding:14px;border-radius:30px;background:linear-gradient(180deg, rgba(18,34,55,.9), rgba(10,19,34,.95));border:1px solid rgba(129,162,204,.2);box-shadow:0 35px 90px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.05)}
.hero-main-visual img{display:block;width:100%;height:auto;border-radius:22px;aspect-ratio:4/3;object-fit:cover;filter:saturate(1.04) contrast(1.03)}
.hero-single-visual::before{content:"";position:absolute;left:-2%;bottom:3%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(57,226,203,.20), transparent 68%);filter:blur(18px);pointer-events:none}
.hero-single-visual::after{content:"";position:absolute;right:-3%;top:2%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle, rgba(103,143,255,.18), transparent 68%);filter:blur(20px);pointer-events:none}
.hero-visual-note{left:24px;right:auto;bottom:24px;max-width:330px;background:rgba(8,17,30,.72);backdrop-filter:blur(10px)}
@media(max-width:980px){.hero-copy h1{max-width:none;letter-spacing:-1.5px;line-height:.95}.hero-single-visual{min-height:unset}.hero-main-visual{width:100%}}
@media(max-width:560px){.hero-copy h1{font-size:clamp(42px,12vw,68px)}.hero-visual-note{left:16px;right:16px;bottom:16px;max-width:none}}


/* --- V16 marca portada --- */
.brand-tag,.logo-tag,.brand-subtitle,.site-tagline{
  display:block;
  margin-top:2px;
  font-size:12px;
  font-weight:800;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#f2b56c;
}

/* V17: canonical homepage typography and media; overrides legacy collage rules */
.hero-v2 .hero-grid-v2{grid-template-columns:minmax(0,1.12fr) minmax(0, .88fr);gap:clamp(24px,4vw,56px);min-height:0;align-items:center}
.hero-v2 .hero-copy h1{max-width:none!important;width:100%;font-size:clamp(37px,3.85vw,65px);line-height:1.07;letter-spacing:-.035em;margin:22px 0 24px;text-transform:uppercase;overflow-wrap:normal;word-break:normal}
.hero-v2 .hero-title-line{display:block;white-space:normal}
.hero-v2 .hero-title-accent{background:linear-gradient(100deg,#8cbaff 0%,#5ee6d6 94%);color:transparent;-webkit-background-clip:text;background-clip:text}
.hero-v2 .hero-copy>p{max-width:630px}
.hero-v2 .hero-single-visual{position:relative;display:block;min-height:0;padding:0;align-self:center}
.hero-v2 .hero-main-visual{width:100%;max-width:none;padding:11px;border-radius:25px;background:#10213a;border:1px solid rgba(129,162,204,.20);box-shadow:0 24px 60px #0007}
.hero-v2 .hero-main-visual img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:center;border-radius:17px}
.hero-v2 .hero-single-visual:after,.hero-v2 .hero-single-visual:before{display:none}
.hero-v2 .hero-mini-stats{margin-top:27px}
.hero-v2 .mini-stat strong{font-size:clamp(18px,1.8vw,24px)}
.hero-v2 .mini-stat span{text-transform:none}
.brand small{display:block;text-transform:uppercase;letter-spacing:2.3px}
.product-grid.eight{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.product-category{min-width:0}
.product-category .product-shot img{width:100%;object-fit:cover;aspect-ratio:16/10}
@media(max-width:1100px){.hero-v2 .hero-grid-v2{grid-template-columns:1fr 1fr}.hero-v2 .hero-copy h1{font-size:clamp(34px,4.2vw,51px)}.product-grid.eight{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.hero-v2 .hero-grid-v2{grid-template-columns:1fr}.hero-v2 .hero-copy h1{font-size:clamp(40px,8vw,64px)}.product-grid.eight{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.hero-v2 .hero-copy h1{font-size:clamp(34px,9vw,47px)}.product-grid.eight{grid-template-columns:1fr}.hero-v2 .hero-mini-stats{grid-template-columns:1fr 1fr}}


/* --- V18 tarjetas más clickeables --- */
.product-category{
  cursor:pointer;
  border:1px solid rgba(118,176,255,.26);
  box-shadow:0 24px 64px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.03);
}
.product-category::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:22px;
  padding:1px;
  background:linear-gradient(135deg, rgba(111,181,255,.55), rgba(82,233,211,.28) 45%, rgba(255,255,255,.04) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.7;
  pointer-events:none;
}
.product-category::after{
  background:linear-gradient(180deg, transparent 42%, rgba(4,10,18,.16) 72%, rgba(4,10,18,.24) 100%);
}
.product-category:hover,
.product-category:focus-within{
  transform:translateY(-7px);
  border-color:rgba(113,194,255,.62);
  box-shadow:0 32px 88px rgba(0,0,0,.44), 0 0 0 1px rgba(106,185,255,.10), 0 0 28px rgba(69,214,255,.10);
}
.product-category:hover::before,
.product-category:focus-within::before{opacity:1}
.product-category .product-text{padding-bottom:24px}
.product-category .product-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(118,176,255,.22);
  background:rgba(13,26,43,.58);
  color:#d6e9ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}
.product-category:hover .product-link,
.product-category:focus-within .product-link{
  border-color:rgba(102,193,255,.55);
  background:linear-gradient(135deg, rgba(62,129,255,.18), rgba(53,220,210,.18));
  color:#f4fbff;
  transform:translateX(2px);
}
.product-category .product-shot{position:relative}
.product-category .product-shot::after{
  content:"";
  position:absolute;
  right:24px;
  bottom:14px;
  width:42px;height:42px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(21,35,56,.92), rgba(15,27,45,.92));
  border:1px solid rgba(108,178,255,.28);
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  opacity:.98;
}
.product-category .product-shot::before{
  content:"→";
  position:absolute;
  right:39px;
  bottom:23px;
  z-index:2;
  font-size:18px;
  font-weight:800;
  color:#cfe8ff;
}
.product-category:hover .product-shot::after,
.product-category:focus-within .product-shot::after{
  border-color:rgba(91,198,255,.62);
  box-shadow:0 14px 34px rgba(0,0,0,.42), 0 0 18px rgba(83,211,255,.14);
}
.product-category:hover .product-shot::before,
.product-category:focus-within .product-shot::before{color:#ffffff;transform:translateX(1px)}


/* TechFaro V19 · Tech Premium Editorial / shared design system */
:root{--tf-stroke:rgba(126,166,205,.24);--tf-stroke-active:#66c5ec;--tf-elev:0 18px 48px rgba(0,0,0,.26);--tf-cyan:#5bd3df;--tf-orange:#e7b27c}
body{background:radial-gradient(ellipse 95% 44% at 80% -10%,rgba(29,83,119,.15),transparent),linear-gradient(180deg,#06101c 0%,#091522 52%,#081320 100%)}
body::before{opacity:.13}
.topline{height:2px;box-shadow:none;background:linear-gradient(90deg,#488be0,#54d4d7)}
header{background:rgba(6,15,27,.94);border-bottom:1px solid rgba(149,181,216,.18)}
.brand{text-shadow:none}
.brand span{background:linear-gradient(100deg,#f4ca8c,#f79a66);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand small{color:#c4a984;letter-spacing:2.15px}
.action,.ghost{border-radius:12px}
.action{background:linear-gradient(110deg,#71aef4,#46d0cf);box-shadow:0 9px 22px rgba(47,122,188,.14)}
:where(a,button,input,select,[role="link"]):focus-visible{outline:3px solid #7cdae8!important;outline-offset:4px}
.hero-v2{background:linear-gradient(110deg,rgba(6,15,27,.98) 0%,rgba(8,20,36,.94) 54%,rgba(13,31,49,.95) 100%)}
.hero-v2 .hero-copy h1{font-size:clamp(37px,3.8vw,59px);letter-spacing:-.035em;line-height:1.06;max-width:15ch!important}
.hero-v2 .hero-title-accent{background:linear-gradient(95deg,#8bbdff,#5ce0d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-v2 .hero-main-visual{background:#0a192a;border:1px solid rgba(149,181,216,.25);padding:8px;border-radius:24px;box-shadow:0 18px 46px rgba(0,0,0,.3)}
.hero-v2 .hero-main-visual img{aspect-ratio:5/4;border-radius:17px;object-fit:cover}
.hero-v2 .hero-mini-stats{gap:12px}
.hero-v2 .mini-stat{border-color:rgba(128,167,209,.20);background:rgba(15,31,49,.58)}
.product-category{cursor:pointer;border-color:rgba(121,174,213,.38)!important;background:linear-gradient(180deg,#111f31,#0a1726);box-shadow:0 14px 35px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.035);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.product-category::before{content:"";position:absolute;inset:0;border-radius:22px;border:1px solid rgba(80,195,225,.14);pointer-events:none}
.product-category::after{pointer-events:none}
.product-category:hover,.product-category:focus-within{transform:translateY(-5px);border-color:rgba(100,213,230,.88)!important;box-shadow:0 18px 49px rgba(0,0,0,.37),0 0 0 1px rgba(100,213,230,.24)}
.product-category .product-shot img{filter:saturate(.88) contrast(1.02);transform:none;transition:filter .2s ease,transform .2s ease}
.product-category:hover .product-shot img{filter:saturate(1.02) contrast(1.03);transform:scale(1.02)}
.product-category .product-link{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid rgba(111,181,228,.32);background:rgba(30,61,88,.24);color:#bbdfff}
.product-category:hover .product-link{background:rgba(34,113,143,.22);border-color:rgba(102,212,230,.66);color:white}
.product-category .product-shot::after{content:"→";display:grid;place-items:center;position:absolute;right:22px;bottom:13px;width:35px;height:35px;border-radius:50%;background:rgba(7,21,37,.84);border:1px solid rgba(113,195,230,.64);color:white;font-weight:800;font-size:19px;pointer-events:none}
.product-category .product-shot{position:relative}
.page-rich{padding-top:42px}
.page-hero-copy,.page-hero-visual,.content-main .prose,.side-card,.cost-form-panel,.cost-results,.category-article,.category-intro{background:linear-gradient(180deg,rgba(14,28,44,.98),rgba(10,22,36,.98));border-color:var(--tf-stroke);box-shadow:var(--tf-elev);backdrop-filter:none}
.page-hero,.content-layout{gap:22px}
.page-hero-copy{padding:clamp(22px,3vw,36px)}
.page-hero-copy h1,.category-intro h1{letter-spacing:-.03em;line-height:1.12}
.page-hero-visual{padding:11px}
.page-hero-visual img{min-height:0;max-height:410px;aspect-ratio:4/3;object-fit:cover;filter:saturate(.85);border-radius:16px}
.page-visual-badge{background:rgba(7,19,31,.86)}
.page-stats .page-stat{background:#14283b;border-color:var(--tf-stroke)}
.content-main .prose h2{color:#eef6fd}
.side-card.emphasis{background:#12283a;border-color:rgba(104,174,201,.31)}
.category-article{transition:transform .2s ease,border-color .2s ease}
.category-article:hover{transform:translateY(-3px);border-color:rgba(106,194,216,.46)}
.cost-fields input:focus-visible,.cost-fields select:focus-visible{outline:2px solid #6ee0d4;outline-offset:2px}
.article{border-color:var(--tf-stroke)}
.article-visual img{filter:saturate(.84)}
.footer{border-top:1px solid rgba(146,172,198,.24);background:#07111e}
@media(max-width:980px){.hero-v2 .hero-copy h1{max-width:20ch!important}}
@media(max-width:600px){.hero-v2 .hero-copy h1{font-size:clamp(35px,9vw,48px);max-width:none!important}.page-hero-visual img{max-height:310px}.page-rich{padding-top:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V20: imagen exactamente de la propuesta visual elegida */
.hero-v2 .hero-main-visual img{aspect-ratio:557/379;object-fit:cover}


/* TechFaro V21 - approved full-screen homepage reference, all UI is HTML and clickable */
.tf-sr-only{position:absolute!important;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;white-space:nowrap;overflow:hidden}
.tf-v21-header .wrap,.home-v21 .wrap{max-width:1432px}
.tf-v21-header nav{height:74px;gap:21px}
.tf-v21-header .brand{flex-shrink:0;font-size:27px;line-height:.97}
.tf-v21-header .brand span{background:linear-gradient(90deg,#ffe0a1,#f7a869);background-clip:text;-webkit-background-clip:text;color:transparent}
.tf-v21-header .brand small{margin-top:5px;color:#deb990;letter-spacing:2.25px;font-size:9px}
.tf-v21-header .menu{gap:20px;font-size:13px;flex-wrap:nowrap}
.tf-v21-header .menu a{white-space:nowrap}
.tf-v21-header .menu .action{padding:9px 14px}
.tf-header-search{height:41px;display:flex;align-items:center;border:1px solid rgba(135,177,222,.39);border-radius:24px;background:rgba(19,38,64,.45);min-width:156px;flex:1 1 215px;max-width:272px}
.tf-header-search:focus-within{border-color:#5bceda;box-shadow:0 0 0 2px rgba(63,197,227,.18)}
.tf-header-search input{background:none;border:0;outline:0;color:white;width:100%;padding:10px 3px 10px 17px;font:500 12px 'DM Sans',sans-serif;min-width:0}
.tf-header-search input::placeholder{color:#99aec7}
.tf-header-search button{border:0;background:none;color:#dcecff;padding:9px 12px;cursor:pointer}
.tf-v21-header .tf-contact{font-size:13px;padding:11px 16px;flex-shrink:0;color:#071b26}
.home-v21 .hero-v21{height:410px;min-height:410px;display:flex;align-items:stretch;border-bottom:1px solid rgba(97,154,203,.21);background:#071422}
.home-v21 .hero-v21::before{display:none}
.home-v21 .hero-v21::after{display:none}
.tf-v21-photo{position:absolute;right:0;top:0;width:61%;height:100%;pointer-events:none;overflow:hidden}
.tf-v21-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:45% center;filter:brightness(.88) saturate(.95)}
.home-v21 .hero-v21:has(.tf-v21-photo) .tf-v21-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071422 0%,rgba(7,20,34,.93) 4%,rgba(7,20,34,.18) 30%,transparent 65%),linear-gradient(0deg,rgba(7,20,34,.12),transparent 30%)}
.tf-v21-hero-inner{position:relative;z-index:1;min-height:410px;display:flex;align-items:center}
.tf-v21-copy{position:relative;z-index:2;width:min(61%,730px);padding-bottom:44px;align-self:center}
.tf-v21-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:2.25px;color:#69c4fb;text-transform:uppercase}
.home-v21 .hero-v21 h1{font:800 clamp(39px,4.55vw,60px)/.98 'Manrope',sans-serif;letter-spacing:-.045em;color:#f9fbff;margin:19px 0 14px;max-width:none}
.home-v21 .hero-v21 h1 span{display:block;white-space:nowrap}
.home-v21 .hero-v21 h1 strong{font-weight:800;background:linear-gradient(90deg,#7bcaff,#1cdae2);background-clip:text;-webkit-background-clip:text;color:transparent}
.home-v21 .hero-v21 p{font-size:17px;line-height:1.5;color:#bdcde2;max-width:605px;margin:0}
.home-v21 .hero-v21 .buttons{margin-top:21px;gap:14px}
.home-v21 .hero-v21 .action,.home-v21 .hero-v21 .ghost{padding:11px 23px;font-size:13px}
.home-v21 .hero-v21 .ghost{border:1px solid #6f839c;background:rgba(7,19,33,.72)}
.tf-v21-side-points{position:absolute;top:39px;right:12px;z-index:3;display:grid;gap:16px;color:#f2f7fe}
.tf-v21-side-points>div{display:flex;align-items:center;gap:9px;font-weight:700;font-size:11px;line-height:1.3;text-shadow:0 1px 8px #03101e}
.tf-v21-side-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(102,164,217,.27);border-radius:13px;background:rgba(8,23,42,.61);font-size:24px;font-weight:400;color:#d5efff}
.tf-v21-hero-trust{position:absolute;bottom:18px;left:24px;display:flex;align-items:center;gap:32px;z-index:3}
.tf-v21-hero-trust>div{display:flex;align-items:center;gap:10px;min-width:0}
.tf-trust-icon{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;color:#64c7fa;font-size:24px;border-radius:12px;border:1px solid rgba(83,162,219,.27);background:rgba(17,42,72,.65)}
.tf-v21-hero-trust b{display:block;font-size:11px;color:#e9f5ff;line-height:1.4}
.tf-v21-hero-trust small{display:block;color:#9eb3ca;font-size:10px;white-space:nowrap}
.home-v21 .tf-v21-section{padding:18px 0 38px;background:#06121f}
.home-v21 .tf-v21-section::before{display:none}
.tf-v21-categories-head{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:16px}
.tf-v21-categories-head h2{font-size:clamp(27px,2.55vw,37px);line-height:1.15;margin:5px 0 0;letter-spacing:-.04em}
.tf-v21-categories-head h2 em{font-style:normal;color:#579fe8}
.tf-v21-categories-head p{max-width:465px;font-size:13px;line-height:1.5;color:#b1c3d5;margin:0}
.tf-v21-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 15px}
.tf-v21-category{min-height:133px;position:relative;display:flex;align-items:stretch;overflow:hidden;border:1px solid rgba(94,145,192,.43);border-radius:17px;background:linear-gradient(120deg,#081727 14%,#142941 80%);isolation:isolate;box-shadow:inset 0 1px rgba(238,250,255,.02);transition:border-color .18s,transform .18s,box-shadow .18s}
.tf-v21-category:hover,.tf-v21-category:focus-visible{border-color:#71d8fa;transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.3),0 0 0 1px rgba(73,198,242,.17)}
.tf-v21-category:focus-visible{outline:3px solid #9ceaf3!important;outline-offset:2px}
.tf-v21-category img{position:absolute;right:0;top:0;width:56%;height:100%;object-fit:cover;object-position:center;z-index:-2;transition:transform .24s,filter .24s;filter:saturate(.90)}
.tf-v21-category:hover img{transform:scale(1.05);filter:saturate(1)}
.tf-v21-category::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071523 8%,rgba(7,21,35,.98) 36%,rgba(7,21,35,.6) 51%,transparent 75%);z-index:-1}
.tf-v21-card-copy{max-width:65%;padding:13px 12px 13px 16px;display:flex;flex-direction:column;justify-content:flex-start}
.tf-v21-number{font:800 12px/1.2 'Manrope',sans-serif;color:#47b5fc;margin-bottom:6px}
.tf-v21-category h3{font:800 16px/1.16 'Manrope',sans-serif;letter-spacing:-.022em;margin:0 0 7px;color:#f7fbff}
.tf-v21-category p{font:400 11px/1.35 'DM Sans',sans-serif;color:#aec3da;margin:0}
.tf-v21-arrow{position:absolute;right:12px;bottom:11px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:19px;border:1px solid #8cb9dd;background:rgba(6,22,39,.87);color:#f2f9ff;transition:background .18s,color .18s}
.tf-v21-category:hover .tf-v21-arrow{background:#60d2df;color:#052138}
.tf-search-big{display:flex;gap:13px;flex-wrap:wrap;margin-top:26px}
.tf-search-big input{flex:1;min-width:190px;border-radius:12px;padding:13px 16px;background:#0a1c2e;border:1px solid #6487a2;color:#f3f9ff;font:inherit}
.tf-search-results-section{margin-top:35px}.tf-search-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.tf-search-result{background:#10263b;border-radius:15px;border:1px solid #315575;padding:22px}.tf-search-result:hover{border-color:#58bad7}.tf-search-result small{color:#5ad0da;font-size:11px;text-transform:uppercase;letter-spacing:1px}.tf-search-result h3{font-size:19px;margin:8px 0;color:#fff}.tf-search-result p{font-size:13px;color:#aec5da;margin:0}.tf-no-results{color:#c5d5e5}
@media(max-width:1310px){.tf-v21-header nav{gap:15px}.tf-v21-header .menu{gap:13px;font-size:12px}.tf-v21-header .brand{font-size:24px}.tf-header-search{max-width:202px}.tf-v21-hero-trust{gap:16px}.tf-v21-card-copy{max-width:70%}}
@media(max-width:1120px){.tf-v21-header .menu{gap:11px;font-size:11px}.tf-header-search{max-width:166px}.tf-v21-header .tf-contact{padding:10px 12px}.tf-v21-category h3{font-size:14px}.tf-v21-category p{font-size:10px}.tf-v21-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tf-v21-side-points{display:none}.tf-v21-copy{width:70%}.home-v21 .hero-v21 h1{font-size:clamp(35px,5vw,54px)}}
@media(max-width:920px){.tf-v21-header nav{height:auto;min-height:70px;flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:10px}.tf-v21-header .hamb{display:block;margin-left:auto}.tf-v21-header .menu{order:4;width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}.tf-v21-header .menu.open{display:flex}.tf-v21-header .menu a{font-size:15px;padding:9px 7px}.tf-header-search{max-width:none;flex:1 1 160px;margin-left:auto;order:2}.tf-v21-header .tf-contact{order:3}.tf-v21-header .brand{order:0}.tf-v21-header .hamb{order:1}.home-v21 .hero-v21{height:auto;min-height:440px}.tf-v21-hero-inner{min-height:440px;padding-top:48px;padding-bottom:110px}.tf-v21-photo{width:100%;opacity:.48}.tf-v21-photo img{object-position:center}.home-v21 .hero-v21:has(.tf-v21-photo) .tf-v21-photo::after{background:linear-gradient(90deg,#071422 0%,rgba(7,20,34,.92) 25%,rgba(7,20,34,.55) 75%,rgba(7,20,34,.45) 100%)}.tf-v21-copy{width:100%;max-width:680px;padding-bottom:0}.tf-v21-hero-trust{gap:12px;bottom:25px}.tf-v21-categories-head p{display:none}}
@media(max-width:640px){.tf-v21-header nav{gap:9px}.tf-v21-header .tf-contact{display:none}.tf-header-search{flex:1 1 100%;order:5;margin-left:0}.tf-v21-header .menu{order:4}.tf-v21-hero-inner{padding-top:35px;padding-bottom:170px}.home-v21 .hero-v21 h1{font-size:clamp(34px,8.4vw,48px)}.home-v21 .hero-v21 h1 span{white-space:normal}.home-v21 .hero-v21 p{font-size:15px}.tf-v21-eyebrow{font-size:9px;letter-spacing:1.6px}.tf-v21-hero-trust{left:24px;right:24px;bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tf-v21-hero-trust>div:last-child{display:none}.tf-v21-hero-trust small{font-size:9px;white-space:normal}.tf-v21-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.tf-v21-category{min-height:145px}.tf-v21-category img{width:70%}.tf-v21-category::before{background:linear-gradient(90deg,#071523 3%,rgba(7,21,35,.96) 48%,rgba(7,21,35,.34) 78%,transparent)}.tf-v21-card-copy{max-width:85%;padding:12px}.tf-v21-category h3{font-size:14px}.tf-v21-category p{font-size:10px}.tf-search-results{grid-template-columns:1fr}}
@media(max-width:440px){.tf-v21-grid{grid-template-columns:1fr}.tf-v21-category{min-height:125px}.tf-v21-category img{width:62%}.tf-v21-card-copy{max-width:65%}}


/* --- V22 ajustes solicitados: hero + tarjetas más altas y más reales --- */
.tf-v21-photo{width:62%}
.tf-v21-photo img{object-position:center right;filter:brightness(.84) saturate(.82) contrast(.98)}
.home-v21 .hero-v21:has(.tf-v21-photo) .tf-v21-photo::after{background:linear-gradient(90deg,#071422 0%,rgba(7,20,34,.96) 14%,rgba(7,20,34,.84) 29%,rgba(7,20,34,.40) 50%,transparent 72%),linear-gradient(0deg,rgba(7,20,34,.12),transparent 32%)}
.tf-v21-hero-inner{justify-content:flex-start}
.tf-v21-copy{width:min(47%,560px);max-width:560px;padding-bottom:50px;margin-left:0}
.home-v21 .hero-v21 p{max-width:520px}
.tf-v21-grid{gap:16px}
.tf-v21-category{min-height:154px;border-radius:18px}
.tf-v21-category img{right:8px;top:8px;width:50%;height:calc(100% - 16px);object-fit:contain;object-position:right center;filter:saturate(.82) brightness(.96) contrast(.98)}
.tf-v21-category:hover img{transform:scale(1.025);filter:saturate(.90) brightness(.98)}
.tf-v21-category::before{background:linear-gradient(90deg,#071523 6%,rgba(7,21,35,.98) 36%,rgba(7,21,35,.78) 54%,rgba(7,21,35,.26) 78%,transparent)}
.tf-v21-card-copy{max-width:58%;padding:14px 14px 16px 17px}
.tf-v21-number{margin-bottom:7px}
.tf-v21-category h3{font-size:16px;line-height:1.14;margin-bottom:8px}
.tf-v21-category p{font-size:11px;line-height:1.38;max-width:26ch}
.tf-v21-arrow{right:12px;bottom:12px}
@media(max-width:1310px){.tf-v21-card-copy{max-width:60%}}
@media(max-width:1120px){.tf-v21-copy{width:min(57%,600px)}.tf-v21-category{min-height:160px}.tf-v21-card-copy{max-width:62%}}
@media(max-width:920px){.tf-v21-photo{width:100%;opacity:.46}.tf-v21-copy{width:100%;max-width:620px}.tf-v21-category{min-height:168px}.tf-v21-category img{width:47%;height:calc(100% - 16px)}}
@media(max-width:640px){.tf-v21-category{min-height:165px}.tf-v21-category img{width:48%;height:calc(100% - 14px);top:7px;right:7px}.tf-v21-card-copy{max-width:55%;padding:12px 12px 14px 14px}.tf-v21-category p{font-size:10px}}
@media(max-width:440px){.tf-v21-category{min-height:152px}.tf-v21-card-copy{max-width:58%}.tf-v21-category img{width:44%}}


/* --- TechFaro V23: hero left-aligned, documentary category photography --- */
@media(min-width:921px){
  .home-v21 .hero-v21{height:478px;min-height:478px}
  .home-v21 .hero-v21 .tf-v21-hero-inner{
    width:100%;max-width:none;margin:0;box-sizing:border-box;
    padding-left:clamp(34px,4vw,84px);padding-right:clamp(32px,4vw,84px);
    min-height:478px;justify-content:flex-start;
  }
  .home-v21 .hero-v21 .tf-v21-copy{width:clamp(450px,43vw,640px);max-width:640px;margin:0;padding-bottom:42px}
  .home-v21 .hero-v21 h1{
    font-size:clamp(42px,3.05vw,57px);line-height:1.05;letter-spacing:-.047em;
    max-width:100%;margin:19px 0 15px;
  }
  .home-v21 .hero-v21 h1 span{white-space:normal}
  .home-v21 .hero-v21 p{max-width:560px;font-size:16px;line-height:1.55}
  .tf-v21-photo{width:57%;left:auto;right:0}
  .tf-v21-photo img{object-position:51% 48%;filter:saturate(.93) brightness(.91)}
  .home-v21 .hero-v21:has(.tf-v21-photo) .tf-v21-photo::after{
    background:linear-gradient(90deg,#071422 0%,rgba(7,20,34,.97) 13%,rgba(7,20,34,.69) 29%,rgba(7,20,34,.19) 50%,transparent 73%),linear-gradient(0deg,rgba(7,20,34,.20),transparent 36%);
  }
  .tf-v21-hero-trust{left:clamp(34px,4vw,84px);bottom:22px;gap:clamp(15px,2vw,30px)}
  .tf-v21-side-points{right:clamp(22px,3vw,58px)}
}
/* The text must never overlap the image/collage at intermediate desktop widths. */
@media(min-width:921px) and (max-width:1370px){
  .home-v21 .hero-v21 .tf-v21-copy{width:49vw;max-width:615px}
  .home-v21 .hero-v21 h1{font-size:clamp(38px,3.4vw,48px)}
  .tf-v21-photo{width:56%}
}
@media(min-width:921px) and (max-width:1120px){
  .home-v21 .hero-v21 .tf-v21-copy{width:54vw;max-width:540px}
  .home-v21 .hero-v21 h1{font-size:39px}
  .tf-v21-hero-trust{gap:12px}
  .tf-v21-hero-trust small{white-space:normal}
}
/* Phone/tablet: readability wins over photographic exposure. */
@media(max-width:920px){
 .home-v21 .hero-v21 .tf-v21-hero-inner{width:100%;max-width:none;margin:0;padding-left:24px;padding-right:24px}
 .home-v21 .hero-v21 .tf-v21-copy{width:100%;max-width:690px;margin:0;padding-bottom:0}
 .home-v21 .hero-v21 h1{font-size:clamp(36px,5.8vw,54px);line-height:1.05;letter-spacing:-.04em}
 .home-v21 .hero-v21 h1 span{white-space:normal}
 .home-v21 .hero-v21 .tf-v21-photo{width:100%;opacity:.36}
 .home-v21 .hero-v21:has(.tf-v21-photo) .tf-v21-photo::after{background:linear-gradient(90deg,rgba(7,20,34,.94),rgba(7,20,34,.71))}
 .tf-v21-hero-trust{left:24px;right:24px}
}
/* Taller cards + visible independent photographic illustrations */
.home-v21 .tf-v21-section{padding-top:25px}
.home-v21 .tf-v21-grid{gap:16px}
.home-v21 .tf-v21-category{
  min-height:184px;border-radius:18px;
  background:#0a1828;border:1px solid rgba(112,173,213,.43);
  box-shadow:0 7px 22px rgba(0,0,0,.20),inset 0 1px rgba(255,255,255,.045);
}
.home-v21 .tf-v21-category img{
  position:absolute;inset:0 0 0 auto;top:0;right:0;
  width:72%;height:100%;object-fit:contain;object-position:center right;
  filter:saturate(.88) brightness(.91);transition:filter .22s ease,transform .22s ease;
  border-radius:0 17px 17px 0;
}
.home-v21 .tf-v21-category::before{
  content:"";z-index:-1;position:absolute;inset:0;
  background:linear-gradient(90deg,#081522 0%,rgba(8,21,34,.99) 33%,rgba(8,21,34,.88) 48%,rgba(8,21,34,.42) 66%,rgba(8,21,34,.08) 92%);
}
.home-v21 .tf-v21-category:hover img{filter:saturate(1) brightness(.98);transform:scale(1.015)}
.home-v21 .tf-v21-card-copy{position:relative;z-index:2;max-width:61%;padding:15px 14px 18px 17px}
.home-v21 .tf-v21-number{margin-bottom:11px}
.home-v21 .tf-v21-category h3{font-size:16px;line-height:1.2;margin-bottom:9px}
.home-v21 .tf-v21-category p{font-size:11px;line-height:1.4;max-width:29ch}
.home-v21 .tf-v21-arrow{right:11px;bottom:10px;z-index:3}
@media(min-width:921px) and (max-width:1200px){
  .home-v21 .tf-v21-category{min-height:184px}
  .home-v21 .tf-v21-card-copy{max-width:57%}
}
@media(max-width:920px){
  .home-v21 .tf-v21-category{min-height:194px}
  .home-v21 .tf-v21-card-copy{max-width:59%}
}
@media(max-width:640px){
 .home-v21 .tf-v21-category{min-height:186px}
 .home-v21 .tf-v21-category img{width:69%}
 .home-v21 .tf-v21-card-copy{max-width:65%;padding:13px 11px 16px 13px}
 .home-v21 .tf-v21-category h3{font-size:14px}
 .home-v21 .tf-v21-category p{font-size:10.5px}
}
@media(max-width:440px){
 .home-v21 .tf-v21-category{min-height:177px}
 .home-v21 .tf-v21-card-copy{max-width:60%}
 .home-v21 .tf-v21-category img{width:65%}
}

/* V23b: same horizontal alignment as the selected full-width reference. */
@media (min-width:1200px){
  .tf-v21-header .wrap, .home-v21 .wrap:not(.tf-v21-hero-inner){max-width:none;width:100%;margin:0;padding-left:clamp(36px,4vw,84px);padding-right:clamp(36px,4vw,84px)}
  .home-v21 .hero-v21 h1{font-size:clamp(42px,3.35vw,50px)}
}

/* TechFaro V24 — Una solución para cada necesidad */
.tf24-eyebrow{font:800 11px/1.3 Manrope,sans-serif;color:#62ccde;letter-spacing:1.6px;text-transform:uppercase}
.tf24-hero.hero-v21{min-height:520px;height:520px}.tf24-hero .tf-v21-hero-inner{min-height:520px}.tf24-hero .tf24-hero-copy{max-width:680px;width:46%;padding-bottom:0}
.home-v21 .tf24-hero h1{font:800 clamp(40px,3.65vw,62px)/1.045 Manrope,sans-serif;letter-spacing:-.047em;margin:16px 0 16px}.home-v21 .tf24-hero h1 span{display:block;white-space:normal}.tf24-hero .tf24-hero-copy p{font-size:16px;max-width:540px}
.tf24-hero-search{margin-top:20px;width:min(100%,560px);position:relative;z-index:2}.tf24-hero-search label,.tf24-app-form label{display:block;color:#c8d9eb;font-size:13px;font-weight:700;margin-bottom:9px}
.tf24-search-line{display:flex;gap:7px;background:#0e2336;border:1px solid #6093ae;border-radius:13px;padding:5px;box-shadow:0 14px 42px rgba(0,0,0,.25)}
.tf24-search-line:focus-within{border-color:#87dbec;box-shadow:0 0 0 3px rgba(75,209,238,.16)}.tf24-search-line input{min-width:0;flex:1;padding:11px 11px;color:#fff;background:transparent;border:0;outline:0;font:500 14px DM Sans,sans-serif}
.tf24-search-line button{border:0;border-radius:9px;padding:12px 16px;background:linear-gradient(135deg,#22b6db,#39cab7);color:#062035;font-weight:850;cursor:pointer;white-space:nowrap}.tf24-search-line button:hover{filter:brightness(1.12)}
.tf24-suggest{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:13px;font-size:12px;color:#97b7d1}.tf24-suggest a{color:#d5edfa;text-decoration:none;border-bottom:1px dotted #6f9cb7}.tf24-suggest a:hover{color:#64dfde}
.tf24-section{padding:62px 0}.tf24-section h2{color:#f3f8fe;font:800 clamp(27px,2.7vw,38px)/1.16 Manrope,sans-serif;letter-spacing:-.03em;margin:13px 0 10px}.tf24-section p{color:#a9bed3;line-height:1.6}.tf24-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.tf24-head p{max-width:470px;margin:0}.tf24-path{background:#0b1c2f;border-bottom:1px solid rgba(140,182,216,.14)}.tf24-pathgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.tf24-pathgrid article{padding:22px;background:linear-gradient(155deg,#142c44,#0c2033);border:1px solid #2e546d;border-radius:16px}.tf24-pathgrid article span{color:#56cfdb;font-weight:800;font-size:12px}.tf24-pathgrid h3{color:#f5f8ff;font-size:18px;margin:12px 0 8px}.tf24-pathgrid p{font-size:13px;margin:0}
.tf24-catgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tf24-cat{position:relative;isolation:isolate;display:flex;min-height:166px;overflow:hidden;border-radius:16px;border:1px solid #3b7c9d;background:#091828;text-decoration:none;color:#fff;transition:transform .2s,border-color .2s,box-shadow .2s}.tf24-cat:hover,.tf24-cat:focus-visible{transform:translateY(-3px);border-color:#61e1eb;box-shadow:0 14px 35px rgba(0,0,0,.34),0 0 18px rgba(70,201,230,.09)}
.tf24-cat:focus-visible{outline:3px solid #77e4f4;outline-offset:2px}.tf24-cat img{position:absolute;right:0;top:0;width:68%;height:100%;object-fit:contain;object-position:center right;z-index:-2;filter:brightness(.83) saturate(.82)}.tf24-cat:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071523 4%,rgba(7,21,35,.97) 42%,rgba(7,21,35,.62) 65%,transparent 95%);z-index:-1}
.tf24-cat-label{display:flex;flex-direction:column;gap:7px;padding:19px;max-width:67%}.tf24-cat-label small{font-size:10px;color:#6ed8e4;font-weight:800;letter-spacing:.9px}.tf24-cat-label strong{font:800 18px/1.18 Manrope,sans-serif;color:#fff}.tf24-cat-label>span{color:#bed2e1;font-size:11px;line-height:1.4}.tf24-cat-arrow{position:absolute;right:12px;bottom:11px;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;background:rgba(6,29,48,.86);border:1px solid #5eb5cf;color:#fff}
.tf24-evidence{background:#091929;border-block:1px solid rgba(119,176,206,.12)}.tf24-proofgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tf24-proof-card{position:relative;overflow:hidden;border-radius:22px;border:1px solid rgba(105,193,255,.42);background:radial-gradient(circle at 0% 100%,rgba(0,180,255,.08),transparent 35%),linear-gradient(180deg,#123353 0%,#0d243b 100%);box-shadow:0 14px 32px rgba(2,16,35,.28),inset 0 1px 0 rgba(255,255,255,.04);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.tf24-proof-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(97,214,255,.75),rgba(67,112,255,.38) 55%,rgba(16,30,62,.08));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9;pointer-events:none}.tf24-proof-card::after{content:"";position:absolute;inset:auto -18% -20% auto;width:180px;height:180px;background:radial-gradient(circle,rgba(77,212,255,.22),rgba(77,212,255,0));filter:blur(10px);pointer-events:none}.tf24-proof-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(2,16,35,.4),0 0 0 1px rgba(123,220,255,.24);border-color:rgba(123,220,255,.72)}.tf24-proof-card-inner{position:relative;display:flex;flex-direction:column;gap:18px;min-height:338px;padding:26px;z-index:1}.tf24-proof-chip{display:flex;align-items:center;gap:12px}.tf24-proof-icon{display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;border-radius:18px;background:linear-gradient(180deg,rgba(31,88,121,.9),rgba(16,59,84,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);color:#aef0f7;font-size:20px;font-weight:900}.tf24-proof-chip small{display:inline-flex;align-items:center;min-height:50px;padding:0 20px;border-radius:999px;border:1px solid rgba(95,222,255,.32);background:linear-gradient(180deg,rgba(8,79,111,.55),rgba(8,55,84,.45));font-size:12px;font-weight:800;color:#7fe8f6;letter-spacing:1.3px}.tf24-proof-visual{height:106px;border-radius:22px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(12,33,66,.18),rgba(255,255,255,.02))}.tf24-proof-visual::before,.tf24-proof-visual::after{content:"";position:absolute}.tf24-proof-docs .tf24-proof-visual{background:radial-gradient(circle at 18% 40%,rgba(255,78,111,.45),transparent 26%),linear-gradient(135deg,rgba(56,22,74,.72),rgba(18,39,83,.5))}.tf24-proof-docs .tf24-proof-visual::before{left:18px;top:18px;width:78px;height:78px;border-radius:22px;background:linear-gradient(145deg,#ff625d,#cb2337);box-shadow:0 0 28px rgba(255,74,92,.25)}.tf24-proof-docs .tf24-proof-visual::after{right:18px;top:12px;width:110px;height:82px;border-radius:18px;background:linear-gradient(180deg,rgba(239,245,255,.96),rgba(201,214,243,.82));box-shadow:inset 0 -10px 0 rgba(52,109,227,.12)}.tf24-proof-security .tf24-proof-visual{background:radial-gradient(circle at 85% 22%,rgba(46,111,255,.34),transparent 24%),linear-gradient(135deg,rgba(8,33,88,.7),rgba(16,27,55,.56))}.tf24-proof-security .tf24-proof-visual::before{left:18px;top:14px;width:82px;height:82px;border-radius:24px;background:linear-gradient(180deg,#4ca6ff,#1d4df0)}.tf24-proof-security .tf24-proof-visual::after{right:18px;top:15px;width:110px;height:76px;border-radius:20px;background:linear-gradient(180deg,rgba(26,47,92,.96),rgba(9,22,54,.94));border:1px solid rgba(91,156,255,.25)}.tf24-proof-record .tf24-proof-visual{background:radial-gradient(circle at 0% 0%,rgba(0,255,213,.18),transparent 34%),linear-gradient(135deg,rgba(9,55,67,.78),rgba(9,24,52,.62))}.tf24-proof-record .tf24-proof-visual::before{left:18px;top:18px;width:86px;height:86px;border-radius:24px;background:linear-gradient(180deg,#242b38,#060b15);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.tf24-proof-record .tf24-proof-visual::after{right:14px;top:12px;width:124px;height:82px;border-radius:18px;background:linear-gradient(180deg,rgba(18,31,61,.96),rgba(11,22,46,.9));border:1px solid rgba(81,233,209,.2)}.tf24-proof-copy{display:flex;flex-direction:column;gap:10px}.tf24-proof-copy h3{color:#fff;font-size:27px;line-height:1.02;margin:0}.tf24-proof-copy p{font-size:14px;line-height:1.55;color:#d5e6f4;margin:0;max-width:95%}.tf24-proof-cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;border-radius:18px;border:1px solid rgba(68,201,255,.58);background:linear-gradient(90deg,rgba(2,67,128,.88),rgba(35,130,232,.9));box-shadow:0 0 0 1px rgba(255,255,255,.03),inset 0 1px 0 rgba(255,255,255,.08);font-size:15px;font-weight:800;color:#8bf0ff}.tf24-proof-cta span{color:#8bf0ff}.tf24-proof-cta strong{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:rgba(0,25,55,.42);color:#8bf0ff;font-size:22px;line-height:1}.tf24-proof-security .tf24-proof-cta{background:linear-gradient(90deg,rgba(3,80,162,.88),rgba(62,178,255,.96))}.tf24-proof-record .tf24-proof-cta{background:linear-gradient(90deg,rgba(0,102,126,.88),rgba(13,212,179,.96))}.tf24-disclosure{font-size:14px;color:#9bb2c9;margin-top:18px;padding-left:6px}.tf24-last{display:flex;justify-content:space-between;align-items:center;gap:24px}
.tf24-app-body{background:#071524}.tf24-app{min-height:72vh;padding:60px 0 80px}.tf24-app-intro{max-width:860px}.tf24-app-intro h1{font:850 clamp(32px,4.6vw,57px)/1.1 Manrope,sans-serif;color:#fff;letter-spacing:-.04em;margin:12px 0}.tf24-app-intro>p{color:#bbccdc;max-width:700px}.tf24-app-form{margin:25px 0 0}.tf24-app-form .tf24-search-line{max-width:800px}.tf24-prompt-chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.tf24-prompt-chips button{background:#102c42;border:1px solid #3d6784;border-radius:999px;color:#c9e2ef;padding:9px 13px;cursor:pointer}.tf24-prompt-chips button:hover{border-color:#63cbd9}
.tf24-app-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:35px;margin-top:45px;align-items:start}.tf24-app-filters{position:sticky;top:24px;border-radius:16px;background:#0c2135;border:1px solid #24445c;padding:19px}.tf24-app-filters h2{font-size:16px;color:#fff;margin:0 0 15px}.tf24-app-cats{display:grid;gap:5px}.tf24-app-cats button{cursor:pointer;width:100%;text-align:left;color:#c9d9e9;background:transparent;border:1px solid transparent;border-radius:9px;padding:10px;font-size:13px}.tf24-app-cats button:hover,.tf24-app-cats button.active{color:#fff;border-color:#287d91;background:#12364a}.tf24-app-info{margin-top:20px;padding-top:16px;border-top:1px solid #2d5064}.tf24-app-info strong{font-size:12px;color:#8bd8e0}.tf24-app-info p{font-size:11px;color:#9db5c7;line-height:1.5}.tf24-results-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:17px}.tf24-results-heading h2{color:#fff;margin:7px 0 0;font-size:26px}.tf24-results-heading small{color:#83b4ce;white-space:nowrap}.tf24-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tf24-result-card{background:#10283e;border:1px solid #345672;border-radius:14px;padding:21px;text-align:left;display:flex;flex-direction:column;gap:9px;cursor:pointer;color:#fff;min-height:174px}.tf24-result-card:hover,.tf24-result-card:focus-visible{border-color:#62d8e0;background:#15334a}.tf24-result-card small{font:800 10px Manrope,sans-serif;color:#6fc8d8;text-transform:uppercase;letter-spacing:.7px}.tf24-result-card strong{font-size:17px;line-height:1.24}.tf24-result-card span{font-size:12px;color:#acc3d8}.tf24-result-card b{font-size:12px;color:#78e4e5;margin-top:auto}.tf24-noresults{padding:28px;border:1px dashed #46728a;border-radius:15px;color:#cfdfed;grid-column:1/-1}.tf24-more{grid-column:1/-1;color:#9db5c9;font-size:13px}
.tf24-detail{scroll-margin-top:20px;background:#102a41;border:1px solid #356079;border-radius:17px;padding:26px}.tf24-detail h2{font-size:28px;color:#fff;margin:10px 0}.tf24-detail h3{font-size:17px;color:#f7faff;margin-top:25px}.tf24-back{border:0;background:transparent;color:#90d8eb;cursor:pointer;font-weight:800;font-size:13px;margin-bottom:19px}.tf24-context{color:#fff;font-size:15px}.tf24-stage{color:#a5e0b9;font-size:12px;font-weight:750}.tf24-summary{color:#bfd1e2;line-height:1.5}.tf24-product-list{display:grid;gap:12px}.tf24-product{display:flex;gap:16px;background:#0a1e30;padding:19px;border:1px solid #31506a;border-radius:12px}.tf24-product-number{color:#69d8e0;font-size:12px;font-weight:900}.tf24-product-body h4{color:#fff;font-size:19px;margin:0 0 7px}.tf24-product-body p{color:#bbcbdd;font-size:13px;line-height:1.5}.tf24-product-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:13px}.tf24-product-actions a{display:inline-block;text-decoration:none;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:800}.tf24-visit{background:#36c7d2;color:#062539}.tf24-review{border:1px solid #6db3ce;color:#ccedf4}.tf24-evidence-box{padding-top:12px}.tf24-evidence-box p{color:#b8ccdd;line-height:1.5;font-size:13px}.tf24-evidence-box a{color:#7bdbed}.tf24-evidence-box .tf24-disclaimer{font-size:12px;color:#9db6cb}
@media(max-width:1100px){.tf24-catgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf24-head{display:block}.tf24-hero .tf24-hero-copy{width:min(58%,610px)}.tf24-hero .tf-v21-photo{width:55%}}
@media(max-width:920px){.tf24-hero.hero-v21{height:auto;min-height:490px}.tf24-hero .tf-v21-hero-inner{min-height:490px;padding:56px 24px}.tf24-hero .tf24-hero-copy{width:100%;max-width:720px}.tf24-hero .tf-v21-photo{width:100%;opacity:.28}.tf24-app-layout{grid-template-columns:1fr}.tf24-app-filters{position:static}.tf24-app-cats{display:flex;flex-wrap:wrap}.tf24-app-cats button{width:auto}.tf24-proofgrid,.tf24-pathgrid{grid-template-columns:1fr}.tf24-last{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.tf24-hero .tf-v21-hero-inner{padding:45px 21px 50px}.home-v21 .tf24-hero h1{font-size:clamp(33px,9vw,48px)}.tf24-search-line{flex-wrap:wrap}.tf24-search-line input{flex-basis:100%}.tf24-search-line button{width:100%}.tf24-section{padding:45px 0}.tf24-catgrid,.tf24-result-list{grid-template-columns:1fr}.tf24-proof-card-inner{min-height:initial;padding:20px}.tf24-proof-icon{width:56px;height:56px;flex-basis:56px}.tf24-proof-chip small{min-height:44px;padding:0 16px}.tf24-proof-visual{height:92px}.tf24-proof-copy h3{font-size:23px}.tf24-proof-copy p{font-size:13px}.tf24-proof-cta{padding:15px 18px;font-size:14px}.tf24-cat{min-height:154px}.tf24-app{padding:38px 0}.tf24-app-intro h1{font-size:34px}.tf24-app-layout{margin-top:28px}.tf24-detail{padding:17px}}
@media(prefers-reduced-motion:reduce){.tf24-cat,.tf24-result-card{transition:none}}


/* V25 — CTA de marca «Encontrar mi software». El faro es un icono vectorial decorativo. */
.tf24-search-line .tf25-find-btn,
a.tf25-find-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  position:relative; isolation:isolate; overflow:hidden;
  color:#062035; font:800 13px/1.2 Manrope,sans-serif;
  background:linear-gradient(120deg,#4ed4e5 0%,#33cab8 100%);
  border:1px solid rgba(178,255,245,.45); border-radius:10px;
  padding:12px 16px; white-space:nowrap; cursor:pointer;
  box-shadow:0 4px 12px rgba(21,169,187,.12),inset 0 1px 0 rgba(255,255,255,.32);
  transition:transform .18s ease, box-shadow .18s ease,filter .18s ease;
}
.tf25-find-btn .tf25-lighthouse-icon{width:21px;height:21px;flex:0 0 21px;position:relative;z-index:1;}
.tf25-find-btn .tf25-cta-label{position:relative;z-index:1;}
.tf24-search-line .tf25-find-btn:hover,
a.tf25-find-btn:hover{
  transform:translateY(-2px);filter:brightness(1.04);
  box-shadow:0 9px 26px rgba(38,195,210,.28),0 0 17px rgba(55,207,220,.17),inset 0 1px 0 rgba(255,255,255,.4);
}
.tf25-find-btn:focus-visible{outline:3px solid #c5f7ff;outline-offset:3px}
.tf25-bottom-btn{min-width:212px}
@media(max-width:620px){.tf24-search-line .tf25-find-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.tf25-find-btn{transition:none}}


/* ---- TechFaro V26 | Faro-guía y hero de búsqueda ---- */
.tf26-brand{display:inline-flex!important;align-items:center;gap:6px;min-width:0;overflow:visible;position:relative;white-space:nowrap}
.tf26-brand .tf26-beacon{display:inline-flex;flex:0 0 44px;width:44px;height:54px;align-items:center;justify-content:center;filter:drop-shadow(0 0 7px rgba(78,216,248,.25));background:none!important;color:inherit!important;-webkit-text-fill-color:unset!important}
.tf26-brand .tf26-beacon svg{width:44px;height:54px;display:block}
.tf26-brand .tf26-brand-wordmark{display:block;color:#f6faff!important;background:none!important;-webkit-text-fill-color:unset!important;font:inherit;letter-spacing:inherit;text-shadow:inherit}
.tf26-brand .tf26-brand-wordmark>span{background:linear-gradient(90deg,#ffe0a1,#f7a869);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.tf26-brand .tf26-brand-wordmark small{display:block!important;font:700 9px/1.7 'DM Sans',sans-serif;color:#deb990!important;letter-spacing:1.95px;text-transform:uppercase}
.tf-v21-header .tf26-brand{font-size:25px;line-height:1.08}
/* visual direction: brand lighthouse subtly guides the eye to the search CTA */
.home-v21 .tf26-lightbeam{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.home-v21 .tf24-hero .tf-v21-hero-inner{z-index:2;min-height:598px;padding-top:44px;padding-bottom:42px}
.home-v21 .tf24-hero.hero-v21{height:auto;min-height:598px}
.home-v21 .tf24-hero .tf24-hero-copy{width:min(51%,675px);max-width:675px;padding:0;margin:0}
.home-v21 .tf24-hero h1{font:800 clamp(47px,4.55vw,76px)/.98 'Manrope',sans-serif;letter-spacing:-.052em;margin:17px 0 19px;max-width:690px;overflow-wrap:normal}
.home-v21 .tf24-hero h1 .tf26-title-accent{color:#4adce6;background:linear-gradient(105deg,#7acbfc,#2bd9e4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline}
.home-v21 .tf24-hero .tf24-hero-copy>p{font-size:17px;line-height:1.58;max-width:590px;color:#deecfb;margin-bottom:0}
.home-v21 .tf24-hero-search{margin-top:22px;width:min(100%,690px);max-width:690px}
.home-v21 .tf24-hero-search label{font:800 20px/1.3 'Manrope',sans-serif;color:#f8fcff;margin-bottom:12px;letter-spacing:-.015em}
.home-v21 .tf24-hero-search .tf24-search-line{border:1.5px solid rgba(88,205,239,.85);box-shadow:0 12px 34px rgba(0,0,0,.3),0 0 0 1px rgba(31,171,203,.05);border-radius:15px;padding:5px;min-height:70px;background:rgba(8,31,51,.89);gap:5px}
.home-v21 .tf24-hero-search .tf24-search-line:focus-within{border-color:#a1eff9;box-shadow:0 0 0 4px rgba(49,213,234,.14),0 12px 34px rgba(0,0,0,.36)}
.home-v21 .tf24-hero-search input{padding:15px 13px 15px 17px;font:500 14px/1.4 'DM Sans',sans-serif;min-width:0;max-width:100%;color:#fff}
.home-v21 .tf24-hero-search input::placeholder{color:#b8cbdb;opacity:1}
.home-v21 .tf24-hero-search .tf26-primary-cta{min-height:58px;font:800 16px/1.2 'Manrope',sans-serif!important;letter-spacing:-.01em;background:linear-gradient(115deg,#68e9f1,#33d1dd)!important;border:1px solid #b4f8f4!important;color:#052338!important;border-radius:11px;padding:12px 20px!important;box-shadow:0 6px 24px rgba(46,210,224,.2),inset 0 1px 0 rgba(255,255,255,.5);white-space:nowrap}
.home-v21 .tf26-cta-arrow{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(7,59,80,.92);color:white;font-size:22px;line-height:1;flex:0 0 30px}
.home-v21 .tf24-hero-search .tf26-primary-cta:hover{box-shadow:0 9px 30px rgba(55,231,238,.35),0 0 22px rgba(53,217,226,.25);filter:brightness(1.04)}
.home-v21 .tf24-suggest{margin-top:13px;gap:7px 12px;font-size:12px}
.home-v21 .tf26-benefits{display:flex;flex-wrap:wrap;align-items:center;gap:9px 19px;margin-top:22px;color:#e0eff9;font:600 12px/1.4 'DM Sans',sans-serif}
.home-v21 .tf26-benefits>span{display:inline-flex;gap:8px;align-items:center}
.home-v21 .tf26-benefits i{font:800 13px/1 'Manrope',sans-serif;display:grid;place-items:center;border:1px solid rgba(80,210,242,.4);border-radius:8px;background:rgba(39,115,148,.25);color:#70e5f0;width:28px;height:28px;font-style:normal}
/* keep hero editorial image distinct from lighthouse and readable under the left content */
.home-v21 .tf24-hero .tf-v21-photo{width:57%}
.home-v21 .tf24-hero:has(.tf-v21-photo) .tf-v21-photo::after{background:linear-gradient(90deg,#071422 0%,rgba(7,20,34,.96) 14%,rgba(7,20,34,.83) 28%,rgba(7,20,34,.39) 51%,transparent 75%),linear-gradient(0deg,rgba(7,20,34,.24),transparent 33%)}
@media(max-width:1350px){.home-v21 .tf24-hero .tf24-hero-copy{width:min(55%,660px)}.home-v21 .tf24-hero h1{font-size:clamp(43px,4.3vw,62px)}.home-v21 .tf24-hero-search .tf26-primary-cta{font-size:14px!important;padding:11px 14px!important}.home-v21 .tf24-hero-search input{font-size:13px}}
@media(max-width:1050px){.home-v21 .tf24-hero .tf24-hero-copy{width:62%}.home-v21 .tf24-hero .tf-v21-photo{width:62%;opacity:.75}}
@media(max-width:920px){.tf26-brand .tf26-beacon{flex-basis:38px;width:38px;height:47px}.tf26-brand .tf26-beacon svg{width:38px;height:47px}.home-v21 .tf26-lightbeam{display:none}.home-v21 .tf24-hero .tf-v21-hero-inner{padding:54px 24px 62px;min-height:520px}.home-v21 .tf24-hero.hero-v21{min-height:520px}.home-v21 .tf24-hero .tf24-hero-copy{width:100%;max-width:660px}.home-v21 .tf24-hero h1{font-size:clamp(43px,6.5vw,66px)}.home-v21 .tf24-hero .tf-v21-photo{width:100%;opacity:.34}}
@media(max-width:640px){.tf26-brand .tf26-brand-wordmark small{font-size:7px;letter-spacing:1.1px}.tf-v21-header .tf26-brand{font-size:23px}.home-v21 .tf24-hero .tf-v21-hero-inner{padding:40px 21px 45px}.home-v21 .tf24-hero h1{font-size:clamp(43px,10.8vw,59px);letter-spacing:-.05em}.home-v21 .tf24-hero .tf24-hero-copy>p{font-size:15px}.home-v21 .tf24-hero-search label{font-size:19px}.home-v21 .tf24-hero-search .tf24-search-line{min-height:unset;flex-wrap:wrap;gap:4px}.home-v21 .tf24-hero-search input{flex-basis:100%;font-size:14px;padding:15px 12px}.home-v21 .tf24-hero-search .tf26-primary-cta{width:100%;font-size:16px!important;min-height:55px}.home-v21 .tf26-benefits{gap:10px 14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-v21 .tf26-lightbeam #tf26-lightbeam-trail{display:none}}

/* V26 final: soft-focus light rather than a hard triangular band */
.home-v21 .tf26-lightbeam #tf26-lightbeam-cone{filter:blur(15px)}
.home-v21 .tf26-lightbeam #tf26-lightbeam-trail{stroke-width:2px;filter:blur(2px)}
.home-v21 .tf26-primary-cta{animation:tf26-glow-intro 1.1s ease-out 1 both}
@keyframes tf26-glow-intro{0%{filter:brightness(1.07);box-shadow:0 0 34px rgba(52,218,228,.32)}100%{filter:none}}
@media(prefers-reduced-motion:reduce){.home-v21 .tf26-primary-cta{animation:none}}


/* TechFaro V27 — VISIBLE lighthouse guidance effect */
.tf27-light-layer{
  position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:30;
  pointer-events:none;overflow:visible;mix-blend-mode:screen;
  opacity:1;transition:opacity .25s ease;
}
.tf27-light-layer.tf27-hidden{opacity:0;visibility:hidden}
.tf27-wide{opacity:.93;animation:tf27-beam-breathe 4.8s ease-in-out infinite}
.tf27-inner{opacity:.80;animation:tf27-beam-breathe 4.8s ease-in-out infinite reverse}
.tf27-guide-shadow{opacity:.55}
.tf27-guide{opacity:.85}
#tf27-source-halo{opacity:.97;animation:tf27-lens 3.2s ease-in-out infinite}
#tf27-source-spark{opacity:1;filter:drop-shadow(0 0 7px #abffff)}
#tf27-moving-glint{opacity:.82;filter:drop-shadow(0 0 6px #70f5ff)}
.tf27-active-beacon{filter:drop-shadow(0 0 10px rgba(78,219,245,.75))!important}
.tf27-active-beacon svg{filter:drop-shadow(0 0 4px rgba(168,255,255,.62))}
.home-v21 .tf27-illuminated-cta{
  position:relative;isolation:isolate;
  box-shadow:0 0 0 1px rgba(203,255,255,.72),
   0 0 26px rgba(63,235,241,.57),0 0 64px rgba(37,206,244,.26),inset 0 1px 0 rgba(255,255,255,.7)!important;
  animation:tf27-cta-glow 3.2s ease-in-out infinite!important;
}
.home-v21 .tf27-illuminated-cta:focus-visible{outline:3px solid #fff;outline-offset:5px}
@keyframes tf27-beam-breathe{0%,100%{opacity:.63}50%{opacity:1}}
@keyframes tf27-lens{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes tf27-cta-glow{
  0%,100%{box-shadow:0 0 0 1px rgba(200,255,255,.7),0 0 20px rgba(63,235,241,.45),0 0 46px rgba(37,206,244,.22),inset 0 1px 0 rgba(255,255,255,.7)}
  50%{box-shadow:0 0 0 2px rgba(222,255,255,.88),0 0 34px rgba(63,235,241,.85),0 0 76px rgba(37,206,244,.36),inset 0 1px 0 rgba(255,255,255,.75)}
}
@media(max-width:920px){.tf27-light-layer{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .tf27-wide,.tf27-inner,#tf27-source-halo,.home-v21 .tf27-illuminated-cta{animation:none!important}
  #tf27-moving-glint{display:none}
}


/* ===== V28: marca A + categorías visibles en primer pantallazo ===== */
.tf26-brand .tf26-brand-wordmark small{color:#d8b891!important;letter-spacing:1.85px}
/* Faro visible con luz tenue y el botón aún destacado */
.tf27-light-layer{opacity:.57}
.tf27-wide{opacity:.65}
.tf27-inner{opacity:.65}
.tf27-guide-shadow{opacity:.30}
.tf27-guide{opacity:.62}
#tf27-source-halo{opacity:.70}
#tf27-moving-glint{opacity:.55}
.home-v21 .tf27-illuminated-cta{
  box-shadow:0 0 0 1px rgba(203,255,255,.55),0 0 18px rgba(63,235,241,.35),0 0 37px rgba(37,206,244,.16),inset 0 1px 0 rgba(255,255,255,.6)!important;
  animation:tf28-cta-glow 4.5s ease-in-out infinite!important;
}
@keyframes tf28-cta-glow{
  0%,100%{box-shadow:0 0 0 1px rgba(200,255,255,.55),0 0 15px rgba(63,235,241,.30),0 0 32px rgba(37,206,244,.13),inset 0 1px 0 rgba(255,255,255,.6)}
  50%{box-shadow:0 0 0 1px rgba(222,255,255,.69),0 0 23px rgba(63,235,241,.45),0 0 46px rgba(37,206,244,.19),inset 0 1px 0 rgba(255,255,255,.7)}
}
/* two balanced text lines, no clipped text; shorter hero leaves room for category cards */
.home-v21 .tf24-hero .tf-v21-hero-inner{
  min-height:510px;padding-top:26px;padding-bottom:25px;
}
.home-v21 .tf24-hero.hero-v21{min-height:510px}
.home-v21 .tf24-hero .tf24-hero-copy{width:min(55%,780px);max-width:780px}
.home-v21 .tf24-hero h1{
  font:800 clamp(43px,4vw,67px)/1.04 'Manrope',sans-serif;
  letter-spacing:-.048em;margin:12px 0 13px;
}
.home-v21 .tf24-hero h1 .tf28-title-second{display:block;white-space:nowrap;font-size:.83em;letter-spacing:-.055em}
.home-v21 .tf24-hero h1 .tf26-title-accent{display:inline}
.home-v21 .tf24-hero .tf24-hero-copy>p{max-width:600px;font-size:16px;line-height:1.5}
.home-v21 .tf24-hero-search{margin-top:16px}
.home-v21 .tf24-hero-search label{font-size:18px;margin-bottom:8px}
.home-v21 .tf24-suggest{margin-top:8px}
.home-v21 .tf26-benefits{margin-top:14px}
/* category cards are now the very next visible action, instead of an explanatory block */
.home-v21 .tf24-catsection{padding-top:20px;padding-bottom:52px}
.home-v21 .tf24-catsection .tf24-head{margin-bottom:14px}
.home-v21 .tf24-catsection h2{margin:4px 0 5px;font-size:clamp(26px,2.4vw,37px)}
.home-v21 .tf24-catsection .tf24-eyebrow{font-size:10px}
.home-v21 .tf24-catgrid{gap:12px}
.home-v21 .tf24-cat{min-height:166px}
@media (min-width:1200px){
  .home-v21 .tf24-hero .tf-v21-hero-inner{padding-left:clamp(36px,4vw,84px);padding-right:clamp(36px,4vw,84px)}
}
@media (min-width:921px) and (max-width:1199px){
  .home-v21 .tf24-hero h1{font-size:clamp(40px,4.3vw,53px)}
  .home-v21 .tf24-hero .tf24-hero-copy{width:63%}
}
@media (max-width:920px){
  .home-v21 .tf24-hero .tf-v21-hero-inner{min-height:0;padding-top:38px;padding-bottom:37px}
  .home-v21 .tf24-hero.hero-v21{min-height:0}
  .home-v21 .tf24-hero .tf24-hero-copy{width:100%;max-width:680px}
  .home-v21 .tf24-hero h1{font-size:clamp(40px,5.8vw,58px)}
  .home-v21 .tf24-catsection{padding-top:27px}
}
@media (max-width:640px){
  .home-v21 .tf24-hero .tf-v21-hero-inner{padding-top:30px;padding-bottom:26px}
  .home-v21 .tf24-hero h1{font-size:clamp(36px,9vw,49px)}
  .home-v21 .tf24-hero h1 .tf28-title-second{white-space:normal;font-size:.87em}
  .home-v21 .tf24-hero .tf24-hero-copy>p{font-size:14.5px}
  .home-v21 .tf24-hero-search label{font-size:18px}
  .home-v21 .tf26-benefits{margin-top:12px}
  .home-v21 .tf24-catsection{padding-top:20px}
  .home-v21 .tf24-catsection h2{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.home-v21 .tf27-illuminated-cta{animation:none!important}}
/* On small screens, emphasize search and reveal the first category above the fold. */
@media (max-width:640px){
  .home-v21 .tf26-benefits{display:none}
  .home-v21 .tf24-catsection .tf24-head{margin-bottom:10px}
  .home-v21 .tf24-catsection .tf24-head p{font-size:13px;line-height:1.4}
}


/* TechFaro V29 — same hero content on all screen widths, with a visible mobile lighthouse beam. */
/* Previous versions hid this effect and omitted trust benefits on smaller screens. */
@media(max-width:920px){
  .home-v21 .tf27-light-layer.tf29-mobile-light{
    display:block!important;opacity:.68;visibility:visible;mix-blend-mode:screen;
  }
  .home-v21 .tf29-mobile-light .tf27-wide{opacity:.58}
  .home-v21 .tf29-mobile-light .tf27-inner{opacity:.54}
  .home-v21 .tf29-mobile-light .tf27-guide-shadow{opacity:.40}
  .home-v21 .tf29-mobile-light .tf27-guide{opacity:.60;stroke-width:1.65px}
  .home-v21 .tf29-mobile-light #tf27-source-halo{opacity:.63}
  .home-v21 .tf29-mobile-light #tf27-moving-glint{opacity:.42}
}
@media(max-width:640px){
  .home-v21 .tf26-benefits{display:flex;flex-wrap:wrap;gap:9px 12px;margin-top:12px}
  .home-v21 .tf24-hero .tf-v21-hero-inner{padding-bottom:30px}
}
@media(prefers-reduced-motion:reduce){
  .tf29-mobile-light .tf27-guide,.tf29-mobile-light .tf27-wide,.tf29-mobile-light .tf27-inner{animation:none!important}
}


/* V30: móvil comparte el mismo recorrido diagonal del faro al CTA.
   Sólo reducimos la luminosidad para conservar la lectura. */
@media (max-width:920px){
  .home-v21 .tf27-light-layer.tf29-mobile-light{
    display:block!important;
    opacity:.54;
    visibility:visible;
    mix-blend-mode:screen;
  }
  .home-v21 .tf29-mobile-light .tf27-wide{opacity:.74}
  .home-v21 .tf29-mobile-light .tf27-inner{opacity:.67}
  .home-v21 .tf29-mobile-light .tf27-guide-shadow{opacity:.34}
  .home-v21 .tf29-mobile-light .tf27-guide{opacity:.50;stroke-width:1.65px}
  .home-v21 .tf29-mobile-light #tf27-source-halo{opacity:.70}
  .home-v21 .tf29-mobile-light #tf27-moving-glint{opacity:.59}
}
@media(max-width:640px){
  .home-v21 .tf27-light-layer.tf29-mobile-light{opacity:.59}
}
@media(prefers-reduced-motion:reduce){
  .tf29-mobile-light #tf27-moving-glint{display:none!important}
}


/* TechFaro V33 — ilustraciones visuales tomadas de la dirección aprobada.
   Se usan únicamente en las tres tarjetas de opiniones de la portada. */
.tf24-proof-visual {
  width:100%;
  height:auto;
  aspect-ratio:457/203;
  flex:0 0 auto;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  border-radius:17px;
  box-shadow:0 9px 26px rgba(2,8,24,.25);
}
.tf24-proof-visual::before,
.tf24-proof-visual::after {content:none!important;display:none!important}
.tf24-proof-docs .tf24-proof-visual {background: #131f45 url("assets/opinion-visual-pdf.webp") center/contain no-repeat}
.tf24-proof-security .tf24-proof-visual {background: #0b2452 url("assets/opinion-visual-seguridad.webp") center/contain no-repeat}
.tf24-proof-record .tf24-proof-visual {background: #082c39 url("assets/opinion-visual-grabacion.webp") center/contain no-repeat}
.tf24-proof-card-inner {gap:17px;min-height:440px}
.tf24-proof-copy h3 {font-size:26px}
.tf24-proof-cta:focus-visible {outline:3px solid #8beaff;outline-offset:3px}
@media (max-width:920px) {
  .tf24-proof-card-inner {min-height:initial}
}


/* V36: mejoras limitadas a la página de resultados y a las fichas.
   La portada y el CSS V33 original permanecen intactos. */
.tf36-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:23px 0}
.tf36-product{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid rgba(103,183,213,.34);border-radius:16px;background:linear-gradient(155deg,#112d49,#0c2036);color:#dceafa;min-width:0}
.tf36-product:hover{border-color:#5cdce9;box-shadow:0 12px 38px rgba(0,0,0,.18)}
.tf36-product-head{display:flex;align-items:start;gap:11px}.tf36-number{font-size:12px;font-weight:800;color:#70e2e8;padding-top:4px}.tf36-product-heading{min-width:0}.tf36-product h4{font-size:21px;line-height:1.18;margin:0 0 6px;color:white}.tf36-status{display:inline-block;color:#91cddd;font-size:11px;font-weight:700;letter-spacing:.2px}.tf36-position{font-size:13px;color:#d4e2ef;line-height:1.55;margin:0}.tf36-feature-list{margin:0;padding-left:19px;color:#bad9e8;font-size:12px;line-height:1.6}.tf36-price{font-size:12px;line-height:1.45;color:#9fb7cc;margin:0}.tf36-product-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}.tf36-product-actions a{display:inline-flex;justify-content:center;align-items:center;min-height:39px;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:800;text-decoration:none}.tf36-profile{border:1px solid #55849c;color:#d4edf4}.tf36-visit{background:linear-gradient(120deg,#50d8dd,#32c4cd);color:#062233}.tf36-select{display:flex;align-items:center;gap:6px;font-size:12px;color:#bfdee7;cursor:pointer}.tf36-select input{accent-color:#37d5d4}.tf36-review{font-size:12px;color:#8bdbe7;text-decoration:underline}.tf36-lead{font-size:14px;line-height:1.65;color:#c0d3e4}.tf36-related{margin-top:22px;border-top:1px solid rgba(103,183,213,.25);padding-top:18px}.tf36-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tf36-related-grid .tf24-result-card{min-height:140px}.tf36-compare{overflow:auto;padding:14px 0}.tf36-compare-table{border-collapse:collapse;min-width:440px;width:100%;font-size:12px}.tf36-compare-table th,.tf36-compare-table td{padding:11px;border:1px solid rgba(107,173,197,.32);text-align:left;vertical-align:top}.tf36-compare-table th{color:#9fe5eb}.tf36-product-page{padding:55px 0 75px}.tf36-profile-box{border:1px solid rgba(111,185,209,.3);border-radius:20px;background:#10283e;padding:30px;max-width:850px;margin:auto}.tf36-profile-box h1{font-size:clamp(30px,4vw,46px);color:#fff;margin:10px 0}.tf36-profile-box h2{color:#fff;font-size:22px}.tf36-profile-box p,.tf36-profile-box li{color:#c2d9e7;line-height:1.65}.tf36-profile-box a{color:#86e2e8}.tf36-profile-links{display:flex;flex-wrap:wrap;gap:13px;margin:22px 0}.tf36-profile-links a{display:inline-flex;padding:11px 17px;border:1px solid #5cbed0;border-radius:10px;font-size:14px;font-weight:800}.tf36-profile-links a:first-child{background:#37cbd0;color:#062333}.tf36-profile-meta{font-size:12px;color:#9dbccf}
@media(max-width:760px){.tf36-grid,.tf36-related-grid{grid-template-columns:1fr}.tf36-product{padding:18px}.tf36-profile-box{padding:20px}.tf36-profile-links a{width:100%;justify-content:center}}

.tf36-catalog-access{margin:2px 0 15px;font-size:13px}.tf36-catalog-access a{color:#86e9ed;font-weight:800;text-decoration:underline;text-underline-offset:4px}



/* V37 – Exclusivo fichas e índice. No altera portada ni diseño V33. */
.tf37-body{background:#071727;color:#d9e8f6;font:16px/1.6 'DM Sans',Arial,sans-serif}.tf37-header{background:#061321;border-bottom:1px solid rgba(132,194,220,.19);position:sticky;top:0;z-index:5}.tf37-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.tf37-brand{font:800 29px/1.05 'Manrope',Arial,sans-serif;color:#fff;white-space:nowrap}.tf37-brand span{color:#49d1de}.tf37-brand small{display:block;color:#e5b478;font:700 10px/1.4 Arial,sans-serif;letter-spacing:2px}.tf37-head nav{display:flex;align-items:center;gap:22px;height:auto}.tf37-head nav a{color:#cae4f4;font-size:13px}.tf37-main{padding:48px 24px 80px;max-width:1180px}.tf37-main h1{font:800 clamp(36px,4.5vw,56px)/1.12 'Manrope',Arial,sans-serif;color:white;letter-spacing:-1.2px;margin:10px 0 16px}.tf37-main h2{font:800 23px/1.3 'Manrope',Arial,sans-serif;color:#fff;margin:0 0 13px}.tf37-main h3{font-size:15px;color:#cef4fa;margin:20px 0 7px}.tf37-kicker{font:800 11px/1.6 Arial,sans-serif;letter-spacing:2px;color:#62d1f0;text-transform:uppercase}.tf37-breadcrumb{font-size:12px;color:#93bad5}.tf37-breadcrumb a{color:#80ddef}.tf37-summary{font-size:18px;line-height:1.65;max-width:780px;color:#d0e5f5;margin:14px 0 26px}.tf37-profile{padding:32px 35px;border:1px solid rgba(83,202,237,.35);border-radius:20px;background:linear-gradient(140deg,#12304c,#0a2036);box-shadow:0 24px 70px rgba(0,0,0,.18)}.tf37-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:22px 0 12px}.tf37-cta,.tf37-secondary{display:inline-flex;min-height:47px;align-items:center;justify-content:center;padding:12px 18px;font-size:13px;font-weight:800;border-radius:12px;text-decoration:none}.tf37-cta{background:linear-gradient(110deg,#67b3ff,#37dfd1);color:#071828}.tf37-cta span{margin-left:22px}.tf37-secondary{border:1px solid #6f96a9;color:#d5f1f8}.tf37-disabled{display:inline-flex;padding:12px 18px;border-radius:12px;background:#3e2834;color:#ffe0e0}.tf37-legal,.tf37-note{font-size:12px;color:#a7c3d4}.tf37-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.tf37-section{border:1px solid rgba(119,179,207,.21);border-radius:17px;padding:26px;background:#10263c;min-width:0}.tf37-section p,.tf37-section li{font-size:14px;line-height:1.7;color:#c1d9e9}.tf37-section ul{padding-left:19px}.tf37-section a{color:#80dfe8}.tf37-need-list li{margin:7px 0}.tf37-alts{display:grid;gap:8px}.tf37-alt{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #315f78;border-radius:12px;padding:11px 15px}.tf37-alt:hover{border-color:#78e9ef;background:#19384d}.tf37-warning{background:#442c34;border:1px solid #b9767a;color:#ffdddf;border-radius:12px;padding:16px;max-width:780px}.tf37-warning a{color:#fff;text-decoration:underline}.tf37-footer{border-top:1px solid #23485d;padding:30px 0;background:#071321;color:#b3cadb;font-size:13px}.tf37-index-grid{list-style:none;margin:15px 0 0;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tf37-index-grid li{margin:0}.tf37-index-grid a{display:block;border:1px solid #2b5b73;border-radius:12px;padding:15px;height:100%}.tf37-index-grid strong{display:block;color:#fff;font-size:16px}.tf37-index-grid span{display:block;color:#b5d7e7;font-size:12px;margin-top:5px;line-height:1.5}.tf37-index-grid a:hover{border-color:#69dfea;background:#183950}.tf37-main>section.tf37-section{margin-top:22px}@media(max-width:760px){.tf37-head{flex-wrap:wrap;padding-block:15px}.tf37-head nav{height:auto;gap:11px;flex-wrap:wrap}.tf37-head nav a{font-size:12px}.tf37-main{padding:32px 18px 65px}.tf37-profile{padding:22px}.tf37-sections,.tf37-index-grid{grid-template-columns:1fr}.tf37-section{padding:20px}}

.tf37-head .tf37-brand{display:inline-flex;align-items:center;gap:7px;min-width:fit-content;text-shadow:none}.tf37-head .tf26-brand-wordmark small{display:block;letter-spacing:1.8px}.tf37-head .tf26-beacon{display:inline-grid;place-items:center;width:36px;height:43px}.tf37-head .tf26-beacon svg{height:42px;width:36px}


/* TechFaro V39: imágenes editoriales en resultados y seis fichas existentes.
 * No modifica estilos de portada, faro, búsqueda ni tarjetas aprobadas. */
.tf39-result-visual{margin:0;overflow:hidden;border:1px solid rgba(111,190,222,.34);border-radius:13px;background:#0b2035}
.tf39-result-visual img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.tf39-result-visual figcaption{font-size:10px;color:#aac6d6;background:#0b2339;padding:7px 11px;line-height:1.45}
.tf39-profile-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr);align-items:center;gap:30px}
.tf39-profile-copy{min-width:0}
.tf39-profile-visual{margin:0;min-width:0;border:1px solid rgba(103,205,243,.44);border-radius:17px;overflow:hidden;background:#0a192b;box-shadow:0 14px 36px rgba(0,0,0,.18)}
.tf39-profile-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.tf39-profile-visual figcaption{background:#0c233b;color:#bdd7e4;padding:10px 15px;font-size:11px;line-height:1.45}
@media(max-width:850px){.tf39-profile-layout{grid-template-columns:1fr;gap:18px}.tf39-profile-visual{max-width:720px}}
@media(max-width:520px){.tf39-profile-visual figcaption{font-size:10px}.tf39-result-visual figcaption{font-size:10px}}

/* V40 - únicamente en índice y fichas, no en portada */
.tf40-index-image{display:block;width:100%;aspect-ratio:600/380;object-fit:cover;border-radius:9px;margin:0 0 12px;border:1px solid rgba(104,188,224,.25)}
.tf37-index-grid a{overflow:hidden}
@media(max-width:760px){.tf40-index-image{aspect-ratio:16/9}}


/* V41: cambios exclusivamente para el buscador. Portada V33/V40 sin cambios. */
.tf41-product .tf39-result-visual{width:100%}
.tf41-product .tf39-result-visual img{width:100%}
.tf41-notice{margin:12px 0 6px}.tf41-notice p{margin:0;font-size:13px;line-height:1.6}
.tf41-budget{display:inline-flex;border:1px solid rgba(65,208,205,.5);color:#b0eef0;border-radius:9px;padding:10px 13px;margin:8px 0;font-size:12px;font-weight:750}
.tf41-proof{font-size:11px;line-height:1.6;color:#a2c4db}.tf41-source{color:#8fdde8;text-decoration:underline;text-underline-offset:3px}
.tf41-wait,.tf41-empty,.tf41-unverified{font-size:13px;color:#c3d9e8;line-height:1.65;margin:16px 0}
.tf41-product .tf36-product-actions a{min-width:120px}
@media(max-width:760px){.tf41-product .tf36-product-actions a{flex:1 1 120px}.tf41-budget{display:block}}
/* Importante: estilos preexistentes de lista usan display:grid y pueden superar [hidden] del agente de usuario. */
.tf24-result-list[hidden],.tf24-detail[hidden]{display:none!important}

/* V42 - neutral product imagery when no brand permission exists */
.tf42-neutral {min-height:210px;border-radius:15px;border:1px solid #22546a;background:linear-gradient(134deg,#0b2238,#153752 62%,#13253f);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;gap:14px}
.tf42-neutral .tf42-glyph{width:54px;height:54px;border:1px solid #3dbaca;border-radius:18px;display:grid;place-items:center;font-size:26px;color:#65dce6;background:#123749}
.tf42-neutral strong{font-size:21px;color:#fff}.tf42-neutral small{color:#a4dbe5}
.tf42-verified{border-left:3px solid #35c4d1;padding:9px 14px;background:#102c43;margin:13px 0;line-height:1.6;color:#dbedf5}
.tf42-offer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0}
.tf42-cta{background:#38c6d1;color:#092234!important;display:inline-block;padding:13px 18px;border-radius:10px;font-weight:750;text-decoration:none}
.tf42-aff-note{font-size:12px;color:#bad5e4}
.tf42-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:19px;margin:22px 0}
.tf42-tile{padding:23px;background:#102b43;border:1px solid #32536a;border-radius:16px}
.tf42-tile h3{margin:0 0 10px;color:#fff}.tf42-tile p{color:#bbd8e5;line-height:1.6}
.tf42-section{margin:24px 0;padding:22px;background:#0d263b;border:1px solid #2d5065;border-radius:16px;color:#e4f2f9}
.tf42-section a{color:#75e7f0}.tf42-section p,.tf42-section li{line-height:1.65}
.tf42-tags{display:flex;flex-wrap:wrap;gap:8px}.tf42-tags span{border:1px solid #3f6776;padding:6px 11px;border-radius:30px;color:#a1dfe5;font-size:13px}
.tf42-search-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}.tf42-search-list article{border:1px solid #32566f;border-radius:14px;padding:20px;background:#10304a;color:#e4f7ff}
.tf42-search-list h3{margin:7px 0}.tf42-search-list a{color:#75dfeb}.tf42-search-list p{line-height:1.45}
.tf42-search-list .tf42-neutral{min-height:130px}.tf42-doc{margin:26px auto;max-width:1060px;padding:0 18px}
@media(max-width:640px){.tf42-neutral{min-height:155px}.tf42-section{padding:15px}}

/* V45: legibilidad de la tabla documental en fichas. */
.tf45-plan-table{width:100%;border-collapse:collapse;table-layout:fixed}.tf45-plan-table th,.tf45-plan-table td{border:1px solid #9aa4af;padding:10px;text-align:left;overflow-wrap:anywhere}.tf45-verdict p{margin:0.6em 0}@media(max-width:650px){.tf45-plan-table{font-size:0.85rem}}

.tf46-partial-warning{border-left:3px solid currentColor;padding:.75rem 1rem;background:rgba(125,125,125,.08);font-weight:600}

/* V47: ajustes acotados a portada y pie */
.tf47-category{min-height:210px;display:flex;align-items:center;justify-content:space-between;gap:16px}.tf47-category-icon{font:normal 54px/1 system-ui;color:#7eddf0;min-width:65px;text-align:center}.tf47-count{display:block;color:#d8ecff;font-size:.86rem;font-weight:700;margin-top:8px}.tf47-compact-card .tf24-proof-card-inner{min-height:0!important;padding-block:20px!important}.tf47-plan{font-size:.88rem;color:#d6eaff;font-weight:600;margin-top:8px}.tf24-proof-cta{background:#245fbb!important;color:#fff!important}.tf47-footer,.tf47-footer p,.tf47-footer a,.tf47-footer .footer-discreet{color:#d1dfef!important}@media(max-width:600px){.tf47-category-icon{font-size:42px}}

/* V49.1: tras el barrido inicial el haz queda quieto y más tenue (no compite con el título) */
.tf27-light-layer.tf49-settled #tf27-wide{animation:none;opacity:.5}
.tf27-light-layer.tf49-settled #tf27-inner{animation:none;opacity:.5}
.tf27-light-layer.tf49-settled #tf27-guide{opacity:.4}
.tf27-light-layer.tf49-settled #tf27-guide-shadow{opacity:.25}
.tf27-light-layer.tf49-settled #tf27-source-halo{animation:none;opacity:.7}
.tf27-light-layer.tf49-settled #tf27-moving-glint{display:none}
@media (prefers-reduced-motion:reduce){.tf27-light-layer *{animation:none!important}.tf27-light-layer #tf27-moving-glint{display:none}}
