

:root{
  color-scheme: dark;
  --ground:#000000;     
  --steel:#2A2D31;      
  --ink:#FFFFFF;        
  --text:#F2F2F0;       
  --display:"Spectral", Georgia, "Times New Roman", serif;
  --caps:"Spectral SC", "Spectral", Georgia, serif;
  --sans:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --t-body:20px; --t-lead:22px; --t-h3:28px; --t-h2:36px; --t-h1:46px; --t-num:44px; --t-label:16px;
  --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --tap:56px; --maxw:1200px;
}
@media (min-width:768px){
  :root{ --t-body:21px; --t-lead:24px; --t-h2:44px; --t-h1:64px; --t-num:48px; }
}
@media (min-width:1200px){
  :root{ --t-body:22px; --t-lead:27px; --t-h3:32px; --t-h2:56px; --t-h1:88px; --t-num:56px; --t-label:17px; --s7:128px; }
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--ground); color:var(--text);
  font-family:var(--sans); font-size:var(--t-body); font-weight:500; line-height:1.55;
  padding-bottom:calc(var(--tap) + 24px + env(safe-area-inset-bottom,0px));
}
.wrap{
  max-width:var(--maxw); margin:0 auto;
  padding-left:max(16px, env(safe-area-inset-left,0px));
  padding-right:max(16px, env(safe-area-inset-right,0px));
}
h1,h2,h3{ color:var(--ink); margin:0; text-wrap:balance; }
p{ margin:0; max-width:34em; }
a{ color:var(--ink); }
:focus-visible{ outline:3px solid var(--ink); outline-offset:4px; }
.label{ font-size:var(--t-label); font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); }


.nav{ position:sticky; top:env(safe-area-inset-top,0px); z-index:20; background:var(--ground); border-bottom:2px solid var(--ink); }
.nav .wrap{ display:flex; align-items:center; gap:var(--s2); min-height:76px; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; min-height:var(--tap); }
.brand-mark{ width:48px; height:48px; flex:none; background:url("../../assets/logo-mark.png") no-repeat 50% 17% / 200%; }
.brand-name{ display:none; font-family:var(--caps); font-weight:800; font-size:20px; letter-spacing:.14em; color:var(--ink); white-space:nowrap; }
.nav-links{ display:none; }
.nav-phone{ display:none; }

.menu summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:center; min-width:var(--tap); min-height:var(--tap); padding:0 14px; border:2px solid var(--ink); background:var(--ground); color:var(--ink); font:800 17px/1 var(--sans); letter-spacing:.1em; }
.menu summary::-webkit-details-marker{ display:none; }
.menu[open] summary{ background:var(--ink); color:var(--ground); }
.menu:not([open]) .m-open{ display:none; }
.menu[open] .m-closed{ display:none; }
.sheet{ position:absolute; left:0; right:0; top:100%; background:var(--ground); border-bottom:4px solid var(--ink); }
.sheet a{ display:flex; align-items:center; min-height:72px; padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px)); border-top:2px solid var(--steel); font:800 32px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:var(--ink); }
.sheet a:first-child{ border-top:0; }
.lang{ margin-left:auto; display:flex; border:2px solid var(--ink); }
.lang button{ font:800 17px/1 var(--sans); letter-spacing:.08em; min-width:var(--tap); min-height:52px; background:var(--ground); color:var(--ink); border:0; cursor:pointer; }
.lang button[aria-pressed="true"]{ background:var(--ink); color:var(--ground); }


.hero{ border-bottom:4px solid var(--ink); }
.hero .wrap{ padding-block:var(--s6); display:grid; gap:var(--s4); }
.hero-mark{ display:block; width:160px; max-width:60%; height:auto; }
.hero h1{ font-family:var(--display); font-weight:800; font-size:var(--t-h1); line-height:1.04; }
.hero h1 span span{ display:block; }
@media (max-width:767px){ .hero h1{ font-size:42px; } }
@media (max-width:767px){ .hero-mark, .hero .cta-row{ display:none; } }  
.lead{ font-size:var(--t-lead); font-weight:600; }
.cta-row{ display:flex; flex-wrap:wrap; gap:12px; }
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:var(--tap); padding:0 24px; border:2px solid var(--ink);
  font:800 19px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; text-decoration:none; white-space:nowrap;
}
.btn-solid{ background:var(--ink); color:var(--ground); }
.btn-line{ background:var(--ground); color:var(--ink); }
.btn-line:hover{ background:var(--steel); }
.btn-solid:hover{ background:var(--text); }
.num-text{ font-variant-numeric:tabular-nums; }


.band{ border-bottom:2px solid var(--ink); }
.band > .wrap{ padding-block:var(--s6); display:grid; gap:var(--s4); }
.band h2{ font-family:var(--display); font-weight:800; font-size:var(--t-h2); line-height:1.1; }


.lanes{ display:grid; border-top:2px solid var(--steel); }
.lane{ display:grid; gap:12px; padding-block:var(--s4); border-bottom:2px solid var(--steel); text-decoration:none; color:var(--text); }
.lane h3{ font-family:var(--caps); font-weight:800; font-size:var(--t-h3); letter-spacing:.06em; line-height:1.15; }
.lane .go{ display:flex; align-items:center; min-height:var(--tap); font-weight:800; font-size:19px; color:var(--ink); letter-spacing:.06em; text-transform:uppercase; }
.lane:hover h3{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }


.results{ display:grid; gap:var(--s3); }
.results{ align-items:stretch; }
.result{ background:var(--steel); border-top:4px solid var(--ink); padding:var(--s4) var(--s3); display:flex; flex-direction:column; gap:14px; }
.result .kind{ display:block; margin:0; font:800 var(--t-h3)/1.1 var(--caps); letter-spacing:.06em; text-transform:uppercase; color:var(--ink); overflow-wrap:anywhere; max-width:100%; }
.result .num{ font-family:var(--display); font-weight:800; font-size:var(--t-num); line-height:1.05; color:var(--ink); }
.result .num.num-ng{ font-size:min(var(--t-num), 8.4vw); white-space:nowrap; }
@media (min-width:1200px){ .result .num.num-ng{ font-size:32px; min-height:calc(var(--t-num) * 1.05); display:flex; align-items:center; } } 
.result .num.ph{ font-family:var(--sans); font-size:32px; letter-spacing:.06em; }
.result .desc{ font-weight:600; color:var(--ink); }
.result .disc{ margin-top:auto; border-top:2px solid var(--ground); padding-top:14px; color:var(--ink); }


.reviews{ display:grid; gap:var(--s3); }
.reviews{ align-items:stretch; }
.review{ border-top:2px solid var(--steel); padding-top:var(--s3); display:flex; flex-direction:column; gap:14px; }
.review .rev-by{ margin-top:auto; }
.rev-more{ font-weight:800; }
.rev-note{ font-weight:600; }
.rev-link{ font-weight:800; }
.rev-disc{ font-weight:600; color:var(--ink); }
.rev-by{ font-weight:800; letter-spacing:.12em; color:var(--ink); }
.band-exit{ font-weight:800; }


.cred{ display:grid; gap:var(--s4); }
.cred-copy{ display:grid; gap:var(--s3); }
.facts{ border-top:2px solid var(--ink); }
.fact{ display:grid; gap:4px; padding-block:18px; border-bottom:2px solid var(--steel); }
.fact b{ font-family:var(--caps); font-weight:800; font-size:24px; letter-spacing:.06em; color:var(--ink); }


footer .wrap{ padding-block:var(--s6) calc(var(--s5) + 96px + env(safe-area-inset-bottom,0px)); display:grid; gap:var(--s3); }
.foot-name{ font-family:var(--caps); font-weight:800; font-size:26px; letter-spacing:.12em; color:var(--ink); line-height:1.2; }
footer .fine{ font-weight:600; }
.foot-col{ display:grid; gap:var(--s2); align-content:start; }
.foot-link{ display:inline-flex; align-items:center; gap:12px; min-height:var(--tap); font:800 20px/1.2 var(--sans); color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; white-space:nowrap; }
.foot-link.social{ text-decoration:none; }
.foot-link svg{ flex:none; }
footer .wrap{ gap:var(--s4); } 


.callbar{
  position:fixed; left:0; right:0; bottom:0; z-index:30; background:var(--ground); border-top:2px solid var(--ink);
  padding-top:10px; padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
  padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px));
}
.callbar .inner{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.callbar .btn{ padding:0 12px; font-size:18px; }
.bar-num{ display:none; } 


@media (min-width:768px){
  .nav .wrap{ min-height:88px; }
  .menu{ display:none; }
  .nav-links{ display:flex; gap:28px; margin-left:var(--s4); }
  .nav-links a{ font-weight:800; font-size:18px; text-decoration:none; padding:16px 0; }
  .nav-links a:hover{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
  .hero .wrap{ grid-template-columns:minmax(0,1fr) 240px; column-gap:var(--s5); align-items:center; padding-block:var(--s7); }
  .hero-mark{ grid-column:2; grid-row:1 / span 5; width:240px; max-width:100%; }
  .hero h1, .lead, .cta-row, .hero-proof, .hero-cred{ grid-column:1; }
  .band > .wrap{ padding-block:var(--s7); gap:var(--s5); }
  .lanes{ grid-template-columns:repeat(2,minmax(0,1fr)); border-left:2px solid var(--steel); }
  .lane{ border-right:2px solid var(--steel); padding:var(--s3); grid-template-rows:auto 1fr auto; }
  .results{ grid-template-columns:1fr; max-width:760px; }
  .reviews{ max-width:760px; }
  .callbar .inner{ display:flex; justify-content:flex-end; }
  .callbar .btn{ padding:0 28px; }
  .bar-num{ display:inline; }
}


@media (min-width:1200px){
  :root{ --t-h1:80px; }
  .hero .wrap{ grid-template-columns:minmax(0,1fr) 340px; column-gap:96px; padding-top:96px; padding-bottom:128px; align-items:start; }
  .hero-mark{ width:340px; align-self:start; }
  .hero h1 span span{ white-space:nowrap; }   
  .lead{ max-width:30em; }
  .lanes{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .lane{ padding:var(--s4) var(--s3) var(--s3); }
  .lane h3{ font-size:26px; letter-spacing:.04em; }
  .brand-name{ display:inline; }
  .nav-links{ gap:24px; }
  .nav-phone{ display:block; margin-left:var(--s3); font-weight:800; font-size:18px; text-decoration:none; white-space:nowrap; }
  .results{ grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; }
  .result .desc{ min-height:calc(3 * 1.55em); }
  .result .kind{ font-size:clamp(18px,1.9vw,25px); letter-spacing:.04em; }
  .reviews{ grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; gap:var(--s4); }
  .result{ padding:var(--s5) var(--s4); }
  .cred{ grid-template-columns:1.2fr 1fr; column-gap:var(--s6); align-items:stretch; }
  .cred-copy{ align-content:start; }
  footer .wrap{ grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:var(--s6); align-items:start; }
  .foot-name{ grid-column:1 / -1; }
}

@media (min-width:768px){ .nav-links{ gap:14px; margin-left:8px; } .nav-links a{ font-size:17px; } }
@media (min-width:1200px){ .nav-links{ gap:16px; margin-left:12px; } .nav-phone{ margin-left:12px; font-size:16px; } }
@media (min-width:1200px) and (max-width:1359px){ .brand-name{ display:none; } }
footer .fine a{ display:inline-block; padding:12px 0 12px 12px; color:var(--ink); font-weight:800; text-decoration:underline; text-underline-offset:4px; }


.portrait{ margin:0; border-top:4px solid var(--ink); max-width:480px; }
.portrait img{ display:block; width:100%; height:auto; }
.hero-cred{ font-weight:800; }
.hero-proof, .hero-cred{ max-width:none; }
@media (min-width:1200px){ .cred{ grid-template-columns:340px 1.2fr 1fr; } .portrait{ max-width:none; } }


.lang a{ display:flex; align-items:center; justify-content:center; font:800 17px/1 var(--sans); letter-spacing:.08em; min-width:var(--tap); min-height:52px; background:var(--ground); color:var(--ink); text-decoration:none; }
.lang a[aria-current="true"]{ background:var(--ink); color:var(--ground); }
.lang a{ padding:0 12px; }
@media (max-width:399px){ .callbar .btn{ font-size:15px; padding:0 6px; letter-spacing:.03em; } } 
@media (max-width:399px){ .nav .wrap{ gap:12px; } .lang a{ min-width:48px; padding:0 8px; font-size:15px; letter-spacing:.02em; } .menu summary{ padding:0 10px; font-size:16px; } } 
.page-head{ border-bottom:4px solid var(--ink); }
.page-head > .wrap{ padding-block:var(--s4) var(--s6); display:grid; gap:var(--s3); }
.page-h1{ font-family:var(--display); font-weight:800; font-size:40px; line-height:1.06; }
@media (min-width:768px){ .page-h1{ font-size:56px; } }
@media (min-width:1200px){ .page-h1{ font-size:72px; } }
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; margin:0; padding:0; list-style:none; font-weight:800; font-size:18px; }
.crumbs a{ display:inline-flex; align-items:center; min-height:48px; }
.crumbs li + li::before{ content:"/"; margin-right:10px; color:var(--ink); }
.draft{ border-left:4px solid var(--ink); padding:10px 0 10px 16px; font-weight:800; font-size:18px; letter-spacing:.06em; color:var(--ink); max-width:34em; }
.lanes.two{ grid-template-columns:1fr; }
@media (min-width:768px){ .lanes.two{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.rows{ list-style:none; margin:0; padding:0; max-width:760px; border-top:2px solid var(--ink); }
.rows li{ border-bottom:2px solid var(--steel); }
.rows a, .rows .row{ display:grid; gap:6px; min-height:72px; padding-block:18px; text-decoration:none; color:var(--text); }
.rows .t{ font-family:var(--caps); font-weight:800; font-size:24px; letter-spacing:.04em; line-height:1.2; color:var(--ink); }
.rows a:hover .t{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
.rows .st{ font-weight:800; font-size:17px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }
.rows.plain .t{ font-family:var(--sans); font-size:20px; letter-spacing:0; }
.band.tight > .wrap{ padding-block:var(--s5); }
.single{ max-width:760px; }
.az{ font-weight:800; }
@media (max-width:767px){ .talk .cta-row{ display:none; } } 
main p, main h1, main h2, main h3, main li{ overflow-wrap:anywhere; }
@media (max-width:359px){ .page-h1{ font-size:36px; } .page-head .label{ letter-spacing:.08em; } }
.read-first{ display:inline-flex; align-items:center; min-height:56px; font-weight:800; font-size:19px; letter-spacing:.06em; text-transform:uppercase; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
.prose > *{ max-width:760px; margin:0; }
.prose p, .prose li{ font-size:var(--t-body); }
.prose ul, .prose ol{ padding-left:1.3em; display:grid; gap:14px; }
.prose li{ padding-left:.25em; }
.prose .btn{ max-width:100%; white-space:normal; text-align:center; line-height:1.2; padding-block:14px; }
.startcall{ display:flex; max-width:100%; }
.startcall .btn{ max-width:100%; white-space:normal; text-align:center; line-height:1.2; padding-block:14px; }
.tbl{ overflow-x:auto; max-width:100%; }
.tbl table{ border-collapse:collapse; width:100%; min-width:520px; font-size:19px; }
.tbl th, .tbl td{ text-align:left; vertical-align:top; padding:12px 14px; border:2px solid var(--steel); }
.tbl th{ background:var(--steel); color:var(--ink); font-weight:800; }
.prose h3{ font-family:var(--display); font-weight:800; font-size:28px; line-height:1.15; }
.prose a, .page-head .lead a{ color:var(--ink); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; font-weight:800; }


.nav-links a{ white-space:nowrap; }
#home-results-band .home-results{ margin-top:0; }
@media (min-width:768px) and (max-width:1199px){ .nav-links{ gap:12px !important; } .nav-links a{ font-size:15px !important; } }
@media (min-width:768px) and (max-width:899px){ html[lang="es"] .nav-phone{ display:none; } html[lang="es"] .nav-links{ gap:8px !important; margin-left:0 !important; } html[lang="es"] .nav-links a{ font-size:14px !important; } html[lang="es"] .nav .wrap{ gap:10px; } }
@media (min-width:1360px) and (max-width:1599px){ html[lang="es"] .nav-links{ gap:10px !important; } html[lang="es"] .nav-links a{ font-size:16px !important; } html[lang="es"] .brand-name{ font-size:17px; letter-spacing:.1em; } }
