/* Contact presentation only. Form markup and contact.js remain unchanged. */
.contact-page .ct-intro { padding:155px var(--space) 52px; background:var(--dark); color:var(--white); }
.contact-page .ct-intro .eyebrow { font-size:10px; letter-spacing:.25em; }
.contact-page .ct-intro h1 { font-size:clamp(40px,6.8vw,104px); line-height:1.05; letter-spacing:.025em; font-weight:400; margin:20px 0 24px; }
.contact-page .ct-intro>p:last-child { max-width:780px; line-height:1.7; font-size:clamp(17px,1.8vw,24px); color:#ccc; margin:0; }
.contact-page .ct-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,7vw,112px); max-width:1440px; width:calc(100% - var(--space)*2); margin:0 auto; padding:clamp(48px,6vw,90px) 0; }
.contact-page .ct-editorial .eyebrow { font-size:10px; letter-spacing:.2em; }
.contact-page .ct-editorial h2 { font-size:clamp(28px,3.2vw,46px); font-weight:400; line-height:1.12; margin-bottom:28px; }
.contact-page .ct-editorial p { color:#595954; line-height:1.8; font-size:15px; }
.contact-page .ct-editorial a { text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.contact-page .ct-weddings { border-top:1px solid var(--line-dark); margin-top:48px; padding-top:28px; }
.contact-page .ct-weddings h3 { font-size:24px; font-weight:400; line-height:1.25; }
.contact-page .ct-weddings>a { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line-dark); font-size:13px; }
.contact-page #contact-form { padding:clamp(24px,3.2vw,46px); background:#eeeee9; scroll-margin-top:28px; }
.contact-page #contact-form label { display:block; margin-bottom:22px; font-size:13px; line-height:1.6; }
.contact-page #contact-form :is(input,select,textarea,button) { font:inherit; }
.contact-page #contact-form input:not([type=checkbox]),.contact-page #contact-form select,.contact-page #contact-form textarea { display:block; width:100%; min-width:0; margin-top:8px; padding:14px; border:1px solid #888; border-radius:0; background:var(--paper); color:var(--ink); font-size:16px; }
.contact-page #contact-form textarea { resize:vertical; min-height:170px; max-width:100%; line-height:1.6; }
.contact-page #contact-form :is(input,select,textarea,button):focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
.contact-page #contact-form .consent { display:flex; align-items:flex-start; gap:12px; font-size:13px; color:#595954; }
.contact-page #contact-form .consent input { flex-shrink:0; margin-top:5px; accent-color:var(--ink); }
.contact-page #contact-form .consent a { text-decoration:underline; text-underline-offset:3px; }
/* Preserve the original anti-spam field's off-screen behavior. */
.contact-page #contact-form .honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
/* Match the shared button pattern without changing the original form markup. */
.contact-page #contact-form button[type=submit] { display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:15px 22px; border:1px solid var(--ink); border-radius:0; min-height:50px; background:var(--ink); color:white; font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; width:100%; cursor:pointer; transition:background .2s ease,color .2s ease; }
.contact-page #contact-form button[type=submit]:hover:not(:disabled) { background:#333; }
.contact-page #contact-form button[type=submit]:disabled { opacity:.55; cursor:wait; }
.contact-page #contact-form-status { min-height:28px; margin:20px 0 0; color:var(--ink); font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.contact-page #contact-form[aria-busy=true] #contact-form-status { color:#595954; }
.contact-page #contact-form noscript p { font-size:14px; line-height:1.7; }
@media(max-width:900px) {
 .contact-page .ct-layout { gap:36px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
}
@media(max-width:740px) {
 .contact-page .ct-intro { padding-top:135px; padding-bottom:40px; }
 .contact-page .ct-intro h1 { font-size:clamp(31px,8vw,54px); }
 .contact-page .ct-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
 .contact-page .ct-weddings { margin-top:28px; }
 .contact-page #contact-form { padding:24px; }
}
