@font-face { font-family:"DM Sans"; font-style:normal; font-weight:100 1000; font-display:swap; src:url("../assets/fonts/dm-sans-9pt-latin-wght-100-1000.woff2") format("woff2"); }
:root { --navy:#17364a; --pale:#eef3f5; --teal:#196b63; --ink:#23333d; --rule:#cbd8de; --font:"DM Sans","Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; font:400 18px/1.65 var(--font); color:var(--ink); background:#fff; }
h1,h2,h3,p,dl,dd { margin:0; }
h1,h2,h3 { font-weight:600; line-height:1.2; color:var(--navy); letter-spacing:-.025em; overflow-wrap:anywhere; }
h1 { font-size:clamp(36px,3.7vw,48px); max-width:610px; }
h2 { font-size:clamp(29px,2.8vw,36px); }
h3 { font-size:21px; }
strong { font-weight:600; }
p+p { margin-top:14px; }
a { color:var(--teal); text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
.wrap { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.section { padding-block:64px; }
.eyebrow { font-size:13px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; margin-bottom:14px; overflow-wrap:anywhere; }
.small { font-size:15px; line-height:1.6; }
.skip-link { position:absolute; top:8px; left:8px; padding:12px; background:white; z-index:5; transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.concept-notice { background:var(--pale); color:var(--navy); padding:12px 24px; text-align:center; font-size:14px; line-height:1.5; }
.header-inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px 32px; padding-block:22px; }
.wordmark { display:inline-flex; gap:12px; align-items:center; font-size:26px; line-height:1.1; font-weight:600; color:var(--navy); text-decoration:none; }
.wordmark svg { color:var(--teal); flex:none; }
.brand-sub { display:block; font-size:14px; font-weight:400; letter-spacing:.025em; margin-top:5px; }
nav { display:flex; flex-wrap:wrap; gap:8px 28px; }
nav a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; color:var(--navy); text-decoration:none; }
nav a:hover { text-decoration:underline; }
.hero { background:var(--pale); border-block:1px solid var(--rule); padding-block:54px 62px; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:56px; align-items:center; }
.hero .eyebrow { color:var(--teal); }
.lead { font-size:19px; margin-top:22px; max-width:580px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:18px; min-height:48px; padding:12px 20px; border-radius:6px; color:#fff; background:var(--teal); font-size:16px; line-height:1.5; font-weight:600; text-align:center; text-decoration:none; }
.button:hover { text-decoration:underline; }
.text-link { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.hero-note { border-top:1px solid var(--rule); padding-top:18px; margin-top:26px; font-size:15px; }
.workflow { border:1px solid #bdcdd4; border-radius:8px; background:#fff; padding:26px; min-width:0; }
.panel-label { font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:var(--teal); font-weight:600; }
.workflow h2 { font-size:23px; margin-top:10px; }
.workflow-header>p { font-size:15px; margin-top:10px; }
.workflow-list { list-style:none; margin:24px 0 0; padding:0; }
.workflow-list li { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 14px; border-top:1px solid var(--rule); padding-block:18px; }
.step-label { display:flex; align-items:center; justify-content:center; width:32px; height:32px; background:var(--pale); border-radius:5px; font-size:13px; font-weight:600; color:var(--navy); }
.workflow-list h3 { font-size:17px; line-height:1.5; }
.workflow-list p { font-size:15px; margin-top:4px; }
.process-tag { grid-column:2; justify-self:start; color:var(--teal); font-size:12px; font-weight:600; }
.workflow-note { border-top:1px solid var(--rule); padding-top:16px; font-size:13px; line-height:1.6; }
.section-intro { max-width:740px; }
.section-intro>p:last-child { margin-top:18px; }
.audience-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:80px; }
.scenario-list article { padding:22px 0; border-top:1px solid var(--rule); }
.scenario-list article:first-child { padding-top:0; border-top:0; }
.scenario-label { font-size:13px; color:var(--teal); font-weight:600; }
.scenario-list h3 { margin-block:8px 12px; }
.scenario-list p { font-size:17px; }
.scope { background:var(--pale); }
.scope-intro { margin-bottom:32px; }
.scope-layout { display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); gap:28px; align-items:start; }
.scope-sheet { border:1px solid var(--rule); border-radius:8px; background:#fff; }
.matrix-labels,.scope-matrix>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); gap:24px; padding:20px 24px; }
.matrix-labels { font-size:13px; font-weight:600; background:#e1eaee; color:var(--navy); border-radius:7px 7px 0 0; }
.scope-matrix>div { border-top:1px solid var(--rule); font-size:16px; }
.scope-matrix dt { font-weight:600; color:var(--navy); }
.scope-boundary { padding:24px; background:#fff; border:1px solid var(--rule); border-top:4px solid var(--teal); border-radius:6px; }
.boundary-label { color:var(--teal); font-size:13px; font-weight:600; }
.scope-boundary h3 { margin-top:10px; }
.scope-boundary ul { padding-left:19px; margin:20px 0; font-size:16px; }
.scope-boundary li+li { margin-top:12px; }
.scope-boundary p { font-size:15px; }
.handover-list { list-style:none; padding:0; margin:34px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.handover-list li { border-top:2px solid var(--rule); padding-top:22px; }
.handover-number { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:6px; background:var(--pale); color:var(--teal); font-size:17px; font-weight:600; }
.handover-list h3 { margin-block:18px 14px; }
.handover-list p { font-size:17px; }
.handover-note { margin-top:28px; padding:18px 22px; border-left:3px solid var(--teal); background:var(--pale); font-size:15px; }
.questions { border-top:1px solid var(--rule); }
.questions-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:80px; }
.question-list details { border-top:1px solid var(--rule); padding:18px 0; }
.question-list details:last-child { border-bottom:1px solid var(--rule); }
.question-list summary { cursor:pointer; min-height:44px; font-size:18px; line-height:1.5; font-weight:600; color:var(--navy); padding:8px 6px; }
.question-list details>p { padding:12px 6px 4px; font-size:17px; }
.conversation { color:#fff; background:var(--navy); }
.conversation h2 { color:#fff; }
.conversation-intro { max-width:800px; margin-bottom:30px; }
.conversation-intro>p:last-child { margin-top:18px; }
.contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
.contact-grid>section { min-width:0; background:#fff; color:var(--ink); padding:28px; border-radius:8px; }
.contact-grid h3 { margin-bottom:18px; }
.contact-grid p { font-size:16px; }
.contact-details { margin-block:22px; font-size:18px; }
.contact-details>div+div { margin-top:12px; }
.contact-details dt { font-size:13px; font-weight:600; }
.contact-details dd { overflow-wrap:anywhere; }
.hours>div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; padding-block:12px; border-bottom:1px solid var(--rule); font-size:16px; }
.hours dd { white-space:nowrap; }
.hours+.small { margin-top:16px; }
.demo-explanation { border-top:1px solid #7b99a8; margin-top:28px; padding-top:24px; font-size:16px; }
.site-footer { background:var(--navy); color:#fff; border-top:1px solid #7b99a8; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 28px; padding-block:22px; font-size:14px; }
.site-footer a { display:inline-flex; align-items:center; min-height:44px; color:#fff; }
.site-footer a:focus-visible { outline-color:#fff; }
@media(max-width:1023px) { .hero-grid { gap:32px; }.audience-layout,.questions-layout { gap:40px; }.scope-layout { grid-template-columns:minmax(0,1fr); }.scope-boundary { display:block; }.handover-list { gap:24px; } }
@media(max-width:767px) { .wrap { width:calc(100% - 32px); }.section { padding-block:40px; }.concept-notice { padding:12px 16px; text-align:left; font-size:15px; }.header-inner { padding-block:20px; gap:14px; }nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 24px; width:100%; }nav a { font-size:15px; }.hero { padding-block:32px 40px; }.hero-grid { grid-template-columns:minmax(0,1fr); gap:30px; }h1 { font-size:34px; }.lead { font-size:18px; margin-top:18px; }.hero-actions { gap:12px; margin-top:22px; }.workflow { padding:22px; }.workflow h2 { font-size:22px; }.audience-layout,.questions-layout { grid-template-columns:minmax(0,1fr); gap:28px; }.matrix-labels { display:none; }.scope-matrix>div { grid-template-columns:minmax(0,1fr); gap:10px; padding:20px; }.scope-sheet { border-top:3px solid var(--teal); }.scope-matrix>div:first-child { border-top:0; }.scope-boundary { padding:22px; }.handover-list { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:28px; }.handover-list li { padding-top:20px; }.handover-list h3 { margin-top:14px; }.question-list summary { font-size:17px; }.contact-grid { grid-template-columns:minmax(0,1fr); gap:20px; }.contact-grid>section { padding:22px; }.conversation-intro { margin-bottom:26px; }.footer-inner { font-size:15px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
