
:root{--navy:#0f2f55;--navy-2:#092541;--red:#d71920;--text:#1f2a36;--muted:#6c7783;--line:#dce2e7;--light:#f4f7f9;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.55}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.site-header{position:sticky;top:0;z-index:50;height:82px;background:#fff;border-bottom:1px solid #e8ecef;display:flex;align-items:center;gap:28px;padding:0 max(28px,calc((100vw - var(--max))/2))}.brand-mark{width:62px;height:62px;object-fit:contain;flex:0 0 62px}








.desktop-nav{margin-left:auto;display:flex;gap:28px;font-weight:700;font-size:13px;color:#173652}.desktop-nav a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;padding:14px 20px;font-weight:800;font-size:13px;border:none;cursor:pointer}.btn-red{background:var(--red);color:#fff}.header-cta{white-space:nowrap}.hero{min-height:620px;display:grid;grid-template-columns:45% 55%;max-width:1440px;margin:0 auto}.hero-copy{padding:72px 44px 64px max(28px,calc((1440px - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.hero h1{margin:0;color:var(--navy);font-size:clamp(48px,5vw,82px);line-height:.98;letter-spacing:-.04em;font-weight:900}.hero h1 span{color:var(--red)}.hero .lead{font-size:21px;color:#173652;max-width:650px;margin:30px 0 12px}.hero-copy>p:not(.lead){font-size:17px;max-width:640px;color:#354555}.hero-copy .btn{margin-top:24px;align-self:flex-start}.credibility{max-width:var(--max);margin:0 auto;padding:34px 28px 44px;display:grid;grid-template-columns:28% 72%;gap:34px;align-items:center}.facility-card figcaption{font-size:12px;font-weight:800;color:#566575;margin-top:8px}.credential-grid{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid var(--line)}.credential-grid>div{padding:14px 18px;border-right:1px solid var(--line);text-align:center}.credential-grid strong{display:block;color:var(--navy);font-size:22px}.credential-grid span{display:block;color:#586879;font-size:11px;font-weight:800;margin-top:4px}.section{padding:92px 28px}.section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.section-head.centered{text-align:center;max-width:900px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.15em;color:var(--red);margin:0 0 14px}.eyebrow.red{color:#ff3a3f}h2{font-size:clamp(34px,4vw,58px);line-height:1.05;color:var(--navy);margin:0 0 22px;letter-spacing:-.03em}.section-head p:not(.eyebrow){font-size:18px;color:#42515f}.solution-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 38px}.solution-grid article{padding:26px 0 30px;border-top:1px solid var(--line)}.solution-grid img{width:54px;height:54px;margin-bottom:16px}.solution-grid h3,.capability-grid h3{font-size:16px;color:var(--navy);margin:0 0 10px}.solution-grid p,.capability-grid p{margin:0;color:#53616d;font-size:14.5px}.section-closing{text-align:center;border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.section-closing strong{display:block;color:var(--navy);font-size:17px}.section-closing span{display:block;color:var(--red);font-weight:900;font-size:12px;margin-top:8px}.dark-section{background:var(--navy-2);color:#fff}.dark-section h2,.dark-section h3{color:#fff}.open-layout{display:grid;grid-template-columns:60% 40%;gap:54px;align-items:start}.open-layout p{color:#d8e2ec}.cnc-photo{margin:0;align-self:center;max-width:460px;justify-self:center}.cnc-photo{max-width:390px;justify-self:end}.cnc-photo img{width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:2px;background:#fff}.cnc-photo figcaption{font-size:11px;letter-spacing:.12em;font-weight:900;margin-top:9px;color:#dbe5ee}.capability-grid{margin-top:54px;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.capability-grid article{padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}.capability-grid img{width:42px;height:42px;margin-bottom:12px}.capability-grid p{color:#ced9e4}.orv3-cta{margin-top:58px;padding:28px 0;border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:center;gap:30px}.orv3-cta h3{font-size:26px;margin:0 0 8px}.orv3-cta p{margin:0;color:#d8e2ec}.disclaimer{max-width:var(--max);font-size:11px;color:#aebdca;border-top:1px solid rgba(255,255,255,.16);padding-top:16px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:48px}.photo-grid figcaption{font-size:11px;font-weight:900;color:#596775;margin-top:7px}.credential-grid.compact{margin-top:50px;border-left:0;border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr)}.credential-grid.compact>div{padding:26px 16px;border-right:1px solid var(--line)}.credential-grid.compact>div:last-child{border-right:0}.credential-grid.compact strong{font-size:18px}.process-line{text-align:center;margin-top:28px;padding:20px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:900;color:var(--navy);font-size:13px;letter-spacing:.04em}.text-link{display:block;text-align:center;color:var(--red);font-weight:900;margin-top:24px}.process-section{background:#f5f7f8}.process-layout{display:grid;grid-template-columns:65% 35%;gap:54px;align-items:start}.process-copy h3{color:var(--navy);font-size:22px;margin-top:-8px}.steps{margin-top:34px}.steps article{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:18px 0;border-top:1px solid #cfd7de}.steps article span{font-size:28px;color:var(--red);font-weight:900}.steps h4{margin:0 0 5px;color:var(--navy);font-size:15px}.steps p{margin:0;color:#52616e;font-size:14px}.repeatable{margin-top:26px;font-weight:900;color:var(--navy);letter-spacing:.05em}.quality-media{display:grid;grid-template-columns:1fr;gap:18px;align-self:start}.quality-secondary{max-width:78%;justify-self:end}.quality-photo figcaption strong{color:var(--navy)}.spain-strip{margin-top:48px;padding:30px;background:#fff;border:1px solid #dfe5e9;display:flex;justify-content:space-between;gap:30px;align-items:center}.spain-strip h3{margin:0 0 7px;color:var(--navy)}.spain-strip p{margin:0;color:#52616e}.contact-section{background:var(--navy-2);color:#fff;padding:90px max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:45% 55%;gap:64px;position:relative}.contact-copy h2{color:#fff;font-size:clamp(44px,5vw,72px);margin-bottom:26px}.contact-copy p{color:#d7e1ea}.contact-info{margin-top:44px}.contact-info h3{color:#fff}.contact-info p{margin:5px 0}.contact-form{background:#fff;color:#2b3742;padding:34px;border-radius:6px;display:grid;gap:16px}.contact-form label{font-size:13px;font-weight:800}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #d2d9df;border-radius:3px;font:inherit}.upload{border:1px dashed #b6c2cc;padding:18px;border-radius:4px;text-align:center}.upload input{border:0;padding:8px 0}.upload span{display:block;color:#71808d;font-weight:500}.confidential{text-align:center;font-size:11px;color:#74818c}.contact-tagline{grid-column:1/-1;text-align:center;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;font-weight:900;letter-spacing:.08em}.site-footer{background:#071d33;color:#9fb0bf;padding:18px max(28px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:20px;font-size:11px}
@media(max-width:980px){.desktop-nav{display:none}.header-cta{margin-left:auto}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:58px 28px}.credibility{grid-template-columns:1fr}.credential-grid{grid-template-columns:repeat(5,1fr)}.solution-grid{grid-template-columns:1fr 1fr}.open-layout,.process-layout{grid-template-columns:1fr}.cnc-photo{max-width:520px}.capability-grid{grid-template-columns:1fr 1fr}.contact-section{grid-template-columns:1fr}}
@media(max-width:680px){.site-header{height:68px;padding:0 16px}.brand-mark{width:48px;height:48px;flex-basis:48px}.header-cta{display:none}.hero-copy{padding:44px 20px}.hero h1{font-size:44px}.hero .lead{font-size:18px}.credibility{padding:22px 20px 36px}.credential-grid{grid-template-columns:1fr 1fr;border-left:0}.credential-grid>div{border-bottom:1px solid var(--line)}.section{padding:66px 20px}.solution-grid{grid-template-columns:1fr}.capability-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.credential-grid.compact{grid-template-columns:1fr 1fr}.orv3-cta,.spain-strip{align-items:flex-start;flex-direction:column}.contact-section{padding:70px 20px;gap:38px}.contact-form{padding:24px}.site-footer{padding:16px 20px;flex-direction:column}}


/* ===== FABCO.ES V7.2 CONSOLIDATED FINAL RULES ===== */
.site-header{position:sticky;top:0;z-index:100;height:112px;min-height:112px;background:#fff;border-bottom:1px solid #e8ecef;display:flex;align-items:center;gap:28px;padding:10px max(28px,calc((100vw - var(--max))/2));overflow:visible}
.brand{width:255px;flex:0 0 255px;height:92px;display:flex;align-items:center;gap:12px;overflow:visible}
.brand-square{width:78px;height:78px;flex:0 0 78px;object-fit:contain}
.brand-wordmark{display:flex;flex-direction:column;justify-content:center;overflow:visible;font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue Condensed",Arial,Helvetica,sans-serif;color:var(--navy);line-height:1}
.brand-wordmark strong{display:block;font-size:32px;line-height:.88;font-stretch:condensed;font-weight:900;letter-spacing:-1.25px;color:var(--navy)}
.brand-wordmark span{display:block;margin-top:5px;font-size:16px;line-height:1;font-weight:800;letter-spacing:-.3px;color:#666}
.brand-wordmark i{display:block;width:92%;height:3px;margin:6px 0 5px;background:var(--red)}
.brand-wordmark small{display:block;font-size:10px;line-height:1.1;font-weight:800;letter-spacing:.4px;color:#666}

.hero h1{overflow:visible;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.hero-image{overflow:hidden;background:#071421}
.hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:53% center}
.facility-card{width:100%;min-width:0;margin:0}
.facility-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;transform:none;-webkit-transform:none}
.facility-card figcaption{font-size:12px;font-weight:800;color:#566575;margin-top:8px}

.photo-grid figure{margin:0;display:flex;flex-direction:column;background:#fff}
.photo-grid img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}

.process-section{background:#f5f7f8}
.process-section .process-shell{max-width:1180px;margin:0 auto}
.process-section .process-intro{max-width:760px}
.process-section .process-intro h3{color:var(--navy);font-size:22px;margin-top:-8px}
.process-section .process-intro > p:last-child{color:#52616e}
.process-section .process-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start;margin-top:34px}
.process-section .steps{margin-top:0}
.process-section .steps article{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:18px 0;border-top:1px solid #cfd7de}
.process-section .steps article span{font-size:28px;color:var(--red);font-weight:900}
.process-section .steps h4{margin:0 0 5px;color:var(--navy);font-size:15px}
.process-section .steps p{margin:0;color:#52616e;font-size:14px}
.process-section .repeatable{margin-top:28px;font-weight:900;color:var(--navy);letter-spacing:.05em}
.process-section .quality-stack{display:flex;flex-direction:column;gap:18px;width:360px;max-width:360px;justify-self:end;align-self:start}
.process-section .quality-photo{margin:0;width:360px;max-width:360px}
.process-section .quality-photo img{display:block;width:100%;height:auto;max-height:225px;object-fit:contain;object-position:center}
.process-section .secondary-quality img{height:235px;max-height:235px;object-fit:cover;object-position:center}
.process-section .quality-photo figcaption{margin-top:6px;font-size:10px;line-height:1.25;color:#5c6873}
.process-section .quality-photo figcaption strong{color:var(--navy)}

.spain-strip{margin-top:48px;padding:30px;background:#fff;border:1px solid #dfe5e9;display:flex;justify-content:space-between;gap:30px;align-items:center}
.spain-strip h3{margin:0 0 7px;color:var(--navy)}
.spain-strip p{margin:0;color:#52616e}
.spain-cta{white-space:nowrap}

.mobile-header-actions,.mobile-menu{display:none}
.mobile-menu-toggle{width:44px;height:44px;border:0;background:transparent;padding:8px;cursor:pointer}
.mobile-menu-toggle span{display:block;height:2px;background:var(--navy);margin:6px 0;transition:.2s ease}
.mobile-menu{position:fixed;top:92px;left:0;right:0;z-index:90;background:#fff;border-bottom:1px solid #dfe5e9;box-shadow:0 8px 20px rgba(0,0,0,.08);padding:16px 20px 22px}
.mobile-menu.is-open{display:flex;flex-direction:column}
.mobile-menu a{padding:12px 4px;border-bottom:1px solid #edf0f2;font-size:14px;font-weight:800;color:var(--navy)}
.mobile-menu-contact{color:var(--red)!important;border-bottom:0!important}

.contact-info a{color:#fff;text-decoration:none}
.contact-info a:hover{text-decoration:underline}

@media(max-width:980px){
  .desktop-nav,.header-cta{display:none}
  .mobile-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
  .mobile-header-cta{display:inline-flex;padding:10px 12px;font-size:11px}
  .mobile-menu{top:112px}
  .process-section .process-body{grid-template-columns:1fr;gap:28px}
  .process-section .quality-stack{width:100%;max-width:520px;justify-self:start}
  .process-section .quality-photo{width:100%;max-width:520px}
  .process-section .quality-photo img,.process-section .secondary-quality img{height:auto;max-height:none;object-fit:contain}
}
@media(max-width:680px){
  .site-header{height:84px;min-height:84px;padding:8px 16px}
  .brand{width:195px;flex-basis:195px;height:68px;gap:8px}
  .brand-square{width:56px;height:56px;flex-basis:56px}
  .brand-wordmark strong{font-size:23px}
  .brand-wordmark span{font-size:12px;margin-top:3px}
  .brand-wordmark i{height:2px;margin:4px 0}
  .brand-wordmark small{font-size:8px}
  .mobile-header-cta{display:none}
  .mobile-menu{top:84px}
  .hero-image img{object-position:center}
  .spain-strip{align-items:flex-start;flex-direction:column}
}

/* V7.3 RC: sticky-header anchor offset */
#inicio,#soluciones,#open-rack,#capacidades,#proceso,#contacto{scroll-margin-top:124px}


/* ===== FABCO.ES V7.3.2 — HERO FOUR-LINE FIX + CACHE BUST ===== */
.hero-line{display:block}
.hero-line-red{color:var(--red)}

@media(min-width:981px){
  .hero-copy{
    padding-left:max(28px,calc((1440px - var(--max))/2)) !important;
    padding-right:28px !important;
  }
  .hero h1{
    font-size:clamp(44px,3.55vw,56px) !important;
    line-height:1.02 !important;
    letter-spacing:-0.035em !important;
  }
  .hero h1 .hero-line{
    display:block !important;
    white-space:nowrap !important;
  }
}

/* ===== FABCO.ES V7.3.3 — HERO COLOR + 45/55 DESKTOP FIX ONLY ===== */
@media(min-width:981px){
  .hero{
    display:grid !important;
    grid-template-columns:45% 55% !important;
  }

  .hero h1 .hero-line{
    color:var(--navy) !important;
  }

  .hero h1 .hero-line.hero-line-red{
    color:var(--red) !important;
  }
}


/* ===== FABCO.ES V7.3.4 — HERO H1 COLOR FIX ALL VIEWPORTS ONLY ===== */
.hero h1 .hero-line{
  color:var(--navy) !important;
}
.hero h1 .hero-line.hero-line-red{
  color:var(--red) !important;
}

/* ===== FABCO.ES V7.3.5 — TABLET RESPONSIVE FIX ONLY ===== */

/* Tablet portrait / compact tablet: 681–1099 px.
   Desktop/tablet landscape >=1100 px remains untouched. */
@media (min-width:681px) and (max-width:1099px){

  .site-header{
    height:92px !important;
    min-height:92px !important;
    padding:8px 24px !important;
    gap:18px !important;
  }

  .brand{
    width:220px !important;
    flex:0 0 220px !important;
    height:74px !important;
    gap:10px !important;
  }

  .brand-square{
    width:62px !important;
    height:62px !important;
    flex-basis:62px !important;
  }

  .brand-wordmark strong{font-size:26px !important}
  .brand-wordmark span{font-size:13px !important;margin-top:4px !important}
  .brand-wordmark i{height:2px !important;margin:5px 0 4px !important}
  .brand-wordmark small{font-size:8px !important}

  .desktop-nav,
  .header-cta{
    display:none !important;
  }

  .mobile-header-actions{
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
  }

  .mobile-header-cta{
    display:inline-flex !important;
    padding:10px 13px !important;
    font-size:11px !important;
  }

  .mobile-menu{
    top:92px !important;
  }

  .hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    min-height:0 !important;
    max-width:100% !important;
  }

  .hero-copy{
    padding:52px 40px 40px !important;
  }

  .hero h1{
    font-size:clamp(42px,6vw,54px) !important;
    line-height:1.02 !important;
  }

  .hero h1 .hero-line{
    white-space:normal !important;
  }

  .hero .lead{
    font-size:19px !important;
    max-width:700px !important;
  }

  .hero-copy>p:not(.lead){
    font-size:16px !important;
    max-width:700px !important;
  }

  .hero-image{
    width:100% !important;
    aspect-ratio:16/9 !important;
    min-height:0 !important;
  }

  .hero-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  .credibility{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:30px 32px 48px !important;
  }

  .facility-card{
    width:min(100%,460px) !important;
    justify-self:center !important;
  }

  .credential-grid{
    width:100% !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    border-left:0 !important;
  }

  .credential-grid>div{
    min-width:0 !important;
    padding:16px 12px !important;
    border-left:1px solid var(--line) !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
  }

  .credential-grid strong{
    font-size:19px !important;
    overflow-wrap:anywhere !important;
  }

  .credential-grid span{
    font-size:10px !important;
    overflow-wrap:anywhere !important;
  }

  .solution-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .open-layout,
  .process-layout,
  .process-section .process-body,
  .contact-section{
    grid-template-columns:1fr !important;
  }

  .capability-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .process-section .quality-stack{
    width:100% !important;
    max-width:520px !important;
    justify-self:start !important;
  }

  .process-section .quality-photo{
    width:100% !important;
    max-width:520px !important;
  }

  .process-section .quality-photo img,
  .process-section .secondary-quality img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
}

/* Narrow tablet portrait. */
@media (min-width:681px) and (max-width:820px){

  .site-header{
    height:88px !important;
    min-height:88px !important;
    padding:8px 18px !important;
  }

  .brand{
    width:205px !important;
    flex-basis:205px !important;
    height:70px !important;
  }

  .brand-square{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }

  .mobile-header-cta{
    display:none !important;
  }

  .mobile-menu{
    top:88px !important;
  }

  .hero-copy{
    padding:46px 28px 34px !important;
  }

  .hero h1{
    font-size:clamp(40px,7vw,48px) !important;
  }

  .credibility{
    padding:28px 28px 44px !important;
  }

  .credential-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .solution-grid,
  .capability-grid{
    grid-template-columns:1fr 1fr !important;
    gap-left:24px !important;
    gap-right:24px !important;
  }

  .spain-strip{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}


/* ===== FABCO.ES ES+EN RELEASE CANDIDATE ===== */
.lang-switch{display:flex;align-items:center;gap:6px;margin-left:2px;font-size:11px;font-weight:900;letter-spacing:.04em;color:#71808d;white-space:nowrap}
.lang-switch a{color:var(--navy);padding:5px 3px;border-bottom:2px solid transparent}
.lang-switch a:hover{color:var(--red)}
.lang-switch .active{color:var(--red);border-bottom-color:var(--red)}
.lang-switch .sep{color:#aeb7bf}
.mobile-lang-switch{display:flex!important;align-items:center;gap:10px;padding:14px 4px 4px!important;border-bottom:0!important}
.mobile-lang-switch a{display:inline-block;padding:4px 2px!important;border-bottom:2px solid transparent!important}
.mobile-lang-switch a.active{color:var(--red)!important;border-bottom-color:var(--red)!important}
.mobile-lang-switch .sep{color:#aeb7bf}
@media(max-width:1099px){.site-header>.lang-switch{display:none!important}}
@media(min-width:1100px){.mobile-lang-switch{display:none!important}}

/* Approved narrow-mobile micro-adjust: H1 only, <=400 px. */
@media(max-width:400px){.hero h1{font-size:40px!important}}
.hp-field{display:none!important}