/* ===== GLOBALINK CANARIAS — HOJA DE ESTILOS COMPARTIDA ===== */
:root{
  --navy:#0B1E33; --navy2:#132A45; --steel:#3B6EA5; --amber:#C97A1B; --amber-l:#E0954A;
  --muted:#5B6472; --line:#D8DCE2; --ice:#F4F5F7; --graphite:#1E2732; --white:#FFFFFF;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; color:var(--graphite); background:#fff; line-height:1.5; -webkit-font-smoothing:antialiased;}
h1,h2,h3,.brandfont{font-family:'Barlow Semi Condensed',sans-serif; font-weight:800; color:var(--navy); letter-spacing:.005em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1260px; margin:0 auto; padding:0 32px;}
.wrap-narrow{max-width:920px; margin:0 auto; padding:0 32px;}
section{position:relative;}
.eyebrow{font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--amber);}
.btn{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px; border-radius:2px; transition:all .15s ease; white-space:nowrap; border:none; cursor:pointer;}
.btn-primary{background:var(--amber); color:#fff;}
.btn-primary:hover{background:#B36A15;}
.btn-ghost{border:1.5px solid rgba(255,255,255,.35); color:#fff; background:transparent;}
.btn-ghost:hover{border-color:#fff;}
.btn-outline{border:1.5px solid var(--navy); color:var(--navy); background:transparent;}
.btn-outline:hover{background:var(--navy); color:#fff;}

/* ===== HEADER ===== */
header{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line);}
.nav-row{display:flex; align-items:center; justify-content:space-between; height:84px;}
.logo{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.logo .marker{width:14px; height:14px; border-radius:3px; background:var(--amber);}
.logo .word{font-family:'Barlow Semi Condensed'; font-weight:800; font-size:22px; color:var(--navy); line-height:1;}
.logo .sub{font-size:9px; font-weight:700; letter-spacing:.28em; color:var(--steel); margin-top:2px;}
nav.menu{display:flex; align-items:center; gap:24px;}
nav.menu a{font-size:13.5px; font-weight:600; color:var(--navy2); white-space:nowrap;}
nav.menu a:hover{color:var(--steel);}
nav.menu a.active{color:var(--amber);}
.header-right{display:flex; align-items:center; gap:18px; flex-shrink:0;}
.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px; flex-direction:column; gap:5px;}
.nav-toggle span{width:22px; height:2px; background:var(--navy);}
.has-dropdown{position:relative;}
.has-dropdown > a::after{content:"▾"; font-size:9px; margin-left:5px; color:var(--muted);}
.dropdown{position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--line); box-shadow:0 10px 26px rgba(11,30,51,.14); min-width:250px; padding:8px 0; display:none; z-index:60;}
.has-dropdown:hover .dropdown{display:block;}
.dropdown a{display:block; padding:11px 18px; font-size:13.5px; font-weight:500; white-space:nowrap; border:none !important;}
.dropdown a:hover{background:var(--ice); color:var(--steel);}

/* ===== PAGE HERO (inner pages) ===== */
.page-hero{background:linear-gradient(115deg, var(--navy) 0%, var(--navy2) 100%); color:#fff; padding:64px 0 56px;}
.page-hero .eyebrow{color:var(--amber-l);}
.page-hero h1{font-size:40px; color:#fff; margin:14px 0 14px; max-width:760px; line-height:1.12;}
.page-hero p{font-size:16.5px; color:#C6D0DD; max-width:640px; line-height:1.6;}
.breadcrumbs{font-size:12.5px; color:#9FADC2; margin-bottom:16px;}
.breadcrumbs a{color:#C6D0DD;}
.breadcrumbs a:hover{color:#fff;}
.breadcrumbs span{margin:0 6px; color:#5B6E8C;}

/* ===== HOME HERO ===== */
.hero{
  background:
    linear-gradient(100deg, rgba(11,30,51,.94) 0%, rgba(11,30,51,.88) 38%, rgba(11,30,51,.55) 100%),
    url('https://plus.unsplash.com/premium_photo-1739761628743-96122f229b9c?w=2000&q=75&auto=format&fit=crop')
    center/cover no-repeat;
  color:#fff; overflow:hidden;
}
.hero-inner{padding:108px 0 96px; position:relative; z-index:2;}
.hero .eyebrow{color:var(--amber-l);}
.hero h1{font-size:56px; line-height:1.05; color:#fff; max-width:760px; margin:18px 0 26px;}
.hero p.lead{font-size:18px; color:#C6D0DD; max-width:600px; margin-bottom:14px; font-weight:400; line-height:1.6;}
.divisions-line{font-family:'Barlow Semi Condensed'; font-weight:700; font-size:14px; letter-spacing:.03em; color:#fff; margin:26px 0 38px; max-width:640px;}
.divisions-line span{color:var(--amber-l); margin:0 2px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.hero-graphic{position:absolute; right:-60px; top:0; bottom:0; width:46%; opacity:.9;}
.hero-graphic svg{width:100%; height:100%;}

/* ===== DIVISIONS STRIP ===== */
.divisions{background:#fff;}
.div-grid{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line);}
.div-card{border-right:1px solid var(--line); position:relative; transition:background .15s; display:flex; flex-direction:column;}
.div-card:last-child{border-right:none;}
.div-card:hover{background:var(--ice);}
.div-photo{height:150px; position:relative; flex-shrink:0; overflow:hidden;}
.div-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.div-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(165deg, rgba(11,30,51,.72), rgba(11,30,51,.32));}
.div-num{position:absolute; top:14px; left:16px; z-index:2; font-family:'Barlow Semi Condensed'; font-weight:800; font-size:13px; color:var(--amber-l);}
.div-body{padding:22px 22px 26px;}
.div-card h3{font-size:17px; margin-bottom:9px; line-height:1.15;}
.div-card p{font-size:12.5px; color:var(--muted); line-height:1.5; margin-bottom:14px; min-height:78px;}
.div-link{font-size:13px; font-weight:700; color:var(--steel); display:inline-flex; align-items:center; gap:6px;}
.div-link::after{content:"→"; transition:transform .15s;}
.div-card:hover .div-link::after{transform:translateX(3px);}

/* ===== INTERLOCUTOR / FLOW ===== */
.flow-section{background:var(--ice); padding:100px 0;}
.flow-head{max-width:640px; margin-bottom:56px;}
.flow-head h2{font-size:38px; margin:14px 0 16px;}
.flow-head p{color:var(--muted); font-size:16px; line-height:1.65;}
.flow-steps{display:flex; align-items:stretch; gap:0; background:#fff; border:1px solid var(--line); flex-wrap:wrap;}
.flow-step{flex:1; min-width:140px; padding:30px 20px; text-align:center; position:relative; border-right:1px solid var(--line);}
.flow-step:last-child{border-right:none;}
.flow-step .fn{width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Barlow Semi Condensed'; font-weight:800; font-size:14px; margin:0 auto 14px;}
.flow-step:nth-child(6) .fn{background:var(--amber);}
.flow-step p{font-size:13px; font-weight:600; color:var(--navy2); line-height:1.4;}

/* ===== DOCUMENTACIÓN Y LEGALIZACIÓN ===== */
.docs{padding:90px 0; border-top:1px solid var(--line);}
.docs-head{max-width:640px; margin-bottom:46px;}
.docs-head h2{font-size:34px; margin:14px 0 16px;}
.docs-head p{color:var(--muted); font-size:15.5px; line-height:1.65;}
.docs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.docs-card{background:#fff; padding:32px 28px;}
.docs-card .dicon{width:30px; height:30px; margin-bottom:18px; color:var(--steel);}
.docs-card h3{font-size:17px; margin-bottom:10px;}
.docs-card p{font-size:13.5px; color:var(--muted); line-height:1.6;}

/* ===== SECTORES ===== */
.sectors{padding:100px 0;}
.sectors-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:46px; flex-wrap:wrap; gap:20px;}
.sectors-head h2{font-size:38px; max-width:480px;}
.sectors-head p{color:var(--muted); font-size:15px; max-width:360px;}
.sector-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.sector-item{background:#fff; padding:30px 26px; display:flex; align-items:center; gap:16px; transition:background .15s;}
.sector-item:hover{background:var(--ice);}
.sector-item .sicon{width:26px; height:26px; flex-shrink:0; color:var(--steel);}
.sector-item span{font-size:14.5px; font-weight:600; color:var(--navy2);}
.sector-card{background:#fff; border:1px solid var(--line); padding:34px 30px; display:flex; flex-direction:column; gap:12px;}
.sector-card h3{font-size:19px;}
.sector-card p{font-size:13.5px; color:var(--muted); line-height:1.6;}

/* ===== COBERTURA ===== */
.coverage{padding:100px 0; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.coverage h2{font-size:38px; margin:14px 0 18px;}
.coverage p{color:var(--muted); font-size:16px; line-height:1.65; margin-bottom:26px;}
.coverage-map{background:var(--ice); border:1px solid var(--line); padding:30px;}

/* ===== POR QUÉ ===== */
.why{background:var(--ice); padding:100px 0;}
.why h2{font-size:38px; margin:14px 0 46px; max-width:520px;}
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.why-card{background:#fff; padding:34px 30px;}
.why-card .wn{font-family:'Barlow Semi Condensed'; font-weight:800; font-size:26px; color:var(--amber); margin-bottom:14px;}
.why-card h3{font-size:17px; margin-bottom:10px;}
.why-card p{font-size:13.5px; color:var(--muted); line-height:1.6;}

/* ===== CONTENT / SERVICE / GENERIC SECTIONS ===== */
.content-section{padding:80px 0;}
.content-section.alt{background:var(--ice);}
.content-section h2{font-size:32px; margin-bottom:18px;}
.content-section p{color:var(--muted); font-size:15.5px; line-height:1.7; margin-bottom:16px;}
.two-col{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;}
.service-list{list-style:none; margin-top:10px;}
.service-list li{padding:16px 0; border-top:1px solid var(--line); display:flex; gap:14px; align-items:flex-start;}
.service-list li:first-child{border-top:none;}
.service-list .sdot{width:8px; height:8px; border-radius:2px; background:var(--amber); margin-top:7px; flex-shrink:0;}
.service-list strong{color:var(--navy); display:block; font-size:14.5px; margin-bottom:3px;}
.service-list span.desc{font-size:13.5px; color:var(--muted); line-height:1.55;}
.side-photo{border:1px solid var(--line); height:340px; overflow:hidden;}
.side-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.callout{background:var(--navy); color:#fff; padding:44px 40px; margin-top:20px;}
.callout h3{color:#fff; font-size:19px; margin-bottom:10px;}
.callout p{color:#C6D0DD; font-size:14px; margin-bottom:0;}
.faq-item{border-top:1px solid var(--line); padding:22px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-item h3{font-size:16px; margin-bottom:8px; color:var(--navy);}
.faq-item p{font-size:14px; color:var(--muted); line-height:1.6; margin:0;}
.scope-note{border-left:3px solid var(--amber); background:var(--ice); padding:18px 22px; font-size:13.5px; color:var(--navy2); line-height:1.6; margin:24px 0;}

/* ===== SECTOR / ARTICLE CARDS ===== */
.card-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:10px;}
.info-card{border:1px solid var(--line); padding:28px 26px;}
.info-card h3{font-size:17px; margin-bottom:10px;}
.info-card p{font-size:13.5px; color:var(--muted); line-height:1.6; margin:0;}

/* ===== FORM (Contacto) ===== */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-grid.full{grid-template-columns:1fr;}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:18px;}
.field label{font-size:12.5px; font-weight:700; color:var(--navy2); text-transform:uppercase; letter-spacing:.04em;}
.field input, .field select, .field textarea{font-family:'Inter'; font-size:14.5px; padding:12px 14px; border:1px solid var(--line); border-radius:2px; color:var(--graphite); background:#fff;}
.field textarea{resize:vertical; min-height:110px;}
.checkbox-group{display:flex; flex-wrap:wrap; gap:10px 22px;}
.checkbox-group label{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:500; color:var(--navy2); text-transform:none; letter-spacing:0;}
.contact-info{background:var(--ice); border:1px solid var(--line); padding:32px 28px;}
.contact-info h3{font-size:17px; margin-bottom:16px;}
.contact-info .ci-row{display:flex; gap:12px; margin-bottom:14px; font-size:14px; color:var(--navy2);}
.contact-info .ci-row strong{display:block; color:var(--navy); font-size:12px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:2px;}
.form-note{font-size:12.5px; color:var(--muted); margin-top:10px; line-height:1.6;}

/* ===== LEGAL PAGES ===== */
.legal-body h2{font-size:20px; margin:34px 0 12px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p, .legal-body li{font-size:14.5px; color:var(--navy2); line-height:1.75; margin-bottom:12px;}
.legal-body ul{padding-left:22px;}
.legal-updated{font-size:13px; color:var(--muted); margin-bottom:30px;}

/* ===== CTA FINAL ===== */
.cta-final{padding:90px 0; text-align:center; background:#fff; border-top:1px solid var(--line);}
.cta-final h2{font-size:32px; max-width:600px; margin:0 auto 30px;}
.cta-row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* ===== COOKIE BANNER ===== */
.cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:100; background:#fff; border-top:1px solid var(--line); box-shadow:0 -6px 24px rgba(11,30,51,.10); padding:22px 0;}
.cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;}
.cookie-text{max-width:640px; font-size:13px; color:var(--muted); line-height:1.55;}
.cookie-text strong{color:var(--navy);}
.cookie-text a{color:var(--steel); text-decoration:underline;}
.cookie-actions{display:flex; align-items:center; gap:10px; flex-shrink:0; flex-wrap:wrap;}
.cookie-actions .btn{padding:11px 20px; font-size:13.5px;}
.cookie-link-btn{font-size:13.5px; font-weight:600; color:var(--navy2); padding:11px 6px; background:none; border:none; cursor:pointer;}
.cookie-panel{position:fixed; left:0; right:0; bottom:0; z-index:101; background:#fff; border-top:1px solid var(--line); box-shadow:0 -6px 24px rgba(11,30,51,.10); padding:32px 0 30px; display:none;}
.cookie-panel.open{display:block;}
.cookie-panel h3{font-size:19px; margin-bottom:16px;}
.cookie-cat{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid var(--line);}
.cookie-cat:first-of-type{border-top:none;}
.cookie-cat-label{font-size:13.5px; font-weight:700; color:var(--navy2); margin-bottom:4px;}
.cookie-cat-desc{font-size:12.5px; color:var(--muted); max-width:560px; line-height:1.5;}
.cookie-toggle{position:relative; width:40px; height:22px; border-radius:11px; background:var(--line); flex-shrink:0; cursor:pointer; border:none;}
.cookie-toggle::after{content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .15s;}
.cookie-toggle.on{background:var(--steel);}
.cookie-toggle.on::after{transform:translateX(18px);}
.cookie-toggle.disabled{background:var(--navy); opacity:.5; cursor:not-allowed;}
.cookie-toggle.disabled::after{transform:translateX(18px);}
.cookie-panel-actions{display:flex; justify-content:flex-end; gap:10px; margin-top:20px; flex-wrap:wrap;}

/* ===== FOOTER ===== */
footer{background:var(--navy); color:#AEB9C8; padding:70px 0 30px; font-size:13.5px;}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.12);}
.foot-grid h4{color:#fff; font-size:12px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px; font-weight:700; font-family:'Inter';}
.foot-grid ul{list-style:none;}
.foot-grid li{margin-bottom:10px;}
.foot-grid a:hover{color:#fff;}
.foot-bottom{display:flex; justify-content:space-between; padding-top:26px; flex-wrap:wrap; gap:12px; color:#7C8AA0;}
.foot-logo{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.foot-logo .marker{width:12px; height:12px; border-radius:2px; background:var(--amber);}
.foot-logo .word{font-family:'Barlow Semi Condensed'; font-weight:800; font-size:18px; color:#fff;}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px){
  nav.menu{position:fixed; top:84px; left:0; right:0; bottom:0; background:#fff; flex-direction:column; align-items:flex-start; padding:26px 32px; gap:0; display:none; overflow-y:auto;}
  nav.menu.open{display:flex;}
  nav.menu a{padding:14px 0; width:100%; border-bottom:1px solid var(--line); font-size:15px;}
  .nav-toggle{display:flex;}
  .dropdown{position:static; display:block !important; border:none; box-shadow:none; padding:0 0 0 14px;}
  .has-dropdown > a::after{display:none;}
  .hero h1{font-size:38px;}
  .hero-graphic{display:none;}
  .div-grid{grid-template-columns:repeat(2,1fr);}
  .div-card{border-bottom:1px solid var(--line);}
  .flow-steps{flex-direction:column;}
  .flow-step{border-right:none; border-bottom:1px solid var(--line);}
  .docs-grid, .sector-grid, .why-grid, .card-grid{grid-template-columns:1fr;}
  .two-col, .foot-grid, .form-grid, .coverage{grid-template-columns:1fr;}
  .coverage{gap:32px;}
  .foot-grid{gap:34px;}
}
