.contact-intro { min-height:340px; display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:45px; align-items:center; padding:52px clamp(32px,5vw,70px); position:relative; overflow:hidden; color:#fff9e9; background:radial-gradient(circle at 82% 15%,#36536b88,transparent 43%),linear-gradient(115deg,#183650,#0b1b2c); border:1px solid #35536d; box-shadow:0 20px 50px #10263c1c; }
.contact-intro::before { content:""; position:absolute; inset:13px; border:1px solid #d6b8783d; pointer-events:none; }
.contact-intro h1 { max-width:800px; margin:15px 0; font:500 clamp(44px,5.5vw,76px)/1.03 "EB Garamond",Georgia,serif; letter-spacing:-.04em; }
.contact-intro h1 em { color:#e7cb90; font-weight:500; }
.contact-intro p { max-width:630px; margin:0; color:#d8e1e7; font-size:14px; line-height:1.85; }
.contact-intro-mark { width:230px; height:230px; justify-self:center; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #cbb57e8f; border-radius:50%; box-shadow:0 0 0 11px #cbb57e10,inset 0 0 0 10px #cbb57e0b; transform:rotate(-11deg); }
.contact-intro-mark span { color:#e8d5ac; font:500 95px/.9 "EB Garamond",Georgia,serif; letter-spacing:-.13em; padding-right:.15em; }
.contact-intro-mark small { max-width:115px; margin-top:14px; color:#d6c7a4; font-size:8px; line-height:1.6; letter-spacing:.18em; text-align:center; }
.contact-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:8%; align-items:start; padding:70px 0 88px; }
.contact-aside { padding:15px 0; }
.contact-aside h2,.contact-form-panel h2 { margin:12px 0 15px; color:#10263c; font:500 clamp(35px,4vw,49px)/1.08 "EB Garamond",Georgia,serif; }
.contact-aside > p,.contact-form-panel > p { max-width:460px; margin:0; color:#4f5a62; font-size:14px; line-height:1.85; }
.contact-topics { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:30px 0 42px; }
.contact-topics span { display:flex; align-items:center; min-height:45px; padding:8px 12px; border:1px solid #d5c9b1; color:#354451; background:#fffaf0; font-size:11px; font-weight:700; }
.contact-topics span::before { content:"✦"; margin-right:10px; color:#a47b39; }
.direct-email { padding:25px 0 0; border-top:3px double #c6b797; }
.direct-email a { display:block; width:fit-content; max-width:100%; margin:12px 0 8px; color:#173b55; font:500 clamp(24px,2.6vw,34px)/1.2 "EB Garamond",Georgia,serif; overflow-wrap:anywhere; border-bottom:1px solid #9a7c45; }
.direct-email a:hover { color:#8d6b33; }
.direct-email a span { font:500 18px "Manrope",sans-serif; }
.direct-email small { display:block; max-width:345px; color:#667078; font-size:11px; line-height:1.7; }
.contact-form-panel { padding:34px clamp(24px,3.8vw,45px) 39px; border:1px solid #d3c7ae; background:#fffcf5; box-shadow:0 8px 0 #baa67964,0 24px 42px #142d3910; }
.contact-form-panel h2 { margin-block:9px 5px; }
.contact-form-panel > p { font-size:12px; }
#contactForm { margin-top:28px; display:grid; gap:19px; }
#contactForm label { display:block; color:#203447; font-size:12px; font-weight:800; }
#contactForm label > span { color:#9d6e24; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#contactForm input,#contactForm select,#contactForm textarea { width:100%; min-height:47px; margin-top:8px; padding:11px 13px; border:1px solid #c9c5bc; border-radius:4px; outline:none; color:#1b2e40; background:#fffefa; font:500 13px/1.5 "Manrope",system-ui,sans-serif; }
#contactForm textarea { min-height:170px; resize:vertical; }
#contactForm input::placeholder,#contactForm textarea::placeholder { color:#72808b; font-weight:400; }
#contactForm input:focus,#contactForm select:focus,#contactForm textarea:focus { border-color:#9c7a40; box-shadow:0 0 0 3px #c5a66b3d; }
.contact-honeypot { position:absolute; width:1px; height:1px; left:-9999px; overflow:hidden; }
.contact-privacy { margin:0; color:#4f5a62; font-size:12px; line-height:1.7; }
.contact-privacy a { color:#715526; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.contact-submit { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:2px; }
.contact-submit p { max-width:250px; margin:0; color:#667078; font-size:11px; line-height:1.6; }
.contact-submit button { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:27px; flex-shrink:0; padding:13px 19px; border:1px solid #d3b37b; border-radius:5px; color:#12253a; background:#e8c987; box-shadow:0 5px 0 #95723a; font:800 12px "Manrope",system-ui,sans-serif; cursor:pointer; transition:transform .18s,box-shadow .18s; }
.contact-submit button:hover:not(:disabled) { transform:translateY(-3px); box-shadow:0 8px 0 #95723a; }
.contact-submit button:active:not(:disabled) { transform:translateY(3px); box-shadow:0 2px 0 #95723a; }
.contact-submit button:disabled { opacity:.65; cursor:wait; }
.contact-submit button b { font-size:20px; font-weight:500; }
.contact-status { margin:0; padding:13px 15px; font-size:12px; font-weight:700; line-height:1.6; }
.contact-status:empty { display:none; }
.contact-status.is-success { color:#175039; background:#e3eee6; border-left:3px solid #317d54; }
.contact-status.is-error { color:#8e3135; background:#f9e9e7; border-left:3px solid #ac4d4b; }
@media (max-width:900px) { .contact-intro { grid-template-columns:1fr 160px; }.contact-intro-mark { width:150px; height:150px; }.contact-intro-mark span { font-size:65px; }.contact-intro-mark small { font-size:7px; }.contact-layout { gap:5%; } }
@media (max-width:700px) { .contact-intro { min-height:0; grid-template-columns:1fr; padding:42px 33px; }.contact-intro-mark { display:none; }.contact-layout { grid-template-columns:1fr; gap:34px; padding:45px 0 65px; }.contact-aside { display:contents; }.contact-aside > .guide-kicker,.contact-aside > h2,.contact-aside > p,.contact-topics { display:none; }.direct-email { order:2; padding:25px 5px 0; }.contact-form-panel { order:1; } }
@media (max-width:560px) { .contact-intro { padding:34px 25px; }.contact-intro h1 { font-size:46px; }.contact-intro p { font-size:13px; }.form-row { grid-template-columns:1fr; gap:19px; }.contact-form-panel { padding:29px 22px 32px; }.contact-submit { flex-direction:column; align-items:stretch; }.contact-submit p { max-width:none; }.contact-submit button { justify-content:center; }.guide-header nav a:nth-child(3) { display:none; } }
@media (prefers-reduced-motion:reduce) { .contact-submit button { transition:none; } }
