/* Rismor Development Foundations: original responsive service-page treatment. */
.df-page{--df-ink:#092640;--df-blue:#236aa7;--df-navy:#071b36;--df-line:#cbddea;--df-soft:#f0f7fc;background:#fff;color:var(--df-ink)}
.df-page em{font-style:normal;color:#206ba9}
.df-page .df-space{padding-block:clamp(72px,8vw,119px)}
.df-page .df-overline-light{color:#abd8fb}
.df-hero{background:linear-gradient(123deg,#06172e,#0c3156 69%,#072440);color:#fff;position:relative;overflow:hidden}
.df-hero-gridlines{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 81% 19%,#4b93c44a,transparent 55%),repeating-linear-gradient(100deg,transparent 0,transparent 119px,#a2cef10a 120px)}
.df-hero-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(38px,5vw,95px);padding-block:clamp(81px,9vw,139px)}
.df-hero h1{font-size:clamp(43px,4.5vw,71px);line-height:1.08;letter-spacing:-.062em;color:#fff;max-width:820px;margin:20px 0 27px}
.df-hero h1 em{color:#acd8fd}
.df-hero-copy>p:not(.overline){font-size:15px;line-height:1.81;color:#d1e1ef;max-width:690px}
.df-hero-copy .df-hero-lead{font-size:clamp(17px,1.33vw,20px)!important;font-weight:600;color:#f2f8ff!important;line-height:1.72!important}
.df-hero .button-row{margin:30px 0}
.df-hero-copy .df-hero-foot{color:#a9cce8!important;font-size:12px!important}
.df-concept{min-width:0;position:relative;padding:clamp(18px,2.6vw,32px);border:1px solid #8fbee16f;background:linear-gradient(150deg,#17446fc7,#092944eb);box-shadow:0 26px 86px #020c1b75}
.df-concept::before,.df-concept::after{position:absolute;content:"";width:20px;height:20px;border:2px solid #b2d9f9}
.df-concept::before{top:-4px;left:-4px;border-right:0;border-bottom:0}
.df-concept::after{bottom:-4px;right:-4px;border-left:0;border-top:0}
.df-concept-header{display:flex;justify-content:space-between;gap:11px;padding-bottom:16px;border-bottom:1px solid #8bb4d260;font-size:9px;font-weight:800;letter-spacing:.1em;color:#b2d6f3}
.df-concept-header span:last-child{text-align:right;color:#91b8db}
.df-concept-rough{min-height:173px;position:relative;display:flex;justify-content:center;align-items:center;padding:24px 0 10px}
.df-idea{width:71%;max-width:285px;min-height:137px;border:1px dashed #9fc5e6;background:linear-gradient(145deg,#34608a5c,#17436b70);padding:18px 20px;transform:rotate(-3deg);position:relative}
.df-idea-note{display:block;font:italic clamp(20px,2vw,30px)/1.3 'Segoe Print','Bradley Hand','Comic Sans MS',cursive;color:#e4f2ff}
.df-idea-lines{position:absolute;right:15px;top:24px;display:flex;flex-direction:column;gap:7px;width:27%;transform:rotate(4deg)}
.df-idea-lines i{display:block;width:100%;height:2px;background:#a7cde7aa}
.df-idea-lines i:nth-child(2){width:60%}
.df-idea-lines i:nth-child(3){width:77%}
.df-idea small{position:absolute;bottom:11px;left:18px;font-size:8px;color:#9dc6e8;letter-spacing:.1em;font-weight:800}
.df-loose-note{position:absolute;min-width:90px;border:1px dashed #b1d1eb;background:#eff8ff;color:#174b72;padding:10px 13px;box-shadow:0 9px 20px #04142862;text-align:center}
.df-loose-note small{font:italic 13px/1.45 'Segoe Print','Bradley Hand','Comic Sans MS',cursive}
.df-loose-note:nth-child(2){left:-3px;top:12px;transform:rotate(-9deg)}
.df-loose-note:nth-child(3){right:-2px;bottom:10px;transform:rotate(5deg)}
.df-join{height:41px;display:grid;place-items:center;position:relative}
.df-join::before{content:"";height:100%;border-left:1px dashed #a8cbed}
.df-join i{width:9px;height:9px;border-right:2px solid #a8cbed;border-bottom:2px solid #a8cbed;transform:rotate(45deg);position:absolute;bottom:5px}
.df-flow-diagram{background:#eff6fc;border:1px solid #bad3e7;color:#123c60}
.df-flow-top{display:flex;justify-content:space-between;gap:12px;background:#d8eafa;border-bottom:1px solid #bfd9ec;padding:12px 13px;font-size:9px;font-weight:800;letter-spacing:.07em;color:#477096}
.df-flow-top span:last-child{color:#26745d}
.df-flow-top span:last-child::before{content:"";width:6px;height:6px;display:inline-block;border-radius:50%;background:#328f6e;margin-right:6px}
.df-flow-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:15px 10px}
.df-flow-row>div{border:1px solid #cadfeb;background:#fff;text-align:center;min-width:0;padding:12px 5px;position:relative}
.df-flow-row>div:not(:last-child)::after{content:"";position:absolute;right:-8px;top:26px;width:7px;border-top:1px dashed #7298b9}
.df-flow-icon{display:grid;place-items:center;font-size:18px;font-weight:800;width:29px;height:29px;margin:0 auto 10px;border:1px solid #abcae0;background:#e4f2fc;color:#20639b}
.df-flow-row>div:nth-child(2) .df-flow-icon{background:#eef8f0;border-color:#b8d7c6;color:#2b7b5d}
.df-flow-row>div:nth-child(3) .df-flow-icon{background:#fff6e6;border-color:#e6d3ad;color:#9e6f26}
.df-flow-row>div:nth-child(4) .df-flow-icon{background:#edf2ff;border-color:#c8d2ed;color:#5e6eac}
.df-flow-row strong{display:block;font-size:11px;line-height:1.45}
.df-flow-row small{display:block;font-size:9px;color:#607c95;margin-top:5px;line-height:1.45}
.df-flow-bottom{background:#123d68;color:#e0f0fd;font-size:11px;text-align:center;line-height:1.6;padding:11px}
.df-concept-caption{font-size:11px;color:#b8d8f2;line-height:1.67;margin:17px 0 0}
.df-intro{display:grid;grid-template-columns:minmax(170px,.35fr) minmax(0,1fr);gap:clamp(44px,8vw,145px)}
.df-side-note{border-top:2px solid #3175af;padding-top:18px}
.df-side-note .handwritten{font-size:clamp(21px,2.33vw,31px);line-height:1.55;color:#387bb4;margin-top:36px;transform:rotate(-4deg)}
.df-intro-text h2{font-size:clamp(35px,4vw,63px);line-height:1.14;letter-spacing:-.056em;max-width:990px;margin:0 0 29px}
.df-intro-text p{font-size:clamp(16px,1.23vw,18px);line-height:1.84;color:#4a647d;max-width:920px}
.df-intro-text strong{color:#154778}
.df-lifecycle{background:#eaf4fb}
.df-lifecycle-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.83fr);gap:clamp(43px,7vw,118px);align-items:center}
.df-lifecycle h2{font-size:clamp(35px,3.85vw,59px);line-height:1.15;letter-spacing:-.055em;margin:19px 0 29px}
.df-lifecycle-layout>div:first-child>p:not(.overline){font-size:16px;line-height:1.85;color:#4e677f;max-width:720px}
.df-lifecycle-panel{background:linear-gradient(141deg,#0c2c53,#195489);color:#fff;padding:clamp(26px,3.5vw,47px);border-top:4px solid #a7d7fb}
.df-lifecycle-panel>div{padding:20px 0;border-bottom:1px solid #82a9c769}
.df-lifecycle-panel>div:first-child{padding-top:0}
.df-lifecycle-panel>div:last-child{border-bottom:0;padding-bottom:0}
.df-lifecycle-panel span{display:block;color:#b5d9f5;font-size:10px;font-weight:800;letter-spacing:.1em}
.df-lifecycle-panel strong{display:block;color:#fff;font-size:clamp(23px,2.2vw,31px);line-height:1.27;margin:12px 0}
.df-lifecycle-panel p{font-size:14px;line-height:1.78;color:#d5e4f3;margin:0}
.df-areas{background:#fbfdff}
.df-section-intro{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.65fr);gap:clamp(28px,5vw,94px);align-items:end;margin-bottom:43px}
.df-section-intro h2{font-size:clamp(34px,4vw,61px);letter-spacing:-.055em;line-height:1.13;margin:17px 0 0}
.df-section-intro>p{font-size:16px;line-height:1.79;color:#526b83;max-width:500px;margin:0}
.df-areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:3px solid #2468a7}
.df-areas-grid article{padding:33px clamp(18px,2.55vw,42px) 27px 0;border-bottom:1px solid #cfdfea;min-width:0}
.df-areas-grid article:not(:nth-child(3n+1)){border-left:1px solid #cfdfea;padding-left:clamp(18px,2.55vw,42px)}
.df-areas-grid span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#2a6fad}
.df-areas-grid h3{font-size:clamp(24px,2.43vw,34px);line-height:1.19;margin:19px 0 16px}
.df-areas-grid p{font-size:15px;line-height:1.83;color:#506980}
.df-decisions{background:linear-gradient(120deg,#061932,#0e355c);color:#fff}
.df-decisions-layout{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(300px,.87fr);gap:clamp(43px,7vw,115px)}
.df-decisions h2{font-size:clamp(35px,3.84vw,59px);line-height:1.14;letter-spacing:-.056em;color:#fff;margin:20px 0 29px}
.df-decisions h2 em{color:#afd7fc}
.df-decisions-layout>div:first-child>p:not(.overline){font-size:16px;color:#d1e3f1;line-height:1.87;max-width:730px}
.df-decisions-checks{border-top:3px solid #a5d7fd;background:#12406b7c;padding:15px clamp(20px,3vw,39px)}
.df-decisions-checks>p{font-size:10px;letter-spacing:.1em;font-weight:800;color:#bfddf7;margin:13px 0 23px}
.df-decisions-checks>div{display:grid;grid-template-columns:31px 1fr;gap:5px 12px;border-top:1px solid #80abc76c;padding:18px 0}
.df-decisions-checks span{grid-row:1/3;font-size:14px;font-weight:800;color:#acd5fa}
.df-decisions-checks strong{color:#fff;font-size:17px;line-height:1.3}
.df-decisions-checks small{font-size:12px;color:#c5ddf0;line-height:1.54}
.df-ai-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.78fr);gap:clamp(43px,7vw,117px);align-items:center}
.df-ai h2{font-size:clamp(35px,3.95vw,61px);line-height:1.14;letter-spacing:-.057em;margin:19px 0 28px}
.df-ai-text>p:not(.overline){font-size:16px;line-height:1.85;color:#4b657f;max-width:735px}
.df-ai-side{background:#eaf4fb;border-top:3px solid #2a71ab;padding:clamp(28px,3.6vw,48px)}
.df-ai-side>span{color:#3270a5;letter-spacing:.11em;font-size:10px;font-weight:800}
.df-ai-side strong{display:block;font-size:clamp(22px,2.45vw,34px);line-height:1.27;letter-spacing:-.035em;margin:20px 0}
.df-ai-side p{color:#536e86;font-size:15px;line-height:1.82}
.df-ai-side a{display:inline-block;margin-top:14px;color:#175b96;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.df-start{background:#f1f7fb}
.df-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:3px solid #2d6ca6}
.df-start-grid article{padding:30px clamp(21px,3vw,48px) 15px 0}
.df-start-grid article+article{border-left:1px solid #cdddea;padding-left:clamp(21px,3vw,48px)}
.df-start-grid span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#3172ac}
.df-start-grid h3{font-size:clamp(25px,2.5vw,35px);line-height:1.21;margin:19px 0}
.df-start-grid p{font-size:15px;line-height:1.85;color:#4f6982}
.df-approach{background:linear-gradient(115deg,#071a33,#0b2e53);color:#fff}
.df-approach-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(300px,.86fr);gap:clamp(42px,7vw,117px)}
.df-approach h2{font-size:clamp(35px,3.85vw,60px);line-height:1.15;letter-spacing:-.057em;color:#fff;margin:19px 0 29px}
.df-approach h2 em{color:#abd8fa}
.df-approach-layout>div:first-child>p:not(.overline){font-size:16px;line-height:1.87;color:#d4e4f2;max-width:725px}
.df-approach-layout strong{color:#fff}
.df-approach-note{border-top:3px solid #a2d4fd;padding:12px clamp(20px,3vw,39px);background:#123d687d}
.df-approach-note>span{display:block;color:#bddff8;font-size:10px;letter-spacing:.1em;font-weight:800;margin:18px 0 26px}
.df-approach-note>div{padding:20px 0;border-top:1px solid #7ca4c064}
.df-approach-note strong{display:block;color:#fff;font-size:22px;margin:0 0 8px}
.df-approach-note small{display:block;color:#cde0f1;font-size:13px;line-height:1.65}
.df-engagement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.df-engagement-grid article{background:#edf5fb;border-top:3px solid #286fae;padding:clamp(27px,3.5vw,49px)}
.df-engagement-grid span{font-size:10px;letter-spacing:.1em;color:#296ba6;font-weight:800}
.df-engagement-grid h3{font-size:clamp(27px,2.75vw,39px);line-height:1.2;margin:22px 0 17px}
.df-engagement-grid p{font-size:16px;color:#506780;line-height:1.84}
.df-engagement-grid a{display:inline-block;margin-top:13px;font-size:14px;font-weight:800;color:#145992;text-decoration:underline;text-underline-offset:4px}
.df-engagement-note{font-size:12px;color:#657c92;line-height:1.78;border-left:2px solid #bad4e6;padding-left:16px;margin:28px 0 0;max-width:1040px}
.df-faq{background:#f5f9fc}
.df-faq-layout{display:grid;grid-template-columns:minmax(200px,.41fr) minmax(0,1fr);gap:clamp(34px,6vw,105px)}
.df-faq h2{font-size:clamp(31px,3vw,45px);line-height:1.18;margin:18px 0}
.df-faq-list{border-top:2px solid #2b67a5}
.df-faq-list details{padding:21px 0;border-bottom:1px solid #cfdeeb}
.df-faq-list summary{font-size:18px;font-weight:800;cursor:pointer;padding-right:14px}
.df-faq-list summary::marker{color:#2c71ab}
.df-faq-list details p{font-size:15px;color:#4c6680;line-height:1.82;max-width:800px;margin:16px 0 3px}
.df-closing{background:#071b35}
.df-closing h2 em{color:#a9d7ff;font-style:normal}
@media(max-width:1100px){
.df-hero-layout{gap:32px}
.df-areas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.df-areas-grid article:not(:nth-child(3n+1)){border-left:0;padding-left:0}
.df-areas-grid article:nth-child(even){border-left:1px solid #cfdfea;padding-left:clamp(18px,2.55vw,42px)}
}
@media(max-width:900px){
.df-hero-layout,.df-intro,.df-lifecycle-layout,.df-section-intro,.df-decisions-layout,.df-ai-layout,.df-approach-layout,.df-faq-layout{grid-template-columns:1fr}
.df-hero-layout{padding-block:76px}
.df-concept{max-width:640px}
.df-intro,.df-lifecycle-layout,.df-decisions-layout,.df-ai-layout,.df-approach-layout{gap:35px}
.df-side-note .handwritten{margin-top:18px}
.df-section-intro{gap:16px}
.df-faq-layout{gap:18px}
}
@media(max-width:650px){
.df-page .df-space{padding-block:67px}
.df-hero-layout{padding-block:64px}
.df-hero h1{font-size:clamp(40px,9.7vw,55px)}
.df-hero .button-row .btn{width:100%}
.df-concept{padding:16px}
.df-concept-header span:last-child{display:none}
.df-idea{width:82%;min-height:125px;padding:14px}
.df-idea-note{font-size:19px}
.df-loose-note{padding:7px;min-width:70px}
.df-loose-note small{font-size:10px}
.df-flow-row{gap:4px;padding:9px 6px}
.df-flow-row>div{padding:8px 2px}
.df-flow-row strong{font-size:10px}
.df-flow-row small{font-size:8px}
.df-flow-icon{height:26px;width:26px;margin-bottom:8px}
.df-flow-top{font-size:8px}
.df-intro-text h2,.df-lifecycle h2,.df-section-intro h2,.df-decisions h2,.df-ai h2,.df-approach h2{font-size:clamp(32px,8vw,44px)}
.df-areas-grid,.df-start-grid,.df-engagement-grid{grid-template-columns:1fr}
.df-areas-grid article,.df-areas-grid article:nth-child(even),.df-areas-grid article:not(:nth-child(3n+1)){padding:27px 0;border-left:0}
.df-start-grid article,.df-start-grid article+article{border-left:0;border-bottom:1px solid #cfdeeb;padding:26px 0}
.df-engagement-grid article{padding:28px 24px}
.df-decisions-checks,.df-approach-note{padding-inline:22px}
.df-closing .button-row .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.df-page *{scroll-behavior:auto}}
