/* INDEVO V28 — logo alignment + reliable light/dark contrast */

/* ---------- BRAND: keep original IDS artwork, improve frame and alignment ---------- */
.site-header .brand{gap:12px;align-items:center}
.site-header .brand-plate{
  position:relative;
  width:54px;
  height:46px;
  padding:5px 7px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#fff;
  border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);
  border-radius:8px 15px 8px 15px;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);
  box-shadow:0 7px 18px rgba(3,24,34,.10),inset 0 1px 0 rgba(255,255,255,.8);
  flex:0 0 auto;
}
.site-header .brand-plate::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-bottom:2px solid rgba(13,120,153,.38);
}
.site-header .brand-plate img{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
  object-position:center;
  transform:none!important;
}
.site-header .brand-text{justify-content:center;min-width:0}
.site-header .brand-text b{line-height:1.05}
.site-header .brand-text small{line-height:1.25}

.site-footer .footer-logo{
  position:relative;
  display:inline-grid;
  place-items:center;
  min-width:92px;
  min-height:64px;
  padding:9px 13px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px 20px 10px 20px;
  clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);
  box-shadow:0 14px 36px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.82);
}
.site-footer .footer-logo::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,#0d7899,#45b2cf);
}
.site-footer .footer-logo img{
  width:76px!important;
  height:46px!important;
  object-fit:contain;
  object-position:center;
}
.cookie-brand img{object-fit:contain;object-position:center}

/* ---------- THEME FOUNDATION ---------- */
html[data-theme="light"]{
  color-scheme:light;
  --v28-card:#ffffff;
  --v28-card2:#f3f7f8;
  --v28-ink:#071b25;
  --v28-text:#314852;
  --v28-muted:#667d87;
  --v28-line:#d6e0e4;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --v28-card:#0a1a22;
  --v28-card2:#0d232d;
  --v28-ink:#f2f7f8;
  --v28-text:#c4d1d6;
  --v28-muted:#8fa3ab;
  --v28-line:#203c48;
}

/* Default readable typography follows theme variables. */
html[data-theme] body{background:var(--bg);color:var(--text)}
html[data-theme] main h1,
html[data-theme] main h2,
html[data-theme] main h3,
html[data-theme] main h4,
html[data-theme] main strong,
html[data-theme] main .brand-title{color:var(--ink)}
html[data-theme] main p,
html[data-theme] main li,
html[data-theme] main .lead{color:var(--text)}
html[data-theme] main .muted,
html[data-theme] main small{color:var(--muted)}

/* ---------- LIGHT/NEUTRAL SURFACES ---------- */
html[data-theme] .process-section,
html[data-theme] .technical-depth,
html[data-theme] .projects-premium,
html[data-theme] .about-capabilities,
html[data-theme] .quality-docs,
html[data-theme] .certificate-spread,
html[data-theme] .legal-page,
html[data-theme] .contact-section,
html[data-theme] .contact-main,
html[data-theme] .manifest{
  color:var(--text);
}

html[data-theme="light"] .capability-row,
html[data-theme="light"] .process-rail article,
html[data-theme="light"] .values-rail>div,
html[data-theme="light"] .depth-grid article,
html[data-theme="light"] .about-cap-grid article,
html[data-theme="light"] .case-study,
html[data-theme="light"] .certificate-spread article,
html[data-theme="light"] .contact-card,
html[data-theme="light"] .form-card,
html[data-theme="light"] .rfq-form,
html[data-theme="light"] .metric-card{
  background:linear-gradient(145deg,#fff,#f4f8fa)!important;
  border-color:var(--v28-line)!important;
  color:var(--v28-text)!important;
}
html[data-theme="light"] .capability-row h2,
html[data-theme="light"] .capability-row h3,
html[data-theme="light"] .process-rail h3,
html[data-theme="light"] .values-rail h3,
html[data-theme="light"] .depth-grid h3,
html[data-theme="light"] .about-cap-grid h3,
html[data-theme="light"] .case-study h2,
html[data-theme="light"] .case-study h3,
html[data-theme="light"] .contact-card h2,
html[data-theme="light"] .contact-card h3,
html[data-theme="light"] .form-card h2,
html[data-theme="light"] .form-card h3,
html[data-theme="light"] .rfq-form h2,
html[data-theme="light"] .metric-card .metric-label{
  color:var(--v28-ink)!important;
}
html[data-theme="light"] .capability-row p,
html[data-theme="light"] .process-rail p,
html[data-theme="light"] .values-rail p,
html[data-theme="light"] .depth-grid p,
html[data-theme="light"] .about-cap-grid p,
html[data-theme="light"] .case-study p,
html[data-theme="light"] .contact-card p,
html[data-theme="light"] .form-card p,
html[data-theme="light"] .rfq-form p,
html[data-theme="light"] .metric-card .metric-desc{
  color:var(--v28-muted)!important;
}

html[data-theme="dark"] .capability-row,
html[data-theme="dark"] .process-rail article,
html[data-theme="dark"] .values-rail>div,
html[data-theme="dark"] .depth-grid article,
html[data-theme="dark"] .about-cap-grid article,
html[data-theme="dark"] .case-study,
html[data-theme="dark"] .certificate-spread article,
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .rfq-form,
html[data-theme="dark"] .metric-card{
  background:linear-gradient(145deg,#0b1d26,#08171f)!important;
  border-color:var(--v28-line)!important;
  color:var(--v28-text)!important;
}
html[data-theme="dark"] .capability-row h2,
html[data-theme="dark"] .capability-row h3,
html[data-theme="dark"] .process-rail h3,
html[data-theme="dark"] .values-rail h3,
html[data-theme="dark"] .depth-grid h3,
html[data-theme="dark"] .about-cap-grid h3,
html[data-theme="dark"] .case-study h2,
html[data-theme="dark"] .case-study h3,
html[data-theme="dark"] .contact-card h2,
html[data-theme="dark"] .contact-card h3,
html[data-theme="dark"] .form-card h2,
html[data-theme="dark"] .form-card h3,
html[data-theme="dark"] .rfq-form h2,
html[data-theme="dark"] .metric-card .metric-label{
  color:var(--v28-ink)!important;
}
html[data-theme="dark"] .capability-row p,
html[data-theme="dark"] .process-rail p,
html[data-theme="dark"] .values-rail p,
html[data-theme="dark"] .depth-grid p,
html[data-theme="dark"] .about-cap-grid p,
html[data-theme="dark"] .case-study p,
html[data-theme="dark"] .contact-card p,
html[data-theme="dark"] .form-card p,
html[data-theme="dark"] .rfq-form p,
html[data-theme="dark"] .metric-card .metric-desc{
  color:var(--v28-muted)!important;
}

/* Forms and technical tables */
html[data-theme] input,
html[data-theme] select,
html[data-theme] textarea{
  background:var(--surface)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}
html[data-theme] input::placeholder,
html[data-theme] textarea::placeholder{color:var(--muted)!important;opacity:1}
html[data-theme] label{color:var(--text)}
html[data-theme="dark"] option{background:#0a1a22;color:#f2f7f8}

/* ---------- SECTIONS THAT ARE DELIBERATELY DARK IN BOTH MODES ---------- */
html[data-theme] .home-hero,
html[data-theme] .technology-section,
html[data-theme] .page-hero,
html[data-theme] .proof-item,
html[data-theme] .quality-story,
html[data-theme] .process-band,
html[data-theme] .final-cta,
html[data-theme] .site-footer,
html[data-theme] .manifest .domain-row{
  color:#f4f8fa!important;
}
html[data-theme] .home-hero h1,
html[data-theme] .home-hero h2,
html[data-theme] .home-hero h3,
html[data-theme] .technology-section h1,
html[data-theme] .technology-section h2,
html[data-theme] .technology-section h3,
html[data-theme] .page-hero h1,
html[data-theme] .page-hero h2,
html[data-theme] .proof-item h1,
html[data-theme] .proof-item h2,
html[data-theme] .proof-item h3,
html[data-theme] .quality-story h1,
html[data-theme] .quality-story h2,
html[data-theme] .quality-story h3,
html[data-theme] .process-band h1,
html[data-theme] .process-band h2,
html[data-theme] .process-band h3,
html[data-theme] .final-cta h1,
html[data-theme] .final-cta h2,
html[data-theme] .final-cta h3,
html[data-theme] .site-footer h1,
html[data-theme] .site-footer h2,
html[data-theme] .site-footer h3,
html[data-theme] .manifest .domain-row h3{
  color:#f5fafc!important;
}
html[data-theme] .home-hero p,
html[data-theme] .technology-section p,
html[data-theme] .page-hero p,
html[data-theme] .proof-item p,
html[data-theme] .quality-story p,
html[data-theme] .process-band p,
html[data-theme] .final-cta p,
html[data-theme] .site-footer p,
html[data-theme] .manifest .domain-row p{
  color:#b8cbd3!important;
}
html[data-theme] .page-hero .crumb,
html[data-theme] .page-hero .crumb a,
html[data-theme] .page-hero .crumb b{color:#dce8ec!important}

/* Homepage technology selector remains readable in all theme states. */
html[data-theme] body[data-page="index"] .tech-index-item{color:#eaf5f8!important}
html[data-theme] body[data-page="index"] .tech-index-item b{color:inherit!important}
html[data-theme] body[data-page="index"] .tech-index-item.active,
html[data-theme] body[data-page="index"] .tech-index-item:hover{
  background:linear-gradient(90deg,rgba(24,191,242,.16),rgba(255,255,255,.06))!important;
  color:#ffffff!important;
  box-shadow:inset 3px 0 0 #18bff2;
}

/* Header/mega menu contrast */
html[data-theme] .site-header .brand-text b,
html[data-theme] .desktop-nav>a,
html[data-theme] .nav-cluster>a,
html[data-theme] .mega-lead h2,
html[data-theme] .mega-index b{color:var(--ink)!important}
html[data-theme] .site-header .brand-text small,
html[data-theme] .mega-lead p{color:var(--muted)!important}
html[data-theme] .mega{background:var(--surface)!important}
html[data-theme] .mega-index a:hover{background:var(--surface2)!important}
html[data-theme] .mega-index a:hover b{color:var(--ink)!important}

/* Footer links always dark-theme readable because footer itself is dark. */
html[data-theme] .site-footer a,
html[data-theme] .site-footer button{color:#c5d6dc}
html[data-theme] .site-footer a:hover,
html[data-theme] .site-footer button:hover{color:#fff}

@media(max-width:650px){
  .site-header .brand-plate{width:47px;height:40px;padding:5px 6px;border-radius:7px 13px 7px 13px}
  .site-footer .footer-logo{min-width:82px;min-height:57px;padding:8px 11px}
  .site-footer .footer-logo img{width:67px!important;height:41px!important}
}

/* =========================================================
   INDEVO V29 — refined IDS plate + professional contact panel
   ========================================================= */

/* --- Logo plate: retain original logo.jpg, only refine presentation --- */
.site-header .brand{
  gap:14px;
  align-items:center;
}
.site-header .brand-plate{
  width:58px;
  height:50px;
  padding:7px 8px;
  background:linear-gradient(145deg,#ffffff 0%,#fbfdfe 62%,#eef4f6 100%);
  border:1px solid rgba(104,130,142,.24);
  border-radius:0;
  clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);
  box-shadow:
    0 8px 18px rgba(3,24,34,.14),
    0 1px 0 rgba(255,255,255,.94) inset;
  transform:skewX(-1.5deg);
}
.site-header .brand-plate::before{
  content:"";
  position:absolute;
  left:4%; right:10%; bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,#1ea4d1 20%,#2bb7df 72%,transparent 100%);
  box-shadow:0 1px 7px rgba(24,160,205,.28);
}
.site-header .brand-plate::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,.55),transparent 42%);
  border:0;
  pointer-events:none;
}
.site-header .brand-plate img{
  width:100%!important;
  height:100%!important;
  object-fit:contain;
  object-position:center;
  transform:skewX(1.5deg)!important;
  filter:none!important;
}

/* footer gets the same shape, scaled up */
.site-footer .footer-logo{
  min-width:104px;
  min-height:72px;
  padding:11px 15px;
  border-radius:0;
  clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);
  background:linear-gradient(145deg,#ffffff 0%,#fafcfd 65%,#eaf1f4 100%);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 15px 34px rgba(0,0,0,.24);
  transform:skewX(-1.5deg);
}
.site-footer .footer-logo::before{
  content:"";
  position:absolute;
  left:4%; right:10%; bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#1ea4d1 24%,#39c1e8 76%,transparent);
  box-shadow:0 1px 8px rgba(24,160,205,.35);
}
.site-footer .footer-logo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,.50),transparent 42%);
  pointer-events:none;
}
.site-footer .footer-logo img{
  width:82px!important;
  height:50px!important;
  transform:skewX(1.5deg)!important;
}

/* keep header compact and aligned on small screens */
@media (max-width:760px){
  .site-header .brand{gap:10px}
  .site-header .brand-plate{width:50px;height:44px;padding:6px 7px}
  .site-header .brand-text small{font-size:7px;letter-spacing:.08em}
  .site-footer .footer-logo{min-width:88px;min-height:62px;padding:9px 12px}
  .site-footer .footer-logo img{width:70px!important;height:44px!important}
}

/* --- Contact information: premium, readable information panel --- */
body[data-page="contact"] .contact-layout{
  align-items:stretch;
  gap:clamp(28px,4vw,68px);
}
body[data-page="contact"] .contact-aside{
  position:relative;
  overflow:hidden;
  padding:clamp(28px,3.2vw,48px);
  border:1px solid var(--line);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,rgba(33,170,215,.10),transparent 30%),
    linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface) 90%,var(--bg)));
  box-shadow:0 20px 55px rgba(3,24,34,.08);
}
body[data-page="contact"] .contact-aside::before{
  content:"";
  position:absolute;
  left:0;top:0;width:5px;height:100%;
  background:linear-gradient(180deg,#29b8e5 0%,#0d7899 55%,transparent 100%);
}
body[data-page="contact"] .contact-aside>.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:12px;
  color:var(--accent)!important;
  letter-spacing:.16em;
}
body[data-page="contact"] .contact-aside>.eyebrow::before{
  content:"";
  width:22px;height:1px;background:currentColor;
}
body[data-page="contact"] .contact-aside>h2{
  max-width:520px;
  margin:0 0 30px;
  font-size:clamp(28px,2.4vw,42px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:var(--ink)!important;
}
body[data-page="contact"] .contact-aside>div{
  position:relative;
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 28px;
  align-items:center;
  gap:18px;
  min-height:86px;
  padding:18px 0;
  border-top:1px solid var(--line);
}
body[data-page="contact"] .contact-aside>div:last-child{
  border-bottom:1px solid var(--line);
}
body[data-page="contact"] .contact-aside>div::after{
  content:"↗";
  justify-self:end;
  width:28px;height:28px;
  display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));
  border-radius:50%;
  color:var(--accent);
  font-size:13px;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
body[data-page="contact"] .contact-aside>div:first-of-type::after{content:"⌖"}
body[data-page="contact"] .contact-aside>div:nth-of-type(3)::after{content:"↗"}
body[data-page="contact"] .contact-aside>div:hover::after{
  transform:translate(2px,-2px);
  background:var(--accent);
  color:#fff;
}
body[data-page="contact"] .contact-aside small{
  margin:0;
  font-size:10px;
  font-weight:750;
  line-height:1.2;
  letter-spacing:.13em;
  color:var(--muted)!important;
}
body[data-page="contact"] .contact-aside p,
body[data-page="contact"] .contact-aside a{
  margin:0;
  min-width:0;
  font-size:clamp(15px,1.05vw,18px);
  line-height:1.55;
  font-weight:560;
  color:var(--ink)!important;
  text-decoration:none;
  overflow-wrap:anywhere;
}
body[data-page="contact"] .contact-aside a:hover{color:var(--accent)!important}

/* Contact form gets a matching premium surface */
body[data-page="contact"] .contact-main,
body[data-page="contact"] .rfq-form,
body[data-page="contact"] form{
  border-radius:22px;
}

html[data-theme="dark"] body[data-page="contact"] .contact-aside{
  background:
    radial-gradient(circle at 100% 0%,rgba(31,168,214,.12),transparent 31%),
    linear-gradient(145deg,#0b1c25,#07161d)!important;
  border-color:#1f3944!important;
  box-shadow:0 24px 65px rgba(0,0,0,.24);
}
html[data-theme="dark"] body[data-page="contact"] .contact-aside>h2,
html[data-theme="dark"] body[data-page="contact"] .contact-aside p,
html[data-theme="dark"] body[data-page="contact"] .contact-aside a{color:#f2f7f8!important}
html[data-theme="dark"] body[data-page="contact"] .contact-aside small{color:#8fa3ab!important}
html[data-theme="dark"] body[data-page="contact"] .contact-aside>div{border-color:#203b46!important}

html[data-theme="light"] body[data-page="contact"] .contact-aside{
  background:
    radial-gradient(circle at 100% 0%,rgba(31,168,214,.08),transparent 31%),
    linear-gradient(145deg,#ffffff,#f5f8f9)!important;
  border-color:#d5e0e4!important;
}
html[data-theme="light"] body[data-page="contact"] .contact-aside>h2,
html[data-theme="light"] body[data-page="contact"] .contact-aside p,
html[data-theme="light"] body[data-page="contact"] .contact-aside a{color:#071b25!important}
html[data-theme="light"] body[data-page="contact"] .contact-aside small{color:#647b86!important}
html[data-theme="light"] body[data-page="contact"] .contact-aside>div{border-color:#d7e1e5!important}

@media (max-width:720px){
  body[data-page="contact"] .contact-aside{padding:24px 22px;border-radius:18px}
  body[data-page="contact"] .contact-aside>h2{margin-bottom:20px}
  body[data-page="contact"] .contact-aside>div{
    grid-template-columns:1fr 32px;
    gap:7px 14px;
    padding:17px 0;
    min-height:0;
  }
  body[data-page="contact"] .contact-aside small{grid-column:1/2}
  body[data-page="contact"] .contact-aside p,
  body[data-page="contact"] .contact-aside a{grid-column:1/2}
  body[data-page="contact"] .contact-aside>div::after{grid-column:2;grid-row:1/3}
}

/* V30 — restore premium sticky contact experience on desktop */
@media (min-width:1041px){
  body[data-page="contact"] .contact-layout{
    align-items:start;
  }
  body[data-page="contact"] .contact-aside{
    position:sticky;
    top:calc(var(--header, 78px) + 28px);
    align-self:start;
    max-height:calc(100vh - var(--header, 78px) - 56px);
    overflow:auto;
    scrollbar-width:thin;
    scrollbar-color:color-mix(in srgb,var(--accent) 55%,transparent) transparent;
  }
  body[data-page="contact"] .contact-aside::-webkit-scrollbar{width:4px}
  body[data-page="contact"] .contact-aside::-webkit-scrollbar-track{background:transparent}
  body[data-page="contact"] .contact-aside::-webkit-scrollbar-thumb{
    background:color-mix(in srgb,var(--accent) 55%,transparent);
    border-radius:999px;
  }
}
@media (max-width:1040px){
  body[data-page="contact"] .contact-aside{
    position:static;
    max-height:none;
    overflow:visible;
  }
}
