:root {
  --radius: 8px;
  --shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --animation-duration: 700ms;
  --animation-easing: cubic-bezier(0.16, 1, 0.3, 1);
  --spacing-section: clamp(3rem, 8vw, 8rem);
  --spacing-element: clamp(1rem, 2vw, 1.5rem);
  --spacing-container: clamp(1rem, 4vw, 2rem);
  --container-max-width: 1400px;
  --letter-spacing: 0.04em;
  --line-height: 1.6;
  --color-primary: #0369A1;
  --color-primary-foreground: #FFFFFF;
  --color-secondary: #0E7490;
  --color-secondary-foreground: #FFFFFF;
  --color-accent: #06B6D4;
  --color-accent-foreground: #042F2E;
  --color-background: #F0F4F8;
  --color-foreground: #0F172A;
  --color-muted: #E2E8F0;
  --color-muted-foreground: #475569;
  --color-border: #CBD5E1;
  --color-ring: #0284C7;
  --color-destructive: #DC2626;
  --color-destructive-foreground: #FFFFFF;
  --color-success: #059669;
  --color-success-foreground: #FFFFFF;
  --color-warning: #D97706;
  --color-warning-foreground: #FFFFFF;
  --font-size-xs: 0.7200rem;
  --font-size-sm: 0.9000rem;
  --font-size-base: 1.1250rem;
  --font-size-lg: clamp(1.2656rem, 0.25vw + 1.1250rem, 1.4063rem);
  --font-size-xl: clamp(1.4063rem, 0.5vw + 1.1250rem, 1.7578rem);
  --font-size-2xl: clamp(1.6875rem, 1vw + 1.1250rem, 2.1973rem);
  --font-size-3xl: clamp(1.9688rem, 1.5vw + 1.1250rem, 2.7466rem);
  --font-size-4xl: clamp(2.2500rem, 2vw + 1.1250rem, 3.4332rem);
  --font-size-5xl: clamp(2.5313rem, 2.5vw + 1.1250rem, 4.2915rem);
  --font-heading: Space Grotesk;
  --font-body: Inter;
  --font-mono: JetBrains Mono;
}
/* Generated by UnoCSS — do not edit */
/* Theme base styles — loaded by UnoCSS build pipeline */

:root {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height, 1.6);
  letter-spacing: var(--letter-spacing, normal);
  color: var(--color-foreground);
  background-color: #0F172A;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  overflow-wrap: break-word;
  word-break: break-word;
}

code, pre, kbd, samp {
  font-family: var(--font-mono);
}

/* Accessibility */
body {
  line-height: 1.6;
  overflow-x: hidden;
}

/* Prevent horizontal overflow from long German compound words */
html {
  overflow-x: hidden;
}
p, li, span, a, td, th, label, summary, div {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

*:focus-visible {
  outline: 2px solid var(--color-ring);
  outline-offset: 2px;
}

.skip-to-content {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-to-content:focus {
  position: fixed;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  padding: 1rem 2rem;
  background: var(--color-primary);
  color: var(--color-primary-foreground);
  z-index: 9999;
}

/* Hover & interaction effects are in layout.css */

/* --- Cards --- */
.mg-service-card, .mg-stat-card {
  transition: all 0.25s ease;
}

/* --- Links in content areas --- */
main a:hover {
  opacity: 0.85;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Reveal animations */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 {
  transition-delay: 0.1s;
}
.reveal-delay-2 {
  transition-delay: 0.2s;
}
.reveal-delay-3 {
  transition-delay: 0.3s;
}
.reveal-delay-4 {
  transition-delay: 0.4s;
}
.reveal-delay-5 {
  transition-delay: 0.5s;
}


/* layer: properties */
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-ease:initial;--un-leading:initial;--un-space-y-reverse:initial;--un-bg-opacity:100%;--un-text-opacity:100%;}}
@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
@property --un-leading{syntax:"*";inherits:false;}
@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid;}
@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
@property --un-inset-ring-color{syntax:"*";inherits:false;}
@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}
@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}
@property --un-inset-shadow-color{syntax:"*";inherits:false;}
@property --un-ring-color{syntax:"*";inherits:false;}
@property --un-ring-inset{syntax:"*";inherits:false;}
@property --un-ring-offset-color{syntax:"*";inherits:false;}
@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}
@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0px;}
@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}
@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000;}
@property --un-shadow-color{syntax:"*";inherits:false;}
@property --un-ease{syntax:"*";inherits:false;}
@property --un-blur{syntax:"*";inherits:false;}
@property --un-brightness{syntax:"*";inherits:false;}
@property --un-contrast{syntax:"*";inherits:false;}
@property --un-drop-shadow{syntax:"*";inherits:false;}
@property --un-grayscale{syntax:"*";inherits:false;}
@property --un-hue-rotate{syntax:"*";inherits:false;}
@property --un-invert{syntax:"*";inherits:false;}
@property --un-saturate{syntax:"*";inherits:false;}
@property --un-sepia{syntax:"*";inherits:false;}
@property --un-space-y-reverse{syntax:"*";inherits:false;initial-value:0;}
/* layer: theme */
:root, :host { --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --ease-DEFAULT: cubic-bezier(0.4, 0, 0.2, 1); --fontWeight-bold: 700; --tracking-tight: -0.025em; --spacing: 0.25rem; --leading-relaxed: 1.625; --fontWeight-semibold: 600; --tracking-wide: 0.025em; --fontWeight-medium: 500; --container-3xl: 48rem; --container-xl: 36rem; --default-transition-timingFunction: cubic-bezier(0.4, 0, 0.2, 1); --default-transition-duration: 150ms; --container-lg: 32rem; --container-2xl: 42rem; --leading-none: 1; --text-4xl-fontSize: 2.25rem; --text-4xl-lineHeight: 2.5rem; --text-lg-fontSize: 1.125rem; --text-lg-lineHeight: 1.75rem; --text-sm-fontSize: 0.875rem; --text-sm-lineHeight: 1.25rem; --text-xs-fontSize: 0.75rem; --text-xs-lineHeight: 1rem; --text-5xl-fontSize: 3rem; --text-5xl-lineHeight: 1; --text-3xl-fontSize: 1.875rem; --text-3xl-lineHeight: 2.25rem; --text-2xl-fontSize: 1.5rem; --text-2xl-lineHeight: 2rem; --text-base-fontSize: 1rem; --text-base-lineHeight: 1.5rem; --text-xl-fontSize: 1.25rem; --text-xl-lineHeight: 1.75rem; --font-sans: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --default-font-family: var(--font-sans); --default-monoFont-family: var(--font-mono); }
/* layer: base */
 *, ::after, ::before, ::backdrop, ::file-selector-button { box-sizing: border-box;  margin: 0;  padding: 0;  border: 0 solid;  }  html, :host { line-height: 1.5;  -webkit-text-size-adjust: 100%;  tab-size: 4;  font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji' );  font-feature-settings: var(--default-font-featureSettings, normal);  font-variation-settings: var(--default-font-variationSettings, normal);  -webkit-tap-highlight-color: transparent;  }  hr { height: 0;  color: inherit;  border-top-width: 1px;  }  abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }  a { color: inherit; -webkit-text-decoration: inherit; text-decoration: inherit; }  b, strong { font-weight: bolder; }  code, kbd, samp, pre { font-family: var( --default-monoFont-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace );  font-feature-settings: var(--default-monoFont-featureSettings, normal);  font-variation-settings: var(--default-monoFont-variationSettings, normal);  font-size: 1em;  }  small { font-size: 80%; }  sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; }  table { text-indent: 0;  border-color: inherit;  border-collapse: collapse;  }  :-moz-focusring { outline: auto; }  progress { vertical-align: baseline; }  summary { display: list-item; }  ol, ul, menu { list-style: none; }  img, svg, video, canvas, audio, iframe, embed, object { display: block;  vertical-align: middle;  }  img, video { max-width: 100%; height: auto; }  button, input, select, optgroup, textarea, ::file-selector-button { font: inherit;  font-feature-settings: inherit;  font-variation-settings: inherit;  letter-spacing: inherit;  color: inherit;  border-radius: 0;  background-color: transparent;  opacity: 1;  }  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }  ::file-selector-button { margin-inline-end: 4px; }  ::placeholder { opacity: 1; }  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px)  { ::placeholder { color: color-mix(in oklab, currentcolor 50%, transparent); } }  textarea { resize: vertical; }  ::-webkit-search-decoration { -webkit-appearance: none; }  ::-webkit-date-and-time-value { min-height: 1lh;  text-align: inherit;  }  ::-webkit-datetime-edit { display: inline-flex; }  ::-webkit-datetime-edit-fields-wrapper { padding: 0; } ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field { padding-block: 0; }  ::-webkit-calendar-picker-indicator { line-height: 1; }  :-moz-ui-invalid { box-shadow: none; }  button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button { appearance: button; }  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }  [hidden]:where(:not([hidden~='until-found'])) { display: none !important; }
/* layer: shortcuts */
.container-theme{margin-inline:auto;padding-inline:var(--spacing-container);max-width:var(--container-max-width);width:100%;overflow:visible;}
.section-spacing{padding-block:var(--spacing-section);overflow:visible;}
.radius-theme{border-radius:var(--radius);}
.container{width:100%;}
@media (min-width: 40rem){
.container{max-width:40rem;}
}
@media (min-width: 48rem){
.container{max-width:48rem;}
}
@media (min-width: 64rem){
.container{max-width:64rem;}
}
@media (min-width: 80rem){
.container{max-width:80rem;}
}
@media (min-width: 96rem){
.container{max-width:96rem;}
}
/* layer: default */
.text-2xl{font-size:var(--text-2xl-fontSize);line-height:var(--un-leading, var(--text-2xl-lineHeight));}
.text-3xl{font-size:var(--text-3xl-fontSize);line-height:var(--un-leading, var(--text-3xl-lineHeight));}
.text-4xl{font-size:var(--text-4xl-fontSize);line-height:var(--un-leading, var(--text-4xl-lineHeight));}
.text-5xl{font-size:var(--text-5xl-fontSize);line-height:var(--un-leading, var(--text-5xl-lineHeight));}
.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading, var(--text-base-lineHeight));}
.text-lg{font-size:var(--text-lg-fontSize);line-height:var(--un-leading, var(--text-lg-lineHeight));}
.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading, var(--text-sm-lineHeight));}
.text-xl{font-size:var(--text-xl-fontSize);line-height:var(--un-leading, var(--text-xl-lineHeight));}
.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading, var(--text-xs-lineHeight));}
.text-foreground{color:color-mix(in srgb, var(--color-foreground) var(--un-text-opacity), transparent);}
.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);}
.tracking-tight{--un-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);}
.tracking-wide{--un-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);}
.font-bold{--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold);}
.font-medium{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);}
.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold);}
.mx-auto{margin-inline:auto;}
.mb-1{margin-bottom:calc(var(--spacing) * 1);}
.mb-12{margin-bottom:calc(var(--spacing) * 12);}
.mb-16{margin-bottom:calc(var(--spacing) * 16);}
.mb-2{margin-bottom:calc(var(--spacing) * 2);}
.mb-3{margin-bottom:calc(var(--spacing) * 3);}
.mb-4{margin-bottom:calc(var(--spacing) * 4);}
.mb-6{margin-bottom:calc(var(--spacing) * 6);}
.mb-8{margin-bottom:calc(var(--spacing) * 8);}
.ml-4{margin-left:calc(var(--spacing) * 4);}
.mt-1{margin-top:calc(var(--spacing) * 1);}
.mt-2{margin-top:calc(var(--spacing) * 2);}
.mt-4{margin-top:calc(var(--spacing) * 4);}
.p-5{padding:calc(var(--spacing) * 5);}
.p-6{padding:calc(var(--spacing) * 6);}
.p-8{padding:calc(var(--spacing) * 8);}
.px,
.px-4{padding-inline:calc(var(--spacing) * 4);}
.px-2{padding-inline:calc(var(--spacing) * 2);}
.px-3{padding-inline:calc(var(--spacing) * 3);}
.px-5{padding-inline:calc(var(--spacing) * 5);}
.px-6{padding-inline:calc(var(--spacing) * 6);}
.px-7{padding-inline:calc(var(--spacing) * 7);}
.px-8{padding-inline:calc(var(--spacing) * 8);}
.py-1{padding-block:calc(var(--spacing) * 1);}
.py-2{padding-block:calc(var(--spacing) * 2);}
.py-3{padding-block:calc(var(--spacing) * 3);}
.py-4{padding-block:calc(var(--spacing) * 4);}
.text-center{text-align:center;}
.outline{outline-style:var(--un-outline-style);outline-width:1px;}
.b,
.border{border-width:1px;}
.border-b{border-bottom-width:1px;}
.border-r{border-right-width:1px;}
.border-t{border-top-width:1px;}
.bg-background{background-color:color-mix(in srgb, var(--color-background) var(--un-bg-opacity), transparent);}
.flex{display:flex;}
.inline-flex{display:inline-flex;}
.flex-1{flex:1 1 0%;}
.flex-shrink-0,
.shrink-0{flex-shrink:0;}
.grow{flex-grow:1;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.gap-0{gap:calc(var(--spacing) * 0);}
.gap-1{gap:calc(var(--spacing) * 1);}
.gap-10{gap:calc(var(--spacing) * 10);}
.gap-12{gap:calc(var(--spacing) * 12);}
.gap-2{gap:calc(var(--spacing) * 2);}
.gap-3{gap:calc(var(--spacing) * 3);}
.gap-4{gap:calc(var(--spacing) * 4);}
.gap-6{gap:calc(var(--spacing) * 6);}
.gap-8{gap:calc(var(--spacing) * 8);}
.grid{display:grid;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.h1{height:calc(var(--spacing) * 1);}
.h2{height:calc(var(--spacing) * 2);}
.h3{height:calc(var(--spacing) * 3);}
.max-w-2xl{max-width:var(--container-2xl);}
.max-w-3xl{max-width:var(--container-3xl);}
.max-w-lg{max-width:var(--container-lg);}
.max-w-xl{max-width:var(--container-xl);}
.min-h-screen{min-height:100vh;}
.min-w-0{min-width:calc(var(--spacing) * 0);}
.w-full{width:100%;}
.inline{display:inline;}
.block{display:block;}
.inline-block{display:inline-block;}
.hidden{display:none;}
.visible{visibility:visible;}
.cursor-pointer{cursor:pointer;}
.resize{resize:both;}
.uppercase{text-transform:uppercase;}
.italic{font-style:italic;}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.shadow\){--un-shadow:0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
.transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y);}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease, var(--default-transition-timingFunction));transition-duration:var(--un-duration, var(--default-transition-duration));}
.ease{--un-ease:var(--ease-DEFAULT);transition-timing-function:var(--ease-DEFAULT);}
.ease-in-out{--un-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out);}
.items-start{align-items:flex-start;}
.items-end{align-items:flex-end;}
.items-center{align-items:center;}
.top-0{top:calc(var(--spacing) * 0);}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.absolute{position:absolute;}
.fixed{position:fixed;}
.relative{position:relative;}
.sticky{position:sticky;}
.z-40{z-index:40;}
.overflow-x-auto{overflow-x:auto;}
.blur{--un-blur:blur(8px);filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,);}
.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,);}
.space-y-2{
:where(&>:not(:last-child)){--un-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--un-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--un-space-y-reverse)));}
}
.space-y-3{
:where(&>:not(:last-child)){--un-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--un-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--un-space-y-reverse)));}
}
.space-y-4{
:where(&>:not(:last-child)){--un-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--un-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--un-space-y-reverse)));}
}
.space-y-6{
:where(&>:not(:last-child)){--un-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--un-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--un-space-y-reverse)));}
}
.space-y-8{
:where(&>:not(:last-child)){--un-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--un-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--un-space-y-reverse)));}
}
@media (min-width: 40rem){
.sm\:inline{display:inline;}
.sm\:inline-flex{display:inline-flex;}
}
@media (min-width: 48rem){
.md\:flex{display:flex;}
.md\:flex-col{flex-direction:column;}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.md\:hidden{display:none;}
}
@media (min-width: 64rem){
.lg\:grid{display:grid;}
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.lg\:block{display:block;}
.lg\:hidden{display:none;}
.lg\:col-span-2{grid-column:span 2;}
.lg\:col-span-3{grid-column:span 3;}
}
@media (min-width: 80rem){
.xl\:flex{display:flex;}
.xl\:inline-flex{display:inline-flex;}
.xl\:hidden{display:none;}
}/* Layout-level styles — extracted from Layout.tsx inline <style> */

/* Global text overflow prevention (long German compound words) */
#main-content { overflow-wrap: break-word; word-break: break-word; }

/* Form inputs */
.mg-input {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  border-radius: var(--radius, 8px);
  background-color: #F0F4F8;
  border: 1px solid #E2E8F0;
  color: #0F172A;
  outline: none;
}
.mg-input:focus { border-color: #1E40AF; }
.mg-label { font-size: 0.875rem; font-weight: 500; display: block; margin-bottom: 0.5rem; color: #0F172A; }

/* Footer spans full width */
footer.w-full { padding-left: 0 !important; padding-right: 0 !important; }
footer.w-full > div { max-width: 100% !important; }

/* Main content spacing */
#main-content { padding-top: 0; }
#main-content > section:first-of-type { padding-top: 88px !important; }

/* ===== MOBILE (<768px) ===== */
@media (max-width: 768px) {
  #main-content { padding-top: 0; }
  #main-content > section:first-of-type { padding-top: 76px !important; }
  .section-spacing { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .container-theme { padding-left: 1rem !important; padding-right: 1rem !important; }

  /* Typography — readable on mobile */
  h1 { font-size: 1.75rem !important; line-height: 1.15 !important; }
  h2 { font-size: 1.35rem !important; line-height: 1.2 !important; }
  h3 { font-size: 1.1rem !important; }
  .text-sm { font-size: 0.9375rem !important; line-height: 1.65 !important; }
  .text-lg { font-size: 1rem !important; }
  .text-xl { font-size: 1.05rem !important; }
  .leading-relaxed { line-height: 1.7 !important; }

  /* Tighten cards and spacing */
  .p-8 { padding: 1.25rem !important; }
  .p-6 { padding: 1rem !important; }
  .p-5 { padding: 1rem !important; }
  .p-12 { padding: 1.5rem !important; }
  .grid { gap: 1rem !important; }
  .gap-12 { gap: 1rem !important; }
  .gap-6 { gap: 0.75rem !important; }
  .space-y-4 > * + * { margin-top: 0.75rem !important; }
  .mb-16 { margin-bottom: 1.5rem !important; }
  .mb-12 { margin-bottom: 1.25rem !important; }
  .mb-8 { margin-bottom: 1rem !important; }
  .mb-6 { margin-bottom: 0.75rem !important; }

  /* Full-width CTAs */
  a[class*="inline-flex"][class*="px-"] { width: 100% !important; justify-content: center !important; text-align: center !important; }

  /* Hide decorative elements */
  .text-5xl[style*="opacity: 0.12"] { display: none !important; }

  /* Slider heights for mobile */
  .mg-ciso-slide, .mg-wazuh-slide { height: 200px !important; }
  .mg-report-slide { height: 460px !important; }
}

/* ===== TABLET (769–1024px) ===== */
@media (min-width: 769px) and (max-width: 1024px) {
  h1 { font-size: 2.2rem !important; line-height: 1.12 !important; }
  h2 { font-size: 1.6rem !important; line-height: 1.2 !important; }
  h3 { font-size: 1.1rem !important; }
  .text-4xl { font-size: 1.6rem !important; }
  .text-5xl { font-size: 2.2rem !important; }
  .text-3xl { font-size: 1.35rem !important; }
  .text-2xl { font-size: 1.15rem !important; }
  .text-xl { font-size: 1rem !important; }
  .text-lg { font-size: 0.95rem !important; }

  .mb-16 { margin-bottom: 2rem !important; }
  .mb-12 { margin-bottom: 1.5rem !important; }
  .mb-8 { margin-bottom: 1rem !important; }
  .mb-6 { margin-bottom: 0.75rem !important; }
  .gap-12 { gap: 1.5rem !important; }
  .gap-10 { gap: 1.25rem !important; }
  .gap-6 { gap: 0.75rem !important; }
  .p-8 { padding: 1.25rem !important; }
  .p-6 { padding: 1rem !important; }
  .p-5 { padding: 0.85rem !important; }
  .section-spacing { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
  .container-theme { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* Focus styles for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, details summary:focus-visible {
  outline: 2px solid #1E40AF;
  outline-offset: 2px;
}

/* Scroll-to-top button */
.mg-scroll-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #1E40AF;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s, transform 0.3s;
  z-index: 40;
  box-shadow: 0 4px 12px rgba(30,64,175,0.3);
}
.mg-scroll-top.visible { opacity: 1; pointer-events: auto; }
.mg-scroll-top:hover { transform: translateY(-2px); }

/* Form validation */
.mg-input:invalid:not(:placeholder-shown) { border-color: #DC2626; }
.mg-input:valid:not(:placeholder-shown) { border-color: #059669; }

/* Breadcrumb */
.mg-breadcrumb { list-style: none; display: flex; gap: 0.5rem; padding: 0; margin: 0 0 1.5rem; font-size: 0.8rem; }
.mg-breadcrumb li::after { content: "/"; margin-left: 0.5rem; color: #94A3B8; }
.mg-breadcrumb li:last-child::after { content: ""; }

/* Print styles */
@media print {
  header, footer, .mg-scroll-top, nav, .mg-term-btn, #mobile-menu, .skip-to-content { display: none !important; }
  body { font-size: 12pt; color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; }
  a[href^="#"]::after, a[href^="javascript"]::after { content: ""; }
  section { page-break-inside: avoid; }
  .section-spacing { padding: 1rem 0 !important; }
}
