:root{--bg:#fbf6f6;--surface:#fff;--ink:#2a1417;--muted:#6b4a4f;--line:#ecd9db;--brand:#c8102e;--soft:#fde8ea;--accent:#f5b942;--deep:#8c0f22;--on-deep:#fff3f4;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1a0c0e;--surface:#2a1417;--ink:#fbeff0;--muted:#d3aeb3;--line:#4a2a2f;--brand:#ff6b7d;--soft:#3a1a20;--deep:#4a0a15;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#1a0c0e;--surface:#2a1417;--ink:#fbeff0;--muted:#d3aeb3;--line:#4a2a2f;--brand:#ff6b7d;--soft:#3a1a20;--deep:#4a0a15;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 "Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3{font-family:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;line-height:1.15;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.5rem);font-weight:700}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:700}
h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem}
.ic{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hero{background:var(--deep);color:var(--on-deep);padding:1.2rem 0 4.5rem;overflow:hidden}
.nav{display:flex;justify-content:space-between;align-items:center;padding-bottom:3rem;font-family:"Bricolage Grotesque",sans-serif;font-weight:700}
.nav a{color:var(--on-deep);text-decoration:none;font-weight:500;font-size:.95rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-size:1.45rem;letter-spacing:.14em;font-weight:700}.brand .mark{width:2.2rem;height:2.2rem;color:#fff}.brand.foot{color:var(--brand);margin-bottom:.6rem}.brand.foot .mark{color:var(--brand)}
.hero p.lead{font-size:1.2rem;color:#f6d3d7;max-width:34em}
.btn{display:inline-block;background:var(--accent);color:#2a1e00;font-weight:600;text-decoration:none;padding:.85rem 1.5rem;border-radius:999px;border:2px solid var(--accent)}
.btn.ghost{background:transparent;color:var(--on-deep);border-color:#e58a95;margin-left:.6rem}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.flow line,.flow path.fl{stroke:var(--accent);stroke-width:2;stroke-dasharray:6 7;fill:none;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-26}}
@media(prefers-reduced-motion:reduce){.flow line,.flow path.fl{animation:none}}
.band{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin-top:2.2rem;color:#f6d3d7;font-size:.98rem}
.band span{display:flex;align-items:center;gap:.5rem}
.band svg{width:1.1rem;height:1.1rem;color:var(--accent)}
section{padding:4.5rem 0}
.intro{max-width:44rem}
.intro .hmw{margin-top:1.6rem;padding:1.4rem 1.6rem;background:var(--soft);border-left:5px solid var(--accent);border-radius:0 14px 14px 0;font-family:"Bricolage Grotesque",sans-serif;font-size:1.2rem;font-weight:500}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2.5rem;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;top:2.1rem;left:8%;right:8%;border-top:2px dashed var(--line)}
.step{position:relative;text-align:center;padding:0 .3rem}
.step .dot{width:4.2rem;height:4.2rem;border-radius:50%;background:var(--surface);border:2px solid var(--brand);color:var(--brand);display:grid;place-items:center;margin:0 auto 1rem;position:relative}
.step .dot b{position:absolute;top:-.3rem;right:-.3rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent);color:#2a1e00;font:700 .8rem/1.5rem "Bricolage Grotesque",sans-serif}
.step p{font-size:.95rem;color:var(--muted);margin:0}
.sectors{background:var(--surface);border-block:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.pov{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:1.6rem;display:flex;flex-direction:column;gap:.9rem}
.pov .top{display:flex;align-items:center;gap:.8rem;color:var(--brand)}
.pov .top .ic{width:2.4rem;height:2.4rem;padding:.55rem;background:var(--soft);border-radius:12px}
.pov h3{margin:0;color:var(--ink)}
.pov dl{margin:0;display:grid;gap:.7rem}
.pov dt{font-weight:600;font-size:.9rem;color:var(--brand);margin-bottom:.1rem}
.pov dd{margin:0;font-size:1rem}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 1.75rem;margin-top:2.5rem}
.why div{display:flex;gap:1rem}
.why .ic{color:var(--brand);margin-top:.15rem}
.why p{margin:0;color:var(--muted);font-size:.98rem}
.why h3{margin:0 0 .3rem;font-size:1.05rem}
.cta{background:var(--deep);color:var(--on-deep);text-align:center;border-radius:28px;padding:3.5rem 1.5rem;margin:0 auto}
.cta p{color:#f6d3d7;max-width:36em;margin:0 auto 1.8rem}
footer{padding:2rem 0 3rem;color:var(--muted);font-size:.9rem;text-align:center}
@media(max-width:900px){.hero-grid,.grid,.why{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:1.6rem}.steps::before{display:none}.step{display:grid;grid-template-columns:4.2rem minmax(0,1fr);grid-template-areas:"dot title" ". description";text-align:left;column-gap:1rem;row-gap:.45rem;align-items:center;min-width:0}.step .dot{grid-area:dot;margin:0}.step h3{grid-area:title;margin:0;min-width:0}.step p{grid-area:description;min-width:0;align-self:start;overflow-wrap:anywhere}.btn.ghost{margin:.6rem 0 0}section{padding:3.2rem 0}}

/* Security hardening: styles formerly expressed as inline style attributes. */
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.section--flush-top{padding-top:0}
.section-lead{max-width:40rem;color:var(--muted)}
.section-lead--wide{max-width:42rem;color:var(--muted)}



/* Homepage footer legal links: force COLAINT red in every browser link state. */
#site-footer .footer-bottom {
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  text-align:center;
}
#site-footer .footer-legal {
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  column-gap:1.25rem;
  row-gap:.5rem;
  margin-top:.4rem;
}
#site-footer .footer-legal a,
#site-footer .footer-legal a:link,
#site-footer .footer-legal a:visited,
#site-footer .footer-legal a:hover,
#site-footer .footer-legal a:active {
  display:inline-block;
  padding-inline:.12rem;
  color:#c8102e !important;
  text-decoration:underline !important;
  text-decoration-color:#c8102e !important;
  text-underline-offset:3px;
  font-size:.9rem;
}
