:root{
    --bg:#ffffff;
    --bg-alt:#f3f6f8;
    --navy:#0c3550;
    --accent:#0f6d94;
    --accent-ink:#095579;
    --ink:#1b2228;
    --text:#4c5764;
    --text-soft:#6b7580;
    --border:#e1e7eb;
    --card-bg:#ffffff;
    --chip-bg:#eef3f6;
    color-scheme: light;
  }

@media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0a1620;
      --bg-alt:#0f2130;
      --navy:#0a2438;
      --accent:#57b8de;
      --accent-ink:#8fd2ec;
      --ink:#eef3f6;
      --text:#a9b6c0;
      --text-soft:#8695a1;
      --border:#1f3140;
      --card-bg:#0f2130;
      --chip-bg:#132738;
      color-scheme: dark;
    }
  }

:root[data-theme="dark"]{
    --bg:#0a1620;
    --bg-alt:#0f2130;
    --navy:#0a2438;
    --accent:#57b8de;
    --accent-ink:#8fd2ec;
    --ink:#eef3f6;
    --text:#a9b6c0;
    --text-soft:#8695a1;
    --border:#1f3140;
    --card-bg:#0f2130;
    --chip-bg:#132738;
    color-scheme: dark;
  }

body.mdd-page, body.mdd-page *{box-sizing:border-box;}

body.mdd-page{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;
    padding-inline:0;
  }

body.mdd-page h1, body.mdd-page h2, body.mdd-page h3{font-family:'Sora',-apple-system,sans-serif; text-wrap:balance; margin:0; color:var(--ink); text-shadow:none; -webkit-text-stroke:0; filter:none;}
body.mdd-page .mdd-cta-band h2{color:#fff; text-shadow:none;}
body.mdd-page .mdd-cta-band-soft h2{text-shadow:none;}

body.mdd-page p{margin:0; line-height:1.65;}

body.mdd-page a{color:inherit;}

.mdd-mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}

.mdd-wrap{max-width:1180px; margin-inline:auto; padding-inline:24px;}

@media (min-width:640px){ .mdd-wrap{padding-inline:32px;} }

/* ---------- header ---------- */
body.mdd-page header{
    position:sticky; top:env(safe-area-inset-top,0px); z-index:50;
    background:var(--bg);
    background:color-mix(in srgb, var(--bg) 86%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }

.mdd-header-row{display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:14px;}

.mdd-logo{display:flex; align-items:center; gap:10px; text-decoration:none;}

.mdd-logo svg{flex:none;}

.mdd-logo-text{display:flex; flex-direction:column; line-height:1.05;}

.mdd-logo-text b{font-family:'Sora'; font-weight:800; font-size:18px; letter-spacing:.01em; color:var(--ink);}

.mdd-logo-text span{font-family:'IBM Plex Mono'; font-size:9.5px; letter-spacing:.18em; color:var(--text-soft);}

body.mdd-page nav{display:flex; align-items:center; gap:32px;}

body.mdd-page nav a{font-size:14.5px; font-weight:500; text-decoration:none; color:var(--text); transition:color .15s;}

body.mdd-page nav a:hover{color:var(--accent);}

.mdd-nav-links{display:flex; gap:28px;}

.mdd-btn{
    display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
    font-family:'Inter'; font-weight:600; font-size:14px;
    padding:11px 20px; border-radius:100px; text-decoration:none; cursor:pointer;
    border:1.5px solid var(--accent); transition:transform .15s, background .15s, color .15s;
  }

.mdd-btn-primary{background:var(--accent); color:#fff; border-color:var(--accent);}

.mdd-btn-primary:hover{background:var(--accent-ink); border-color:var(--accent-ink);}

.mdd-btn-ghost{background:transparent; color:var(--accent);}

.mdd-btn-ghost:hover{background:var(--chip-bg);}

.mdd-btn-on-dark{border-color:rgba(255,255,255,.55); color:#fff;}

.mdd-btn-on-dark:hover{background:rgba(255,255,255,.12);}

.mdd-menu-toggle{display:none; background:none; border:0; cursor:pointer; padding:6px;}

.mdd-menu-toggle svg{display:block;}

@media (max-width:860px){
    .mdd-nav-links{display:none;}
    body.mdd-page header .mdd-btn-primary{display:none;}
    .mdd-menu-toggle{display:block;}
  }

#mdd-mobile-nav{
    display:none; flex-direction:column; gap:2px; padding:10px 24px 20px;
    border-top:1px solid var(--border);
  }

#mdd-mobile-nav.open{display:flex;}

#mdd-mobile-nav a{padding:10px 0; font-size:15px; font-weight:500; text-decoration:none; color:var(--text); border-bottom:1px solid var(--border);}

#mdd-mobile-nav .mdd-btn{margin-top:12px; justify-content:center;}

/* ---------- section rhythm ---------- */
body.mdd-page section{padding-block:88px;}

@media (max-width:640px){ body.mdd-page section{padding-block:64px;} }

.mdd-eyebrow{
    font-family:'IBM Plex Mono'; font-size:12px; font-weight:500; letter-spacing:.16em;
    color:var(--accent); text-transform:uppercase; margin-bottom:14px; display:block;
  }

.mdd-section-head{max-width:640px; margin-bottom:52px;}

.mdd-section-head h2{font-size:clamp(26px,3.4vw,36px); font-weight:700; letter-spacing:-.01em;}

.mdd-section-head p{margin-top:14px; color:var(--text); font-size:16.5px;}

/* ---------- hero ---------- */
  .mdd-hero{padding-top:64px; padding-bottom:0; overflow:hidden;}

.mdd-hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}

@media (max-width:900px){ .mdd-hero-grid{grid-template-columns:1fr; gap:40px;} }

.mdd-hero h1{font-size:clamp(34px,5vw,54px); font-weight:800; letter-spacing:-.02em; line-height:1.06; margin-top:16px;}

.mdd-hero .mdd-lede{margin-top:22px; font-size:18px; color:var(--text); max-width:52ch;}

.mdd-hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:34px;}

.mdd-hero-art{width:100%; height:auto;}

.mdd-hero-bottom-rule{border-top:1px solid var(--border); margin-top:64px;}

.mdd-roles-row{
    display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:center;
    padding-block:26px; font-family:'IBM Plex Mono'; font-size:12.5px; letter-spacing:.06em;
    color:var(--text-soft); text-transform:uppercase;
  }

.mdd-roles-row span{white-space:nowrap;}

.mdd-roles-row .mdd-dot{color:var(--border);}

/* ---------- services ---------- */
  .mdd-services{background:var(--bg-alt);}

.mdd-card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}

@media (max-width:980px){ .mdd-card-grid{grid-template-columns:1fr; max-width:560px; margin-inline:auto;} }

.mdd-card{
    background:var(--card-bg); border:1px solid var(--border); border-radius:14px;
    padding:32px 28px; display:flex; flex-direction:column; gap:16px;
  }

.mdd-card-label{
    width:34px; height:34px; border-radius:9px; background:var(--chip-bg); color:var(--accent);
    display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-weight:500; font-size:14px;
  }

.mdd-card h3{font-size:19px; font-weight:700; line-height:1.3; letter-spacing:-.005em;}

.mdd-card p{color:var(--text); font-size:14.5px;}

.mdd-tag-row{display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:6px;}

.mdd-tag{font-size:11.5px; font-family:'IBM Plex Mono'; padding:5px 10px; background:var(--chip-bg); color:var(--text-soft); border-radius:100px;}

.mdd-card-link{
    display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--accent);
    text-decoration:none; margin-top:6px;
  }

.mdd-card-link svg{transition:transform .15s;}

.mdd-card-link:hover svg{transform:translateX(3px);}

/* ---------- profile ---------- */
  .mdd-profile-grid{display:grid; grid-template-columns:220px 1fr; gap:44px; align-items:start;}

@media (max-width:700px){ .mdd-profile-grid{grid-template-columns:1fr; justify-items:center; text-align:center;} }

.mdd-avatar{
    width:220px; height:220px; border-radius:16px; background:var(--navy);
    display:flex; align-items:center; justify-content:center; flex:none;
    position:relative; overflow:hidden;
  }

.mdd-avatar span{font-family:'Sora'; font-weight:700; font-size:56px; color:#fff; opacity:.92;}

.mdd-avatar::after{
    content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.14), transparent 55%);
  }

.mdd-profile-text h3{font-size:22px; font-weight:700;}

.mdd-profile-text .mdd-role{color:var(--accent); font-size:14px; font-weight:600; margin-top:4px; display:block;}

.mdd-profile-text p{margin-top:16px; color:var(--text); font-size:16px; max-width:60ch;}

/* ---------- competencies ---------- */
  .mdd-comp-list{display:flex; flex-wrap:wrap; gap:10px;}

.mdd-comp-list span{
    font-size:14px; padding:9px 16px; border-radius:100px; border:1px solid var(--border);
    color:var(--text); background:var(--card-bg);
  }

/* ---------- references ---------- */
  .mdd-quote-card{
    background:var(--navy); color:#fff; border-radius:18px; padding:44px clamp(24px,5vw,56px);
    display:flex; flex-direction:column; gap:22px;
  }

.mdd-quote-card svg{opacity:.5;}

.mdd-quote-card p.mdd-quote{font-family:'Sora'; font-weight:500; font-size:clamp(18px,2.4vw,23px); line-height:1.5; letter-spacing:-.005em;}

.mdd-quote-attr{display:flex; flex-direction:column; gap:2px;}

.mdd-quote-attr b{font-size:15px;}

.mdd-quote-attr span{font-size:13.5px; color:#a9c3d3;}

.mdd-ref-note{margin-top:20px; font-size:14px; color:var(--text-soft);}

.mdd-mandate-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:32px;}

@media (max-width:760px){ .mdd-mandate-grid{grid-template-columns:1fr;} }

.mdd-mandate-card{border:1px solid var(--border); border-radius:12px; padding:22px; background:var(--card-bg);}

.mdd-mandate-card b{font-size:15.5px; display:block; margin-bottom:6px;}

.mdd-mandate-card span{font-size:13px; color:var(--text-soft); line-height:1.5;}

/* ---------- availability ---------- */
  

  /* ---------- closing cta ---------- */
  .mdd-cta-band{background:var(--navy); color:#fff; text-align:center;}

.mdd-cta-band h2{color:#fff; font-size:clamp(26px,4vw,38px);}

.mdd-cta-band p{color:#c3d6e0; margin-top:16px; max-width:52ch; margin-inline:auto; font-size:16.5px;}

.mdd-cta-band .mdd-hero-ctas{justify-content:center; margin-top:32px;}

/* ---------- footer ---------- */
body.mdd-page footer{padding-block:56px; border-top:1px solid var(--border);}

.mdd-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px;}

@media (max-width:700px){ .mdd-footer-grid{grid-template-columns:1fr; gap:32px;} }

.mdd-footer-h{font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-soft); margin-bottom:14px; display:block;}

.mdd-copy-row{display:flex; align-items:center; gap:8px; margin-bottom:10px;}

.mdd-copy-row button{
    background:none; border:1px solid var(--border); border-radius:7px; cursor:pointer;
    padding:5px 6px; color:var(--text-soft); display:flex;
  }

.mdd-copy-row button:hover{color:var(--accent); border-color:var(--accent);}

.mdd-foot-links{display:flex; flex-direction:column; gap:9px;}

.mdd-foot-links a{text-decoration:none; color:var(--text); font-size:14.5px;}

.mdd-foot-links a:hover{color:var(--accent);}

.mdd-foot-bottom{
    margin-top:44px; padding-top:24px; border-top:1px solid var(--border);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
    font-size:13px; color:var(--text-soft);
  }

.mdd-foot-bottom nav{display:flex; gap:20px;}

.mdd-foot-bottom a{text-decoration:none; color:var(--text-soft);}

.mdd-foot-bottom a:hover{color:var(--accent);}

.mdd-social{display:flex; gap:10px; margin-top:16px;}

.mdd-social a{
    width:34px; height:34px; border-radius:9px; border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; text-decoration:none; color:var(--text-soft);
  }

.mdd-social a:hover{color:var(--accent); border-color:var(--accent);}

[data-reveal]{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}

[data-reveal].in{opacity:1; transform:none;}

@media (prefers-reduced-motion: reduce){
    [data-reveal]{opacity:1; transform:none; transition:none;}
    .mdd-card-link svg, .mdd-btn{transition:none;}
  }

.mdd-toast{
    position:fixed; bottom:22px; left:50%; transform:translateX(-50%) translateY(12px);
    background:var(--ink); color:var(--bg); font-size:13.5px; font-weight:500;
    padding:10px 18px; border-radius:100px; opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:100;
  }

.mdd-toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

body.mdd-page{margin:0;}

body.mdd-page header{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:var(--bg); background:color-mix(in srgb, var(--bg) 86%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}

body.mdd-page nav a:hover, body.mdd-page nav a.mdd-current{color:var(--accent);}

body.mdd-page section{padding-block:80px;}

@media (max-width:640px){ body.mdd-page section{padding-block:56px;} }

.mdd-back-link{display:inline-flex; align-items:center; gap:6px; font-size:13.5px; color:var(--text-soft); text-decoration:none; margin-bottom:22px;}

.mdd-back-link:hover{color:var(--accent);}

.mdd-page-hero{padding-top:56px; padding-bottom:56px;}

.mdd-page-hero h1{font-size:clamp(30px,4.4vw,44px); font-weight:800; letter-spacing:-.015em; line-height:1.1;}

.mdd-page-hero .mdd-lede{margin-top:20px; font-size:18px; color:var(--text); max-width:62ch;}

.mdd-target-row{display:flex; flex-wrap:wrap; gap:10px 26px; padding-top:26px; padding-bottom:26px; border-top:1px solid var(--border); font-family:'IBM Plex Mono'; font-size:12.5px; letter-spacing:.05em; color:var(--text-soft); text-transform:uppercase;}

.mdd-callout{display:flex; gap:18px; background:var(--chip-bg); border-left:3px solid var(--accent); border-radius:10px; padding:24px 26px;}

.mdd-callout p{color:var(--text); font-size:15.5px;}

.mdd-callout strong{color:var(--ink);}

.mdd-services{background:var(--bg-alt);}

.mdd-check-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:16px 32px;}

@media (max-width:700px){ .mdd-check-list{grid-template-columns:1fr;} }

.mdd-check-list li{display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--text);}

.mdd-check-list svg{flex:none; margin-top:3px; color:var(--accent);}

.mdd-avail{border:1px solid var(--border); border-radius:18px; padding:clamp(28px,4vw,44px); background:var(--card-bg); margin-top:56px;}

.mdd-avail-grid{display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap;}

.mdd-avail h3{font-size:20px; font-weight:700; max-width:34ch;}

.mdd-avail p{color:var(--text); margin-top:8px; max-width:50ch; font-size:15px;}

.mdd-cta-band{background:var(--navy); color:#fff; text-align:center;}

.mdd-cta-band .mdd-ctas{justify-content:center; margin-top:28px; display:flex; gap:14px; flex-wrap:wrap;}

body.mdd-page footer{padding-block:48px; border-top:1px solid var(--border);}

.mdd-q-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 32px;}

@media (max-width:700px){ .mdd-q-list{grid-template-columns:1fr;} }

.mdd-q-list li{font-size:15.5px; color:var(--text); padding-left:22px; position:relative;}

.mdd-q-list li::before{content:"?"; position:absolute; left:0; top:0; font-family:'IBM Plex Mono'; color:var(--accent); font-weight:500;}

/* process steps */
  .mdd-steps{display:flex; align-items:flex-start; gap:0; margin-top:8px; overflow-x:auto; padding-bottom:8px;}

.mdd-step{display:flex; align-items:center; flex:none;}

.mdd-step-node{display:flex; flex-direction:column; align-items:center; width:118px; text-align:center;}

.mdd-step-badge{width:40px; height:40px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-size:13px;}

.mdd-step-node span.mdd-label{margin-top:10px; font-size:13.5px; font-weight:600; color:var(--ink);}

.mdd-step-arrow{width:32px; height:1px; background:var(--border); margin-top:20px; position:relative; flex:none;}

.mdd-step-arrow::after{content:""; position:absolute; right:0; top:-3px; width:6px; height:6px; border-top:1.4px solid var(--border); border-right:1.4px solid var(--border); transform:rotate(45deg);}

@media (max-width:760px){ .mdd-steps{flex-wrap:wrap;} .mdd-step-arrow{display:none;} .mdd-step-node{width:auto; flex-direction:row; gap:10px; text-align:left; align-items:center;} .mdd-step{width:100%;} }

.mdd-model-note{margin-top:22px; font-size:14px; color:var(--text-soft); max-width:70ch;}

/* category legend */
  .mdd-cat-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:8px;}

@media (max-width:900px){ .mdd-cat-grid{grid-template-columns:1fr 1fr;} }

@media (max-width:480px){ .mdd-cat-grid{grid-template-columns:1fr;} }

.mdd-cat-card{border:1px solid var(--border); border-radius:12px; padding:16px; background:var(--card-bg);}

.mdd-cat-card b{font-size:13.5px; display:block; margin-bottom:6px;}

.mdd-cat-card span{font-size:12.5px; color:var(--text-soft); line-height:1.5;}

.mdd-cat-card.mdd-c1{border-top:3px solid #8a97a3;}

.mdd-cat-card.mdd-c2{border-top:3px solid var(--text-soft);}

.mdd-cat-card.mdd-c3{border-top:3px solid var(--accent);}

.mdd-cat-card.mdd-c4{border-top:3px solid var(--navy);}

.mdd-cat-card.mdd-c5{border-top:3px solid #8a97a3;}

.mdd-offer-card{background:var(--navy); color:#fff; border-radius:18px; padding:clamp(28px,4vw,44px); margin-top:56px; display:flex; flex-wrap:wrap; gap:28px; justify-content:space-between; align-items:center;}

.mdd-offer-card h3{color:#fff; font-size:21px; font-weight:700; max-width:36ch;}

.mdd-offer-card p{color:#c3d6e0; margin-top:10px; max-width:50ch; font-size:15px;}

.mdd-cta-band-soft{background:var(--bg-alt); text-align:center; border-top:1px solid var(--border);}

.mdd-cta-band-soft h2{font-size:clamp(24px,3.6vw,34px);}

.mdd-cta-band-soft p{color:var(--text); margin-top:14px; max-width:52ch; margin-inline:auto; font-size:16px;}

.mdd-cta-band-soft .mdd-ctas{justify-content:center; margin-top:28px; display:flex; gap:14px; flex-wrap:wrap;}

.mdd-tag-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:30px;}

.mdd-tag-list span{font-size:14px; padding:9px 16px; border-radius:100px; border:1px solid var(--border); color:var(--text); background:var(--card-bg);}

.mdd-partner-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}

@media (max-width:760px){ .mdd-partner-grid{grid-template-columns:1fr;} }

.mdd-partner-card{background:var(--card-bg); border:1px solid var(--border); border-radius:14px; padding:28px; display:flex; flex-direction:column; gap:14px;}

.mdd-partner-card h3{font-size:18px; font-weight:700;}

.mdd-partner-card .mdd-role{font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent);}

.mdd-partner-card p{color:var(--text); font-size:14.5px;}

.mdd-partner-card .mdd-tag-row{display:flex; flex-wrap:wrap; gap:7px; margin-top:4px;}

.mdd-partner-card .mdd-tag-row span{font-size:11.5px; font-family:'IBM Plex Mono'; padding:5px 10px; background:var(--chip-bg); color:var(--text-soft); border-radius:100px;}

.mdd-proj-list{border-top:1px solid var(--border); margin-top:8px;}

.mdd-proj-row{border-bottom:1px solid var(--border); padding-block:18px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:baseline;}

.mdd-proj-row b{font-size:15.5px; font-weight:700;}

.mdd-proj-row .mdd-desc{color:var(--text); font-size:14px; max-width:58ch;}

.mdd-proj-row .mdd-period{font-family:'IBM Plex Mono'; font-size:12px; color:var(--text-soft); white-space:nowrap;}

.mdd-award-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:8px;}

@media (max-width:900px){ .mdd-award-grid{grid-template-columns:1fr 1fr;} }

@media (max-width:480px){ .mdd-award-grid{grid-template-columns:1fr;} }

.mdd-award-card{border:1px solid var(--border); border-radius:12px; padding:16px; background:var(--card-bg);}

.mdd-award-card b{font-size:13.5px; display:block; margin-bottom:4px; line-height:1.4;}

.mdd-award-card span{font-size:12px; color:var(--text-soft); font-family:'IBM Plex Mono';}

.mdd-quote-card{background:var(--navy); color:#fff; border-radius:18px; padding:40px clamp(24px,5vw,52px); display:flex; flex-direction:column; gap:20px; margin-top:56px;}

.mdd-page-hero .mdd-note{margin-top:14px; font-size:13.5px; color:var(--text-soft); max-width:66ch;}

.mdd-timeline{border-top:1px solid var(--border);}

.mdd-tl-row{border-bottom:1px solid var(--border); padding-block:32px; display:grid; grid-template-columns:150px 1fr; gap:28px;}

@media (max-width:700px){ .mdd-tl-row{grid-template-columns:1fr; gap:8px;} }

.mdd-tl-period{font-family:'IBM Plex Mono'; font-size:12.5px; color:var(--text-soft); white-space:nowrap; padding-top:4px;}

.mdd-tl-body h3{font-size:18px; font-weight:700;}

.mdd-tl-meta{display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; align-items:center;}

.mdd-tl-client{font-size:13px; color:var(--accent); font-weight:600;}

.mdd-tl-role{font-size:12.5px; color:var(--text-soft);}

.mdd-tl-desc{margin-top:12px; color:var(--text); font-size:15px; max-width:70ch;}

.mdd-tl-tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:14px;}

.mdd-tl-tags span{font-size:11px; font-family:'IBM Plex Mono'; padding:4px 10px; background:var(--chip-bg); color:var(--text-soft); border-radius:100px;}

.mdd-tl-link{display:inline-block; margin-top:12px; font-size:13px; font-weight:600; color:var(--accent); text-decoration:none;}

.mdd-tl-link:hover{text-decoration:underline;}

/* --- manual overrides: canonical body rule (union of per-page variants above) --- */
body.mdd-page{margin:0;}
body.mdd-page{
  background:var(--bg); color:var(--ink); font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}

/* --- manual overrides: homepage-only sizing/contrast tweaks --- */
body.home section{padding-block:88px;}
@media (max-width:640px){ body.home section{padding-block:64px;} }
body.home .mdd-section-head h2{font-size:clamp(26px,3.4vw,36px);}
body.home .mdd-avail{border:1px solid var(--border); border-radius:18px; padding:clamp(28px,4vw,48px); background:var(--bg-alt); margin-top:0;}
body.home .mdd-avail-grid{display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap;}
body.home .mdd-avail h3{font-size:22px; font-weight:700; max-width:36ch;}
body.home .mdd-avail p{color:var(--text); margin-top:10px; max-width:52ch; font-size:15.5px;}

/* --- manual overrides: wp_nav_menu() outputs <ul><li>, the original design used
   flat <a> tags — this resets the list box model so it still lays out identically. --- */
.mdd-nav-links{list-style:none; margin:0; padding:0;}
.mdd-nav-links li{display:contents;}
#mdd-mobile-nav ul{list-style:none; margin:0; padding:0; display:contents;}
#mdd-mobile-nav ul li{display:contents;}

/* --- manual overrides: dropdown submenu ("Leistungen" > 3 Leistungsbereiche)
   for wp_nav_menu() items nested via Design > Menüs. Desktop = hover dropdown;
   mobile = flat, slightly indented (no accordion JS needed). --- */
.mdd-nav-links li.menu-item-has-children{
  display:flex; align-items:center; position:relative;
}
.mdd-nav-links li.menu-item-has-children > a{display:flex; align-items:center; gap:5px;}
.mdd-nav-links li.menu-item-has-children > a::after{
  content:""; width:7px; height:7px; margin-top:-2px;
  border-right:1.4px solid currentColor; border-bottom:1.4px solid currentColor;
  transform:rotate(45deg); opacity:.6;
}
.mdd-nav-links .sub-menu{
  display:none; position:absolute; top:100%; left:0; margin-top:16px; z-index:60;
  min-width:270px; list-style:none; padding:8px; margin-inline-start:0;
  background:var(--card-bg); border:1px solid var(--border); border-radius:12px;
  box-shadow:0 16px 40px rgba(10,20,30,.14);
}
.mdd-nav-links li.menu-item-has-children:hover > .sub-menu,
.mdd-nav-links li.menu-item-has-children:focus-within > .sub-menu{display:block;}
.mdd-nav-links .sub-menu li{display:block;}
.mdd-nav-links .sub-menu a{
  display:block; padding:10px 14px; border-radius:8px; font-size:14px;
  font-weight:500; color:var(--text); white-space:nowrap; text-decoration:none;
}
.mdd-nav-links .sub-menu a:hover, .mdd-nav-links .sub-menu a:focus{
  background:var(--chip-bg); color:var(--accent);
}
#mdd-mobile-nav .sub-menu a{
  padding-left:34px; font-size:14px; color:var(--text-soft);
}
