/* Contact page only: light surfaces, precise spacing, emerald and warm gold. */
.dp-public[data-public-page="contact"] .dp-main>.dp-contact-hero:first-child:not(#hero):has(>.dp-page-motion) { min-height:0; padding:32px max(24px,calc((100% - 1180px)/2)); gap:32px; }
.dp-public[data-public-page="contact"] .dp-contact-hero .dp-page-motion { max-width:300px; }
.dp-public[data-public-page="contact"] .dp-main>.dp-contact-hero:first-child:not(#hero) h1 { font-size:clamp(36px,4vw,54px); font-weight:700; line-height:1.4; letter-spacing:-.025em; margin:9px 0 12px; }
.dp-public[data-public-page="contact"] .dp-main>.dp-contact-hero:first-child:not(#hero) p { color:#63796d; font-size:15px; margin:0; }
.dp-contact-hero nav { display:flex; align-items:center; gap:10px; color:#718376; margin-bottom:20px; font-size:11px; }
.dp-contact-hero nav [aria-current] { color:#997322; }
.dp-contact-eyebrow { display:block; font-size:11px; font-weight:600; color:#98721e; line-height:1.8; }
.dp-contact-hero-links { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:21px; }
.dp-contact-hero-links a { display:inline-flex; align-items:center; gap:14px; font-size:12px; font-weight:600; min-height:38px; color:#23634b; border-bottom:1px solid #b3c8b9; }
.dp-contact-hero-links a:last-child { color:#738175; border-color:transparent; }
.dp-contact-hero-links svg { width:17px; height:17px; }
.dp-contact-container { max-width:1180px; margin-inline:auto; }
.dp-public .dp-main>.dp-contact-section { padding:32px 24px 56px; border-top:1px solid #edf0e8; background:linear-gradient(145deg,#fafaf5,#f1f7f2); }
.dp-contact-workspace { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); grid-template-areas:"aside form"; gap:24px; align-items:stretch; }
.dp-contact-aside { grid-area:aside; }
.dp-contact-form-card { grid-area:form; }
.dp-contact-aside { display:flex; flex-direction:column; min-width:0; padding:36px 30px 24px; border:1px solid #e0e8df; border-radius:20px; background:linear-gradient(150deg,#edf4ec 0%,#f8faf5 58%,#f8f3e5 100%); position:relative; overflow:hidden; }
.dp-contact-aside:before { content:""; position:absolute; top:0; inset-inline-start:30px; width:54px; height:3px; border-radius:0 0 3px 3px; background:#b69237; }
.dp-contact-aside h2 { font-size:30px; line-height:1.65; font-weight:700; letter-spacing:-.025em; color:#214937; margin:12px 0 12px; text-wrap:balance; }
.dp-contact-aside-intro { color:#677d6d; font-size:13px; line-height:1.95; margin:0 0 26px; }
.dp-contact-methods { display:grid; gap:12px; }
.dp-contact-method { display:flex; align-items:center; gap:13px; min-width:0; padding:16px; border:1px solid #dfe8de; border-radius:12px; background:#ffffffd9; color:#214c38; transition:border-color .2s,box-shadow .2s; }
.dp-contact-method>span:nth-child(2) { flex:1; min-width:0; }
.dp-contact-method small { display:block; font-size:11px; margin-bottom:5px; }
.dp-contact-method strong { display:block; font-family:Arial,sans-serif; font-weight:500; font-size:15px; overflow-wrap:anywhere; text-align:start; }
.dp-contact-method:hover { border-color:#8eb69c; box-shadow:0 6px 20px #244a3310; }
.dp-contact-method--whatsapp { background:#126548; color:#fff; border-color:#126548; box-shadow:0 8px 22px #1a5a3615; }
.dp-contact-method--whatsapp:hover { border-color:#0d5038; background:#0d5b3f; }
.dp-contact-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:10px; color:#8f722f; background:#f4efdf; }
.dp-contact-icon svg { width:20px; height:20px; }
.dp-contact-method--whatsapp .dp-contact-icon { color:#d7ecda; background:#ffffff12; }
.dp-contact-arrow svg { width:17px; height:17px; }
.dp-contact-meta { display:grid; gap:20px; margin:27px 0; padding-block:23px; border-top:1px solid #dae4d9; border-bottom:1px solid #dae4d9; }
.dp-contact-meta>div { display:flex; gap:12px; align-items:center; }
.dp-contact-meta .dp-contact-icon { background:#e6eee3; color:#65806c; }
.dp-contact-meta h3 { font-size:11px; color:#75836f; font-weight:500; margin:0 0 4px; }
.dp-contact-meta p,.dp-contact-meta a { font-size:12px; color:#3e5d48; line-height:1.85; margin:0; }
.dp-contact-meta a { display:inline-block; min-height:24px; }
.dp-contact-socials { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.dp-contact-socials>span { font-size:11px; color:#6b7d68; }
.dp-contact-socials>div { display:flex; gap:7px; }
.dp-contact-socials a { display:grid; place-items:center; width:36px; height:36px; color:#45674f; border:1px solid #dbe5d7; border-radius:50%; background:#ffffff91; transition:background .2s; font-size:13px; }
.dp-contact-socials a:hover { background:#e2eedf; }
.dp-contact-aside-signature { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:32px; color:#a29366; font:10px/1.5 Arial,sans-serif; letter-spacing:.24em; }
.dp-contact-aside-signature span { width:36px; height:1px; background:#c6b782; }
.dp-contact-form-card { min-width:0; padding:32px; background:#fff; border:1px solid #e2eae1; border-radius:20px; box-shadow:0 12px 40px #24482c06; scroll-margin-top:110px; }
.dp-contact-form-heading { display:flex; align-items:start; justify-content:space-between; gap:18px; }
.dp-contact-form-heading h2 { font-size:26px; font-weight:700; line-height:1.5; color:#244832; margin:7px 0 8px; }
.dp-contact-form-heading p { font-size:12px; color:#7b887b; line-height:1.9; margin:0; }
.dp-contact-form-symbol { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; border:1px solid #e8e2ca; border-radius:50%; color:#a38a45; background:#fcfaf1; }
.dp-contact-form-symbol svg { width:22px; height:22px; }
.dp-contact-required { color:#8a8c7b; font-size:10px; margin:18px 0; padding-top:16px; border-top:1px solid #eef0e8; }
.dp-contact-form { display:grid; gap:18px; }
.dp-contact-form>.grid { gap:16px; }
.dp-contact-form label { color:#48614d; font-size:12px; font-weight:500; margin-bottom:7px; }
.dp-public[data-public-page="contact"] .dp-contact-form :is(input:not([type=hidden]),select,textarea) { background:#fbfcf9; border:1px solid #dfe6d9; color:#2d4836; border-radius:9px; min-height:47px; font-size:13px; padding:11px 13px; width:100%; transition:border-color .2s,box-shadow .2s; }
.dp-public[data-public-page="contact"] .dp-contact-form :is(input,textarea)::placeholder { color:#a1ab9d; font-weight:400; font-size:12px; }
.dp-public[data-public-page="contact"] .dp-contact-form select { padding-inline-end:34px; background-position:left 12px center; }
[dir="ltr"] .dp-public[data-public-page="contact"] .dp-contact-form select { background-position:right 12px center; }
.dp-public[data-public-page="contact"] .dp-contact-form textarea { min-height:126px; resize:vertical; line-height:1.8; }
.dp-public[data-public-page="contact"] .dp-contact-form :is(input,select,textarea):focus { outline:none; border-color:#6ba180; box-shadow:0 0 0 3px #8daf7520; background:#fff; }
.dp-public[data-public-page="contact"] .dp-contact-form [aria-invalid="true"] { border-color:#c77667; background:#fffaf8; }
.dp-contact-form [id$="-error"] { color:#aa493e; font-size:11px; }
.dp-contact-form .nr-box { width:100%; max-width:300px; background:#f8faf5; border-color:#e0e7d9; border-radius:9px; box-shadow:none; }
.dp-contact-form .nr-label { font-size:13px; }
.dp-contact-form .btn-primary { border-radius:10px; min-height:47px; }
.dp-contact-submit-note { max-width:220px; font-size:10px; line-height:1.85; color:#7c8779; }
.dp-contact-notice { padding:12px 15px; margin-block:14px; border-radius:9px; font-size:12px; line-height:1.8; }
.dp-contact-notice--success { background:#eff8ef; border:1px solid #cbe2c9; color:#326044; }
.dp-contact-notice--error { background:#fff5ef; border:1px solid #ebcfc1; color:#954a37; }
.dp-public .dp-main>.dp-contact-branches { background:#fff; padding:52px 24px; scroll-margin-top:100px; }
.dp-contact-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.dp-contact-section-heading h2 { font-size:28px; line-height:1.5; color:#234a36; font-weight:700; margin:7px 0 0; }
.dp-contact-section-heading>p { max-width:350px; color:#7b8779; font-size:13px; line-height:1.9; margin:0; }
.dp-contact-branch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.dp-contact-branch { border:1px solid #e2e8dd; border-radius:13px; padding:20px; background:#fcfdf9; }
.dp-contact-branch header { display:flex; align-items:center; gap:11px; }
.dp-contact-branch h3 { font-size:16px; font-weight:700; color:#2d4c36; margin:0; }
.dp-contact-branch-number { margin-inline-start:auto; color:#c5cbbb; font:12px Arial,sans-serif; }
.dp-contact-branch .dp-contact-icon { color:#709172; background:#edf3e7; }
.dp-contact-branch>p { font-size:13px; color:#627760; line-height:1.8; margin:15px 0 7px; }
.dp-contact-branch>small { display:block; font-size:10px; color:#899481; line-height:1.9; }
.dp-contact-branch>a { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #e7ecdf; padding-top:13px; margin-top:16px; min-height:40px; color:#34724e; font-size:11px; font-weight:600; }
.dp-contact-branch>a svg { width:16px; height:16px; }
.dp-public .dp-main>.dp-contact-resources { padding:44px 24px 52px; background:#f8faf5; border-top:1px solid #edf0e6; }
.dp-contact-files { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.dp-contact-file { display:flex; flex-direction:column; align-items:start; min-width:0; padding:18px; background:#fff; border:1px solid #e3e9dc; border-radius:12px; }
.dp-contact-file h3 { color:#516549; font-size:12px; font-weight:500; line-height:1.85; margin:12px 0; }
.dp-contact-file>span:last-child { margin-top:auto; color:#929985; font-size:10px; }
.dp-contact-licenses { margin-top:30px; padding-top:25px; border-top:1px solid #dfe6d5; }
.dp-contact-licenses header { display:flex; align-items:center; gap:10px; margin-bottom:15px; }
.dp-contact-licenses h2 { font-size:16px; font-weight:600; color:#4c6444; margin:0; }
.dp-contact-licenses header .dp-contact-icon { background:transparent; }
.dp-contact-licenses>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.dp-contact-licenses p { font-size:11px; color:#7a8870; line-height:1.95; margin:0; padding-inline-start:14px; border-inline-start:2px solid #d7c99b; }
[dir="ltr"] :is(.dp-contact-arrow,.dp-contact-hero-links,.dp-contact-branch>a) svg { transform:rotate(180deg); }
.dp-public[data-public-page="contact"] .dp-main :is(a,button):focus-visible { outline:3px solid #b28c36; outline-offset:4px; }
@media(max-width:1023px) {
    .dp-contact-workspace { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:18px; }
    .dp-contact-aside,.dp-contact-form-card { padding:24px; }
    .dp-contact-aside h2 { font-size:25px; }
    .dp-contact-method { padding:12px; gap:10px; }
    .dp-contact-method strong { font-size:13px; }
    .dp-contact-arrow { display:none; }
    .dp-contact-files { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:767px) {
    .dp-public[data-public-page="contact"] .dp-main>.dp-contact-hero:first-child:not(#hero):has(>.dp-page-motion) { padding:22px 20px; gap:8px; }
    .dp-public[data-public-page="contact"] .dp-main>.dp-contact-hero:first-child:not(#hero) h1 { font-size:34px; }
    .dp-public[data-public-page="contact"] .dp-contact-hero .dp-page-motion { max-width:200px; }
    .dp-contact-hero nav,.dp-contact-hero-links { justify-content:center; }
    .dp-contact-hero nav { margin-bottom:14px; }
    .dp-contact-hero-links { gap:18px; margin-top:14px; }
    .dp-contact-workspace { grid-template-columns:minmax(0,1fr); grid-template-areas:"form" "aside"; gap:18px; }
    .dp-contact-form-card { grid-row:1; padding:22px 18px; border-radius:15px; }
    .dp-contact-aside { padding:26px 22px; border-radius:15px; }
    .dp-public .dp-main>.dp-contact-section { padding:22px 16px 32px; }
    .dp-contact-form-heading h2 { font-size:23px; }
    .dp-contact-form-symbol { flex-basis:38px; width:38px; height:38px; }
    .dp-contact-form>.grid { grid-template-columns:minmax(0,1fr); gap:16px; }
    .dp-public[data-public-page="contact"] .dp-contact-form :is(input:not([type=hidden]),select,textarea) { font-size:16px; }
    .dp-contact-submit-note { max-width:none; text-align:center; }
    .dp-contact-branch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dp-public .dp-main>.dp-contact-branches,.dp-public .dp-main>.dp-contact-resources { padding:32px 18px; }
    .dp-contact-section-heading { display:block; }
    .dp-contact-section-heading h2 { font-size:24px; }
    .dp-contact-section-heading>p { font-size:12px; margin-top:10px; }
    .dp-contact-files { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dp-contact-licenses>div { grid-template-columns:minmax(0,1fr); gap:15px; }
}
@media(max-width:479px) {
    .dp-contact-branch-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
    .dp-contact-file { padding:14px; }
}
@media(prefers-reduced-motion:reduce) {
    .dp-contact-section * { transition:none!important; }
}
