
:root{--ink:#182532;--muted:#63707c;--line:#dde4e7;--soft:#f4f6f6;--paper:#fff;--navy:#173b50;--navy2:#0e2d40;--teal:#187c7a;--tealsoft:#e3f1f0;--blue:#316b9a;--orange:#c96b37;--purple:#6d5aa7;--green:#397c55;--red:#ad5547;--shadow:0 10px 28px rgba(18,38,54,.07);--shell:min(1160px,calc(100% - 48px));--section:clamp(72px,7vw,112px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.shell{width:var(--shell);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{height:70px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:18px;font-weight:800;letter-spacing:-.025em;text-decoration:none}.link-button,.text-button{border:0;background:none;padding:0;color:var(--ink);font-weight:750}.link-button:hover,.text-button:hover{color:var(--teal)}.hero{padding:72px 0 88px}.hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:64px;align-items:center}.eyebrow{margin:0 0 10px;color:var(--teal);font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.inverse{color:#8dd0c9}h1,h2,h3{letter-spacing:-.028em;line-height:1.12}h1{font-size:clamp(44px,4.7vw,64px);max-width:13ch;margin:0 0 24px}h2{font-size:clamp(30px,3.2vw,44px);margin:0 0 18px}h3{font-size:20px;margin:0 0 10px}.lead{font-size:20px;line-height:1.45}.hero-copy>p:not(.eyebrow):not(.lead){font-size:17px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:18px;padding:0 20px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-weight:750}.button:hover{background:var(--navy2)}.button.light{background:#fff;color:var(--navy)}.hero-photo{margin:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);height:360px}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.section{padding:var(--section) 0}.soft{background:var(--soft)}.section-heading{max-width:720px;margin-bottom:46px}.section-heading.compact{margin-bottom:34px}.section-heading>p:last-child{color:var(--muted);font-size:17px}.route-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.route-card{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}a.route-card:hover{transform:translateY(-2px)}.route-icon{width:50px;height:50px;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:22px}.route-label{display:block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}.route-card p{color:var(--muted)}.route-link{font-weight:760}.advisor .route-icon,.advisor .route-link{color:var(--blue)}.designer .route-icon,.designer .route-link{color:var(--orange)}.optimizer .route-icon,.optimizer .route-link{color:var(--purple)}.compliance .route-icon,.compliance .route-link{color:var(--green)}.operations .route-icon,.operations .route-link{color:var(--red)}.catchall{grid-column:1/-1;background:linear-gradient(90deg,#f9fcfc,#eef7f7);border-color:#cfe3e1;box-shadow:none;align-items:center}.catchall h3 span{font-weight:600}.catchall .text-button{color:var(--teal)}.know-grid{display:grid;grid-template-columns:.72fr 1fr 1.15fr;gap:44px}.signals{display:grid;gap:10px}.signals div{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;background:#fff;padding:11px 13px;border-radius:10px}.signals span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tealsoft);color:var(--teal);font-weight:800}.body-copy{color:var(--muted);font-size:17px}.body-copy p:first-child{margin-top:0}.quote-layout{display:grid;grid-template-columns:2px minmax(0,820px);gap:32px;justify-content:center}.v-rule{background:linear-gradient(var(--teal),rgba(24,124,122,.12))}.quote-layout p:not(.eyebrow){color:var(--muted);font-size:17px}.muted-link{color:var(--teal);font-weight:750}.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:76px}.big-icon{width:54px;height:54px;border:1.5px solid var(--teal);color:var(--teal);border-radius:14px;display:grid;place-items:center;font-size:25px;margin-bottom:20px}.principles{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.principles article{padding:22px 18px 12px;border-top:2px solid #cfdadd}.principles p{color:var(--muted);font-size:15px}.principles span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tealsoft);color:var(--teal);font-weight:800;margin-bottom:16px}.provider{padding-top:84px;padding-bottom:94px}.provider-grid{display:grid;grid-template-columns:1fr .7fr;gap:72px;align-items:center}.provider-grid p{color:var(--muted);font-size:17px}.provider-visual{min-height:180px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#f8fbfb,#edf4f4);display:flex;flex-direction:column;align-items:center;justify-content:center}.provider-visual span{font-size:72px;color:#718794}.provider-visual small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.question-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.question-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--tealsoft);color:var(--teal);font-weight:800;margin-bottom:18px}.question-grid p{color:var(--muted)}.closing{background:var(--navy);color:#fff;padding:92px 0 96px}.closing-grid{display:grid;grid-template-columns:1fr auto;gap:54px;align-items:end}.closing p:not(.eyebrow){color:rgba(255,255,255,.76);font-size:17px}.site-footer{background:var(--navy2);color:#fff;padding:48px 0}.footer-grid{display:grid;grid-template-columns:1fr 1.2fr auto;gap:48px}.footer-wordmark{color:#fff}.footer-grid p,.legal span{color:rgba(255,255,255,.65);font-size:13px}.legal{display:grid;gap:3px}.backdrop{position:fixed;inset:0;z-index:80;background:rgba(7,23,32,.34);backdrop-filter:blur(2px)}.intercom{position:fixed;z-index:90;top:18px;right:18px;bottom:18px;width:min(440px,calc(100% - 36px));padding:34px;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(8,28,39,.28);transform:translateX(calc(100% + 50px));transition:.22s;overflow:auto}.intercom.open{transform:translateX(0)}.close{position:absolute;right:18px;top:12px;border:0;background:none;color:var(--muted);font-size:30px}.intercom h2{font-size:32px;padding-right:28px}.intercom form,#step-q,#step-e{display:grid;gap:10px}.intercom label{font-size:13px;font-weight:760}.intercom textarea,.intercom input{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fbfcfc}.back-button{border:0;background:none;color:var(--muted);padding:6px 0;text-align:left}.prototype-note{font-size:12px;color:#8a949b}@media(max-width:980px){.hero-grid,.split,.provider-grid{grid-template-columns:1fr}.know-grid{grid-template-columns:1fr 1fr}.know-grid>div:first-child{grid-column:1/-1}.principles{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){:root{--shell:min(100% - 30px,1160px);--section:68px}.hero{padding-top:54px}h1{font-size:44px}h2{font-size:32px}.lead{font-size:18px}.route-grid,.question-grid,.know-grid,.footer-grid,.closing-grid{grid-template-columns:1fr}.catchall{grid-column:auto}.route-card{grid-template-columns:50px 1fr;padding:22px}.principles{grid-template-columns:1fr}.hero-photo{height:250px}}

/* v0.3 hierarchy/fidelity pass */
.hero{padding:0;background:#f5f7f7;overflow:hidden}.hero .shell{width:min(100%,1440px)}.hero-grid{min-height:540px;grid-template-columns:minmax(480px,.9fr) minmax(560px,1.1fr);gap:0}.hero-copy{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:72px clamp(44px,6vw,92px) 76px max(48px,calc((100vw - 1160px)/2));z-index:2}.hero-photo{align-self:stretch;min-height:540px;border-radius:0;box-shadow:none}.hero-photo img{min-height:540px;height:100%;object-fit:cover}
.route-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.route-card{grid-template-columns:1fr;gap:14px;padding:22px 18px}.route-card h3{font-size:18px}.route-card p{font-size:14px}.catchall{grid-column:1/-1;grid-template-columns:54px 1fr;padding:22px 26px}
.support-intermezzo{padding:58px 0 62px}.intermezzo-inner{max-width:980px;display:grid;grid-template-columns:.62fr 1.38fr;gap:54px}.intermezzo-inner h2{font-size:30px}.support-section{padding:58px 0 64px}.quote-layout{max-width:900px}.quote-layout h2{font-size:32px}.quote-layout>div:last-child p:not(.eyebrow){font-size:16px}.support-pair{display:grid;grid-template-columns:1fr 1fr;gap:56px}.support-card+ .support-card{border-left:1px solid var(--line);padding-left:56px}.support-card h2{font-size:29px;max-width:18ch}.support-card>p:not(.eyebrow){color:var(--muted);font-size:15.5px}.principles h3{min-height:2.24em}
@media(max-width:1100px){.route-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.route-grid{grid-template-columns:repeat(2,1fr)}.support-pair,.intermezzo-inner{grid-template-columns:1fr}.support-card+.support-card{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:34px}}


/* ===== v0.4: visual fidelity pass, preserving v0.3 flow ===== */

/* Hero: one composition, not a text column next to a photograph.
   The photograph occupies the hero; a soft light field on the left creates
   reading space without turning it into a separate card/column. */
.hero{
  position:relative;
  min-height:590px;
  padding:0;
  overflow:hidden;
  background:#e9eeee;
}
.hero .shell{
  width:100%;
  max-width:none;
}
.hero-grid{
  position:relative;
  display:block;
  min-height:590px;
}
.hero-photo{
  position:absolute;
  inset:0;
  margin:0;
  min-height:590px;
  border-radius:0;
  box-shadow:none;
  background:#dfe7e8;
}
.hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(249,250,250,.98) 0%,
      rgba(249,250,250,.97) 24%,
      rgba(249,250,250,.90) 37%,
      rgba(249,250,250,.54) 50%,
      rgba(249,250,250,.10) 66%,
      rgba(249,250,250,0) 78%);
  pointer-events:none;
}
.hero-photo img{
  width:100%;
  height:590px;
  min-height:590px;
  object-fit:cover;
  object-position:center 48%;
}
.hero-copy{
  position:relative;
  z-index:2;
  width:min(1160px,calc(100% - 48px));
  min-height:590px;
  margin:0 auto;
  padding:82px 0 78px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  background:none;
}
.hero-copy > *{
  width:min(570px,48vw);
}
.hero h1{
  max-width:12.5ch;
  font-size:clamp(48px,4.6vw,68px);
  margin-bottom:24px;
}
.hero .lead{
  max-width:560px;
}

/* Five entrances: preserve the pleasant five-column family from v0.3,
   but make their internal rhythm deterministic instead of content-driven. */
.route-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.proposition-card{
  display:grid;
  grid-template-rows:54px 22px minmax(4.7em,auto) 1fr auto;
  align-content:start;
  gap:12px;
  padding:22px 18px;
}
.proposition-card .route-icon{
  align-self:start;
}
.proposition-card .route-label{
  margin:0;
  align-self:end;
}
.proposition-card h3{
  margin:0;
  align-self:start;
}
.proposition-card p{
  margin:0;
  align-self:start;
}
.proposition-card .route-link{
  margin-top:8px;
  align-self:end;
}
.catchall{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:54px 1fr;
  grid-template-rows:auto;
  gap:20px;
}

/* How we work: retain v0.3 exactly in spirit, with body-copy baselines aligned. */
.principles h3{
  min-height:2.24em;
}

/* Do not let legacy v0.3 hero media rules recreate the split-column hero. */
@media(max-width:1100px){
  .hero-grid{display:block}
  .hero-copy{
    width:min(100% - 48px,1160px);
    padding-left:0;
  }
  .route-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:980px){
  .hero-grid{display:block}
  .hero-copy{min-height:560px}
  .hero-photo,.hero-photo img{min-height:560px;height:560px}
  .hero-photo::after{
    background:linear-gradient(90deg,
      rgba(249,250,250,.98) 0%,
      rgba(249,250,250,.95) 38%,
      rgba(249,250,250,.60) 58%,
      rgba(249,250,250,.10) 78%);
  }
  .route-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .hero{min-height:auto}
  .hero-grid{display:grid;grid-template-columns:1fr;min-height:auto}
  .hero-photo{
    position:relative;
    inset:auto;
    order:2;
    min-height:280px;
  }
  .hero-photo::after{display:none}
  .hero-photo img{height:280px;min-height:280px}
  .hero-copy{
    order:1;
    width:min(100% - 30px,1160px);
    min-height:auto;
    padding:54px 0 48px;
  }
  .hero-copy > *{width:100%}
  .hero h1{font-size:44px}
  .route-grid{grid-template-columns:1fr}
  .proposition-card{
    grid-template-rows:48px auto auto auto auto;
  }
}

/* Braced Ring v3 identity */
:root{--brand-ring-a:#187c7a;--brand-ring-b:#69b4b0}
.wordmark{display:inline-flex;align-items:center;gap:10px;color:inherit}
.brand-ring{width:31px;height:31px;flex:0 0 31px;overflow:visible}
.brand-ring .ring-a{stroke:var(--brand-ring-a)}
.brand-ring .ring-b{stroke:var(--brand-ring-b)}
.brand-ring .ring-outer,.brand-ring .ring-inner{stroke-width:3.1}
.brand-ring .ring-middle{stroke-width:2.15}
.brand-name{font-size:14px;font-weight:800;letter-spacing:.12em;line-height:1;white-space:nowrap;color:var(--ink)}
.site-footer .brand-name{color:inherit}
.site-footer .brand-ring{--brand-ring-a:#fff;--brand-ring-b:rgba(255,255,255,.62)}
.intercom-address,.form-status{font-size:13px;color:var(--muted)}
.intercom-address a,.form-status a{color:var(--teal);font-weight:750}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.intercom button[disabled]{opacity:.55;cursor:wait}
@media(max-width:520px){.brand-name{font-size:12px;letter-spacing:.09em}.brand-ring{width:29px;height:29px;flex-basis:29px}}
.question-grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.question-grid a:hover{transform:translateY(-2px);border-color:#bfd8d6;box-shadow:var(--shadow)}.question-grid a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--tealsoft);color:var(--teal);font-weight:800;margin-bottom:18px}.question-grid a>strong{color:var(--teal);font-size:14px}


/* ===== v0.5: build from approved visual rendering ===== */

.hero-v05{
  position:relative;
  min-height:610px;
  overflow:hidden;
  background:#f7f9f9;
  padding:0;
}
.hero-photo-v05{
  position:absolute;
  inset:0;
  background-image:url("hero-wide.jpg");
  background-size:cover;
  background-position:center 46%;
  filter:saturate(.88) contrast(.98);
}
.hero-fade-v05{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(250,251,251,1) 0%,
      rgba(250,251,251,.99) 22%,
      rgba(250,251,251,.94) 34%,
      rgba(250,251,251,.70) 46%,
      rgba(250,251,251,.26) 61%,
      rgba(250,251,251,0) 75%);
}
.hero-inner-v05{
  position:relative;
  z-index:2;
  min-height:610px;
  display:flex;
  align-items:center;
}
.hero-copy-v05{
  width:min(560px,46vw);
  padding:74px 0 118px;
}
.hero-copy-v05 h1{
  margin:0 0 24px;
  max-width:12ch;
  font-size:clamp(46px,4.4vw,66px);
  line-height:1.06;
}
.hero-copy-v05 .lead{
  max-width:545px;
  margin-bottom:18px;
  font-size:18px;
  line-height:1.48;
}
.hero-copy-v05 > p:last-child{
  max-width:540px;
  color:var(--muted);
  font-size:16px;
}

/* Route cards visually begin in the hero's lower field, like the rendering. */
.routes-v05{
  position:relative;
  z-index:3;
  margin-top:-86px;
  padding-top:0;
}
.routes-v05 .section-heading{
  margin:0 auto 34px;
  max-width:760px;
  text-align:center;
}
.routes-v05 .section-heading .eyebrow{
  display:none;
}
.routes-v05 .section-heading h2{
  font-size:30px;
  margin-bottom:10px;
}
.routes-v05 .section-heading p{
  font-size:16px;
}

/* Strong five-card family, deterministic vertical rhythm. */
.route-grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px;
  align-items:stretch;
}
.proposition-card{
  min-height:338px;
  display:grid !important;
  grid-template-rows:54px 22px 56px 1fr auto !important;
  gap:11px;
  padding:24px 18px 18px;
  background:rgba(255,255,255,.98);
  border-radius:18px;
  box-shadow:0 10px 26px rgba(16,38,54,.08);
  overflow:visible;
}
.proposition-card .route-icon{
  width:48px;
  height:48px;
}
.proposition-card .route-label{
  margin:0;
  align-self:end;
  font-size:11px;
}
.proposition-card h3{
  margin:0;
  min-height:0 !important;
  font-size:17px;
  line-height:1.15;
}
.proposition-card p{
  margin:0;
  font-size:13.5px;
  line-height:1.46;
}
.proposition-card .route-link{
  margin-top:6px;
  align-self:end;
}
.catchall{
  margin-top:2px;
  grid-column:1/-1;
  min-height:106px;
  display:grid;
  grid-template-columns:56px 1fr auto;
  align-items:center;
  gap:22px;
  padding:20px 28px;
  border-radius:16px;
  background:linear-gradient(90deg,#f3fafa,#edf5f5);
  overflow:visible;
}
.catchall .route-icon{
  width:50px;
  height:50px;
}
.catchall h3{
  margin-bottom:6px;
  font-size:18px;
}
.catchall p{
  margin:0;
  font-size:14px;
}
.catchall .plain-trigger{
  justify-self:end;
  padding:10px 14px;
  border-radius:8px;
  background:var(--navy);
  color:#fff;
  white-space:nowrap;
}

/* Keep the compact supporting hierarchy from v0.3/v0.4. */
.support-intermezzo{padding-top:54px}
.support-section{padding-top:54px;padding-bottom:58px}

/* Header: quiet and confident. */
.site-header{
  box-shadow:none;
}
.header-inner{
  height:68px;
}
.wordmark{
  font-size:17px;
}
.intercom-trigger.small{
  padding:8px 10px;
}

/* Desktop-only review target. */
@media(max-width:1100px){
  .route-grid{grid-template-columns:repeat(3,1fr)!important}
  .hero-copy-v05{width:min(540px,52vw)}
  .catchall{grid-template-columns:56px 1fr}
  .catchall .plain-trigger{grid-column:2;justify-self:start}
}
@media(max-width:760px){
  .hero-v05{min-height:auto}
  .hero-photo-v05{
    position:relative;
    height:280px;
    background-position:center;
  }
  .hero-fade-v05{display:none}
  .hero-inner-v05{min-height:auto}
  .hero-copy-v05{
    width:100%;
    padding:52px 0 42px;
  }
  .hero-copy-v05 h1{font-size:44px}
  .routes-v05{margin-top:0;padding-top:56px}
  .route-grid{grid-template-columns:1fr!important}
  .proposition-card{
    min-height:auto;
    grid-template-rows:48px auto auto auto auto!important;
  }
}

/* ===== v0.6: subtraction + integrated hero/cards ===== */
.hero-inner-v05{
  width:min(1160px,calc(100% - 64px));
  max-width:1160px;
  margin:0 auto;
  padding-left:0;
  padding-right:0;
}
.hero-v05::after{
  content:"";
  position:absolute;
  z-index:1;
  left:0; right:0; bottom:0;
  height:165px;
  background:linear-gradient(180deg,
    rgba(248,250,250,0) 0%,
    rgba(248,250,250,.28) 32%,
    rgba(248,250,250,.76) 70%,
    rgba(248,250,250,1) 100%);
  pointer-events:none;
}
.routes-v06{
  position:relative;
  z-index:3;
  margin-top:-118px;
  padding-top:0;
  background:transparent;
}
.routes-v06 > .shell{position:relative;z-index:4}
.route-grid{margin-top:0}
.catchall{margin-top:16px}
.proposition-card .route-label{letter-spacing:.11em;opacity:.88}
@media(max-width:1224px){
  .hero-inner-v05{width:calc(100% - 48px)}
}
@media(max-width:760px){
  .hero-inner-v05{width:calc(100% - 30px)}
  .hero-v05::after{display:none}
  .routes-v06{margin-top:0;padding-top:50px}
}


/* ===== v0.6.1: hero gutter correction ===== */
.hero-inner-v05{
  box-sizing:border-box;
  width:min(1224px,100%);
  max-width:1224px;
  margin-inline:auto;
  padding-left:32px !important;
  padding-right:32px !important;
}
@media(max-width:760px){
  .hero-inner-v05{
    width:100%;
    padding-left:22px !important;
    padding-right:22px !important;
  }
}

/* The gear glyph is optically denser than the other proposition symbols. */
.operations .route-icon{font-size:18px}

/* Corporate header navigation shared with the Library. */
.header-actions{display:flex;align-items:center;gap:24px}
.header-link{color:var(--muted);font-size:14px;font-weight:750;text-decoration:none}
.header-link:hover,.header-link[aria-current="page"]{color:var(--teal)}
@media(max-width:760px){.header-actions{gap:14px}.header-link{font-size:13px}}
@media(max-width:520px){.header-actions{gap:11px}.header-link{font-size:12px}}
