/* These six document pages share spacing and color, while each diagram follows its own business flow. */
.dw { --dw-ink:#203b56; --dw-blue:#326eae; --dw-pale:#eef6ff; --dw-border:#d7e5f2; color:var(--dw-ink); }
.dw .fi-kicker { color:var(--dw-blue); }
.dw h1,.dw h2,.dw h3 { color:#1d3d5d; }
.dw h3 { font-size:clamp(21px,2vw,27px); }
.dw p { line-height:1.9; }
.dw-section { padding:100px 0; }
.dw-section h2 { margin:12px 0 20px; }
.dw-section p { color:#536d84; }
.dw-lead { max-width:780px; margin-bottom:36px !important; }
.dw-note { font-size:13px !important; color:#6c8092 !important; }
.dw .fi-text-link { color:#256baf !important; }
.dw .fi-button { max-width:100%; }
.dw .fi-agreement__hero,.dw .fi-notes__hero,.dw .fi-description__hero,.dw .fi-customize__hero,.dw .fi-storage__hero,.dw .fi-apply__hero { background:linear-gradient(135deg,#f8fbff,#e7f2ff); }
.dw .fi-agreement__hero h1,.dw .fi-notes__hero h1,.dw .fi-storage__hero h1,.dw .fi-apply__hero h1 { font-size:clamp(36px,3.1vw,44px); }
.dw .fi-agreement__hero img,.dw .fi-notes__hero img,.dw .fi-storage__hero img,.dw .fi-apply__hero img { border-radius:20px; box-shadow:0 18px 48px #254e7920; }
.dw .fi-description__hero,.dw .fi-customize__hero { padding-bottom:70px; }
.dw .fi-description__hero img,.dw .fi-customize__hero img { width:min(930px,100%); margin-top:34px; border-radius:20px; box-shadow:0 22px 50px #254e7921; }
.dw .fi-description__hero p:not(.fi-kicker),.dw .fi-customize__hero p:not(.fi-kicker) { color:#536d84; }
.dw .fi-agreement__hero p:not(.fi-kicker),.dw .fi-notes__hero p:not(.fi-kicker),.dw .fi-storage__hero p:not(.fi-kicker),.dw .fi-apply__hero p:not(.fi-kicker) { color:#536d84; }
.dw-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:30px 0; }
.dw-card-grid article { padding:32px; border:1px solid var(--dw-border); border-radius:18px; background:#fff; box-shadow:0 14px 30px #224f7610; }
.dw-card-grid small { color:#3978b5; font-weight:800; }
.dw-card-grid h3 { margin:12px 0; }
/* Agreement: data sources converge on one document, then branch to human review. */
.dw-agreement__flow { background:#fff; }
.dw-agreement__pipeline { display:grid; grid-template-columns:1fr auto 1.1fr auto 1fr; gap:16px; align-items:center; margin:36px 0 15px; }
.dw-agreement__pipeline>b { color:#68a0cf; font-size:32px; text-align:center; }
.dw-agreement__sources,.dw-agreement__review { display:grid; gap:10px; }
.dw-agreement__sources span,.dw-agreement__review span { display:block; padding:14px 16px; border:1px solid var(--dw-border); border-radius:10px; background:#f5faff; color:#3c627f; font-weight:700; }
.dw-agreement__document { position:relative; display:flex; flex-direction:column; min-height:220px; padding:27px; border:2px solid #6a9ed0; border-radius:15px; background:#fff; box-shadow:0 16px 30px #235a8d19; }
.dw-agreement__document small { width:max-content; padding:4px 10px; border-radius:5px; background:#dcecff; color:#276ca9; font-weight:800; }
.dw-agreement__document strong { margin:15px 0 24px; font-size:21px; }
.dw-agreement__document i { display:block; height:6px; margin:0 0 10px; border-radius:4px; background:#d8e6f5; }
.dw-agreement__document i:last-child { width:70%; }
.dw-agreement__review strong { display:block; padding:13px 16px; border-radius:10px; background:#2269a7; color:#fff; text-align:center; }
.dw-agreement__formats { background:#f3f8fe; }
.dw-agreement__formats .container,.dw-agreement__finish .container { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.dw-agreement__formats p { margin-bottom:16px; }
.dw-agreement__matrix { display:grid; gap:10px; padding:22px; border-radius:18px; background:#dfeefd; }
.dw-agreement__matrix>div { display:grid; grid-template-columns:90px repeat(3,1fr); gap:6px; align-items:center; }
.dw-agreement__matrix b,.dw-agreement__matrix span { min-height:58px; display:grid; place-items:center; padding:8px; border-radius:8px; background:#fff; text-align:center; font-size:13px; }
.dw-agreement__matrix b { background:#3678b6; color:#fff; }
.dw-agreement__choice { background:#fff; }
.dw-agreement__finish { background:#e9f4fc; }
.dw-agreement__finish p { margin:0 0 18px; }
.dw-agreement__finish-art { display:grid; justify-items:center; gap:10px; padding:35px; border:1px solid #bcd7ed; border-radius:20px; background:#fff; }
.dw-agreement__finish-art span,.dw-agreement__finish-art strong { width:100%; padding:15px; border-radius:9px; background:#edf5fc; text-align:center; }
.dw-agreement__finish-art strong { background:#3678b6; color:#fff; }
.dw-agreement__finish-art i { color:#5c96c6; font-size:21px; font-style:normal; }
/* Important matters: stacked layers keep property facts distinct from contract data. */
.dw-description__layers { background:#fff; }
.dw-description__diagram { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 1.2fr; gap:12px; align-items:stretch; }
.dw-description__diagram>div { display:grid; align-content:start; gap:12px; padding:24px; border:1px solid #cbdff0; border-radius:16px; background:#f6faff; }
.dw-description__diagram>div:nth-child(2) { background:#edf5ff; }
.dw-description__diagram>div:nth-child(3) { background:#e3f0fc; }
.dw-description__diagram b { color:#236ba8; font-size:20px; }
.dw-description__diagram span { padding:9px 11px; border-radius:7px; background:#fff; color:#52708a; font-size:13px; }
.dw-description__diagram>strong { display:grid; place-items:center; padding:26px; border-radius:16px; background:#276da9; color:#fff; text-align:center; font-size:23px; }
.dw-description__diagram small { font-size:13px; font-weight:600; }
.dw-description__review { background:#edf6ff; }
.dw-description__review .container { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.dw-description__review p { margin-bottom:17px; }
.dw-description__checklist { display:grid; gap:11px; padding:30px; border-radius:18px; background:#fff; box-shadow:0 17px 35px #255a8315; }
.dw-description__checklist strong { color:#286ca5; font-size:20px; }
.dw-description__checklist span { padding:12px 13px 12px 36px; border-radius:8px; background:#f1f7fd; color:#4b6980; position:relative; }
.dw-description__checklist span:before { content:"✓"; position:absolute; left:14px; color:#2b80b4; font-weight:900; }
.dw-description__template { background:#fff; }
.dw-description__template-steps { display:flex; align-items:center; gap:12px; margin:30px 0; }
.dw-description__template-steps span { flex:1; padding:18px; border:1px solid #c8dfee; border-radius:10px; background:#f4faff; text-align:center; font-weight:800; }
.dw-description__template-steps b { color:#6b9fcc; }
.dw-description__template p { max-width:900px; margin-bottom:20px; }
/* Other contract documents: a three-document portfolio has its own hierarchy. */
.dw-notes__portfolio { background:#fff; }
.dw-notes__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:38px; }
.dw-notes__cards article { display:flex; flex-direction:column; min-height:330px; padding:28px; border:1px solid #d7e5f1; border-top:5px solid #3c82bc; border-radius:14px; background:#f8fbff; }
.dw-notes__cards article:nth-child(2) { border-top-color:#6c95bc; }
.dw-notes__cards article:nth-child(3) { border-top-color:#7fb1c6; }
.dw-notes__cards span { color:#3b7ab3; font-size:12px; font-weight:800; }
.dw-notes__cards h3 { margin:18px 0; }
.dw-notes__cards p { flex:1; }
.dw-notes__cards small { display:block; margin-top:18px; color:#3372aa; font-weight:800; }
.dw-notes__map { background:#eef6fe; }
.dw-notes__map .container { display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; align-items:center; }
.dw-notes__map-art { display:grid; gap:10px; padding:22px; border-radius:17px; background:#dfeefb; }
.dw-notes__map-art strong { padding:19px; border-radius:9px; background:#276fa9; color:#fff; text-align:center; }
.dw-notes__map-art span { padding:14px; border-radius:9px; background:#fff; color:#466986; font-weight:700; }
.dw-notes__close { background:#fff; }
.dw-notes__close .container { width:100%; max-width:870px; text-align:center; }
.dw-notes__close p { margin-bottom:26px; }
.dw-notes__close .fi-actions { justify-content:center; }
/* Customize: self-service and commissioned work must be visually unmistakable. */
.dw-customize__split { background:#fff; }
.dw-customize__options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:34px; }
.dw-customize__options article { display:flex; flex-direction:column; padding:34px; border:1px solid #cbdfee; border-radius:18px; background:#f1f8ff; }
.dw-customize__options article:nth-child(2) { background:#eaf3ff; }
.dw-customize__options small { width:max-content; padding:5px 12px; border-radius:20px; background:#d6eaff; color:#2b70ac; font-weight:900; }
.dw-customize__options h3 { margin:17px 0; }
.dw-customize__options ul { margin:20px 0; padding-left:22px; color:#4d6b82; }
.dw-customize__options li { margin-bottom:8px; }
.dw-customize__options strong { margin-top:auto; padding:13px; border-radius:8px; background:#fff; color:#2b6ca4; text-align:center; }
.dw-customize__self { background:#edf6fe; }
.dw-customize__self .container,.dw-customize__paid .container { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.dw-customize__self p { margin-bottom:16px; }
.dw-customize__self-steps { display:grid; gap:10px; padding:25px; border:1px solid #bdd9ed; border-radius:18px; background:#fff; }
.dw-customize__self-steps span,.dw-customize__self-steps strong { padding:14px; border-radius:8px; background:#edf6ff; color:#416a8a; text-align:center; }
.dw-customize__self-steps strong { background:#286fa9; color:#fff; }
.dw-customize__paid { background:#fff; }
.dw-customize__paid p { margin-bottom:24px; }
.dw-customize__paid-art { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; padding:32px; border-radius:18px; background:#edf5fc; }
.dw-customize__paid-art span,.dw-customize__paid-art strong { padding:19px; border-radius:9px; background:#fff; color:#3b678a; text-align:center; }
.dw-customize__paid-art strong { flex-basis:100%; background:#286fa9; color:#fff; }
.dw-customize__paid-art b { color:#6999c3; }
/* Cloud storage: show how one saved file supports access from different places and teams. */
.dw-storage__split { display:grid; grid-template-columns:1fr .94fr; gap:48px; align-items:center; }
.dw-storage__split p { margin-bottom:17px; }
.dw-storage__anywhere { background:#fff; }
.dw-storage__access-map { padding:30px; border:1px solid #c8dfed; border-radius:20px; background:linear-gradient(145deg,#eef7ff,#e3f1fc); box-shadow:0 20px 42px #235b8415; text-align:center; }
.dw-storage__access-cloud { display:grid; gap:10px; padding:24px 16px; border:2px solid #76a9ce; border-radius:15px; background:#fff; }
.dw-storage__access-cloud small { color:#4384b1; font-size:12px; font-weight:800; }
.dw-storage__access-cloud strong { color:#245d8b; font-size:22px; }
.dw-storage__access-cloud span { color:#63849b; font-size:13px; }
.dw-storage__access-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:43px; }
.dw-storage__access-points span { position:relative; display:grid; place-items:center; min-height:76px; padding:10px; border-radius:10px; background:#fff; color:#2e6996; font-size:13px; font-weight:800; }
.dw-storage__access-points span:before { content:"↑"; position:absolute; top:-33px; color:#5d9bcc; font-size:23px; }
.dw-storage__access-map>p { margin:19px 0 0; color:#5b7890; font-size:12px; }
.dw-storage__places { background:#fff; }
.dw-storage__hierarchy { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.dw-storage__hierarchy>div { position:relative; min-height:170px; display:flex; flex-direction:column; gap:14px; padding:26px; border:1px solid #c5deef; border-radius:16px; background:#f4f9ff; }
.dw-storage__hierarchy>div:not(:last-child):after { content:"→"; position:absolute; right:-18px; top:55px; z-index:1; color:#4182b9; font-size:23px; font-weight:900; }
.dw-storage__hierarchy b { color:#236da9; font-size:22px; }
.dw-storage__hierarchy span { color:#516e84; }
.dw-storage__places .dw-note { margin-top:19px; }
.dw-storage__sharing { background:#edf6fd; }
.dw-storage__sharing .dw-storage__split { grid-template-columns:.94fr 1fr; }
.dw-storage__sharing-art { display:grid; justify-items:center; gap:20px; padding:29px; border:1px solid #cbdeec; border-radius:20px; background:#fff; box-shadow:0 20px 40px #24578012; }
.dw-storage__sharing-teams,.dw-storage__sharing-files { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; width:100%; }
.dw-storage__sharing-teams span,.dw-storage__sharing-files span { display:grid; place-items:center; min-height:57px; padding:8px; border-radius:9px; background:#e9f4fd; color:#3277a9; font-size:13px; font-weight:800; text-align:center; }
.dw-storage__sharing-art>b { color:#6aa2c9; font-size:24px; line-height:1; }
.dw-storage__sharing-art>strong { width:100%; padding:20px; border-radius:12px; background:#2c71a7; color:#fff; text-align:center; font-size:19px; }
.dw-storage__sharing-files span { background:#f5f9fc; color:#597b94; }
.dw-storage__scenarios { background:#edf6fd; }
.dw-storage__sharing+.dw-storage__scenarios { background:#fff; }
.dw-storage__scenario-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:35px; }
.dw-storage__scenario-grid article { min-height:260px; padding:27px; border-radius:15px; background:#fff; }
.dw-storage__scenario-grid small { color:#3277ae; font-weight:800; }
.dw-storage__scenario-grid h3 { margin:16px 0; }
.dw-storage__start { background:#f0f7fc; }
.dw-storage__start .fi-text-link { display:inline-block; margin-top:6px; font-weight:800; }
.dw-storage__capacity { display:grid; gap:18px; padding:31px; border:1px solid #c5ddeb; border-radius:20px; background:#fff; box-shadow:0 20px 42px #22597b14; }
.dw-storage__capacity small { color:#4a87b1; font-weight:800; }
.dw-storage__capacity div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; align-items:end; min-height:190px; }
.dw-storage__capacity span { display:grid; place-items:center; min-height:85px; padding:12px 4px; border-radius:10px 10px 0 0; background:#d8eafb; color:#2d6fa2; font-size:18px; font-weight:900; }
.dw-storage__capacity span:nth-child(2) { min-height:130px; background:#a9d1ee; }
.dw-storage__capacity span:nth-child(3) { min-height:185px; background:#367eb5; color:#fff; }
.dw-storage__capacity strong { padding:13px; border-radius:8px; background:#eef6fc; color:#3c729a; font-size:13px; text-align:center; }
.dw-storage__security { background:#fff; }
.dw-storage__security-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.dw-storage__security-grid article { display:flex; flex-direction:column; padding:26px; border:1px solid #d0e1ed; border-radius:15px; background:#f7fbff; }
.dw-storage__security-grid span { color:#4e8abb; font-size:27px; font-weight:900; }
.dw-storage__security-grid h3 { margin:14px 0 10px; }
.dw-storage__security-grid p { flex:1; font-size:14px; }
.dw-storage__security-grid a { color:#286daa; font-size:14px; font-weight:800; }
.dw-storage__closing { background:#fff; }
.dw-storage__security+.dw-storage__closing { background:#eaf4fb; }
.dw-storage__closing .container { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; }
.dw-storage__condition { padding:28px; border:1px solid #cbdfee; border-radius:15px; background:#f6faff; }
.dw-storage__condition strong { color:#2c70a8; font-size:20px; }
.dw-storage__condition p { margin:15px 0; }
.dw-storage__condition .fi-text-link { display:block; margin-top:10px; font-weight:800; }
/* Itandi: five stages make the external handoff and human registration explicit. */
.dw-itandi__journey { background:#fff; }
.dw-itandi__journey-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:35px 0 18px; }
.dw-itandi__journey-steps>div { position:relative; display:flex; flex-direction:column; gap:13px; min-height:185px; padding:22px; border:1px solid #c8dded; border-radius:15px; background:#f5faff; }
.dw-itandi__journey-steps>div:not(:last-child):after { content:"→"; position:absolute; right:-17px; top:70px; z-index:1; color:#3d82bd; font-size:22px; font-weight:900; }
.dw-itandi__journey-steps small { color:#4485b9; font-weight:900; }
.dw-itandi__journey-steps strong { font-size:20px; color:#285f8d; }
.dw-itandi__journey-steps span { color:#5d7689; font-size:13px; }
.dw-itandi__review { background:#edf6ff; }
.dw-itandi__review .container { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.dw-itandi__review p { margin-bottom:17px; }
.dw-itandi__review-panel { display:grid; gap:12px; padding:27px; border:1px solid #c5deed; border-radius:17px; background:#fff; }
.dw-itandi__review-panel strong { padding:14px; border-radius:9px; background:#2b71a9; color:#fff; text-align:center; }
.dw-itandi__review-panel span { padding:13px; border-radius:8px; background:#f2f8fd; color:#456982; }
.dw-itandi__next { background:#fff; }
.dw-itandi__next .container { width:100%; max-width:880px; text-align:center; }
.dw-itandi__next p { margin-bottom:26px; }
.dw-itandi__next .fi-actions { justify-content:center; }
@media(min-width:992px) {
  .dw .fi-apply__hero .container { grid-template-columns:1fr 1fr; }
}
@media(max-width:991px) {
  .dw-agreement__formats .container,.dw-agreement__finish .container,.dw-description__review .container,.dw-notes__map .container,.dw-customize__self .container,.dw-customize__paid .container,.dw-storage__split,.dw-storage__sharing .dw-storage__split,.dw-storage__closing .container,.dw-itandi__review .container { grid-template-columns:1fr; gap:34px; }
  .dw-storage__sharing-art { order:2; }
  .dw-agreement__pipeline { grid-template-columns:1fr; }
  .dw-agreement__pipeline>b { transform:rotate(90deg); line-height:1; }
  .dw-agreement__sources { grid-template-columns:repeat(3,1fr); }
  .dw-description__diagram { grid-template-columns:repeat(3,1fr); }
  .dw-description__diagram>strong { grid-column:1/-1; }
  .dw-itandi__journey-steps { grid-template-columns:repeat(3,1fr); }
  .dw-itandi__journey-steps>div:after { display:none; }
}
@media(max-width:767px) {
  .dw-section { padding:68px 0; }
  .dw .fi-agreement__hero,.dw .fi-notes__hero,.dw .fi-storage__hero,.dw .fi-apply__hero,.dw .fi-description__hero,.dw .fi-customize__hero { padding-top:65px; padding-bottom:65px; }
  .dw .fi-agreement__hero .container,.dw .fi-notes__hero .container,.dw .fi-storage__hero .container,.dw .fi-apply__hero .container { gap:28px; }
  .dw-card-grid,.dw-notes__cards,.dw-customize__options,.dw-storage__scenario-grid,.dw-storage__security-grid,.dw-description__diagram { grid-template-columns:1fr; }
  .dw-description__diagram>strong { grid-column:auto; }
  .dw-description__template-steps { flex-direction:column; align-items:stretch; }
  .dw-description__template-steps b { text-align:center; transform:rotate(90deg); }
  .dw-storage__hierarchy { grid-template-columns:1fr 1fr; }
  .dw-storage__hierarchy>div:after { display:none; }
  .dw-itandi__journey-steps { grid-template-columns:1fr 1fr; }
  .dw-agreement__matrix>div { grid-template-columns:70px repeat(3,1fr); }
  .dw-agreement__matrix b,.dw-agreement__matrix span { font-size:11px; }
}
@media(max-width:480px) {
  .dw-agreement__sources,.dw-storage__hierarchy,.dw-itandi__journey-steps { grid-template-columns:1fr; }
  .dw-storage__hierarchy>div { min-height:125px; padding:19px; }
  .dw-storage__scenario-grid article { min-height:0; }
  .dw-agreement__matrix { padding:10px; overflow-x:auto; }
  .dw-agreement__matrix>div { min-width:390px; }
  .dw-card-grid article,.dw-customize__options article { padding:23px; }
}
