/**
 * Design-system foundation.
 *
 * Global tokens, shell geometry, header/navigation primitives and homepage
 * foundations. Keep project-wide design tokens in this module.
 */

:root {
    --msdl-ink: #101820;
    --msdl-navy: #17232e;
    --msdl-steel: #50606d;
    --msdl-muted: #6d7882;
    --msdl-bg: #eef2f4;
    --msdl-surface: #f8fafb;
    --msdl-line: #d6dde2;
    --msdl-red: #e40046;
    --msdl-red-dark: #bd003a;
    --msdl-white: #ffffff;
    --msdl-radius-md: 16px;
    --msdl-radius-lg: 24px;
    --msdl-shadow-sm: 0 8px 24px rgba(15, 29, 40, .07);
    --msdl-shadow-md: 0 18px 52px rgba(15, 29, 40, .11);
    --msdl-shadow-lg: 0 30px 80px rgba(10, 23, 34, .16);
    --msdl-shell: 1280px;
}

html { scroll-padding-top: 94px; }

body.msdl-ui,
body.msdl-ui button,
body.msdl-ui input,
body.msdl-ui select,
body.msdl-ui textarea {
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

body.msdl-ui {
    color: var(--msdl-ink);
    background: var(--msdl-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.msdl-ui.page #page,
body.msdl-ui.page .site,
body.msdl-ui.page .site-content,
body.msdl-ui.page .content-area,
body.msdl-ui.page .site-main,
body.msdl-ui.page .inside-article,
body.msdl-ui.page .entry-content {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
}

body.msdl-ui.page .site-content { display: block; }
body.msdl-ui.page #primary { float: none; width: 100%; }

body.msdl-ui h1,
body.msdl-ui h2,
body.msdl-ui h3,
body.msdl-ui h4,
body.msdl-ui h5,
body.msdl-ui h6 {
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--msdl-ink);
    font-weight: 750;
    letter-spacing: -.035em;
    text-transform: none;
}

body.msdl-ui p,
body.msdl-ui li,
body.msdl-ui td,
body.msdl-ui th { color: #46535e; }
body.msdl-ui a { text-underline-offset: .18em; }

body.msdl-ui .msdl-shell {
    width: min(var(--msdl-shell), calc(100% - 56px));
    margin-inline: auto;
}

/* Header / navigation */
body.msdl-ui .site-header {
    position: sticky;
    top: 0;
    z-index: 500;
    border: 0;
    border-top: 4px solid var(--msdl-red);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: var(--msdl-navy);
    box-shadow: 0 8px 30px rgba(10,23,34,.13);
}
body.admin-bar.msdl-ui .site-header { top: 32px; }

body.msdl-ui .inside-header {
    display: grid;
    grid-template-columns: auto minmax(120px, auto) minmax(0, 1fr);
    grid-template-rows: 1fr;
    gap: 18px;
    align-items: center;
    width: min(var(--msdl-shell), calc(100% - 48px));
    min-height: 82px;
    margin-inline: auto;
    padding: 10px 0;
}
body.msdl-ui .site-logo { grid-column: 1; grid-row: 1; justify-self: start; align-self: center; }
body.msdl-ui .site-logo .header-image { display:block; width:76px; max-height:58px; object-fit:contain; }
body.msdl-ui .site-branding { grid-column:2; grid-row:1; align-self:center; }
body.msdl-ui .site-branding .main-title { margin:0; font-size:16px; line-height:1.05; font-weight:800; letter-spacing:.055em; white-space:nowrap; text-transform:uppercase; }
body.msdl-ui .site-branding .main-title a,
body.msdl-ui .site-branding .main-title a:hover,
body.msdl-ui .site-branding .main-title a:focus-visible { color:#fff; text-decoration:none; }
body.msdl-ui #site-navigation { grid-column:3; grid-row:1; justify-self:end; align-self:center; background:transparent; }
body.msdl-ui .main-navigation,
body.msdl-ui .main-navigation .inside-navigation { background:transparent; }
body.msdl-ui .main-navigation .main-nav > ul { display:flex; align-items:center; gap:4px; }
body.msdl-ui .main-navigation .main-nav ul li a {
    position:relative; display:flex; align-items:center; min-height:42px; padding:0 12px; border-radius:8px;
    color:rgba(255,255,255,.76); background:transparent; font-size:12px; line-height:1; font-weight:760; letter-spacing:.045em; text-transform:uppercase;
}
body.msdl-ui .main-navigation .main-nav ul li a::after {
    content:""; position:absolute; left:12px; right:12px; bottom:5px; height:2px; border-radius:2px; background:var(--msdl-red);
    transform:scaleX(0); transform-origin:left; transition:transform 180ms ease;
}
body.msdl-ui .main-navigation .main-nav ul li:hover > a,
body.msdl-ui .main-navigation .main-nav ul li.current-menu-item > a,
body.msdl-ui .main-navigation .main-nav ul li.current_page_item > a,
body.msdl-ui .main-navigation .main-nav ul li a:focus-visible { color:#fff; background:rgba(255,255,255,.055); }
body.msdl-ui .main-navigation .main-nav ul li:hover > a::after,
body.msdl-ui .main-navigation .main-nav ul li.current-menu-item > a::after,
body.msdl-ui .main-navigation .main-nav ul li.current_page_item > a::after,
body.msdl-ui .main-navigation .main-nav ul li a:focus-visible::after { transform:scaleX(1); }
body.msdl-ui .main-navigation .msdl-language-switch > a {
    min-width:46px; margin-left:8px; padding-inline:11px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#fff; justify-content:center;
}
body.msdl-ui .main-navigation .msdl-language-switch > a::before,
body.msdl-ui .main-navigation .msdl-language-switch > a::after { display:none; }
body.msdl-ui .main-navigation .msdl-language-switch > a:hover,
body.msdl-ui .main-navigation .msdl-language-switch > a:focus-visible { border-color:var(--msdl-red); background:var(--msdl-red); }

/* Funding strip */
body.msdl-ui .msdl-espa-banner {
    position:absolute; top:auto; z-index:20; display:flex; align-items:center; justify-content:center; min-height:72px; padding:9px 24px;
    border-bottom:1px solid var(--msdl-line); background:#f8fafb;
}
body.msdl-ui .msdl-espa-banner a { display:block; width:min(560px,100%); padding:4px 12px; border-radius:8px; background:#fff; }
body.msdl-ui .msdl-espa-banner img { width:100%; height:auto; max-height:54px; object-fit:contain; }

/* Homepage */
body.msdl-ui.msdl-route-home .msdl-source-home {
    padding:clamp(26px,4vw,54px) 0 clamp(76px,8vw,116px);
	padding-bottom: 0px !important;
    background:linear-gradient(180deg,#eef2f4 0,#f8fafb 430px,#eef2f4 100%);
}
body.msdl-ui.msdl-route-home .msdl-source-home > .msdl-shell { width:min(var(--msdl-shell),calc(100% - 56px)); }
body.msdl-ui .msdl-home-slider {
    --msdl-slide-height:590px; position:relative; width:100%; min-height:var(--msdl-slide-height); margin:0; overflow:hidden;
    border:1px solid rgba(255,255,255,.08); border-radius:var(--msdl-radius-lg); background:var(--msdl-navy); box-shadow:var(--msdl-shadow-lg);
}
body.msdl-ui .msdl-home-slider::before {
    content:"ANAXAGORAS LTD"; position:absolute; z-index:7; top:30px; left:38px; color:rgba(255,255,255,.48); font-size:11px; font-weight:800; letter-spacing:.18em;
}
body.msdl-ui .msdl-home-slide,
body.msdl-ui .msdl-home-slide.is-active {
    min-height:var(--msdl-slide-height); display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); align-items:center;
    gap:clamp(28px,4vw,58px); padding:70px 42px 92px; background:transparent;
}
body.msdl-ui .msdl-home-slide:not(.is-active) { position:absolute; inset:0; }
body.msdl-ui .msdl-home-slide-image {
    position:relative; inset:auto; z-index:1; grid-column:2; grid-row:1; display:block; width:100%; height:min(420px,64vh); max-height:420px;
    padding:clamp(16px,2.2vw,28px); border:1px solid rgba(255,255,255,.16); border-radius:18px; background:#f6f7f6;
    box-shadow:0 22px 55px rgba(0,0,0,.28); object-fit:contain; object-position:center; transform:none;
}
body.msdl-ui .msdl-home-slide-inner { position:relative; z-index:2; grid-column:1; grid-row:1; width:auto; margin:0; padding:0; }
body.msdl-ui .msdl-home-slide-content { max-width:520px; padding:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
body.msdl-ui .msdl-home-slide-title { margin:0 0 26px; color:#fff; font-size:clamp(36px,4.2vw,64px); line-height:.98; letter-spacing:-.05em; font-weight:790; }
body.msdl-ui .msdl-home-slide-link {
    display:inline-flex; align-items:center; min-height:46px; padding:11px 20px; border:1px solid var(--msdl-red); border-radius:8px;
    color:#fff; background:var(--msdl-red); font-size:14px; font-weight:760; text-decoration:none;
}
body.msdl-ui .msdl-home-slide-link::after { content:"→"; margin-left:12px; transition:transform 180ms ease; }
body.msdl-ui .msdl-home-slide-link:hover,
body.msdl-ui .msdl-home-slide-link:focus-visible { border-color:#fff; color:#fff; background:transparent; }
body.msdl-ui .msdl-home-slide-link:hover::after,
body.msdl-ui .msdl-home-slide-link:focus-visible::after { transform:translateX(3px); }
body.msdl-ui .msdl-slider-controls { position:absolute; z-index:8; right:auto; left:42px; bottom:30px; display:flex; align-items:center; gap:7px; }
body.msdl-ui .msdl-slider-prev,
body.msdl-ui .msdl-slider-next { width:38px; height:38px; border:1px solid rgba(255,255,255,.25); border-radius:8px; color:#fff; background:rgba(255,255,255,.06); }
body.msdl-ui .msdl-slider-prev:hover,
body.msdl-ui .msdl-slider-next:hover,
body.msdl-ui .msdl-slider-prev:focus-visible,
body.msdl-ui .msdl-slider-next:focus-visible { border-color:var(--msdl-red); color:#fff; background:var(--msdl-red); }
body.msdl-ui .msdl-slider-dots { gap:1px; }
body.msdl-ui .msdl-slider-dot { width:24px; height:38px; }
body.msdl-ui .msdl-slider-dot::after { width:5px; height:5px; background:#fff; opacity:.3; }
body.msdl-ui .msdl-slider-dot.is-active::after { width:18px; border-radius:4px; background:var(--msdl-red); opacity:1; }

body.msdl-ui .msdl-home-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0 clamp(74px,8vw,108px); }
body.msdl-ui .msdl-home-actions > .wp-block-column {
    position:relative; display:flex; align-items:center; min-height:92px; padding:22px 52px 22px 24px; overflow:hidden;
    border:1px solid var(--msdl-line); border-radius:var(--msdl-radius-md); background:#fff; box-shadow:var(--msdl-shadow-sm);
}
body.msdl-ui .msdl-home-actions > .wp-block-column::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--msdl-red); transform:none; }
body.msdl-ui .msdl-home-actions > .wp-block-column::after { content:"↗"; position:absolute; right:22px; top:50%; color:var(--msdl-red); font-size:21px; transform:translateY(-50%); }
body.msdl-ui .msdl-home-actions > .wp-block-column:hover,
body.msdl-ui .msdl-home-actions > .wp-block-column:focus-within { transform:translateY(-4px); border-color:#bcc7cf; background:#fff; box-shadow:var(--msdl-shadow-md); }
body.msdl-ui .msdl-home-actions h3 { margin:0; color:var(--msdl-ink); font-size:clamp(16px,1.4vw,19px); font-weight:760; letter-spacing:-.02em; }

body.msdl-ui .msdl-source-home > .msdl-shell > h1 { width:min(820px,100%); margin:0 0 12px; color:var(--msdl-ink); font-size:clamp(46px,6vw,78px); line-height:.98; letter-spacing:-.055em; }
body.msdl-ui .msdl-source-home > .msdl-shell > h1 + h2 { width:min(760px,100%); margin:0 0 22px; color:var(--msdl-red); font-size:clamp(20px,2.2vw,28px); line-height:1.22; font-weight:700; }
body.msdl-ui .msdl-source-home > .msdl-shell > h1 + h2 + p { width:min(820px,100%); margin:0 0 clamp(60px,7vw,90px); color:var(--msdl-steel); font-size:clamp(17px,1.45vw,20px); line-height:1.72; }
body.msdl-ui .msdl-source-home > .msdl-shell > h2:not(:first-of-type) { position:relative; width:min(900px,100%); margin:42px 0 14px; padding-top:28px; border-top:1px solid #cfd7dc; color:var(--msdl-ink); font-size:clamp(28px,3.2vw,42px); line-height:1.1; letter-spacing:-.04em; }
body.msdl-ui .msdl-source-home > .msdl-shell > h2:not(:first-of-type)::before { content:""; position:absolute; top:-1px; left:0; width:72px; height:3px; background:var(--msdl-red); }
body.msdl-ui .msdl-source-home > .msdl-shell > h2:not(:first-of-type) + p { width:min(960px,100%); margin:0 0 30px; color:var(--msdl-steel); font-size:17px; line-height:1.8; }
body.msdl-ui .msdl-source-home .msdl-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:58px 0 0; }
body.msdl-ui .msdl-source-home .msdl-service-card { min-width:0; min-height:360px; padding:30px; border:1px solid var(--msdl-line); border-radius:var(--msdl-radius-md); background:#fff; box-shadow:var(--msdl-shadow-sm); }
body.msdl-ui .msdl-source-home .msdl-service-card::after { height:3px; transform:scaleX(1); background:var(--msdl-red); }
body.msdl-ui .msdl-source-home .msdl-service-card h3 { margin:0 0 18px; font-size:clamp(21px,1.8vw,27px); line-height:1.18; }
body.msdl-ui .msdl-source-home .msdl-service-card p { color:#5e6973; font-size:15px; line-height:1.72; }
body.msdl-ui .msdl-source-home .msdl-service-card > p:last-child a { display:inline-flex; align-items:center; color:var(--msdl-red); font-weight:760; }

