@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/e8d29714-1bbe-4014-bd3d-8aab99f14cda.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/43008bc8-a1ca-45fa-8d75-2307a8648218.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/ec3e3b29-4335-4e38-9870-80278466a236.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/62019140-a4de-42e7-9f70-d457fbeeda78.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/50dc8f3b-91c0-40ed-82d6-dbb8773add8d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/0aed4d31-aaf7-4dee-8025-91400c60e13e.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/62019140-a4de-42e7-9f70-d457fbeeda78.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/50dc8f3b-91c0-40ed-82d6-dbb8773add8d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/0aed4d31-aaf7-4dee-8025-91400c60e13e.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/62019140-a4de-42e7-9f70-d457fbeeda78.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/50dc8f3b-91c0-40ed-82d6-dbb8773add8d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/0aed4d31-aaf7-4dee-8025-91400c60e13e.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/06d33b8e-dd86-4d22-b76d-be2623dca314.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/6930eaa9-6ec9-4c54-ba7f-01bf14a61d7e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/a9f3360d-9414-4e0f-bb55-288b94d9bc6a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/06d33b8e-dd86-4d22-b76d-be2623dca314.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/6930eaa9-6ec9-4c54-ba7f-01bf14a61d7e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/a9f3360d-9414-4e0f-bb55-288b94d9bc6a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/06d33b8e-dd86-4d22-b76d-be2623dca314.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/6930eaa9-6ec9-4c54-ba7f-01bf14a61d7e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/a9f3360d-9414-4e0f-bb55-288b94d9bc6a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/06d33b8e-dd86-4d22-b76d-be2623dca314.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/6930eaa9-6ec9-4c54-ba7f-01bf14a61d7e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/a9f3360d-9414-4e0f-bb55-288b94d9bc6a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:#221d4f;background:#fff;font:16px/1.65 'Public Sans',system-ui,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select{accent-color:#4c67bf}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4c67bf;outline-offset:4px}header,footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5%;border-bottom:1px solid #e0dfec}.brand{font-weight:850;font-size:28px;text-decoration:none;letter-spacing:-1px}.brand span{display:block;font-weight:400;font-size:10px;letter-spacing:.02em}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:14px}main>section{padding:88px max(5%,calc((100vw - 1240px)/2))}.hero{background:#f6f7fb;padding-top:78px}.eyebrow{font:600 11px/1.6 ui-monospace,monospace;letter-spacing:.14em;color:#4c67bf;margin-bottom:20px}h1{font-size:clamp(48px,6.6vw,92px);line-height:1.03;letter-spacing:-.065em;margin:20px 0 36px;font-weight:650}h1 em{font-style:normal;color:#4c67bf}h2{font-size:clamp(30px,3.4vw,46px);line-height:1.15;letter-spacing:-.045em;margin:0 0 26px}.hero-bottom{display:grid;grid-template-columns:1.7fr 1fr;gap:80px}.lead{font-size:19px;max-width:650px;color:#4a4772}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button,.secondary{display:inline-block;padding:14px 20px;text-decoration:none;font-size:14px;font-weight:650;border-radius:5px;border:1px solid #d2d0e3;background:white;color:#221d4f;text-align:center}.button{background:#4c67bf;border-color:#4c67bf;color:#fff}.small{padding:10px 15px}.muted{font-size:12px;color:#56537c}.hero-number{border-left:1px solid #d2d0e3;align-self:center;padding-left:45px}.hero-number b{display:block;font:56px ui-monospace,monospace;letter-spacing:-4px}.hero-number span{font-size:13px;color:#56537c}.trust{display:flex;justify-content:center;gap:65px;padding:23px 5%;background:#221d4f;color:#e0dfec;font-size:12px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.section-head p{color:#56537c}.chart-card{border:1px solid #e0dfec;border-radius:10px;overflow:hidden;margin-top:25px}.chart-toolbar{padding:20px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;background:#f6f7fb}.curve{border:0;background:transparent;padding:10px 12px;font-size:13px;border-radius:4px;color:#4a4772}.curve.active{background:#221d4f;color:#fff}.chart-toolbar label{font-size:12px}.chart-toolbar select{padding:7px}svg{display:block;width:100%;height:auto}.chart-caption{display:flex;gap:25px;padding:20px;border-top:1px solid #e0dfec;font-size:12px;color:#56537c}.chart-caption strong{color:#221d4f;min-width:240px}#deliverables{background:#f6f7fb}.deliverables{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e0dfec;border:1px solid #e0dfec;margin:35px 0}.deliverable{padding:28px;background:#fff}.deliverable b{font:14px monospace;color:#4c67bf}.deliverable p{font-size:14px;color:#4a4772}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}caption{text-align:left;font-weight:bold;margin:16px 0}td,th{padding:16px;border-bottom:1px solid #d2d0e3}td:last-child,thead th:last-child{background:#eef0fa;color:#3d4f9a}.quote-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;margin-top:40px}fieldset{border:0;border-top:1px solid #e0dfec;margin:0 0 28px;padding:20px 0}legend{font-weight:bold;padding:0 15px 0 0;font-size:15px}.choice{display:flex;align-items:center;gap:12px;padding:18px 14px;margin-bottom:10px;border:1px solid #d2d0e3;border-radius:5px;font-size:13px}.choice:has(input:checked){border-color:#4c67bf;background:#eef0fa}.choice span{flex:1}.choice small{display:block;color:#56537c;font-size:11px;margin-top:5px}.choice b{white-space:nowrap;font-family:monospace}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{font-size:12px;font-weight:600}.fields input,.fields select{display:block;width:100%;min-width:0;padding:11px;margin-top:7px;border:1px solid #d2d0e3;border-radius:4px;background:#fff;font-size:14px}.wide{grid-column:1/-1}.milestone{display:block;margin-top:22px;font-size:13px}.quote-preview{position:sticky;top:20px;background:#221d4f;color:#fff;border-radius:9px;padding:30px}.quote-preview .eyebrow{color:#93c5fd}.mono{font:10px monospace;color:#94a3b8;overflow-wrap:anywhere;margin-bottom:20px}.line-item,.total{display:flex;justify-content:space-between;gap:15px;margin:13px 0;font-size:13px}.total{border-top:1px solid #4a4772;padding-top:22px;align-items:center}.total strong{font:36px monospace}#invoices{font-size:12px;color:#d2d0e3}#feasibility{padding:15px;background:#14362f;border-left:3px solid #34d399;margin-top:24px;font-size:12px}#feasibility.amber{background:#3d3020;border-color:#fbbf24}#feasibility p{margin:8px 0}.notice{font-size:12px;color:#d2d0e3}.quote-preview .button,.quote-preview .secondary{display:block;width:100%;margin:12px 0}.quote-preview .muted{color:#94a3b8}.text-button{border:0;background:none;color:#bfdbfe;text-decoration:underline;font-size:12px;padding:6px}hr{border:0;border-top:1px solid #4a4772;margin:22px 0}#action-status{font-size:12px}footer{background:#f6f7fb;font-size:12px}dialog{max-width:720px;width:90%;border:1px solid #d2d0e3;border-radius:12px;padding:35px}dialog::backdrop{background:#221d4f99}#close-sample{float:right;margin-bottom:20px}dialog .eyebrow{clear:both;padding-top:20px}@media(max-width:850px){nav>a:not(.button){display:none}.hero-bottom,.section-head,.quote-layout{grid-template-columns:1fr;gap:25px}.hero-number{display:none}.trust{gap:20px;flex-wrap:wrap}.deliverables{grid-template-columns:1fr 1fr}.quote-preview{position:static}main>section{padding:55px 6%}.chart-caption{flex-direction:column;gap:10px}footer{flex-wrap:wrap}}@media(max-width:500px){.fields,.deliverables{grid-template-columns:1fr}.choice{flex-wrap:wrap}.choice b{margin-left:26px}.brand span{max-width:150px}.chart-toolbar{padding:10px}.curve{padding:8px;font-size:11px}.hero h1{font-size:49px}.quote-preview{padding:23px}.trust{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* DASS site chrome and shared visual language. */
body{background:#f6f7fb;color:#2c2957}
h1,h2{font-family:'Newsreader',Georgia,serif;font-weight:500;letter-spacing:-.02em}
h1{font-size:clamp(44px,5.5vw,74px);line-height:1.08}h1 em{color:#3d4f9a}
a{color:#4c67bf;text-underline-offset:3px}a:hover{color:#322b6c}
.button{background:#322b6c;border-color:#322b6c;color:#fff;border-radius:999px}.button:hover{background:#453c8a;color:#fff}
.secondary{border-radius:999px;color:#3b3862;border-color:#cbc8df}.secondary:hover{background:#eef0fa}
.hero,.chart-toolbar,#deliverables,footer{background:#f6f7fb}.chart-card,.quote-preview,dialog{border-radius:18px}
.chart-card,.deliverable{background:#fff}.trust{background:#ecebf5;color:#3b3862;border-block:1px solid #dcd9ec}
.quote-preview{background:#fff;color:#2c2957;border:1px solid #d8d5e7;box-shadow:0 12px 36px #322b6c08}
.quote-preview .eyebrow{color:#4c67bf}.quote-preview .muted,.mono,#invoices,.notice{color:#56537c}.total,hr{border-color:#dedbe9}.total strong{font-size:27px}
#feasibility{background:#edf6f0;color:#25513a;border-color:#4a8060}#feasibility.amber{background:#fff5df;color:#684b13;border-color:#b88b32}
.text-button{color:#4c67bf}.fields input,.fields select,.choice{border-radius:11px}.choice:has(input:checked){background:#eef0fa;border-color:#4c67bf}
header.site-header{display:block;padding:0;position:sticky;top:0;z-index:50;background:#fffffff2;backdrop-filter:blur(14px);border-bottom:1px solid #dcd9e9}
.site-nav{max-width:1260px;margin:auto;padding:16px 28px;display:flex;justify-content:space-between;gap:22px}.site-logo img{height:48px;width:auto;display:block}.site-links{display:flex;gap:23px;align-items:center}.site-links a{font-size:14px;color:#4a4772;text-decoration:none}.site-links a:hover{color:#322b6c;text-decoration:underline}.site-nav .button{font-size:13px;white-space:nowrap}.menu-toggle{display:none;background:#fff;color:#322b6c;border:1px solid #cbc8df;border-radius:9px;padding:7px 12px}.mobile-links{padding:12px 28px 22px;display:flex;flex-direction:column;gap:14px}.mobile-links[hidden]{display:none}.mobile-links a{text-decoration:none;color:#3b3862}
.page-links{display:flex;gap:22px;flex-wrap:wrap;padding:20px max(5%,calc((100vw - 1240px)/2));border-bottom:1px solid #e0dfec;font-size:13px;background:#fff}.page-links a{text-decoration:none}
.site-footer{padding:35px max(5%,calc((100vw - 1240px)/2));border-top:1px solid #dcd9e9;display:flex;flex-wrap:wrap;gap:25px;color:#56537c}.site-footer img{height:40px;width:auto}.site-footer a{color:#4a4772}.site-footer .footer-links{display:flex;gap:22px;flex-wrap:wrap}
.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:20px;top:15px;z-index:100;background:#fff;padding:12px}
@media(max-width:1150px){.site-links{display:none}.menu-toggle{display:block}.site-nav{gap:15px}.site-nav .button{margin-left:auto}nav>a:not(.button){display:initial}}
@media(max-width:500px){.site-nav{padding:14px 18px;gap:10px}.site-logo img{height:38px}.site-nav .button{font-size:11px;padding:10px 12px}.page-links{gap:16px}.hero h1{font-size:45px}}
