/* DPS Labs / architectural layers. Local CSS only; no trackers or remote assets. */
.studio-site{--surface:#f5f8fd;--blue-line:#c8d7ee;--soft-shadow:0 18px 44px -32px #12356b45}
.studio-site main>section,.privacy-content>section{position:relative;isolation:isolate;overflow:hidden}
.studio-site main>section>*:not(.section-art),.privacy-content>section>*:not(.section-art){position:relative;z-index:1}
/* Empty, aria-hidden artwork is clipped to its own section and cannot catch clicks. */
.studio-site .section-art{position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;overflow:hidden;user-select:none}
.section-art:before,.section-art:after{content:"";position:absolute;pointer-events:none}
.section-art{background-image:repeating-linear-gradient(115deg,#16396b03 0,#16396b03 1px,transparent 1px,transparent 5px)}
.section-art:before{width:520px;height:520px;right:-230px;top:-300px;border:1px solid #2563eb1c;border-radius:50%;box-shadow:0 0 0 44px #2563eb04,0 0 0 88px #2563eb04,0 0 0 132px #2563eb03}
.section-art:after{width:160px;height:160px;left:-88px;bottom:10%;border:1px solid #2563eb18;transform:rotate(30deg)}
.studio-site main>section:before,.studio-site main>section:after{display:none}
.studio-site .eyebrow{color:#1d4ed8;display:flex;align-items:center;gap:11px}
.studio-site .eyebrow:before{content:"";flex:none;width:20px;height:2px;background:currentColor}
.studio-site .header{background:#fffffff5;border-bottom-color:#dce5f0;box-shadow:0 5px 30px -24px #14356855}
.studio-site .button,.studio-site .nav-cta{border-radius:7px;box-shadow:0 8px 20px -12px #153f9e88}
.studio-site .button:hover,.studio-site .nav-cta:hover{box-shadow:0 12px 26px -14px #153f9eaa}
.studio-site .hero{background:radial-gradient(ellipse at 88% 12%,#cfe0ff 0,transparent 48%),radial-gradient(ellipse at 65% 100%,#e3dffd 0,transparent 35%),linear-gradient(135deg,#fcfdff 20%,#f0f6ff 68%,#e9effc)}
.hero .section-art{background-image:linear-gradient(#2563eb09 1px,transparent 1px),linear-gradient(90deg,#2563eb09 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent 12%,#000 70%)}
.hero .section-art:before{width:760px;height:760px;right:-240px;top:-480px;border-color:#2563eb2e;box-shadow:0 0 0 76px #2563eb07,0 0 0 152px #2563eb04}
.hero .section-art:after{width:280px;height:280px;left:52%;bottom:-205px;background:#2563eb0b;border-color:#2563eb2a;transform:rotate(38deg)}
.studio-site .hero-art{background:radial-gradient(ellipse at 0 100%,#ccc4f090,transparent 68%),linear-gradient(145deg,#dfebffb3,#eef3ffcc);border:1px solid #fff;border-radius:16px;box-shadow:0 30px 64px -40px #223e8670,0 0 0 1px #c6d5eb90}
.studio-site .hero-shot{box-shadow:0 20px 34px -15px #1b315a66;border-width:5px;border-radius:8px}
.studio-site .preview-label{color:#40516e}
.studio-site .hero-foot{padding-left:20px;position:relative}
.studio-site .hero-foot:before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 4px #2563eb12}
.studio-site .offer-summary{background:linear-gradient(140deg,#fbfdff,#f3f7fd);border-block:1px solid #e1e9f4}
.offer-summary .section-art:before{top:auto;bottom:-340px;right:-140px;width:650px;height:650px}
.studio-site .offer-grid{gap:22px}
.studio-site .offer-grid article{background:linear-gradient(135deg,#fff 45%,#f9fbff);border:1px solid #dce5f1;border-top:3px solid #2563eb;border-radius:3px 3px 12px 12px;padding:27px 26px 22px;box-shadow:var(--soft-shadow)}
.studio-site .offer-grid article:nth-child(2){border-top-color:#648bdd}
.studio-site .offer-grid article:nth-child(3){border-top-color:#9baed2}
.studio-site .summary-terms{border-color:#d6e1ee}
/* A dark gallery stage gives the real demo imagery the strongest contrast. */
.studio-site .page-intro{background:radial-gradient(ellipse at 85% 15%,#d4e4ff 0,transparent 55%),linear-gradient(130deg,#f9fcff,#eef3fc);border-bottom:1px solid #d7e3f3}
.page-intro .section-art{background-image:linear-gradient(135deg,transparent 65%,#fff6 65%,#fff6 79%,transparent 79%),radial-gradient(circle,#325da629 1px,transparent 1.5px);background-size:auto,22px 22px;mask-image:linear-gradient(90deg,transparent 35%,#000)}
.page-intro .section-art:before{right:-150px;top:-350px;width:650px;height:650px;border-color:#3064b52b}
.studio-site.page-home .work{background:radial-gradient(ellipse at 95% 5%,#234c87 0,transparent 50%),linear-gradient(130deg,#0f1c34,#142849);color:#f8fbff;border-block:1px solid #294266}
.page-home .work .section-art{background-image:linear-gradient(120deg,transparent 0 65%,#93c5fd08 65% 80%,transparent 80%),linear-gradient(#c8deff05 1px,transparent 1px),linear-gradient(90deg,#c8deff05 1px,transparent 1px);background-size:auto,80px 80px,80px 80px}
.page-home .work .section-art:before{top:-130px;right:-270px;border-color:#a6c8ff20;box-shadow:0 0 0 65px #a6c8ff05,0 0 0 130px #a6c8ff04}
.page-home .work .section-art:after{border-color:#a6c8ff35}
.page-home .work .eyebrow{color:#abcaff}
.page-home .work .section-heading>p{color:#cbd8ed}
.page-home .work .demo-note{color:#cbd8ed;border-color:#395173}
.page-home .work .gallery-link{margin-top:26px}
.page-home .work .gallery-link .button{background:#dbeaff;color:#132b50;box-shadow:0 10px 25px -15px #0008}
.page-home .work .gallery-link .button:hover{background:#fff}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px}
.carousel-instruction{font-size:13px;color:#cbd8ed;margin:0}
.carousel-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.carousel-controls[hidden]{display:none}
.carousel-count{font:500 12px/1.4 'DM Sans',sans-serif;letter-spacing:.25px;font-variant-numeric:tabular-nums;min-width:110px;margin-right:8px;color:#e0ebff}
.carousel-arrow{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #809abe;border-radius:50%;background:#ffffff0d;color:#fff;font-size:23px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.carousel-arrow:hover:not(:disabled){background:#dbeaff;color:#132b50;border-color:#dbeaff}
.carousel-arrow:disabled{opacity:.38;cursor:default}
.studio-site .demo-track{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#7f9dcc #21385b;padding:7px 5px 24px;margin-inline:-5px;scroll-padding-inline:5px;position:relative;border-radius:12px;-webkit-overflow-scrolling:touch}
.demo-track::-webkit-scrollbar{height:7px}
.demo-track::-webkit-scrollbar-track{background:#21385b;border-radius:8px}
.demo-track::-webkit-scrollbar-thumb{background:#7f9dcc;border-radius:8px}
.studio-site .demo-track .project{flex:0 0 calc((100% - 32px)/2.35);min-width:0;scroll-snap-align:start;background:#fff;color:#0f172a;border:1px solid #fff;border-radius:12px;box-shadow:0 10px 32px -20px #0009;overflow:hidden;display:flex;flex-direction:column}
.studio-site .demo-track .project:last-child{max-width:none;grid-column:auto}
.studio-site .demo-track .project-preview{padding:22px 20px 0;border:0;border-bottom:1px solid #dce5ef;border-radius:11px 11px 0 0;aspect-ratio:1.5;background-image:linear-gradient(145deg,#ffffff80,transparent)}
.studio-site .demo-track .project-preview img{height:100%;object-fit:cover;object-position:top;border:1px solid #0f172a14;border-bottom:0;border-radius:5px 5px 0 0;box-shadow:0 8px 24px #0f172a20}
.studio-site .demo-track .project-meta{padding:24px;margin:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:19px}
.demo-track .project-meta>div{flex:1}
.studio-site .demo-track .category{color:#486280;font-size:10px;letter-spacing:1.2px}
.studio-site .demo-track h3{font-size:25px;margin-top:10px;margin-bottom:12px}
.studio-site .demo-track .project p{font-size:14px;line-height:1.65}
.studio-site .demo-track .visit{min-height:44px;display:inline-flex;align-items:center;color:#1d4ed8;font-weight:600;border-color:#afc6e8;margin:0}
.demo-track .project-preview:focus-visible{outline-offset:-5px}
.studio-site .demo-gallery{background:radial-gradient(ellipse at 0 38%,#e8eefa,transparent 55%),#f7f9fc}
.demo-gallery .section-art{background-image:repeating-linear-gradient(135deg,transparent 0 130px,#3064b506 130px 131px,transparent 131px 260px)}
.studio-site .demo-gallery .project{background:#ffffffdb;padding:14px;border:1px solid #dce5f1;border-radius:13px;box-shadow:var(--soft-shadow)}
.studio-site .demo-gallery .project-meta{padding:4px 12px 16px}
.studio-site .demo-gallery .project-preview{border-radius:8px;background-image:linear-gradient(135deg,#fff5,transparent)}
/* Process, care, FAQs and community have their own quiet surface treatment. */
.studio-site .process-compact{background:radial-gradient(ellipse at 100% 0,#e8effb 0,transparent 55%),#fbfcff;border-bottom:1px solid #dde6f2}
.process-compact .section-art:before{right:-380px;top:20%;width:700px;height:700px}
.process-compact .section-art:after{left:auto;right:20%;bottom:-140px;width:270px;height:270px;background:#2563eb04}
.studio-site .steps{gap:24px}
.studio-site .step{position:relative;border:1px solid #dce5f0;border-radius:12px;background:#ffffffdc;padding:27px 25px 22px;box-shadow:0 12px 24px -25px #173769}
.studio-site .step:before{content:"";position:absolute;top:-1px;left:25px;width:55px;height:3px;background:#2563eb;border-radius:2px}
.studio-site .step-number{color:#1d4ed8;font-weight:600;letter-spacing:.55px;font-size:11px}
.studio-site .step h3{margin-top:22px}
.studio-site .founder-line{border-top-color:#d4e0ef}
.studio-site .faq{padding-top:72px;background:linear-gradient(120deg,#f1f6fd 0,#fcfdff 55%)}
.faq .section-art:before{right:auto;left:-370px;top:-310px}
.faq .section-art:after{left:26%;bottom:-95px;width:150px;height:150px;background:#2563eb07}
.studio-site .faq>div{min-width:0}
.studio-site .faq details{padding:21px 23px;border:1px solid #d7e2f0;background:#ffffffde;border-radius:9px;margin-bottom:10px;box-shadow:0 8px 20px -20px #123d7d55}
.studio-site .faq details[open]{background:#fff;border-color:#aec5e8}
.studio-site .faq summary:after{color:#1d4ed8;flex:none}
.studio-site .care-detail{background:linear-gradient(125deg,#f8fbff,#eff4fc);border-block:1px solid #dce5f2}
.care-detail .section-art{background-image:radial-gradient(circle,#3566ab21 1px,transparent 1.5px);background-size:24px 24px;mask-image:linear-gradient(140deg,transparent 30%,#000)}
.studio-site .care-groups{gap:20px}
.studio-site .care-groups article{background:#ffffffed;border:1px solid #d8e4f3;border-top:3px solid #5984cd;border-radius:4px 4px 11px 11px;padding:24px 22px;box-shadow:var(--soft-shadow)}
.studio-site .care-groups h3{font-size:22px}
.studio-site .care-groups ul{margin-bottom:0}
.studio-site .offer{background:radial-gradient(ellipse at 90% 0,#294f88 0,transparent 65%),linear-gradient(135deg,#12213b,#111f39)}
.offer .section-art{background-image:linear-gradient(#bfd7ff08 1px,transparent 1px),linear-gradient(90deg,#bfd7ff08 1px,transparent 1px);background-size:72px 72px}
.offer .section-art:before{border-color:#a0c1f830;right:-300px;top:-130px;box-shadow:0 0 0 50px #93c5fd06,0 0 0 100px #93c5fd05}
.studio-site .offer .eyebrow{color:#abcaff}
.studio-site .price-card{border-color:#4b6283;border-radius:13px;background:linear-gradient(135deg,#203754ef,#17243bef);box-shadow:0 25px 60px -34px #020817aa}
.studio-site .systems-detail{background:linear-gradient(130deg,#edf4ff,#f8faff 64%,#ebeefb);border-bottom:1px solid #d8e4f2}
.systems-detail .section-art:after{width:360px;height:360px;left:38%;bottom:-270px;background:#2563eb08;transform:rotate(45deg)}
.studio-site .systems-detail .owner-question{background:#ffffffef;border-radius:12px;border:1px solid #d1deee;box-shadow:var(--soft-shadow)}
.studio-site .builder{background:radial-gradient(ellipse at 100% 100%,#284578,transparent 65%),linear-gradient(125deg,#13233f,#15274c);border-color:#304c74}
.builder .section-art{background-image:linear-gradient(120deg,transparent 0 70%,#a6c8ff08 70% 83%,transparent 83%)}
.builder .section-art:before{border-color:#93c5fd36;box-shadow:0 0 0 55px #93c5fd06,0 0 0 110px #93c5fd04;top:-250px}
.studio-site .builder .eyebrow{color:#b8cdff}
.studio-site .community{background:radial-gradient(ellipse at 0 45%,#eaf0fc,transparent 60%),linear-gradient(135deg,#f9fbff,#fffdf8)}
.community .section-art{background-image:radial-gradient(circle,#416eaf20 1px,transparent 1.5px);background-size:24px 24px;mask-image:linear-gradient(145deg,transparent 40%,#000)}
.studio-site .community-feature{background:linear-gradient(135deg,#ffffffed,#f0f5ffed);border-color:#d5e0ef;border-radius:14px;box-shadow:var(--soft-shadow)}
.studio-site .community-feature--homeownership{background:linear-gradient(135deg,#fffdf3f5,#fff9e5ed);border-color:#ede3c4}
.studio-site .community-visual img{border-radius:8px;box-shadow:0 14px 30px -21px #12254f66}
.studio-site .simple-cta{background:radial-gradient(ellipse at 100% 100%,#d5e3fb,transparent 60%),#f0f5ff;border-top:1px solid #dbe5f2}
.simple-cta .section-art:before{top:-340px;right:12%}
.studio-site .contact{background:radial-gradient(ellipse at 0 0,#d6e6ff 0,transparent 60%),radial-gradient(ellipse at 100% 100%,#e6e0f7 0,transparent 55%),#edf4ff;border-top:1px solid #d0ddf0}
.contact .section-art{background-image:radial-gradient(circle,#25539624 1px,transparent 1.5px);background-size:24px 24px;mask-image:linear-gradient(110deg,#000,transparent 70%)}
.contact .section-art:before{right:auto;left:-330px;top:auto;bottom:-450px;width:800px;height:800px;border-color:#2563eb23;box-shadow:0 0 0 50px #2563eb04,0 0 0 100px #2563eb04}
.contact .section-art:after{left:auto;right:-100px;bottom:20%;width:220px;height:220px;background:#2563eb07}
.studio-site .contact form{border:1px solid #cddbef;border-radius:15px;background:#fffffff5;box-shadow:0 24px 60px -36px #21477866}
.studio-site .contact input,.studio-site .contact select,.studio-site .contact textarea{border-color:#94a5bf;background:#fbfdff;border-radius:6px}
.studio-site .contact input:focus,.studio-site .contact select:focus,.studio-site .contact textarea:focus{background:#fff}
.studio-site footer#footer{position:relative;background:radial-gradient(ellipse at 95% 0,#111e34,transparent 60%),#050b15;border-top:1px solid #29405f}
.studio-site .footer-bottom{border-top-color:#263851}
/* The privacy page stays quiet and readable, with the same paper and edge detail. */
.page-privacy main.privacy-content{max-width:1040px;background:radial-gradient(ellipse at 100% 0,#eaf2ff,transparent 45%),#fbfdff}
.page-privacy{background:#f1f5fb}
.privacy-content>section{padding:6px 26px 24px;border:1px solid #dbe4f1;border-radius:12px;background:#ffffffed;margin-top:24px;box-shadow:0 10px 30px -28px #193a6855}
.privacy-content>section .section-art:before{width:350px;height:350px;right:-210px;top:-250px}
.privacy-content>section .section-art:after{display:none}
.privacy-content>section.privacy-choice{padding-top:28px;background:linear-gradient(130deg,#edf5ff,#f6f8ff);border-color:#b9cdea}
.privacy-content>section h2{margin-top:25px}
.privacy-content>section.privacy-choice h2{margin-top:0}
@media(min-width:1600px){.studio-site .demo-track .project{flex-basis:calc((100% - 48px)/2.7)}}
@media(max-width:1100px){.studio-site .demo-track .project{flex-basis:57%}.studio-site .offer-grid article{padding:23px 21px 20px}.studio-site .care-groups{gap:20px}}
@media(max-width:700px){
  .studio-site .demo-track{gap:16px;padding-bottom:20px}
  .studio-site .demo-track .project{flex-basis:87%}
  .studio-site .demo-track .project-preview{padding:18px 16px 0}
  .studio-site .demo-track .project-meta{padding:22px;gap:12px}
  .studio-site .demo-track h3{font-size:24px}
  .carousel-toolbar{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:15px}
  .carousel-controls{width:100%}
  .carousel-count{margin-right:auto}
  .carousel-arrow{width:46px;height:46px}
  .studio-site .faq{padding-top:54px}
  .studio-site .offer-grid,.studio-site .steps{gap:18px}
  .studio-site .step{padding:25px 23px 18px}
  .studio-site .demo-gallery .project{padding:10px}
  .studio-site .demo-gallery .project-meta{padding:4px 10px 14px}
  .studio-site .care-groups article{padding:23px}
  .section-art:before{opacity:.8}
  .section-art:after{opacity:.65}
  .privacy-content>section{padding:6px 20px 22px}
  .privacy-content>section.privacy-choice{padding:24px 20px}
}
@media(prefers-reduced-motion:reduce){.studio-site .demo-track{scroll-behavior:auto}.studio-site *,.studio-site *:before,.studio-site *:after{transition:none!important;animation:none!important}}
@media(forced-colors:active){.studio-site .section-art{display:none}.studio-site .carousel-arrow{border:1px solid ButtonText}.studio-site .demo-track .project,.studio-site .offer-grid article,.studio-site .step{border:1px solid CanvasText}.studio-site .carousel-arrow:disabled{color:GrayText;border-color:GrayText}.studio-site .demo-track{scrollbar-color:auto}}
/* Keep form boundaries and gallery focus distinct from their new surfaces. */
.studio-site .contact input,.studio-site .contact select,.studio-site .contact textarea{border-color:#64748b}
.page-home .work :is(.carousel-arrow,.gallery-link .button):focus-visible,.studio-site .demo-track:focus-visible{outline:3px solid #c4d9ff;outline-offset:4px}
.studio-site .demo-track .project-preview:focus-visible{outline:3px solid #162d54;outline-offset:-6px;box-shadow:inset 0 0 0 9px #fff}
.studio-site .demo-track .visit:focus-visible{outline:3px solid #7c3aed;outline-offset:4px}
@media(forced-colors:active){.page-home .work :is(.carousel-arrow,.gallery-link .button):focus-visible,.studio-site .demo-track:focus-visible,.studio-site .demo-track .project-preview:focus-visible{outline-color:Highlight}}

/* Original founder portrait, shown square at its native aspect ratio without cropping. */
.studio-site .founder-portrait{display:block;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;border:1px solid #c8d7ee;border-radius:12px;box-shadow:var(--soft-shadow)}
.studio-site .founder-intro{display:flex;align-items:center;gap:22px;min-width:0}
.studio-site .founder-intro .founder-portrait{width:112px;flex:0 0 112px}
.studio-site .founder-intro>div{min-width:0}
.studio-site .founder-line .founder-name{color:#0f172a;font-weight:700;margin:0 0 8px}
.studio-site .founder-name span{display:block;color:#475569;font-size:13px;font-weight:500;margin-top:2px}
.studio-site .founder-detail{align-items:center}
.studio-site .founder-profile .founder-portrait{width:232px;margin-bottom:26px;border-color:#809abe}
@media(max-width:700px){
  .studio-site .founder-intro{gap:18px}
  .studio-site .founder-intro .founder-portrait{width:88px;flex-basis:88px}
  .studio-site .founder-profile .founder-portrait{width:208px;margin-bottom:24px}
}
