/* LUTHA FREIGHT — Design System v1.0 (Sprint 1.5 §05) */
:root{
  --naranja:#F05A00; --naranja-hover:#D14E00; --carbon:#1E1E1E;
  --plata:#D9D9D9; --neutro:#8A8A8A; --blanco:#FFFFFF;
  --fondo:#F7F6F4; --borde:#E3E1DE;
  --font-display:'Barlow Condensed','Arial Narrow',sans-serif;
  --font-text:'Archivo',Arial,sans-serif;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s6:48px;--s8:64px;--s12:96px;
  --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  .reveal{opacity:1 !important;transform:none !important;transition:none !important}}
body{font-family:var(--font-text);color:var(--carbon);background:var(--blanco);line-height:1.6;font-size:17px}
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--s3)}
img{max-width:100%;display:block}
a{color:inherit}
.skip{position:absolute;left:-9999px;top:0;background:var(--carbon);color:#fff;padding:12px 20px;z-index:100}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--naranja);outline-offset:2px}
.topbar{background:var(--carbon);color:var(--plata);font-size:14px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:var(--s2);flex-wrap:wrap}
.topbar a{color:var(--plata);text-decoration:none}
.topbar a:hover{color:#fff}
.topbar .tel{font-weight:600}
.lang a{padding:2px 8px;letter-spacing:.08em}
.lang a[aria-current="true"]{color:var(--naranja);font-weight:700}
.header{background:#fff;border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:50}
.header .container{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:var(--s3)}
.logo img{height:44px;width:auto}
.nav{display:flex;gap:var(--s4);align-items:center}
.nav a{text-decoration:none;font-weight:500;font-size:15.5px}
.nav a:hover{color:var(--naranja)}
.btn{display:inline-block;background:var(--naranja);color:#fff;font-family:var(--font-display);
  font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  padding:14px 34px;text-decoration:none;border:0;cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.btn:hover{background:var(--naranja-hover)}
.btn-lg{font-size:22px;padding:16px 44px}
.navtoggle{display:none;background:none;border:2px solid var(--carbon);padding:8px 12px;font-size:18px;cursor:pointer}
.hero{background:var(--carbon);color:#fff;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;opacity:.13;pointer-events:none}
.hero .container{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s8);padding-top:var(--s12);padding-bottom:var(--s12);align-items:center}
.hero h1{font-family:var(--font-display);font-weight:700;font-size:64px;line-height:1.02;text-transform:uppercase;letter-spacing:.02em}
.hero h1 .o{color:var(--naranja)}
.hero p{color:#CFCFCF;font-size:19px;margin-top:var(--s3);max-width:520px}
.hero .endoso{font-family:var(--font-display);letter-spacing:.3em;color:var(--plata);font-size:15px;margin-bottom:var(--s2);text-transform:uppercase}
.hero-cta{margin-top:var(--s4);display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap}
.hero-cta .tel2{color:#fff;text-decoration:none;font-weight:600}
.hero-cta .tel2 small{display:block;color:var(--neutro);font-weight:400;font-size:13px}
.qcard{background:#fff;color:var(--carbon);padding:var(--s4);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.qcard h2{font-family:var(--font-display);font-size:28px;text-transform:uppercase;margin-bottom:var(--s2)}
.field{margin-bottom:var(--s2)}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;height:48px;border:1px solid var(--borde);padding:0 14px;font:inherit;font-size:15.5px;background:#fff;border-radius:0}
.field textarea{height:96px;padding:12px 14px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--naranja);outline-offset:-1px;border-color:var(--naranja)}
.hp{position:absolute;left:-9999px}
.trust{background:var(--carbon);border-top:1px solid #333}
.trust .container{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s3);padding:var(--s4) var(--s3)}
.trust .t{color:#fff;text-align:center}
.trust .t b{display:block;font-family:var(--font-display);font-size:34px;color:var(--naranja)}
.trust .t span{font-size:13px;color:var(--plata);letter-spacing:.06em;text-transform:uppercase}
.ph-chip{display:inline-block;background:#3a2a1e;border:1px dashed var(--naranja);color:#FFB27A;font-size:12px;padding:2px 8px}
.section{padding:var(--s12) 0}
.section.alt{background:var(--fondo)}
.eyebrow{font-family:var(--font-display);color:#BD4600;letter-spacing:.28em;text-transform:uppercase;font-size:16px;font-weight:600}
h2.title{font-family:var(--font-display);font-size:44px;text-transform:uppercase;line-height:1.05;margin:10px 0 var(--s2)}
.lead{color:#4a4a4a;max-width:640px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);margin-top:var(--s6)}
.card{background:#fff;border:1px solid var(--borde);padding:var(--s4);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.card svg{width:44px;height:44px;stroke:var(--naranja);fill:none;stroke-width:2}
.card h3{font-family:var(--font-display);font-size:24px;text-transform:uppercase;margin:var(--s2) 0 8px}
.card p{font-size:15px;color:#4a4a4a}
.xb{background:var(--naranja);color:#fff}
.xb .container{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s6);padding:var(--s8) var(--s3);align-items:center}
.xb h2{font-family:var(--font-display);font-size:42px;text-transform:uppercase;line-height:1.05}
.xb p{margin-top:var(--s2);font-size:17px;max-width:560px}
.btn-inv{display:inline-block;background:var(--carbon);color:#fff;font-family:var(--font-display);font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:14px 34px;text-decoration:none;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.btn-inv:hover{background:#000}
.xb ul{list-style:none;font-size:16px}
.xb ul li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.35)}
.xb ul li:before{content:'—';margin-right:10px;font-weight:700}
.group .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s8);align-items:center}
.group .gbadge{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--neutro);font-size:15px}
.quote{background:var(--carbon);color:#fff}
.quote .grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s3)}
.quote .field label{color:var(--plata)}
.quote .full{grid-column:1/-1}
.note{font-size:13px;color:var(--neutro);margin-top:var(--s2)}
.note a{color:var(--plata)}
.footer{background:#141414;color:var(--plata);font-size:14.5px}
.footer .container{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--s6);padding:var(--s8) var(--s3) var(--s4)}
.footer img{height:64px;width:auto;margin-bottom:var(--s2)}
.footer h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:#fff;font-size:16px;margin-bottom:var(--s2)}
.footer a{color:var(--plata);text-decoration:none;display:block;padding:4px 0}
.footer a:hover{color:#fff}
.footer .legal{border-top:1px solid #333;padding:var(--s3);text-align:center;font-size:13px;color:var(--neutro)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
.legalpage h1{font-family:var(--font-display);font-size:42px;text-transform:uppercase;margin-bottom:var(--s3)}
.legalpage h2{font-family:var(--font-display);font-size:26px;text-transform:uppercase;margin:var(--s4) 0 var(--s2)}
.legalpage p,.legalpage li{font-size:16px;color:#333;max-width:760px}
@media(max-width:1023px){
  .hero h1{font-size:48px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .trust .container{grid-template-columns:repeat(3,1fr)}
  .hero .container,.xb .container,.group .container{grid-template-columns:1fr}
  .footer .container{grid-template-columns:1fr 1fr}
}
@media(max-width:639px){
  .nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;padding:var(--s3);border-bottom:1px solid var(--borde);gap:var(--s2)}
  .nav.open{display:flex}
  .navtoggle{display:block}
  .hero h1{font-size:38px}
  .quote .grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .trust .container{grid-template-columns:repeat(2,1fr)}
  .footer .container{grid-template-columns:1fr}
  .logo img{height:36px}
}
