
:root{
  --deep:#07111F;
  --navy:#0B1F3A;
  --blue:#0B3A66;
  --cyan:#0EA5E9;
  --orange:#FF6B00;
  --paper:#F6F9FD;
  --line:#E4EAF3;
  --text:#0F172A;
  --muted:#5B6678;
  --white:#FFFFFF;
  --shadow:0 20px 60px rgba(7,17,31,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--paper)}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.container{width:min(1180px,92vw);margin-inline:auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{height:52px}
.nav-links{display:flex;align-items:center;gap:22px;font-weight:800;color:#243449}
.nav-links a:hover{color:var(--orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:900;border:1px solid transparent}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 12px 30px rgba(255,107,0,.18)}
.btn-secondary{background:#fff;color:var(--blue);border-color:#cbd7e8}
.hero{background:radial-gradient(circle at 84% 18%,rgba(14,165,233,.16),transparent 26%),linear-gradient(180deg,var(--deep),var(--blue));color:#fff}
.hero .container{display:grid;grid-template-columns:1fr .95fr;gap:52px;align-items:center;padding:92px 0 72px}
.hero h1{font-size:clamp(44px,5.5vw,72px);line-height:1.02;letter-spacing:-.06em;margin:14px 0}
.hero p{font-size:20px;line-height:1.6;color:#D7E6FB;max-width:720px}
.eyebrow{display:inline-flex;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 12px;color:#BDE7FF;font-size:13px;font-weight:900}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.hero-figure img,.mock-img{border-radius:30px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.14)}
.section{padding:76px 0}
.section.alt{background:#fff}
.section-head{max-width:820px;margin-bottom:32px}
.section-head h2,.page-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.045em;margin:0 0 12px}
.lead{font-size:19px;line-height:1.55;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:0 10px 34px rgba(16,24,40,.055)}
.card h3{font-size:22px;margin-top:0}
.card p{color:var(--muted);line-height:1.58}
.tag{display:inline-flex;background:#F4F8FF;color:var(--blue);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;margin-bottom:12px}
.card-action{display:inline-flex;margin-top:12px;color:var(--orange);font-weight:900}
.page-hero{background:linear-gradient(135deg,#f7faff,#fff);border-bottom:1px solid var(--line);padding:56px 0 42px}
.breadcrumbs{font-size:13px;color:#64748b;margin-bottom:10px}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;font-weight:900;box-shadow:0 8px 24px rgba(7,17,31,.04)}
.cta{background:linear-gradient(180deg,var(--deep),var(--blue));color:#fff;border-radius:30px;padding:34px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.footer{background:var(--deep);color:#fff;padding:56px 0}
.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:28px}
.footer a{display:block;color:#D7E6FB;padding:6px 0}
.form{display:grid;gap:14px}
.input,.textarea,select{width:100%;border:1px solid #cbd7e8;border-radius:14px;padding:14px 15px;font:inherit}
.textarea{min-height:140px}
.motion{opacity:0;transform:translateY(16px);transition:.7s cubic-bezier(.16,1,.3,1)}
.motion.visible{opacity:1;transform:translateY(0)}
.card{transition:.18s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(7,17,31,.10)}
@media(max-width:980px){
  .hero .container,.grid-2,.grid-3,.process,.footer-grid,.cta{grid-template-columns:1fr}
  .nav{align-items:flex-start;flex-direction:column;padding:14px 0}
  .nav-links{flex-wrap:wrap}
  .section{padding:54px 0}
}

/* DIMTEC Static V2 — Tech Motion Edition */
:root{
  --tech-deep:#020617;
  --tech-blue:#0EA5E9;
  --tech-cyan:#7DD3FC;
  --tech-orange:#FF6B00;
}
body{
  background:
    radial-gradient(circle at 80% 0%,rgba(14,165,233,.10),transparent 28%),
    #F6F9FD;
}
.topbar{
  background:rgba(2,6,23,.82)!important;
  border-bottom:1px solid rgba(125,211,252,.18)!important;
}
.nav-links a{color:#D7E6FB!important}
.nav-links a:hover{color:#7DD3FC!important}
.logo{filter:drop-shadow(0 8px 16px rgba(0,0,0,.20))}
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 18%,rgba(14,165,233,.22),transparent 28%),
    radial-gradient(circle at 30% 80%,rgba(255,107,0,.10),transparent 24%),
    linear-gradient(135deg,#020617,#082F49 58%,#0F172A)!important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(125,211,252,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125,211,252,.08) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.25));
}
.hero .container{position:relative;z-index:1}
.eyebrow{
  background:rgba(125,211,252,.08);
  border-color:rgba(125,211,252,.25)!important;
}
.hero h1{
  text-shadow:0 18px 50px rgba(0,0,0,.22);
}
.btn-primary{
  background:#FF6B00!important;
  color:#fff!important;
  box-shadow:0 16px 42px rgba(255,107,0,.24);
}
.btn-secondary{
  background:rgba(255,255,255,.08)!important;
  color:#E0F2FE!important;
  border-color:rgba(125,211,252,.28)!important;
}
.card{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(12px);
}
.card h3{
  color:#0B1F3A;
}
.card::before{
  content:"";
  display:block;
  width:42px;
  height:3px;
  background:linear-gradient(90deg,#0EA5E9,#FF6B00);
  border-radius:999px;
  margin-bottom:18px;
}
.section.alt{
  background:
    radial-gradient(circle at 10% 20%,rgba(14,165,233,.08),transparent 24%),
    #FFFFFF;
}
.step{
  position:relative;
  overflow:hidden;
}
.step::after{
  content:"";
  position:absolute;
  inset:auto 18px 10px 18px;
  height:3px;
  border-radius:999px;
  background:#0EA5E9;
  opacity:.45;
}
.cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,107,0,.20),transparent 28%),
    linear-gradient(135deg,#020617,#0B3A66)!important;
}
.cta::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(125,211,252,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.08) 1px,transparent 1px);
  background-size:56px 56px;
}
.cta>*{position:relative;z-index:1}
.mock-img,.hero-figure img{
  border:1px solid rgba(125,211,252,.22);
  box-shadow:0 30px 90px rgba(2,6,23,.22);
}
.card-action{
  color:#0EA5E9!important;
}
.footer{
  background:
    radial-gradient(circle at 80% 0%,rgba(14,165,233,.14),transparent 30%),
    #020617!important;
}
@keyframes floatSoft{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
.hero-figure img{
  animation:floatSoft 7s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){
  .hero-figure img{animation:none}
}

/* DIMTEC Static V3 — Industrial Tech Conversion */
.problem-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.problem-card{
  background:rgba(255,255,255,.86);
  border:1px solid #E4EAF3;
  border-radius:22px;
  padding:22px;
  box-shadow:0 10px 30px rgba(7,17,31,.06);
}
.problem-card strong{
  display:block;
  color:#0B3A66;
  font-size:18px;
  margin-bottom:8px;
}
.solution-family{
  margin-top:34px;
}
.family-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.family-title span{
  width:12px;
  height:12px;
  background:#FF6B00;
  border-radius:999px;
  box-shadow:0 0 0 8px rgba(255,107,0,.10);
}
.tech-diagram{
  background:#020617;
  color:#fff;
  border-radius:30px;
  padding:30px;
  overflow:hidden;
  position:relative;
}
.tech-diagram::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(125,211,252,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125,211,252,.08) 1px, transparent 1px);
  background-size:54px 54px;
  opacity:.8;
}
.tech-diagram > *{
  position:relative;
  z-index:1;
}
.diagram-flow{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:22px;
}
.diagram-node{
  border:1px solid rgba(125,211,252,.28);
  background:rgba(255,255,255,.07);
  border-radius:18px;
  padding:18px;
  text-align:center;
  font-weight:900;
}
.diagram-node.active{
  border-color:#FF6B00;
  box-shadow:0 0 0 1px rgba(255,107,0,.28),0 12px 34px rgba(255,107,0,.10);
}
.solution-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:start;
}
.spec-list{
  display:grid;
  gap:12px;
}
.spec-item{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:18px;
  padding:16px;
}
.spec-item strong{
  color:#0B3A66;
}
.icon-dot{
  display:inline-flex;
  width:34px;
  height:34px;
  border-radius:12px;
  background:#EAF7FF;
  align-items:center;
  justify-content:center;
  color:#0B3A66;
  font-weight:900;
  margin-bottom:12px;
}
.lucide{
  width:22px;
  height:22px;
  stroke-width:2.2;
}
.hero .lead-compact{
  max-width:780px;
}
@media(max-width:1000px){
  .problem-grid,
  .diagram-flow,
  .solution-layout{
    grid-template-columns:1fr;
  }
}

/* DIMTEC Static V5 — Authority & Content Expansion */
.authority-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.article-card{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 10px 34px rgba(16,24,40,.055);
  transition:.18s ease;
}
.article-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(7,17,31,.11);
}
.article-card img{
  width:100%;
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
}
.article-card-body{
  padding:22px;
}
.article-meta{
  display:inline-flex;
  font-size:12px;
  font-weight:900;
  color:#0B3A66;
  background:#F4F8FF;
  border-radius:999px;
  padding:7px 10px;
  margin-bottom:12px;
}
.article-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 320px;
  gap:34px;
  align-items:start;
}
.article-content{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:26px;
  padding:34px;
  box-shadow:0 10px 34px rgba(16,24,40,.055);
}
.article-content h2{
  margin-top:34px;
}
.article-content p,
.article-content li{
  color:#5B6678;
  line-height:1.72;
  font-size:17px;
}
.article-side{
  position:sticky;
  top:96px;
  display:grid;
  gap:16px;
}
.article-side .card{
  padding:20px;
}
.icon-list{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.icon-tile{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:20px;
  padding:16px;
  text-align:center;
}
.icon-tile img{
  height:54px;
  width:54px;
  margin-bottom:8px;
}
.faq-list{
  display:grid;
  gap:14px;
}
.faq-list details{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:18px;
  padding:18px;
}
.faq-list summary{
  cursor:pointer;
}
@media(max-width:1000px){
  .authority-grid,
  .article-layout,
  .icon-list{
    grid-template-columns:1fr;
  }
  .article-side{position:static}
}


/* V6 — Inclusive Market Positioning */
.segment-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.segment-card{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:26px;
  padding:26px;
  box-shadow:0 10px 34px rgba(16,24,40,.055);
}
.segment-card h3{
  margin-top:0;
}
.badge-soft{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#F4F8FF;
  color:#0B3A66;
  font-size:12px;
  font-weight:800;
}
@media(max-width:1000px){
  .segment-grid{grid-template-columns:1fr}
}


/* V7 — Local icon restoration */
.local-icon,
.icon-dot{
  display:inline-flex;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#F4F8FF;
  border:1px solid #D9E6F5;
  margin-bottom:14px;
}
.local-icon img,
.icon-dot img{
  width:30px;
  height:30px;
  object-fit:contain;
}
.problem-card .local-icon,
.segment-card .local-icon,
.card .local-icon{
  margin-bottom:14px;
}


/* V8 — Original Content Alignment + CTA + Better Icons */
.top-cta{
  background:#020617;
  color:#D7E6FB;
  border-bottom:1px solid rgba(125,211,252,.18);
  padding:11px 0;
  font-size:14px;
}
.top-cta .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.top-cta strong{
  color:#fff;
}
.top-cta a{
  color:#FFB06F;
  font-weight:900;
}
.local-icon,
.icon-dot{
  background:linear-gradient(135deg,#F4F8FF,#FFFFFF);
}
.local-icon img,
.icon-dot img{
  width:34px;
  height:34px;
}
.article-content .source-note{
  background:#F4F8FF;
  border-left:4px solid #0EA5E9;
  padding:16px 18px;
  border-radius:14px;
  color:#334155;
}
@media(max-width:900px){
  .top-cta .container{
    display:block;
  }
}


/* V9 — Guides submenu and content cleanup */
.nav-links .nav-dropdown{
  position:relative;
}
.nav-links .nav-dropdown > a{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.nav-links .nav-dropdown > a::after{
  content:"▾";
  font-size:11px;
  opacity:.8;
}
.nav-submenu{
  position:absolute;
  top:calc(100% + 16px);
  left:0;
  width:360px;
  background:#fff;
  color:#0F172A;
  border:1px solid #E4EAF3;
  border-radius:22px;
  padding:14px;
  box-shadow:0 24px 70px rgba(7,17,31,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.16s ease;
  z-index:50;
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.nav-submenu a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:#243449!important;
  font-weight:750;
}
.nav-submenu a:hover{
  background:#F4F8FF;
  color:#0B3A66!important;
}
.nav-submenu .submenu-title{
  display:block;
  padding:8px 12px 10px;
  color:#64748B;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.guide-intro{
  max-width:900px;
}
.guide-intro .lead{
  max-width:860px;
}
@media(max-width:980px){
  .nav-submenu{
    position:static;
    width:100%;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    margin-top:8px;
  }
}


/* V10 — Consultation CTA Block */
.consultation-section{
  padding:86px 0;
  background:linear-gradient(180deg,#ffffff,#F8FBFF);
}
.consultation-box{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:42px;
  align-items:center;
  background:#fff;
  border:1px solid #E6EDF6;
  border-radius:34px;
  padding:54px;
  box-shadow:0 18px 60px rgba(15,23,42,.07);
}
.consultation-box h2{
  margin-top:0;
  max-width:720px;
}
.consultation-box p{
  font-size:18px;
  line-height:1.75;
  color:#5B6678;
}
.consultation-list{
  display:grid;
  gap:16px;
  margin:34px 0;
}
.consultation-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.consultation-item strong{
  display:block;
  margin-bottom:4px;
}
.consultation-icon{
  width:34px;
  height:34px;
  flex:none;
  border-radius:14px;
  background:#FFF3EA;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#FF6B00;
  font-weight:900;
}
.consultation-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.consultation-secondary{
  background:#F4F8FF;
  color:#0B3A66;
}
.consultation-diagram{
  border-radius:28px;
  padding:32px;
  background:linear-gradient(135deg,#021426,#0B3A66);
  color:white;
}
.consultation-flow{
  display:grid;
  gap:18px;
  margin-top:20px;
}
.flow-node{
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.flow-arrow{
  text-align:center;
  opacity:.6;
}
.consultation-badge{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:#FFF3EA;
  color:#B45309;
  font-size:12px;
  font-weight:800;
  margin-bottom:18px;
}
.top-cta{
  padding:7px 0!important;
}
@media(max-width:980px){
  .consultation-box{
    grid-template-columns:1fr;
    padding:32px;
  }
}


/* V11 — Production Readiness */
.consultation-section{
  padding:64px 0 78px!important;
  background:linear-gradient(180deg,#ffffff,#F8FBFF);
  margin-top:0!important;
  position:relative;
  z-index:2;
}
.consultation-box{
  margin-top:0!important;
}
.hero{
  min-height:auto!important;
}
.hero .container{
  padding-top:72px!important;
  padding-bottom:58px!important;
}
.section-head{
  overflow:visible;
}
.top-cta{
  min-height:40px;
}
.faq-grid{
  display:grid;
  gap:14px;
}
.faq-grid details{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 8px 24px rgba(7,17,31,.04);
}
.faq-grid summary{
  cursor:pointer;
}
.method-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.method-step{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:22px;
  padding:22px;
  box-shadow:0 10px 34px rgba(16,24,40,.055);
}
.method-step span{
  display:inline-flex;
  width:36px;
  height:36px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#FFF3EA;
  color:#FF6B00;
  font-weight:900;
  margin-bottom:12px;
}
.check-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.check-list{
  display:grid;
  gap:12px;
}
.check-list li{
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:16px;
  padding:14px 16px;
  list-style:none;
}
.notice-box{
  background:#F4F8FF;
  border-left:4px solid #0EA5E9;
  border-radius:16px;
  padding:18px 20px;
  color:#334155;
}
@media(max-width:1000px){
  .method-steps,.check-grid{grid-template-columns:1fr}
  .hero .container{padding-top:52px!important;padding-bottom:46px!important}
}


/* V12 — Consultation diagram refinement */
.consultation-diagram{
  max-width:420px;
  width:100%;
  justify-self:center;
}
.consultation-diagram h3{
  text-align:center;
}
.flow-node{
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
}
.consultation-flow{
  max-width:340px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:980px){
  .consultation-diagram{
    max-width:100%;
  }
  .consultation-flow{
    max-width:100%;
  }
}


/* V13 — Privacy & Umami Analytics */
.cookie-banner{
  position:fixed;
  left:24px;
  bottom:24px;
  width:390px;
  max-width:calc(100vw - 40px);
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:22px;
  padding:22px;
  box-shadow:0 24px 80px rgba(0,0,0,.12);
  z-index:9999;
}
.cookie-banner p{
  color:#5B6678;
  line-height:1.55;
}
.cookie-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
  align-items:center;
}
.cookie-actions button{
  cursor:pointer;
}
.cookie-actions a{
  font-weight:800;
  color:#0B3A66;
}
@media(max-width:700px){
  .cookie-banner{
    left:16px;
    bottom:16px;
    width:calc(100vw - 32px);
  }
}


/* V14 — Official logo assets */
.logo{
  height:54px;
  width:auto;
  object-fit:contain;
}
.logo-wrap,
.nav > a:first-child{
  display:flex;
  align-items:center;
}
.footer .logo{
  height:58px;
}


/* V15 — Consent persistence fix */
.cookie-banner[hidden]{
  display:none!important;
}


/* V16 — Umami static integration + mobile submenu fix */
@media(max-width:980px){
  .nav-links .nav-dropdown{
    width:100%;
  }
  .nav-links .nav-dropdown > a{
    justify-content:space-between;
    width:100%;
  }
  .nav-submenu{
    display:none!important;
    position:static!important;
    width:100%!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
    margin-top:8px!important;
    padding:8px!important;
  }
  .nav-dropdown.is-open .nav-submenu{
    display:block!important;
  }
}


/* V17 — Mobile navigation + consent banner */
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:#fff;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:24px;
  line-height:1;
}
.nav-toggle span{
  display:block;
  transform:translateY(-1px);
}
.cookie-banner{
  position:fixed;
  left:24px;
  bottom:24px;
  width:420px;
  max-width:calc(100vw - 40px);
  background:#fff;
  border:1px solid #E4EAF3;
  border-radius:22px;
  padding:22px;
  box-shadow:0 24px 80px rgba(0,0,0,.14);
  z-index:9999;
}
.cookie-banner[hidden]{
  display:none!important;
}
.cookie-banner strong{
  display:block;
  margin-bottom:8px;
}
.cookie-banner p{
  color:#5B6678;
  line-height:1.55;
  margin:0;
}
.cookie-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
  align-items:center;
}
.cookie-actions button{
  cursor:pointer;
}
.cookie-actions a{
  font-weight:800;
  color:#0B3A66;
}
@media(max-width:980px){
  .nav{
    display:grid!important;
    grid-template-columns:1fr auto;
    align-items:center!important;
  }
  .nav-toggle{
    display:inline-flex;
  }
  .nav-links{
    grid-column:1 / -1;
    display:none!important;
    width:100%;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    padding:14px 0 6px;
  }
  .nav.is-open .nav-links{
    display:flex!important;
  }
  .nav-links a,
  .nav-links .nav-dropdown > a{
    width:100%;
    padding:12px 14px;
    border-radius:12px;
  }
  .nav-links .btn{
    width:100%;
  }
  .nav-links .nav-dropdown{
    width:100%;
  }
  .nav-links .nav-dropdown > a{
    justify-content:space-between;
  }
  .nav-submenu{
    display:none!important;
    position:static!important;
    width:100%!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
    margin-top:8px!important;
    padding:8px!important;
  }
  .nav-dropdown.is-open .nav-submenu{
    display:block!important;
  }
  .cookie-banner{
    left:16px;
    bottom:16px;
    width:calc(100vw - 32px);
  }
}


/* V18 — Lighthouse 95+ fixes */
.btn-primary{
  background:#D95700!important;
  color:#FFFFFF!important;
}
.card-action{
  color:#0B3A66!important;
  font-weight:900;
}
.card-action:hover{
  color:#062B4F!important;
}
.article-meta{
  color:#0B3A66!important;
}
.cookie-actions .btn-primary{
  background:#D95700!important;
  color:#FFFFFF!important;
}
.logo{
  aspect-ratio:4 / 1;
}
.hero-figure img,
.mock-img{
  height:auto;
}


/* V19 — PageSpeed Final Fix */
:root{
  --cta-accessible:#A63A00;
  --cta-accessible-hover:#8F3100;
}
.btn-primary,
.cookie-actions .btn-primary{
  background:var(--cta-accessible)!important;
  color:#FFFFFF!important;
  border-color:var(--cta-accessible)!important;
}
.btn-primary:hover,
.cookie-actions .btn-primary:hover{
  background:var(--cta-accessible-hover)!important;
  color:#FFFFFF!important;
}


/* V20 — CLS/LCP final fix */
.nav-dropdown{
  position:relative;
}
.nav-submenu{
  position:absolute;
  top:calc(100% + 16px);
  left:0;
  width:360px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.hero-figure img{
  display:block;
}
@media(max-width:980px){
  .nav-submenu{
    position:static!important;
    width:100%!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
}


/* V21 — Contact Gateway Integration */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.form-status{margin-top:14px;padding:14px 16px;border-radius:14px;font-weight:800;display:none}
.form-status.is-ok{display:block;background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0}
.form-status.is-error{display:block;background:#FEF2F2;color:#991B1B;border:1px solid #FECACA}
.form-privacy-note{font-size:14px;line-height:1.5;color:#5B6678;margin-top:10px}
