:root {
  color-scheme: light;
  --ink: #1C1B22;
  --muted: #4A4855;
  --link: #1F5A8F;
  --link-hover: #174A77;
  --surface: #FFFFFF;
  --surface-soft: #F7F5F0;
  --border: #D7D5DB;
  --focus-light: #1C1B22;
  --focus-dark: #F7C948;
  --red: #D63E55;
  --orange: #F28C28;
  --yellow: #F7C948;
  --blue: #2F6DA8;
  --sky: #6CC1DE;
  --green: #3DA35D;
  --purple: #A866C4;
  --radius: 1rem;
  --content: 72rem;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.125rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: var(--link); text-underline-offset: .18em; text-decoration-thickness: .08em; }
a:hover { color: var(--link-hover); text-decoration-thickness: .14em; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--focus-light);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px #fff;
}
button, input, textarea, select { font: inherit; }
button, .button { min-height: 44px; }
button { cursor: pointer; }
.container { width: min(calc(100% - 2rem), var(--content)); margin-inline: auto; }
.skip-link {
  position: absolute; top: .5rem; left: .5rem; z-index: 1000;
  padding: .75rem 1rem; background: #fff; color: var(--ink);
  border: 2px solid var(--ink); border-radius: .5rem;
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.color-strip { height: 6px; background: linear-gradient(90deg,var(--purple) 0 14%,var(--red) 14% 28%,var(--orange) 28% 42%,var(--yellow) 42% 56%,var(--blue) 56% 70%,var(--sky) 70% 84%,var(--green) 84% 100%); }
.site-header { background: #fff; border-bottom: 1px solid #e5e3e8; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; min-height:5.25rem; }
.brand { display:inline-flex; align-items:center; text-decoration:none; min-width:5rem; }
.brand img { width:7rem; max-height:3.5rem; object-fit:contain; }
.brand-name { font-weight:800; color:var(--ink); text-decoration:none; }
.nav-list { display:flex; align-items:center; gap:.35rem; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.nav-list a { display:inline-flex; align-items:center; min-height:44px; padding:.5rem .75rem; border-radius:.35rem; font-weight:700; text-decoration:none; }
.nav-list a[aria-current="page"] { color:var(--ink); text-decoration:underline; text-decoration-thickness:3px; text-underline-offset:.4em; }
.menu-toggle { display:none; color:var(--ink); background:#fff; border:2px solid var(--border); border-radius:.5rem; padding:.45rem .75rem; }
.hero { background:var(--surface-soft); padding:clamp(3rem,7vw,6.5rem) 0; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr); gap:3rem; align-items:center; }
.eyebrow { color:var(--link); text-transform:uppercase; letter-spacing:.08em; font-size:.875rem; font-weight:800; }
h1,h2,h3 { line-height:1.18; letter-spacing:-.025em; }
h1 { font-size:clamp(2.25rem,5vw,4rem); margin:.5rem 0 1.25rem; max-width:18ch; }
h2 { font-size:clamp(1.7rem,3vw,2.5rem); margin:0 0 1.25rem; }
h3 { font-size:1.35rem; margin:0 0 .6rem; }
p { margin:.5rem 0 1rem; }
.lead { color:var(--muted); font-size:clamp(1.125rem,2vw,1.3rem); max-width:60ch; }
.hero-logo { display:flex; justify-content:center; align-items:center; padding:1rem; }
.hero-logo img { width:min(100%, 24rem); }
.button-row { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1rem; border:2px solid var(--link); border-radius:.45rem; font-weight:700; text-decoration:none; }
.button-primary { color:#fff; background:var(--link); }
.button-primary:hover { color:#fff; background:var(--link-hover); }
.button-secondary { color:var(--link); background:#fff; }
.button-secondary:hover { color:var(--link-hover); background:#f2f6fa; }
.section { padding:clamp(3rem,6vw,5.5rem) 0; }
.section-soft { background:var(--surface-soft); }
.section-intro { max-width:65ch; margin-bottom:2rem; color:var(--muted); }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.card { padding:1.5rem; border:1px solid var(--border); border-radius:var(--radius); background:#fff; }
.card p:last-child { margin-bottom:0; }
.vision-quote { border-left:4px solid var(--green); padding:.25rem 0 .25rem 1rem; margin:0; }
.mission-list { list-style:none; padding:0; margin:0; counter-reset:mission; display:grid; gap:.85rem; }
.mission-list li { counter-increment:mission; position:relative; padding:1rem 1rem 1rem 3.4rem; border:1px solid var(--border); border-radius:.6rem; }
.mission-list li::before { content:counter(mission); position:absolute; left:1rem; top:1rem; display:grid; place-items:center; width:1.65rem; height:1.65rem; border-radius:50%; background:var(--link); color:#fff; font-weight:800; font-size:.9rem; }
.page-hero { background:var(--surface-soft); padding:3rem 0; }
.page-hero h1 { font-size:clamp(2rem,4vw,3rem); }
.prose { max-width:72ch; }
.prose h2 { margin-top:2.5rem; }
.prose li { margin:.35rem 0; }
.notice { border-left:4px solid var(--blue); padding:1rem 1.25rem; background:#f4f7fa; }
.meta { color:var(--muted); font-size:.95rem; }
.form-grid { display:grid; gap:1rem; max-width:42rem; }
.field { display:grid; gap:.35rem; }
.field label { font-weight:700; }
.field input,.field textarea,.field select { width:100%; border:1px solid #767482; border-radius:.4rem; padding:.75rem; background:#fff; color:var(--ink); }
.field textarea { min-height:9rem; }
.form-note { font-size:.95rem; color:var(--muted); }
.site-footer { color:#fff; background:#1C1B22; }
.site-footer a { color:#C9D8E8; }
.footer-main { padding:2.5rem 0; display:grid; grid-template-columns:2fr 1fr; gap:2rem; }
.footer-bottom { border-top:1px solid #55535d; padding:1rem 0; font-size:.9rem; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin:.35rem 0; }
.color-strip-footer { height:5px; }
.tag { display:inline-block; padding:.2rem .55rem; border-radius:99px; border:1px solid var(--border); font-size:.85rem; font-weight:700; }
.site-footer :focus-visible { outline-color:var(--focus-dark); box-shadow:0 0 0 5px #1C1B22; }
[hidden] { display:none !important; }
@media (max-width: 760px) {
  body { font-size:1.0625rem; }
  .header-inner { min-height:4.5rem; }
  .brand img { width:6rem; }
  .menu-toggle { display:inline-flex; align-items:center; gap:.5rem; }
  .nav-wrap { display:none; width:100%; padding:0 0 1rem; }
  .nav-wrap.is-open { display:block; }
  .header-inner { flex-wrap:wrap; }
  .nav-wrap .nav-list { display:grid; grid-template-columns:1fr; align-items:stretch; }
  .nav-list a { width:100%; }
  .hero-grid,.grid-2,.card-grid,.footer-main { grid-template-columns:1fr; }
  .hero-grid { gap:1rem; }
  .hero-logo { order:-1; justify-content:flex-start; padding:0; }
  .hero-logo img { width:9rem; }
  .mission-list li { padding-left:3.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Inquiry, collaboration and article additions */
.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem;max-width:42rem;width:100%}
.form-field{display:flex;flex-direction:column;gap:.45rem;min-width:0}.form-field.full{grid-column:1/-1}
.form-field label{font-weight:700;line-height:1.5;display:block}
.form-field input,.form-field select,.form-field textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;padding:.8rem .9rem;border:1px solid #64748b;border-radius:.5rem;background:#fff;color:#172033;font:inherit;min-height:2.9rem;line-height:1.5}
.form-field textarea{min-height:13rem;resize:vertical;line-height:1.6}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid #075985;outline-offset:2px}
.form-note,.article-meta{font-size:.92rem;color:#425168}.article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.prose h2{margin-top:2rem}.source-list li{margin-bottom:.8rem;overflow-wrap:anywhere}
@media(max-width:650px){.form-grid,.article-list{grid-template-columns:minmax(0,1fr)}.form-field.full{grid-column:auto}.form-field input,.form-field select,.form-field textarea{font-size:1rem}.form-grid{gap:1rem}}

/* Consistent article layout and slide gallery */
.article-content{max-width:72rem;margin:0 auto;min-width:0}
.article-content>p:first-child{margin-bottom:1.5rem}
.article-content h1{max-width:26ch}
.article-content h2{margin-top:2.25rem}
.slide-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:1.5rem 0 0}
.slide-gallery figure{margin:0;min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:.75rem;background:#fff}
.slide-gallery img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:.35rem;background:#f7f5f0}
.slide-gallery figcaption{font-size:.875rem;line-height:1.45;color:var(--muted);padding:.6rem .1rem .1rem;overflow-wrap:anywhere}
.source-note{padding:1rem 1.25rem;border-left:4px solid var(--blue);background:var(--surface-soft);margin:1.5rem 0;overflow-wrap:anywhere}
@media(max-width:900px){.slide-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.slide-gallery{grid-template-columns:minmax(0,1fr)}.article-content{overflow-wrap:anywhere}}


/* Founder profiles on About page */
.founder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}
.founder-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.founder-photo-placeholder{display:grid;place-items:center;min-height:15rem;aspect-ratio:4/3;background:linear-gradient(135deg,#e7eef6,#f4f7fa);border-bottom:1px solid var(--border);color:#425168;font-weight:700}
.founder-photo-placeholder span{display:grid;place-items:center;width:6rem;height:6rem;border:2px dashed #7890a8;border-radius:50%;font-size:.95rem}
.founder-info{padding:1.25rem}
.founder-role{margin:0 0 .35rem;color:var(--link);font-size:.9rem;font-weight:700}
.founder-info h3{margin:.15rem 0 .75rem;font-size:1.25rem}
.founder-bio{margin-bottom:0;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:900px){.founder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.founder-grid{grid-template-columns:minmax(0,1fr)}.founder-photo-placeholder{min-height:12rem}}


/* Homepage consultation call-to-action */
.cta-panel { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--border, #d6e0e8); border-radius: 1rem; background: var(--surface-soft, #f4f8fb); }
.cta-panel h2 { max-width: 18ch; }
.cta-panel .section-intro { max-width: 65ch; }
