@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#0f172a;--paper:#ffffff;--lime:#2563eb;--muted:#475569;--line:#e2e8f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;width:100%;height:auto}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #7c3aed}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--lime);z-index:100}.skip:focus{top:10px}.header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.logo{font:800 32px/1 'Manrope',sans-serif;letter-spacing:-1.6px;display:flex;align-items:center;gap:4px}.logo span{font-weight:400}.logo b{font-size:26px;margin-left:9px;line-height:34px;width:34px;background:var(--lime);border-radius:50%;text-align:center}.header nav{display:flex;gap:35px;align-items:center;font-size:14px;font-weight:600}.nav-cta{background:var(--ink);color:white;padding:12px 22px;border-radius:5px}.nav-cta span{margin-left:25px}.hero{padding:80px 5% 70px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;overflow:hidden}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;margin:0 0 26px}.hero h1{font:600 clamp(42px,4.6vw,74px)/1.1 'Manrope',sans-serif;letter-spacing:-3.3px;margin:0 0 28px}.hero h1 em{font-style:normal;color:#2563eb}.hero-description{max-width:500px;color:var(--muted);font-size:18px;line-height:1.7}.actions{display:flex;gap:24px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 24px;border:0;border-radius:5px;font-size:15px;font-weight:700;cursor:pointer;background:var(--ink);color:white;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#1e293b}.lime{background:var(--lime);color:var(--ink)}.lime:hover{background:#1d4ed8}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:3px}.hero-foot{margin-top:35px;font-size:13px;color:var(--muted)}.hero-art{position:relative;min-height:440px;margin:12px 0 0 20px;background:#eff6ff;border-radius:10px}.preview-label{padding:18px 23px;display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:1px}.hero-shot{position:absolute;border:6px solid white;border-radius:7px;box-shadow:0 18px 40px #0f172a22;overflow:hidden;width:85%;aspect-ratio:1.44}.hero-shot img{height:100%;object-fit:cover;object-position:top}.back{right:-24px;top:62px;transform:rotate(5deg)}.front{left:-25px;top:175px;transform:rotate(-5deg)}.art-caption{position:absolute;bottom:18px;left:23px;right:23px;display:flex;justify-content:space-between;font-size:12px}.art-caption a{text-decoration:underline}.value-strip{background:var(--ink);color:white;padding:24px 5%;display:flex;justify-content:space-between;gap:20px;font-size:14px}.value-strip span:before{content:'+';color:var(--lime);margin-right:12px}.section{padding:90px 5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}h2{font:500 clamp(32px,3.4vw,50px)/1.15 'Manrope',sans-serif;letter-spacing:-1.8px;margin:0}.section-heading>p{max-width:425px;color:var(--muted);margin:0}.portfolio{display:grid;grid-template-columns:1fr 1fr;gap:46px 28px}.project-preview{position:relative;padding:25px 25px 0;background:var(--tone);border-radius:8px;overflow:hidden;aspect-ratio:1.55}.project-preview img{border-radius:5px 5px 0 0;box-shadow:0 6px 30px #0002;transition:transform .4s;object-fit:cover;object-position:top}.project:hover .project-preview img{transform:translateY(-5px)}.project-meta{display:flex;justify-content:space-between;align-items:start;margin-top:20px;gap:20px}.project h3{font:600 24px/1.25 'Manrope',sans-serif;letter-spacing:-.7px;margin:7px 0}.project .category{font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.project p{color:var(--muted);margin:0;max-width:470px}.project .visit{white-space:nowrap;border-bottom:1px solid var(--ink);font-size:14px;margin-top:8px}.project:last-child{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.project:last-child .project-meta{padding:0 40px;flex-direction:column}.demo-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px;margin-top:40px}footer{padding:30px 5%;display:flex;justify-content:space-between;border-top:1px solid var(--line);align-items:center;font-size:13px;color:var(--muted)}@media(min-width:1600px){.header,.hero,.section,.value-strip,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:1000px){.hero{grid-template-columns:1fr;padding-top:50px}.hero-art{max-width:700px;width:90%;height:530px;margin:25px auto 0}.hero h1{font-size:60px}.hero-description{max-width:600px}.value-strip{flex-wrap:wrap}.value-strip span{width:45%}.section-heading{align-items:start;flex-direction:column;gap:24px}.project-meta{flex-direction:column;gap:5px}.project:last-child .project-meta{padding:0 10px}.hero-shot{width:75%}.back{right:5px}.front{left:0}}@media(max-width:600px){.header{height:78px}.logo{font-size:26px}.header nav{gap:12px}.header nav>a:not(.nav-cta){display:none}.nav-cta{padding:10px 14px}.hero{padding:42px 6%}.hero h1{font-size:39px;letter-spacing:-1.8px}.hero-description{font-size:17px}.eyebrow{font-size:10px;letter-spacing:1.2px}.actions{align-items:start;flex-direction:column;gap:20px}.hero-art{width:100%;height:330px;min-height:330px;margin:20px 0 0}.preview-label{font-size:8px;padding:15px}.hero-shot{width:89%}.back{top:50px;right:-4px}.front{top:124px;left:-6px}.art-caption{font-size:10px;left:15px;right:15px;bottom:12px}.value-strip{font-size:12px;gap:17px 5px}.value-strip span{width:48%}.value-strip span:before{margin-right:5px}.section{padding:60px 6%}.portfolio{grid-template-columns:1fr;gap:35px}.project:last-child{display:block}.project:last-child .project-meta{padding:0}.project-preview{padding:18px 18px 0}.project h3{font-size:23px}.project p{font-size:15px}.project-meta{gap:8px}.section-heading{margin-bottom:32px}footer{flex-direction:column;gap:20px;align-items:start}.hero-foot{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.offer{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:80px}.offer .eyebrow{color:var(--lime)}.offer h2{max-width:540px}.offer-copy>p:not(.eyebrow){color:#cbd5e1;max-width:475px;margin-top:25px}.price-card{background:#17243b;border:1px solid #334155;border-radius:8px;padding:36px}.price-label{text-transform:uppercase;font-size:12px;letter-spacing:1.5px;color:var(--lime);margin:0}.price{font:500 clamp(38px,4vw,58px)/1.2 'Manrope',sans-serif;letter-spacing:-2px;margin:13px 0}.price-note{font-size:14px;color:#cbd5e1}.included{padding:18px 0;list-style:none;border-top:1px solid #334155;border-bottom:1px solid #334155;margin:25px 0}.included li{margin:12px 0}.included li:before{content:'✓';color:var(--lime);margin-right:14px}.price-card .button{width:100%}.scope-note{font-size:12px!important;line-height:1.6;color:#cbd5e1;margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:20px}.step-number{font-size:12px;color:var(--muted)}.step h3{font:600 23px/1.25 'Manrope',sans-serif;letter-spacing:-.6px;margin:20px 0 14px}.step p{color:var(--muted)}.faq{padding-top:0;display:grid;grid-template-columns:1fr 1.4fr;gap:80px}details{border-bottom:1px solid var(--line);padding:22px 0}details:first-child{border-top:1px solid var(--line)}summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';font-size:23px;line-height:1}details[open] summary:after{content:'−'}details p{color:var(--muted);margin:16px 25px 0 0}.contact{background:var(--lime);display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:clamp(40px,4.8vw,68px)}.contact-copy>p:not(.eyebrow){max-width:410px}.email-direct{font-size:16px;border-bottom:1px solid;display:inline-block;margin-top:15px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid #94a3b8;background:#ffffffb3;padding:12px;margin-top:7px;border-radius:4px;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:108px}.full-field{grid-column:1/-1}.contact .button{width:100%;margin-top:20px}.form-note{font-size:12px;line-height:1.55;margin-top:13px}.email-status{font-size:14px;margin:12px 0 0}.email-status:empty{display:none}.mobile-contact{display:none}.footer-brand{font:700 24px/1 'Manrope',sans-serif;color:var(--ink);letter-spacing:-1px}.footer-links{display:flex;gap:25px}a:hover.text-link,a:hover.visit{color:#1d4ed8}
@media(max-width:1000px){.offer,.contact{gap:35px}.faq{gap:35px}.price-card{padding:25px}.steps{gap:25px}}@media(max-width:600px){.offer,.contact,.faq{grid-template-columns:1fr;gap:30px}.steps{grid-template-columns:1fr;gap:20px}.step h3{margin-top:12px}.step p{margin-bottom:0}.form-grid{grid-template-columns:1fr}.contact h2{font-size:42px}.price{font-size:44px}.footer-links{flex-wrap:wrap;gap:16px}.mobile-contact{position:fixed;bottom:12px;left:6%;right:6%;z-index:10;display:flex;justify-content:center;box-shadow:0 5px 20px #0003;transition:opacity .2s}.mobile-contact[hidden]{display:none}body{padding-bottom:65px}.contact{scroll-margin-top:10px}}

.project-preview{display:block}
.education{background:#fff}.education .section-heading h2{max-width:740px}.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.learning-card{border-top:3px solid var(--ink);padding:25px 0 0}.lesson-number{font-size:12px;font-weight:700;letter-spacing:1px;color:#2563eb}.learning-card h3,.learning-bottom h3{font:600 25px/1.3 'Manrope',sans-serif;letter-spacing:-.6px;margin:20px 0 15px}.learning-card p,.learning-bottom>div p{color:var(--muted)}.learning-card .lesson-payoff{border-left:3px solid #7c3aed;padding-left:15px;color:var(--ink);font-size:15px}.learning-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:45px;padding-top:35px;border-top:1px solid var(--line)}.learning-bottom h3{margin-top:0}.owner-question{padding:28px;background:#eff6ff;border-radius:6px}.owner-question .eyebrow{margin-bottom:12px}.owner-question>p:not(.eyebrow){font-size:20px;line-height:1.5;margin:0}.owner-question .question-close{font-size:14px!important;margin-top:15px!important;color:var(--muted)}.traffic-note{margin:35px 0 0;padding-top:25px;border-top:1px solid var(--line);max-width:1100px;color:var(--muted)}.traffic-note strong{color:var(--ink)}.value-lesson{background:#f1f5f9;display:grid;grid-template-columns:1fr 1fr;gap:40px 65px}.value-intro>p:not(.eyebrow){max-width:535px;color:#475569}.value-example{background:white;padding:32px;border-radius:8px}.example-equation{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:start}.example-equation strong{display:block;font:600 clamp(32px,3.2vw,48px)/1.2 'Manrope',sans-serif;letter-spacing:-1.5px}.example-equation div>span{display:block;font-size:14px;color:var(--muted);margin-top:12px}.math-sign{font-size:28px;padding-top:7px;color:var(--muted)}.example-total{font-size:23px;line-height:1.4;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.example-note{font-size:13px;color:var(--muted);margin-bottom:0}.value-takeaway{grid-column:1/-1;border-top:1px solid #cbd5e1;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:30px}.value-takeaway p{max-width:790px;font-size:20px;margin:0}.value-takeaway a{flex-shrink:0}.hero-foot{max-width:450px}.hero-shot{aspect-ratio:1.8}.hero-art{min-height:520px}.art-caption{bottom:14px}.hero h1{font-size:clamp(40px,4.3vw,68px);letter-spacing:-2.6px}
@media(max-width:1000px){.learning-grid{gap:20px}.learning-card h3{font-size:22px}.learning-bottom{gap:30px}.value-lesson{gap:30px}.value-example{padding:25px}.value-takeaway{align-items:start;flex-direction:column}.hero h1{font-size:60px}.hero-art{min-height:530px}}
@media(max-width:700px){.learning-grid,.learning-bottom,.value-lesson{grid-template-columns:1fr}.learning-grid{gap:25px}.learning-bottom{margin-top:30px;padding-top:30px}.learning-card h3{font-size:24px;margin-top:12px}.value-lesson{gap:25px}.value-takeaway p{font-size:18px}.owner-question{padding:23px}.example-equation strong{font-size:38px}.header nav{gap:15px}}
@media(max-width:600px){.hero h1{font-size:36px;letter-spacing:-1.6px}.hero-art{min-height:330px}.hero-foot{max-width:100%}.hero .button{gap:15px}.front{top:110px}.value-example{padding:22px}.example-equation{gap:15px}.eyebrow{font-size:12px}.lesson-number{font-size:12px}}

/* DPS Labs brand: navy structure, blue actions, light blue learning surfaces. */
.lime,.logo b{color:#fff}.lime:hover{color:#fff}.contact{background:#eff6ff}.contact .button,.nav-cta,.mobile-contact{background:#2563eb;color:#fff}.contact .button:hover,.nav-cta:hover,.mobile-contact:hover{background:#1d4ed8}.offer .eyebrow,.price-label,.included li:before,.value-strip span:before{color:#93c5fd}.offer{gap:35px 65px}.quote-details{grid-column:1/-1;border-top:1px solid #334155;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.quote-details h3{font:600 23px/1.3 'Manrope',sans-serif;margin:0}.quote-details p{color:#cbd5e1;margin:0;font-size:15px}.builder{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:#f8fafc;margin-bottom:65px}.builder-copy>p{color:#475569;margin-top:0}.builder .eyebrow{color:#6d28d9}.builder-copy .text-link{display:inline-block;margin-top:10px}.preview-label,.art-caption{font-size:12px}.project .category,.step-number{font-size:12px}.form-note,.scope-note{font-size:13px!important}label{font-size:14px}.hero h1{font-size:clamp(40px,4.7vw,70px)}.hero-art{border:1px solid #dbeafe}.owner-question .eyebrow{color:#1d4ed8}.hero-description{max-width:530px}.hero-foot{font-size:14px}.learning-bottom{margin-top:30px;padding-top:25px}.traffic-note{margin-top:25px}.learning-card .lesson-payoff{font-size:16px}
@media(max-width:1000px){.hero h1{font-size:60px}.quote-details,.builder{gap:30px}.offer{gap:30px}}
@media(max-width:600px){.hero h1{font-size:42px;letter-spacing:-1.8px}.quote-details,.builder{grid-template-columns:1fr;gap:20px}.builder{margin-bottom:45px}.preview-label{font-size:10px}.art-caption{font-size:11px}.hero .actions{gap:18px}.hero-art{height:350px;min-height:350px}}

.skip{color:#fff}

/* Architectural background texture: light grids, offset rings, and blue light. */
.hero,.education,.work,.value-lesson,.offer,.builder,.contact{position:relative;isolation:isolate;overflow:hidden}
.hero>*,.education>*,.work>*,.value-lesson>*,.offer>*,.builder>*,.contact>*{position:relative;z-index:1}
.hero{background:radial-gradient(ellipse at 90% 15%,#dbeafe 0,transparent 52%),radial-gradient(ellipse at 60% 100%,#ede9fe 0,transparent 38%),linear-gradient(125deg,#fff 12%,#f0f7ff 75%,#e8f0ff)}
.hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(#2563eb0b 1px,transparent 1px),linear-gradient(90deg,#2563eb0b 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent 20%,#000 100%)}
.hero:after{content:"";position:absolute;z-index:0;width:660px;height:660px;right:-180px;top:-270px;border:1px solid #2563eb26;border-radius:50%;box-shadow:0 0 0 70px #2563eb06,0 0 0 140px #2563eb05;pointer-events:none}
.hero-art{background:radial-gradient(ellipse at 10% 90%,#c4b5fd70,transparent 65%),linear-gradient(135deg,#dbeafe,#eef2ff);border-color:#c4d8f5;box-shadow:0 24px 70px -35px #1e3a8a55}
.hero-art:before{content:"";position:absolute;inset:30px 12%;border:1px solid #2563eb20;border-radius:50%;transform:rotate(-25deg);pointer-events:none}
.hero-shot.back{z-index:1}.hero-shot.front{z-index:2}.preview-label,.art-caption{position:relative;z-index:3}.art-caption{position:absolute}
.education{background:linear-gradient(180deg,#fff 50%,#f8faff)}
.education:before{content:"";position:absolute;right:-100px;top:0;width:450px;height:240px;z-index:0;pointer-events:none;background:radial-gradient(circle,#2563eb25 1px,transparent 1.5px) 0 0/18px 18px;mask-image:linear-gradient(150deg,transparent,#000)}
.learning-card{background:linear-gradient(180deg,#f1f6ffb3,transparent 90%);padding:24px 22px 10px;border-top-color:#2563eb;border-radius:4px 4px 0 0}
.owner-question{background:linear-gradient(125deg,#eaf2ff,#f3f0ff);border:1px solid #dbe4f4}
.work{background:#eef3fa}
.work:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#ffffff70 35%,#ffffff70 62%,transparent 62%)}
.work .project-preview{border:1px solid #ffffffb3;box-shadow:0 14px 35px -26px #0f172a55}
.value-lesson{background:radial-gradient(ellipse at 0% 100%,#c7d2fe80,transparent 60%),linear-gradient(130deg,#eff6ff,#e5edfc)}
.value-lesson:before{content:"";position:absolute;width:520px;height:520px;border:1px solid #2563eb16;border-radius:50%;left:-320px;top:-60px;box-shadow:0 0 0 60px #2563eb05,0 0 0 120px #2563eb04;pointer-events:none;z-index:0}
.value-example{box-shadow:0 18px 45px -30px #1e3a8a55;border:1px solid #dbeafe}
.offer{background:radial-gradient(ellipse at 95% 0%,#1e3a8a88,transparent 55%),linear-gradient(125deg,#0f172a,#13223e)}
.offer:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(#93c5fd09 1px,transparent 1px),linear-gradient(90deg,#93c5fd09 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}
.price-card{background:#17243bf5;box-shadow:0 20px 55px -25px #02061788}
.builder{background:linear-gradient(125deg,#14233e,#172554);color:#fff;border-top:1px solid #334568;border-bottom:1px solid #334568}
.builder:before{content:"";position:absolute;width:480px;height:480px;right:-230px;top:-260px;border:1px solid #93c5fd30;border-radius:50%;box-shadow:0 0 0 65px #93c5fd07,0 0 0 130px #93c5fd04;z-index:0;pointer-events:none}
.builder-copy>p{color:#d5dfef}.builder .eyebrow{color:#c4b5fd}.builder .text-link{color:#bfdbfe;border-color:#93c5fd}.builder .text-link:hover{color:#fff}
.contact{background:radial-gradient(ellipse at 10% 15%,#bfdbfe80,transparent 55%),radial-gradient(ellipse at 95% 100%,#ddd6fe90,transparent 55%),#edf4ff}
.contact:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle,#2563eb22 1px,transparent 1.5px) 0 0/22px 22px;mask-image:linear-gradient(90deg,#000,transparent 65%)}
.contact form{background:#ffffffed;padding:30px;border:1px solid #dbeafe;border-radius:10px;box-shadow:0 18px 50px -28px #1e3a8a44}.contact input,.contact textarea{background:#fff}
@media(max-width:700px){.hero:before{background-size:38px 38px}.hero:after{width:400px;height:400px;right:-240px;top:10px}.education:before{width:220px;height:140px;opacity:.6}.learning-card{padding:20px 18px 8px}.contact form{padding:23px}.builder:before{opacity:.6}.offer:before{background-size:48px 48px}}
@media(forced-colors:active){.hero:before,.hero:after,.hero-art:before,.education:before,.work:before,.value-lesson:before,.offer:before,.builder:before,.contact:before{display:none}}

.partner-resource{display:flex;align-items:center;gap:40px;margin-top:28px;padding:28px;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px}.partner-resource>div{flex:1}.partner-resource .eyebrow{margin-bottom:10px;color:#1d4ed8}.partner-resource h3{font:600 23px/1.3 'Manrope',sans-serif;margin:0 0 12px;letter-spacing:-.5px}.partner-resource p:last-child{margin:0;color:#475569}.partner-resource p a{color:#1d4ed8;text-decoration:underline;text-underline-offset:3px}.partner-resource>.text-link{flex-shrink:0}.footer-links{flex-wrap:wrap}footer{flex-wrap:wrap;gap:22px}@media(max-width:700px){.partner-resource{flex-direction:column;align-items:flex-start;gap:22px;padding:22px}}
