/* Contact page: intentionally scoped so the shared home and footer stay unchanged. */
.contact-page{min-height:calc(100svh - var(--header-mobile));padding-top:var(--header-mobile);background:var(--paper);color:var(--ink);overflow:clip}
.contact-page-main{padding:76px 0 112px}
.contact-page-grid{display:grid;gap:54px;align-items:start}
.contact-page-copy{max-width:590px}
.contact-page-copy .display{max-width:620px;color:var(--forest)}
.contact-page-copy .lead{margin:22px 0 0;max-width:42ch}
.contact-page-quick{display:grid;gap:20px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);max-width:410px}
.contact-page-quick-item{display:grid;gap:3px}
.contact-page-quick-item>span{font-size:.69rem;line-height:1.3;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--muted)}
.contact-page-quick-item>a{width:max-content;color:var(--forest);font-size:1.03rem;font-weight:700}
.contact-page-quick-item>a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-page-quick-item .contact-page-whatsapp{color:var(--rose-gold)}
.contact-page-whatsapp span{display:inline-block;margin-left:4px;font-size:.95em}
.contact-page-form-wrap{width:100%;max-width:760px}
.contact-page-form{padding-top:2px}
.contact-page-fields{display:grid;gap:29px 26px}
.contact-page-field{display:grid;gap:7px;min-width:0}
.contact-page-field label{font-size:.71rem;line-height:1.35;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--forest)}
.contact-page-field label span,.contact-page-consent label span{color:var(--rose-gold)}
.contact-page-field input,.contact-page-field textarea{display:block;width:100%;margin:0;padding:8px 0 11px;border:0;border-bottom:1px solid rgba(38,60,52,.35);border-radius:0;background:transparent;color:var(--ink);font-size:1rem;line-height:1.45;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.contact-page-field textarea{min-height:125px;resize:vertical;padding-top:5px}
.contact-page-field input:focus,.contact-page-field textarea:focus{border-bottom-color:var(--forest);box-shadow:0 2px 0 var(--forest)}
.contact-page-field input:invalid:not(:placeholder-shown),.contact-page-field textarea:invalid:not(:placeholder-shown){border-bottom-color:var(--rose-gold)}
.contact-page-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-page-consent{display:flex;align-items:flex-start;gap:11px;margin-top:34px;color:var(--muted);font-size:.82rem;line-height:1.5}
.contact-page-consent input{flex:none;width:17px;height:17px;margin:1px 0 0;accent-color:var(--forest)}
.contact-page-consent label a{color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.contact-page-submit-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.contact-page-required-note{margin:0;color:var(--muted);font-size:.76rem}
.contact-page-required-note span{color:var(--rose-gold);font-weight:800}
.contact-page-submit{gap:12px;min-height:50px;background:var(--forest);color:#fff;cursor:pointer}
.contact-page-submit:hover{background:var(--forest-dark);transform:translateY(-2px)}
.contact-page-notice{margin:0 0 26px;padding:15px 17px;border-left:3px solid var(--forest);background:rgba(38,60,52,.07);color:var(--ink);font-size:.9rem;line-height:1.5}
.contact-page-notice-error{border-left-color:var(--rose-gold);background:rgba(189,135,137,.12)}
.contact-page-notice-success{border-left-color:var(--forest)}

@media (min-width:680px){
  .contact-page-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-page-field-message{grid-column:1 / -1}
}

@media (min-width:980px){
  .contact-page{min-height:calc(100svh - var(--header-desktop));padding-top:var(--header-desktop)}
  .contact-page-main{padding:94px 0 132px}
  .contact-page-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(52px,8vw,124px)}
  .contact-page-quick{margin-top:64px}
}

@media (max-width:679px){
  .contact-page-main{padding-top:58px}
  .contact-page-copy .display{font-size:clamp(2.55rem,13vw,4rem)}
  .contact-page-quick{margin-top:38px}
}

@media (prefers-reduced-motion:reduce){
  .contact-page-field input,.contact-page-field textarea,.contact-page-submit{transition:none}
}
