/* Warm editorial design shared by every Doumco page. */
body.doumco.warm{--cream:#f7f3ed;--sand:#eee6da;--white:#fffcf7;--ink:#253746;--muted:#605e59;--charcoal:#605e59;--line:#dcd4c7;--blue:#2c4c67;--blue-deep:#203e57;--blue-soft:#e8edea;--blue-mid:#d1e1e6;--amber:#b36f45;--amber-soft:#f0e3d3;background:#f7f3ed;color:#253746}
.doumco.warm .site-header{background:rgba(247,243,237,.97);border-color:#e4dcd0}
.doumco.warm .nav,.doumco.warm .nav-dd-menu{background:#f7f3ed}
.doumco.warm .menu-btn,.doumco.warm .lang-switch{background:#fffcf7}
.doumco.warm .n-kicker,.doumco.warm .eyebrow{color:#8c5638;letter-spacing:.13em}
.doumco.warm .n-intro,.doumco.warm .n-heading p,.doumco.warm .n-split p,.doumco.warm .n-card p,.doumco.warm .n-service p,.doumco.warm .n-faq details p,.doumco.warm figcaption{color:#605e59}
.doumco.warm .n-hero,.doumco.warm .hero:not(.hero--dark){background:#eee6da}
.doumco.warm .n-section{padding:88px 0}
.doumco.warm .n-soft,.doumco.warm .section--sand{background:#eee6da}
.doumco.warm .n-dark,.doumco.warm .section--dark,.doumco.warm .hero--dark{background:#263e4c}
.doumco.warm .n-dark p,.doumco.warm .n-dark figcaption,.doumco.warm .n-dark .n-kicker{color:#e1e5e3}
.doumco.warm .n-link{color:#2c4c67}
.doumco.warm .n-dark .n-link{color:#d1e1e6}
.doumco.warm .n-card,.doumco.warm .n-split li,.doumco.warm .n-faq details{border-color:#dcd4c7}
.doumco.warm .n-dark li{border-color:#63757c}
.doumco.warm .n-band{background:#f7f3ed;border-color:#dcd4c7}
.doumco.warm .n-band .n-wrap{color:#605e59}
.doumco.warm .n-service,.doumco.warm .card--plain,.doumco.warm .plain-note{background:#efe7dc;border-color:#dcd4c7}
.doumco.warm .btn-primary,.doumco.warm .btn-amber{background:#2c4c67;color:#fff;border-color:transparent}
.doumco.warm .btn-primary:hover,.doumco.warm .btn-amber:hover{background:#203e57}
.doumco.warm :focus-visible{outline-color:#9a613c}
.doumco.warm .n-cover img{border-radius:24px 24px 0 0}
.doumco.warm .w-hero{padding:72px 0;background:#eee6da}
.doumco.warm .w-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.doumco.warm .w-hero h1{font-size:clamp(2.7rem,4.5vw,4.8rem);line-height:1.06}
.doumco.warm .w-hero .n-intro{margin-bottom:0;max-width:730px}
.doumco.warm .w-hero .n-actions{margin:28px 0 0;gap:12px 24px}
.doumco.warm .w-hero-photo img{width:100%;height:570px;object-fit:cover;border-radius:110px 22px 22px 22px}
.doumco.warm .w-proof{border-bottom:1px solid #dcd4c7;padding:22px 0}
.doumco.warm .w-proof .n-wrap{display:flex;flex-wrap:wrap;gap:12px 48px;color:#605e59;font-size:14px}
.doumco.warm .w-offers{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.doumco.warm .w-offer{background:#eee6da;border-radius:22px;overflow:hidden}
.doumco.warm .w-offer>img{width:100%;height:290px;object-fit:cover}
.doumco.warm .w-offer>div{padding:32px}
.doumco.warm .w-overline{color:#756652;font-size:14px;margin:0 0 12px}
.doumco.warm .w-offer h3{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.doumco.warm .w-offer ul{margin:24px 0 12px;list-style:none}
.doumco.warm .w-offer li{padding:9px 0;border-top:1px solid #d8cebe;font-size:16px;line-height:1.5}
.doumco.warm .w-detail{display:inline-flex;font-size:14px;padding-bottom:0;font-weight:600}
.doumco.warm .w-gallery-section{background:#e9e5db}
.doumco.warm .w-projects{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:28px}
.doumco.warm .w-projects .card{background:#f7f3ed;border:0;box-shadow:none;border-radius:20px;min-width:0}
.doumco.warm .w-projects .card .ph{aspect-ratio:4/3!important}
.doumco.warm .w-projects .card-body{padding:28px}
.doumco.warm .w-projects h3{font-size:clamp(1.5rem,2.4vw,2rem)}
.doumco.warm .w-projects .tag{color:#8c5638}
.doumco.warm .w-projects .project-count{background:#fffcf7;color:#253746}
.doumco.warm .w-projects .link-arrow{color:#2c4c67;font-weight:600}
.doumco.warm .w-steps{padding:0;margin:28px 0 0;list-style:none}
.doumco.warm .w-steps li{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:20px 0}
.doumco.warm .w-steps li>span{font-size:13px;color:#8c5638;font-weight:600}
.doumco.warm .w-steps h3{font-size:1.25rem}
.doumco.warm .w-steps p{font-size:16px;line-height:1.6;margin:10px 0 0}
.doumco.warm .w-approach .n-split>figure img{height:620px}
.doumco.warm .w-questions{padding-top:0}
.doumco.warm .w-quote{padding:88px 0;background:#ded9cc;scroll-margin-top:90px}
.doumco.warm .w-quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.doumco.warm .w-quote .n-intro{font-size:18px}
.doumco.warm .w-phone{display:block;font-size:clamp(1.65rem,3vw,2.3rem);font-weight:600;text-decoration:none;letter-spacing:-.03em;color:#2c4c67}
.doumco.warm .w-contact-email{margin-top:12px;font-size:16px;overflow-wrap:anywhere}
.doumco.warm .w-contact-email a{color:#2c4c67}
.doumco.warm .w-form{background:#fffcf7;border-radius:24px;padding:36px}
.doumco.warm .w-form-note{font-size:13px;color:#605e59;line-height:1.6;margin:0 0 24px}
.doumco.warm .w-form .full>.w-form-note{margin:18px 0 0}
.doumco.warm .field input:not([type=checkbox]):not([type=radio]),.doumco.warm .field select,.doumco.warm .field textarea{background:#f7f3ed;border-color:#cec6b8}
.doumco.warm .w-consent{display:flex;align-items:flex-start;gap:12px;line-height:1.5;font-size:14px}
.doumco.warm .w-consent input{width:18px;height:18px;min-height:0;margin-top:3px;flex:none}
.doumco.warm .w-team{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.doumco.warm .w-team article{min-width:0}
.doumco.warm .w-team img{width:100%;height:520px;object-fit:cover;object-position:center 25%;border-radius:24px}
.doumco.warm .w-team article>div{padding:30px 0}
.doumco.warm .w-team h2{font-size:2.5rem}
.doumco.warm .w-team p:not(.n-kicker){margin:18px 0 0;color:#605e59}
.doumco.warm .w-language{padding:56px 0;background:#eee6da}
.doumco.warm .w-language p{max-width:800px;font-size:22px;line-height:1.6}
.doumco.warm .w-language span{color:#8c5638;font-size:15px}
.doumco.warm .w-scope details{border-top:1px solid #d0c6b7;padding:26px 0;scroll-margin-top:100px}
.doumco.warm .w-scope summary{font-size:clamp(1.3rem,2.4vw,2rem);font-weight:600;line-height:1.3;cursor:pointer;letter-spacing:-.025em}
.doumco.warm .w-scope-body{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:30px}
.doumco.warm .w-scope-body figure img{width:100%;height:360px;object-fit:cover;border-radius:20px}
.doumco.warm .w-scope-body p{color:#605e59;font-size:18px;line-height:1.65}
.doumco.warm .w-scope-body ul{font-size:16px}
.doumco.warm .w-career{max-width:900px}
.doumco.warm .w-career .n-intro{margin:0 0 32px;max-width:100%}
.doumco.warm .w-end{padding:60px 0;background:#eee6da}
.doumco.warm .w-end .n-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.doumco.warm .w-end h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.doumco.warm .w-footer{background:#263e4c;padding:56px 0 28px;color:#e1e5e3}
.doumco.warm .w-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:56px}
.doumco.warm .w-footer strong{font-size:25px;font-weight:600;letter-spacing:-.025em}
.doumco.warm .w-footer p{margin:16px 0;max-width:380px;font-size:15px;line-height:1.6}
.doumco.warm .w-footer small{font-size:12px;color:#c3cec9}
.doumco.warm .w-footer-grid>div:nth-child(2),.doumco.warm .w-footer nav{display:flex;flex-direction:column;gap:14px;font-size:15px}
.doumco.warm .w-footer a{overflow-wrap:anywhere}
.doumco.warm .w-copyright{border-top:1px solid #526772;margin-top:34px;padding-top:22px;font-size:12px;color:#c3cec9}
.doumco.warm .mobile-bar.w-mobile{display:none}
@media(max-width:1199px){.doumco.warm .mobile-bar.w-mobile{display:block;width:max-content;max-width:calc(100% - 24px);left:50%;right:auto;transform:translateX(-50%);padding:5px;background:#f7f3ed;border:1px solid #dcd4c7;border-radius:50px;box-shadow:0 4px 18px #25374620}.doumco.warm .w-mobile .btn{padding:14px 24px;font-size:14px}.doumco.warm .w-footer{padding-bottom:108px}}
.doumco.warm .w-mobile[hidden]{display:none!important}
@media(max-width:900px){.doumco.warm .w-hero-grid{grid-template-columns:1fr;gap:32px}.doumco.warm .w-hero-photo img{height:440px;border-radius:80px 20px 20px 20px}.doumco.warm .w-quote-grid{grid-template-columns:1fr;gap:36px}.doumco.warm .w-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.doumco.warm .w-footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:760px){.doumco.warm .w-hero{padding:42px 0}.doumco.warm .w-hero h1{font-size:clamp(2.5rem,10vw,3.8rem)}.doumco.warm .n-section{padding:58px 0}.doumco.warm .w-offers,.doumco.warm .w-projects,.doumco.warm .w-team,.doumco.warm .w-scope-body{grid-template-columns:1fr}.doumco.warm .w-offer>img{height:260px}.doumco.warm .w-offer>div{padding:26px}.doumco.warm .w-approach .n-split>figure img{height:360px}.doumco.warm .w-questions{padding-top:0}.doumco.warm .w-quote{padding:58px 0}.doumco.warm .w-form{padding:24px 20px}.doumco.warm .w-team{gap:18px}.doumco.warm .w-team img{height:430px}.doumco.warm .w-scope-body{gap:24px}.doumco.warm .w-scope-body figure img{height:300px}.doumco.warm .w-footer-grid{gap:30px 16px}.doumco.warm .w-proof .n-wrap{gap:10px 24px;font-size:13px}}

/* Project photographs: full frames, readable captions and a mobile stack. */
.warm .w-feature{background:#eee6da}
.warm .w-feature-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.warm .w-feature-photos figure{margin:0;min-width:0}
.warm .w-feature-photos img{display:block;width:100%;height:auto;border-radius:16px}
.warm .w-feature-photos figcaption{padding:14px 2px 0;color:#605e59;font-size:14px;line-height:1.5}
@media(max-width:760px){.warm .w-feature-photos{grid-template-columns:1fr;gap:26px}}

/* Restore visible native checkbox and radio states in Safari and other browsers. */
.doumco.warm .field input[type="checkbox"],
.doumco.warm .field input[type="radio"] {
  -webkit-appearance: auto;
  appearance: auto;
  width: 20px;
  height: 20px;
  min-height: 0;
  padding: 0;
  flex: 0 0 20px;
  accent-color: #2c4c67;
  cursor: pointer;
}
.doumco.warm .w-consent { cursor: pointer; }
.doumco.warm .field input[type="checkbox"]:focus-visible,
.doumco.warm .field input[type="radio"]:focus-visible {
  outline: 2px solid #2c4c67;
  outline-offset: 3px;
}
