/* Doumco: one palette, one typographic system, across all pages. */
body.doumco{--blue:#2b56a5;--blue-deep:#214781;--blue-soft:#edf2f9;--blue-mid:#b5cef5;--ink:#172330;--charcoal:#586572;--muted:#586572;--cream:#fff;--sand:#f5f7f9;--amber:#b5cef5;--amber-soft:#edf2f9;--line:#dce2e8;--r-lg:22px;--r-md:16px;--r-sm:10px;--f-head:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--f-body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 12px 30px -24px rgba(23,35,48,.24);--shadow-sm:0 8px 24px -20px rgba(23,35,48,.18);font-family:var(--f-body);background:#fff;color:var(--ink)}
.doumco h1,.doumco h2,.doumco h3,.doumco h4{font-family:var(--f-head);font-weight:600;letter-spacing:-.04em;line-height:1.1}
.doumco h1,.doumco .hero--page h1,.doumco .hero--about h1,.doumco .hero--resi h1{font-size:clamp(2.65rem,5.4vw,5rem);line-height:1.05;letter-spacing:-.045em}
.doumco h2{font-size:clamp(2rem,3.7vw,3.5rem)}
.doumco h3{letter-spacing:-.025em}
.doumco .lead,.doumco .about-p{font-size:clamp(1.05rem,1.7vw,1.2rem);line-height:1.65;color:var(--muted)}
.doumco .container{width:min(1160px,calc(100% - 48px))}
.doumco .site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #edf0f3;backdrop-filter:blur(18px)}
.doumco .site-header.scrolled{box-shadow:none}
.doumco .nav,.doumco .nav-dd-menu{background:#fff}
.doumco .nav a,.doumco .nav-dd-btn{font-weight:600}
.doumco .btn{font-family:var(--f-body);font-weight:600;box-shadow:none;white-space:normal;text-align:center;line-height:1.25;transition:background .2s,color .2s,border-color .2s}
.doumco .btn:hover{transform:none}
.doumco .btn-primary,.doumco .btn-amber{background:var(--blue);color:#fff}
.doumco .btn-primary:hover,.doumco .btn-amber:hover{background:var(--blue-deep)}
.doumco .btn-ghost{border-color:#c6d1dd;color:var(--blue-deep)}
.doumco .btn-ghost:hover{background:var(--blue-soft)}
.doumco .on-dark .btn-ghost{color:#fff;border-color:#8fa5be}
.doumco .on-dark .btn-ghost:hover{background:#29425c}
.doumco .hl,.doumco .hero--dark .hl{background:none;color:var(--blue);padding:0;border-radius:0}
.doumco .on-dark .hl,.doumco .hero--dark .hl{color:var(--blue-mid)}
.doumco .eyebrow,.doumco .n-kicker{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--blue)}
.doumco .eyebrow::before{display:none}
.doumco .on-dark .eyebrow,.doumco .n-dark .n-kicker{color:var(--blue-mid)}
.doumco .hero:not(.hero--dark),.doumco .n-hero{background:#f5f7f9}
.doumco .section--sand,.doumco .n-soft{background:#f5f7f9}
.doumco .hero--dark,.doumco .section--dark,.doumco .section--blue,.doumco .n-dark,.doumco .site-footer{background:#152c45;color:#fff}
.doumco .on-dark .lead,.doumco .on-dark .about-p{color:#c3d1df}
.doumco .cta,.doumco .n-cta{background:#edf2f9;color:var(--ink)}
.doumco .cta::before,.doumco .cta::after{display:none}
.doumco .cta p,.doumco .n-cta p{color:var(--muted)}
.doumco .cta .btn-outline-light{color:var(--blue-deep);border-color:#b9c8da}
.doumco .cta .btn-outline-light:hover{background:#fff}
.doumco .float-card,.doumco .trust,.doumco .card,.doumco .card--plain{box-shadow:none;border:1px solid var(--line)}
.doumco .card:hover{transform:none;box-shadow:none;border-color:#9fb5d0}
.doumco .hero-media .ph{border-radius:22px}
.doumco .ph--warm,.doumco .ph--sand{background:#edf2f9}
.doumco .ph--warm .ph-fallback,.doumco .ph--sand .ph-fallback{color:var(--blue)}
.doumco .ph::before{background:none}
.doumco .hero-shield .shield{filter:none}
.doumco .svc-tag,.doumco .chip{background:#edf2f9;color:var(--blue-deep);border-color:#dce2e8}
.doumco .on-dark .chip{background:#29425c;color:#fff;border-color:#496078}
.doumco :focus-visible{outline:3px solid #648fd1;outline-offset:4px}
.doumco .field input:not([type=checkbox]):not([type=radio]),.doumco .field select,.doumco .field textarea{font-family:var(--f-body);border-color:#c6d1dd;border-radius:12px;background:#fff;color:var(--ink)}
.doumco input[type=radio],.doumco input[type=checkbox]{accent-color:var(--blue)}
.doumco .quickbar{background:#152c45;box-shadow:0 4px 20px #17233018}
.doumco .n-dark p,.doumco .n-dark figcaption{color:#c3d1df}
@media(max-width:760px){.doumco .container{width:calc(100% - 36px)}.doumco h1,.doumco .hero--page h1{font-size:clamp(2.45rem,9.8vw,3.6rem)}.doumco .hero-grid{gap:32px}.doumco .actions .btn{max-width:100%}.doumco .float-card{position:relative;left:auto;right:auto;bottom:auto;margin-top:14px}.doumco .hero-media .ph{border-radius:18px}}
@media(max-width:380px){.doumco .brand img{height:29px}.doumco .bar{gap:8px}.doumco .menu-btn{width:40px;height:40px}.doumco .btn{padding:14px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.doumco *{transition:none!important;animation:none!important}}
.doumco .mobile-bar{background:rgba(21,44,69,.97);box-shadow:0 4px 20px #17233018}
.doumco .home-paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.doumco .home-path{display:block;text-decoration:none;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:border-color .2s}
.doumco .home-path:hover{border-color:#8da8cd}
.doumco .home-path img{width:100%;aspect-ratio:4/3;object-fit:cover}
.doumco .home-path>div{padding:24px}
.doumco .home-path h3{font-size:1.35rem;display:flex;justify-content:space-between;gap:10px}
.doumco .home-path h3 span{color:var(--blue)}
.doumco .home-path p{color:var(--muted);font-size:16px;line-height:1.6;margin:14px 0 0}
@media(max-width:1000px){.doumco .home-paths{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.doumco .home-paths{grid-template-columns:1fr}.doumco .home-path img{aspect-ratio:16/9}}
/* Show real project imagery immediately; keep navigation to sections usable on narrow screens. */
.doumco .reveal{opacity:1;transform:none;transition:none}
@media(max-width:760px){.doumco .jump{flex-wrap:wrap;overflow:visible;white-space:normal}.doumco .jump a{white-space:normal;max-width:100%}}
