:root {
  --header-height: 76px;
  --brand: #213547;
  --accent: #5d8cff;
  --paper: #ffffff;
  --soft: #f3f6fb;
  --text: #1c2430;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-family); color: var(--text); background: var(--soft); line-height: 1.65; }
a { color: inherit; }
.section-inner a { color: var(--section-link, inherit); }
.site-header { position: sticky; top: 0; z-index: 1000; height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px clamp(18px, 4vw, 56px); background: var(--header-bg); backdrop-filter: blur(14px); box-shadow: 0 10px 28px rgba(0,0,0,.08); }
.logo { display: inline-flex; align-items: center; min-width: 130px; font-weight: 800; text-decoration: none; color: var(--brand); }
.logo img { display: block; max-height: var(--logo-height); max-width: var(--logo-width); object-fit: contain; }
.mainnav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.mainnav a { text-decoration: none; padding: 10px 14px; border-radius: var(--button-radius); font-weight: 650; color: var(--nav-link-color, var(--brand)); }
.mainnav a:hover, .mainnav a:focus { background: var(--nav-link-hover-bg, var(--brand)); color: var(--nav-link-hover-color, white); }
.nav-toggle { display: none; border: 0; border-radius: var(--button-radius); background: var(--brand); color: white; padding: 10px 14px; font-weight: 700; }
.content-section { position: relative; overflow: hidden; background: var(--section-color, var(--paper)); padding: var(--section-padding-local, var(--section-padding)) 0; min-height: var(--section-min-height, auto); scroll-margin-top: var(--header-height); }
.content-section.section-alt { background: var(--section-color, var(--alt-section)); }
.section-inner { position: relative; z-index: 2; width: min(var(--section-content-width, var(--content-width)), calc(100% - 36px)); margin: 0 auto; padding: var(--section-content-padding, clamp(24px, 5vw, 60px)); background-color: var(--section-content-bg, rgba(255,255,255,.88)); background-image: var(--section-content-bg-image, none); background-size: var(--section-content-bg-size, cover); background-position: var(--section-content-bg-position, center); background-repeat: var(--section-content-bg-repeat, no-repeat); border-radius: var(--section-card-radius, var(--card-radius)); box-shadow: var(--section-card-shadow, var(--card-shadow)); color: var(--section-text, var(--text)); }
.section-image-separator { position: absolute; inset: 0; z-index: 0; background-image: var(--section-bg-overlay, linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.9))), var(--section-bg); background-size: cover; background-position: var(--section-bg-position, center); transform: scale(1.04); }
.wave { position: absolute; left: 0; right: 0; height: 95px; z-index: 1; background: var(--section-wave-color, var(--wave-color)); pointer-events: none; }
.wave-top { top: -1px; clip-path: path('M0 0 H1440 V72 C1280 114 1138 127 1014 110 C840 86 742 22 534 18 C340 14 209 66 0 50 Z'); }
.wave-bottom { bottom: -1px; clip-path: path('M0 120 H1440 V48 C1265 6 1116 0 993 30 C821 72 706 121 507 100 C318 80 196 28 0 50 Z'); }
@supports not (clip-path: path('M0 0 H1 V1 Z')) {
  .wave-top { border-radius: 0 0 50% 50% / 0 0 45% 45%; }
  .wave-bottom { border-radius: 50% 50% 0 0 / 45% 45% 0 0; }
}
h1, h2, h3 { line-height: 1.12; color: var(--section-heading, var(--brand)); margin-top: 0; }
h1 { font-size: clamp(2.2rem, 6vw, 5rem); }
h2 { font-size: clamp(1.8rem, 4vw, 3.2rem); }
img { max-width: 100%; height: auto; border-radius: 18px; }
table { width: 100%; border-collapse: collapse; margin: 1rem 0; overflow: hidden; border-radius: 14px; }
th, td { border: 1px solid #d7deeb; padding: .8rem; text-align: left; }
th { background: #edf2ff; }
.button { display: inline-block; background: var(--accent); color: white; text-decoration: none; padding: .85rem 1.2rem; border-radius: var(--button-radius); font-weight: 800; }
.footer { text-align: center; padding: var(--footer-padding, 34px 18px); background: var(--footer-bg, transparent); color: var(--footer-text, #627085); }
.footer a { color: var(--footer-link, inherit); }
.footer-links { display: flex; gap: 14px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 10px; }
.cookie-notice { position: fixed; left: 18px; right: 18px; bottom: 18px; z-index: 3000; max-width: 980px; margin: 0 auto; padding: 16px 18px; background: var(--cookie-bg, #fff); color: var(--cookie-text, var(--text)); border-radius: 18px; box-shadow: 0 18px 50px rgba(0,0,0,.18); display: flex; gap: 14px; align-items: center; justify-content: space-between; }
.cookie-notice[hidden] { display: none !important; }
.cookie-notice p { margin: 0; }
.cookie-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.cookie-notice a { color: var(--brand); font-weight: 700; }
.cookie-notice button { border: 0; border-radius: var(--button-radius); background: var(--cookie-button-bg, var(--brand)); color: var(--cookie-button-color, #fff); padding: .75rem 1rem; font-weight: 800; cursor: pointer; white-space: nowrap; }
.cookie-notice .cookie-decline { background: transparent; color: var(--cookie-text, var(--text)); border: 1px solid currentColor; }
.legal-page { min-height: 100vh; padding: clamp(24px, 6vw, 72px) 18px; }
.legal-content { width: min(var(--content-width), 100%); margin: 0 auto; padding: clamp(24px, 5vw, 60px); background: var(--paper); border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
@media (max-width: 760px) { .cookie-notice { flex-direction: column; align-items: flex-start; } .cookie-actions { width: 100%; justify-content: flex-start; } }
@media (max-width: 760px) {
  .site-header { align-items: center; }
  .nav-toggle { display: inline-block; }
  .mainnav { display: none; position: absolute; top: var(--header-height); left: 14px; right: 14px; padding: 14px; border-radius: 22px; background: var(--nav-dropdown-bg, var(--header-bg)); box-shadow: 0 18px 40px rgba(0,0,0,.15); }
  .mainnav.open { display: grid; }
  .mainnav a { display: block; }
}

.section-inner::after { content: ""; display: table; clear: both; }
.section-inner img[style*="float: left"], .section-inner img[style*="float:left"], .section-inner img[style*="float: right"], .section-inner img[style*="float:right"] { max-width: min(100%, 420px); }
@media (max-width: 640px) {
  .section-inner img[style*="float: left"], .section-inner img[style*="float:left"], .section-inner img[style*="float: right"], .section-inner img[style*="float:right"] { float: none !important; display: block; margin-left: auto !important; margin-right: auto !important; }
}
