/* Truvest — Blueprint theme. Engineering-drawing navy, grid paper, monospace annotations, logo-orange highlights. */
:root{
  --ink:#0a2147;
  --paper:#0f2b57;
  --panel:#12336a;
  --panel-2:#163c78;
  --grid:rgba(140,180,255,.09);
  --rule:rgba(160,195,255,.24);
  --rule-strong:rgba(160,195,255,.5);
  --text:#e8f0ff;
  --muted:#adc2e8;
  --dim:#8aa3cf;
  --accent:#f0821e;
  --accent-hi:#ff9a3d;
  --ok:#5fd6a4;
  --wa:#25d366;
  --display:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --nav-h:68px;
  --gutter:max(20px,5vw);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{
  font-family:var(--display);font-size:16px;line-height:1.6;color:var(--text);
  background-color:var(--paper);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:32px 32px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{max-width:1200px;margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.section{padding-block:96px}
.band-ink{background-color:var(--ink);background-image:linear-gradient(rgba(140,180,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(140,180,255,.05) 1px,transparent 1px);background-size:32px 32px;border-block:1px solid var(--rule)}

/* type */
.label{display:inline-block;font:500 12px/1.4 var(--mono);color:var(--accent);letter-spacing:.04em;margin-bottom:16px}
.label::before{content:"// "}
.h-xl{font:800 clamp(40px,6.4vw,84px)/.98 var(--display);letter-spacing:-.04em;text-wrap:balance}
.h-lg{font:800 clamp(30px,4.2vw,52px)/1.03 var(--display);letter-spacing:-.035em;text-wrap:balance}
.h-md{font:800 clamp(22px,2.4vw,30px)/1.15 var(--display);letter-spacing:-.025em;text-wrap:balance}
.lead{font-size:clamp(16px,1.4vw,18px);color:var(--muted);max-width:60ch;line-height:1.7}
.mono{font-family:var(--mono)}
.accent{color:var(--accent)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.sec-head .lead{margin-top:12px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--mono);padding:14px 20px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s;white-space:nowrap}
.btn-solid{background:var(--accent);color:var(--ink)}
.btn-solid:hover{background:var(--accent-hi)}
.btn-line{border-color:var(--rule-strong);color:var(--text);background:rgba(10,33,71,.4)}
.btn-line:hover{border-color:var(--text)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.link-arrow{font:600 13px var(--mono);color:var(--accent);display:inline-flex;gap:6px;align-items:center}
.link-arrow:hover{color:var(--accent-hi)}

/* nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:101;background:var(--ink)}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:rgba(10,33,71,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.nav-inner{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo img{height:28px;width:auto}
.nav-links{display:flex;gap:28px;font:500 13px var(--mono)}
.nav-links a{color:var(--muted);padding-block:6px;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}
.nav-links a:hover{color:var(--text)}
.nav-links a.active{color:var(--text);border-bottom-color:var(--accent)}
.nav-cta{display:flex;gap:10px}
.nav-cta .btn{padding:11px 16px}
.hamburger{display:none;background:none;border:1px solid var(--rule);border-radius:2px;color:var(--text);width:42px;height:42px;font-size:20px;cursor:pointer}
.mobile-menu{display:none;position:fixed;top:calc(var(--nav-h) + env(safe-area-inset-top,0px));left:0;right:0;z-index:99;background:var(--ink);border-bottom:1px solid var(--rule);padding:8px max(var(--gutter),env(safe-area-inset-right,0px)) 20px max(var(--gutter),env(safe-area-inset-left,0px))}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:14px 0;font:500 15px var(--mono);border-bottom:1px dashed var(--rule)}
.mobile-menu a:last-child{border-bottom:none;color:var(--accent)}

/* sheet = framed drawing panel with crop marks */
.sheet{position:relative;background:rgba(10,33,71,.62);border:1px solid var(--rule)}
.sheet.dashed{border-style:dashed;border-color:var(--rule-strong)}
.crop::before,.crop::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--accent);border-style:solid;pointer-events:none}
.crop::before{top:-6px;left:-6px;border-width:2px 0 0 2px}
.crop::after{bottom:-6px;right:-6px;border-width:0 2px 2px 0}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:500 11px/1 var(--mono);padding:6px 9px;border:1px dashed var(--rule-strong);color:var(--muted);border-radius:2px}

/* page hero (inner pages) */
.page-hero{padding-block:88px 64px;border-bottom:1px solid var(--rule)}
.page-hero .lead{margin-top:20px}

/* forms */
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field label{font:500 11px var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;background:var(--ink);border:1px solid var(--rule);border-radius:2px;color:var(--text);font:400 15px var(--display);outline:none;transition:border-color .15s}
.field input::placeholder,.field textarea::placeholder{color:var(--dim)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}
.field select option{background:var(--ink);color:var(--text)}
.phone-group{display:flex;border:1px solid var(--rule);border-radius:2px;background:var(--ink);transition:border-color .15s}
.phone-group:focus-within{border-color:var(--accent)}
.phone-group select{width:auto!important;flex-shrink:0;border:none!important;border-right:1px dashed var(--rule)!important;background:transparent!important;font:500 13px var(--mono)!important;padding:13px 10px!important}
.phone-group input{flex:1;min-width:0;width:auto!important;border:none!important;background:transparent!important}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.flash{padding:12px 14px;border:1px solid;border-radius:2px;font-size:14px;margin-bottom:14px}
.flash.ok{border-color:rgba(95,214,164,.5);color:var(--ok);background:rgba(95,214,164,.08)}
.flash.err{border-color:rgba(255,120,120,.5);color:#ffb3b3;background:rgba(255,120,120,.08)}

/* footer */
.footer{background:var(--ink);border-top:1px solid var(--rule);padding-block:64px 28px;color:var(--muted);font-size:14px}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-brand img{height:28px;width:auto;margin-bottom:16px}
.footer-brand p{max-width:36ch;line-height:1.7}
.footer h4{font:600 11px var(--mono);color:var(--text);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.footer-col a{display:block;margin-bottom:9px;color:var(--muted);transition:color .15s}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{border-top:1px dashed var(--rule);padding-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:400 12px var(--mono);color:var(--dim)}
.footer-bottom a:hover{color:var(--text)}
.footer-bottom nav{display:flex;gap:16px;flex-wrap:wrap}

/* bottom cta band */
.cta-band{padding-block:88px;text-align:center}
.cta-band .lead{margin:16px auto 32px}
.cta-band .btn-row{justify-content:center}

/* whatsapp float */
.wa-float{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:200;width:56px;height:56px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .15s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}

@media(max-width:960px){
  .nav-links,.nav-cta{display:none}
  .hamburger{display:inline-flex;align-items:center;justify-content:center}
  .footer-top{grid-template-columns:1fr 1fr}
  .section{padding-block:72px}
}
@media(max-width:600px){
  .form-row{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer{padding-bottom:96px}
  .section{padding-block:56px}
  .page-hero{padding-block:56px 44px}
  .btn-row .btn{flex:1 1 auto;justify-content:center}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
