/* ==========================================================================
   Lee Kean Mun — site styles (WordPress, Twenty Twenty-Five theme)
   Paste into: Appearance > Editor > Styles > (⋮) Additional CSS
   Colours: NTU blue #181C62 (main), NTU red #D71440 and white (accents)
   ========================================================================== */

:root {
  --km-blue: #181C62;
  --km-blue-2: #252B86;
  --km-red: #D71440;
  --km-ink: #1E2233;
  --km-muted: #5A5E78;
  --km-pale: #C9CBE3;
  --km-tint: #F3F4FA;
  --km-line: #E3E5F0;
  --km-radius: 14px;
  --km-font: "Helvetica Neue", Arial, "Segoe UI", sans-serif;
  --km-facets: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 640' preserveAspectRatio='xMidYMid slice'%3E%3Cpolygon points='640,640 320,640 457,596' fill='%23161a5c' stroke='%23161a5c' stroke-width='1'/%3E%3Cpolygon points='1280,0 1600,0 1600,213' fill='%23181c64' stroke='%23181c64' stroke-width='1'/%3E%3Cpolygon points='663,154 888,428 640,640' fill='%23171b61' stroke='%23171b61' stroke-width='1'/%3E%3Cpolygon points='888,428 663,154 858,147' fill='%23181c63' stroke='%23181c63' stroke-width='1'/%3E%3Cpolygon points='0,213 0,0 76,88' fill='%231d2176' stroke='%231d2176' stroke-width='1'/%3E%3Cpolygon points='1600,426 1600,640 1280,640' fill='%23181c63' stroke='%23181c63' stroke-width='1'/%3E%3Cpolygon points='1039,219 858,147 960,0' fill='%231a1e6a' stroke='%231a1e6a' stroke-width='1'/%3E%3Cpolygon points='858,147 1039,219 888,428' fill='%23191d67' stroke='%23191d67' stroke-width='1'/%3E%3Cpolygon points='0,426 148,548 95,570' fill='%23191d66' stroke='%23191d66' stroke-width='1'/%3E%3Cpolygon points='148,548 0,426 192,374' fill='%231a1e6b' stroke='%231a1e6b' stroke-width='1'/%3E%3Cpolygon points='320,0 76,88 0,0' fill='%231c2174' stroke='%231c2174' stroke-width='1'/%3E%3Cpolygon points='76,88 320,0 143,246' fill='%231d2277' stroke='%231d2277' stroke-width='1'/%3E%3Cpolygon points='808,49 960,0 869,60' fill='%23191e69' stroke='%23191e69' stroke-width='1'/%3E%3Cpolygon points='960,0 808,49 640,0' fill='%23191e69' stroke='%23191e69' stroke-width='1'/%3E%3Cpolygon points='663,154 808,49 858,147' fill='%23191d66' stroke='%23191d66' stroke-width='1'/%3E%3Cpolygon points='808,49 663,154 640,0' fill='%231b2070' stroke='%231b2070' stroke-width='1'/%3E%3Cpolygon points='320,0 663,154 272,296' fill='%23191d68' stroke='%23191d68' stroke-width='1'/%3E%3Cpolygon points='663,154 320,0 640,0' fill='%231a1e6c' stroke='%231a1e6c' stroke-width='1'/%3E%3Cpolygon points='192,374 457,596 320,640' fill='%23181c64' stroke='%23181c64' stroke-width='1'/%3E%3Cpolygon points='457,596 192,374 272,296' fill='%23181d65' stroke='%23181d65' stroke-width='1'/%3E%3Cpolygon points='663,154 640,640 457,596' fill='%23181c65' stroke='%23181c65' stroke-width='1'/%3E%3Cpolygon points='95,570 126,590 0,640' fill='%23181c64' stroke='%23181c64' stroke-width='1'/%3E%3Cpolygon points='126,590 95,570 148,548' fill='%23171a5e' stroke='%23171a5e' stroke-width='1'/%3E%3Cpolygon points='457,596 272,296 663,154' fill='%23191e69' stroke='%23191e69' stroke-width='1'/%3E%3Cpolygon points='148,548 192,374 185,564' fill='%23171b61' stroke='%23171b61' stroke-width='1'/%3E%3Cpolygon points='0,213 76,88 101,226' fill='%231b1f6e' stroke='%231b1f6e' stroke-width='1'/%3E%3Cpolygon points='1280,0 1147,185 1158,126' fill='%231a1f6c' stroke='%231a1f6c' stroke-width='1'/%3E%3Cpolygon points='1147,185 1280,0 1600,213' fill='%23181c63' stroke='%23181c63' stroke-width='1'/%3E%3Cpolygon points='869,60 960,0 858,147' fill='%231b2070' stroke='%231b2070' stroke-width='1'/%3E%3Cpolygon points='1147,185 1600,213 1169,315' fill='%23171b5e' stroke='%23171b5e' stroke-width='1'/%3E%3Cpolygon points='858,147 808,49 869,60' fill='%231a1e6b' stroke='%231a1e6b' stroke-width='1'/%3E%3Cpolygon points='1107,120 1193,59 1158,126' fill='%231a1e6b' stroke='%231a1e6b' stroke-width='1'/%3E%3Cpolygon points='1193,59 1107,120 960,0' fill='%231a1f6c' stroke='%231a1f6c' stroke-width='1'/%3E%3Cpolygon points='320,0 272,296 143,246' fill='%231a1f6c' stroke='%231a1f6c' stroke-width='1'/%3E%3Cpolygon points='143,246 0,426 101,226' fill='%231a1e6a' stroke='%231a1e6a' stroke-width='1'/%3E%3Cpolygon points='0,426 143,246 192,374' fill='%231a1e6b' stroke='%231a1e6b' stroke-width='1'/%3E%3Cpolygon points='185,564 192,374 320,640' fill='%23191e69' stroke='%23191e69' stroke-width='1'/%3E%3Cpolygon points='888,428 1039,219 1169,315' fill='%23171b5f' stroke='%23171b5f' stroke-width='1'/%3E%3Cpolygon points='888,428 960,640 640,640' fill='%23161a5d' stroke='%23161a5d' stroke-width='1'/%3E%3Cpolygon points='960,640 888,428 1199,406' fill='%23171b60' stroke='%23171b60' stroke-width='1'/%3E%3Cpolygon points='192,374 143,246 272,296' fill='%231b1f6e' stroke='%231b1f6e' stroke-width='1'/%3E%3Cpolygon points='76,88 143,246 101,226' fill='%231a1e6a' stroke='%231a1e6a' stroke-width='1'/%3E%3Cpolygon points='148,548 185,564 126,590' fill='%23191d67' stroke='%23191d67' stroke-width='1'/%3E%3Cpolygon points='960,0 1107,120 1039,219' fill='%23181d65' stroke='%23181d65' stroke-width='1'/%3E%3Cpolygon points='1169,315 1600,213 1199,406' fill='%23181c64' stroke='%23181c64' stroke-width='1'/%3E%3Cpolygon points='1107,120 1147,185 1039,219' fill='%23191e69' stroke='%23191e69' stroke-width='1'/%3E%3Cpolygon points='1147,185 1107,120 1158,126' fill='%23191d66' stroke='%23191d66' stroke-width='1'/%3E%3Cpolygon points='1158,126 1193,59 1280,0' fill='%23191e69' stroke='%23191e69' stroke-width='1'/%3E%3Cpolygon points='126,590 320,640 0,640' fill='%23191d67' stroke='%23191d67' stroke-width='1'/%3E%3Cpolygon points='320,640 126,590 185,564' fill='%23171b61' stroke='%23171b61' stroke-width='1'/%3E%3Cpolygon points='1600,426 1280,640 1199,406' fill='%23191d68' stroke='%23191d68' stroke-width='1'/%3E%3Cpolygon points='1199,406 888,428 1169,315' fill='%23181c62' stroke='%23181c62' stroke-width='1'/%3E%3Cpolygon points='95,570 0,640 0,426' fill='%23191d66' stroke='%23191d66' stroke-width='1'/%3E%3Cpolygon points='101,226 0,426 0,213' fill='%231a1f6d' stroke='%231a1f6d' stroke-width='1'/%3E%3Cpolygon points='1169,315 1039,219 1147,185' fill='%23181c62' stroke='%23181c62' stroke-width='1'/%3E%3Cpolygon points='1193,59 960,0 1280,0' fill='%23181c65' stroke='%23181c65' stroke-width='1'/%3E%3Cpolygon points='960,640 1199,406 1280,640' fill='%23181d66' stroke='%23181d66' stroke-width='1'/%3E%3Cpolygon points='1199,406 1600,213 1600,426' fill='%23171b61' stroke='%23171b61' stroke-width='1'/%3E%3C/svg%3E");
  --km-waves: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60.0 L7,60.0 L13,60.2 L20,60.3 L27,60.5 L33,60.7 L40,60.9 L47,61.0 L53,61.1 L60,61.0 L67,60.9 L73,60.5 L80,60.1 L87,59.5 L93,58.7 L100,57.9 L107,57.1 L113,56.3 L120,55.5 L127,54.9 L133,54.5 L140,54.3 L147,54.4 L153,54.8 L160,55.6 L167,56.7 L173,58.1 L180,59.8 L187,61.6 L193,63.6 L200,65.5 L207,67.4 L213,69.1 L220,70.5 L227,71.5 L233,72.0 L240,72.0 L247,71.4 L253,70.2 L260,68.4 L267,66.2 L273,63.5 L280,60.4 L287,57.2 L293,53.9 L300,50.7 L307,47.8 L313,45.2 L320,43.3 L327,42.0 L333,41.5 L340,41.8 L347,42.9 L353,44.9 L360,47.7 L367,51.1 L373,55.1 L380,59.4 L387,63.9 L393,68.4 L400,72.6 L407,76.4 L413,79.6 L420,82.0 L427,83.4 L433,83.8 L440,83.2 L447,81.5 L453,78.9 L460,75.3 L467,70.9 L473,66.0 L480,60.7 L487,55.3 L493,50.1 L500,45.1 L507,40.8 L513,37.3 L520,34.7 L527,33.3 L533,33.0 L540,33.9 L547,36.0 L553,39.1 L560,43.2 L567,48.1 L573,53.5 L580,59.2 L587,65.0 L593,70.6 L600,75.7 L607,80.1 L613,83.6 L620,86.1 L627,87.4 L633,87.5 L640,86.4 L647,84.1 L653,80.8 L660,76.6 L667,71.7 L673,66.3 L680,60.8 L687,55.2 L693,49.9 L700,45.1 L707,41.1 L713,37.9 L720,35.8 L727,34.7 L733,34.8 L740,36.0 L747,38.2 L753,41.4 L760,45.2 L767,49.7 L773,54.4 L780,59.3 L787,64.1 L793,68.6 L800,72.6 L807,75.9 L813,78.4 L820,80.1 L827,80.7 L833,80.5 L840,79.4 L847,77.4 L853,74.8 L860,71.6 L867,68.0 L873,64.3 L880,60.5 L887,56.9 L893,53.6 L900,50.7 L907,48.4 L913,46.7 L920,45.7 L927,45.4 L933,45.8 L940,46.7 L947,48.2 L953,50.1 L960,52.4 L967,54.8 L973,57.3 L980,59.7 L987,61.9 L993,63.9 L1000,65.5 L1007,66.8 L1013,67.6 L1020,68.0 L1027,68.0 L1033,67.6 L1040,66.9 L1047,66.0 L1053,64.8 L1060,63.6 L1067,62.4 L1073,61.2 L1080,60.1 L1087,59.2 L1093,58.5 L1100,57.9 L1107,57.6 L1113,57.5 L1120,57.5 L1127,57.7 L1133,58.0 L1140,58.4 L1147,58.7 L1153,59.1 L1160,59.4 L1167,59.7 L1173,59.9 L1180,60.0 L1187,60.0 L1193,60.0 L1200,60.0' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,60.0 L7,60.0 L13,60.0 L20,60.0 L27,60.1 L33,60.3 L40,60.6 L47,60.9 L53,61.3 L60,61.6 L67,62.0 L73,62.3 L80,62.5 L87,62.5 L93,62.4 L100,62.1 L107,61.5 L113,60.8 L120,59.9 L127,58.8 L133,57.6 L140,56.4 L147,55.2 L153,54.0 L160,53.1 L167,52.4 L173,52.0 L180,52.0 L187,52.4 L193,53.2 L200,54.5 L207,56.1 L213,58.1 L220,60.3 L227,62.7 L233,65.2 L240,67.6 L247,69.9 L253,71.8 L260,73.3 L267,74.2 L273,74.6 L280,74.3 L287,73.3 L293,71.6 L300,69.3 L307,66.4 L313,63.1 L320,59.5 L327,55.7 L333,52.0 L340,48.4 L347,45.2 L353,42.6 L360,40.6 L367,39.5 L373,39.3 L380,39.9 L387,41.6 L393,44.1 L400,47.4 L407,51.4 L413,55.9 L420,60.7 L427,65.6 L433,70.3 L440,74.8 L447,78.6 L453,81.8 L460,84.0 L467,85.2 L473,85.3 L480,84.2 L487,82.1 L493,78.9 L500,74.9 L507,70.1 L513,64.8 L520,59.2 L527,53.7 L533,48.3 L540,43.4 L547,39.2 L553,35.9 L560,33.6 L567,32.5 L573,32.6 L580,33.9 L587,36.4 L593,39.9 L600,44.3 L607,49.4 L613,55.0 L620,60.8 L627,66.5 L633,71.9 L640,76.8 L647,80.9 L653,84.0 L660,86.1 L667,87.0 L673,86.7 L680,85.3 L687,82.7 L693,79.2 L700,74.9 L707,69.9 L713,64.7 L720,59.3 L727,54.0 L733,49.1 L740,44.7 L747,41.1 L753,38.5 L760,36.8 L767,36.2 L773,36.6 L780,38.0 L787,40.4 L793,43.6 L800,47.4 L807,51.6 L813,56.1 L820,60.6 L827,64.9 L833,68.9 L840,72.3 L847,75.1 L853,77.1 L860,78.2 L867,78.5 L873,78.0 L880,76.7 L887,74.8 L893,72.2 L900,69.3 L907,66.1 L913,62.8 L920,59.6 L927,56.5 L933,53.8 L940,51.6 L947,49.8 L953,48.6 L960,48.0 L967,48.0 L973,48.5 L980,49.5 L987,50.9 L993,52.6 L1000,54.5 L1007,56.4 L1013,58.4 L1020,60.2 L1027,61.9 L1033,63.3 L1040,64.4 L1047,65.2 L1053,65.6 L1060,65.7 L1067,65.5 L1073,65.1 L1080,64.5 L1087,63.7 L1093,62.9 L1100,62.1 L1107,61.3 L1113,60.5 L1120,59.9 L1127,59.5 L1133,59.1 L1140,59.0 L1147,58.9 L1153,59.0 L1160,59.1 L1167,59.3 L1173,59.5 L1180,59.7 L1187,59.8 L1193,60.0 L1200,60.0' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M0,60.0 L7,60.0 L13,60.1 L20,60.3 L27,60.6 L33,61.0 L40,61.4 L47,61.8 L53,62.2 L60,62.5 L67,62.7 L73,62.7 L80,62.4 L87,61.9 L93,61.1 L100,60.0 L107,58.7 L113,57.2 L120,55.7 L127,54.1 L133,52.6 L140,51.3 L147,50.2 L153,49.6 L160,49.4 L167,49.8 L173,50.8 L180,52.3 L187,54.4 L193,57.0 L200,60.0 L207,63.3 L213,66.7 L220,70.1 L227,73.3 L233,76.1 L240,78.4 L247,79.9 L253,80.6 L260,80.3 L267,79.1 L273,76.9 L280,73.8 L287,69.8 L293,65.2 L300,60.0 L307,54.6 L313,49.1 L320,43.9 L327,39.1 L333,35.1 L340,32.1 L347,30.2 L353,29.6 L360,30.4 L367,32.5 L373,36.0 L380,40.7 L387,46.4 L393,52.9 L400,60.0 L407,67.3 L413,74.5 L420,81.2 L427,87.1 L433,92.0 L440,95.6 L447,97.6 L453,98.0 L460,96.8 L467,93.8 L473,89.3 L480,83.4 L487,76.3 L493,68.4 L500,60.0 L507,51.5 L513,43.2 L520,35.6 L527,29.0 L533,23.7 L540,20.0 L547,18.0 L553,17.9 L560,19.6 L567,23.1 L573,28.3 L580,34.9 L587,42.6 L593,51.1 L600,60.0 L607,68.9 L613,77.4 L620,85.1 L627,91.7 L633,96.9 L640,100.4 L647,102.1 L653,102.0 L660,100.0 L667,96.3 L673,91.0 L680,84.4 L687,76.8 L693,68.5 L700,60.0 L707,51.6 L713,43.7 L720,36.6 L727,30.7 L733,26.2 L740,23.2 L747,22.0 L753,22.4 L760,24.4 L767,28.0 L773,32.9 L780,38.8 L787,45.5 L793,52.7 L800,60.0 L807,67.1 L813,73.6 L820,79.3 L827,84.0 L833,87.5 L840,89.6 L847,90.4 L853,89.8 L860,87.9 L867,84.9 L873,80.9 L880,76.1 L887,70.9 L893,65.4 L900,60.0 L907,54.8 L913,50.2 L920,46.2 L927,43.1 L933,40.9 L940,39.7 L947,39.4 L953,40.1 L960,41.6 L967,43.9 L973,46.7 L980,49.9 L987,53.3 L993,56.7 L1000,60.0 L1007,63.0 L1013,65.6 L1020,67.7 L1027,69.2 L1033,70.2 L1040,70.6 L1047,70.4 L1053,69.8 L1060,68.7 L1067,67.4 L1073,65.9 L1080,64.3 L1087,62.8 L1093,61.3 L1100,60.0 L1107,58.9 L1113,58.1 L1120,57.6 L1127,57.3 L1133,57.3 L1140,57.5 L1147,57.8 L1153,58.2 L1160,58.6 L1167,59.0 L1173,59.4 L1180,59.7 L1187,59.9 L1193,60.0 L1200,60.0' stroke='%23D71440' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
body { font-family: var(--km-font); color: var(--km-ink); background: #fff; }
h1, h2, h3, h4,
.wp-block-site-title { font-family: var(--km-font); color: var(--km-blue); letter-spacing: -0.01em; }
a { color: var(--km-blue); text-decoration-color: rgba(215, 20, 64, .45); text-underline-offset: 3px; }
a:hover { color: var(--km-red); }
.wp-block-site-title a { color: var(--km-blue); text-decoration: none; font-weight: 700; }
.wp-block-navigation a { color: var(--km-blue); }
.wp-block-navigation a:hover { color: var(--km-red); }

/* The page's own title is shown inside each page banner instead */
body.page .wp-block-post-title { display: none; }

/* ---------- Banners (Home hero + page banners) ---------- */
.km-hero, .km-banner {
  position: relative;
  color: #fff;
  background-color: var(--km-blue);
  background-image: var(--km-facets);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.km-hero { padding: 72px 24px 130px; }
.km-banner { padding: 56px 24px 112px; }
.km-hero::after, .km-banner::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 18px;
  height: 84px;
  background: var(--km-waves) center / 100% 100% no-repeat;
  pointer-events: none;
}
.km-hero h1, .km-banner h1,
.km-hero h2, .km-banner h2 { color: #fff; margin: 0 0 .3em; }
.km-hero h1 { font-size: clamp(2.3rem, 5vw, 3.5rem); font-weight: 700; }
.km-banner h1 { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 700; }
.km-hero p, .km-banner p { color: var(--km-pale); }
.km-hero a, .km-banner a { color: #fff; }

.km-role {
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  font-size: .82rem; color: #fff !important; margin: 0 0 .4em;
}
.km-affil { font-size: 1rem; margin: 0 0 1.4em; }
.km-lead { font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.55; color: #fff !important; max-width: 40em; }

/* Profile photo */
.km-avatar { margin: 0; }
.km-avatar img {
  width: 260px; height: 260px; max-width: 100%;
  object-fit: cover; border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, .92);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
  display: block; margin: 0 auto;
}

/* ---------- Buttons ---------- */
.km-links { gap: 10px; margin-top: 1.4em; }
.km-links .wp-block-button__link {
  background: transparent; color: #fff;
  border: 1.5px solid rgba(255, 255, 255, .65);
  border-radius: 999px; padding: .55em 1.15em;
  font-size: .9rem; font-weight: 600; text-decoration: none;
}
.km-links .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
.km-links .km-primary .wp-block-button__link,
.km-primary .wp-block-button__link { background: var(--km-red); border-color: var(--km-red); color: #fff; }
.km-links .km-primary .wp-block-button__link:hover,
.km-primary .wp-block-button__link:hover { background: #B80F35; border-color: #B80F35; }

/* Light-background version of the link row */
.km-links-light .wp-block-button__link {
  background: #fff; color: var(--km-blue);
  border: 1.5px solid var(--km-line); border-radius: 999px;
  padding: .55em 1.15em; font-size: .9rem; font-weight: 600; text-decoration: none;
}
.km-links-light .wp-block-button__link:hover { border-color: var(--km-blue); color: var(--km-blue); }

/* ---------- Content sections ---------- */
.km-section { padding: 56px 24px; }
.km-section.km-alt { background: var(--km-tint); }
.km-section h2 {
  font-size: clamp(1.5rem, 3vw, 1.9rem); margin: 0 0 .7em;
  display: flex; align-items: center; gap: .5em;
}
.km-section h2::before {
  content: ""; width: .5em; height: .5em; border-radius: 50%;
  background: var(--km-red); flex: none;
}
.km-section h2:not(:first-child) { margin-top: 1.7em; }
.km-section h3 { font-size: 1.15rem; margin: 1.4em 0 .4em; }
.km-section p, .km-section li { line-height: 1.65; }
.km-note { color: var(--km-muted); font-size: .95rem; }

/* Highlight cards */
.km-cards { gap: 22px; }
.km-card {
  background: #fff; border: 1px solid var(--km-line); border-radius: var(--km-radius);
  padding: 26px 24px; box-shadow: 0 8px 24px rgba(24, 28, 98, .06);
}
.km-card h3 { margin-top: 0; }
.km-card p { margin-bottom: 0; color: var(--km-muted); }
.km-num { color: var(--km-red) !important; font-weight: 700; font-size: .85rem; letter-spacing: .12em; margin: 0 0 .5em; }

/* Publications */
.km-pubs { list-style: none; padding-left: 0; margin: 0 0 1.5em; }
.km-pubs li { padding: 14px 0; border-bottom: 1px solid var(--km-line); }
.km-pubs li:last-child { border-bottom: 0; }
.km-pubs a { word-break: break-word; }

/* Timeline (CV page) */
.km-timeline { list-style: none; padding-left: 0; margin: 0 0 1.5em; border-left: 2px solid var(--km-pale); }
.km-timeline li { position: relative; padding: 0 0 18px 22px; }
.km-timeline li::before {
  content: ""; position: absolute; left: -7px; top: .45em;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--km-blue); border: 2px solid #fff; box-shadow: 0 0 0 2px var(--km-blue);
}
.km-timeline li:first-child::before { background: var(--km-red); box-shadow: 0 0 0 2px var(--km-red); }

/* Simple tidy lists */
.km-list { padding-left: 1.1em; }
.km-list li { margin-bottom: .45em; }
.km-list li::marker { color: var(--km-red); }

/* Contact card */
.km-contact {
  background-color: var(--km-blue); background-image: var(--km-facets); background-size: cover;
  color: #fff; border-radius: var(--km-radius); padding: 34px 32px;
}
.km-contact h2, .km-contact h3 { color: #fff; }
.km-contact p { color: var(--km-pale); }
.km-contact a { color: #fff; }

/* ---------- Small screens ---------- */
@media (max-width: 781px) {
  .km-hero { padding: 48px 20px 120px; text-align: center; }
  .km-hero .km-links { justify-content: center; }
  .km-avatar img { width: 190px; height: 190px; }
  .km-lead { margin-left: auto; margin-right: auto; }
  .km-section { padding: 44px 20px; }
  .km-banner { padding: 44px 20px 104px; }
}


* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-size: 17px; line-height: 1.6; }
img { max-width: 100%; height: auto; }
.skip { position: absolute; left: -9999px; } .skip:focus { left: 12px; top: 12px; background: #fff; padding: 8px 12px; z-index: 10; }
.site-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 24px;
  padding: 20px max(24px, calc((100% - 1140px) / 2)); background: #fff; border-bottom: 1px solid var(--km-line); }
.site-title { margin: 0; font-size: 1.25rem; font-weight: 700; }
.site-title a { text-decoration: none; color: var(--km-blue); }
.site-nav { display: flex; gap: 6px 22px; flex-wrap: wrap; }
.site-nav a { text-decoration: none; color: var(--km-blue); font-size: .95rem; }
.site-nav a:hover, .site-nav a[aria-current] { color: var(--km-red); }
.site-footer { padding: 28px 24px; text-align: center; color: var(--km-muted); font-size: .9rem; border-top: 1px solid var(--km-line); }
.site-footer a { color: var(--km-muted); }
/* WordPress block layout equivalents */
.wp-block-group > *:not(.alignfull):not(.alignwide) { max-width: 680px; margin-left: auto; margin-right: auto; }
.wp-block-group > .alignwide { max-width: 1140px; margin-left: auto; margin-right: auto; }
.wp-block-columns { display: flex; gap: 2em; margin: 1.5em auto; }
.wp-block-columns.are-vertically-aligned-center { align-items: center; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
.wp-block-column[style*="flex-basis"] { flex-grow: 0; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .6em; }
.wp-block-button__link { display: inline-block; }
.wp-block-image { margin: 0 0 1em; }
@media (max-width: 781px) {
  .wp-block-columns { flex-wrap: wrap; } .wp-block-column { flex-basis: 100% !important; }
  .site-header { justify-content: center; text-align: center; }
  .site-nav { justify-content: center; }
}
