#main.contact-page { margin-top:0; }
.contact-page { color:var(--ss-ink); background:var(--ss-cream); }
.contact-welcome { position:relative; padding:170px 0 90px; overflow:hidden; background:radial-gradient(ellipse at 2% 95%,#e3e9df 0,transparent 45%),var(--ss-cream); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:center; }
.contact-eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--ss-forest); font-size:10px; font-weight:700; letter-spacing:1.7px; text-transform:uppercase; }
.contact-eyebrow > span { width:7px; height:7px; border-radius:50%; background:#6e8d68; }
.contact-intro h1 { margin:27px 0; font-size:clamp(46px,4.2vw,60px); line-height:1.08; font-weight:500; letter-spacing:-3px; }
.contact-intro h1 em { position:relative; color:var(--ss-forest); font-family:Georgia,serif; font-weight:400; }
.contact-intro h1 em:after { content:''; position:absolute; left:0; right:-5px; bottom:-5px; height:8px; border-top:3px solid var(--ss-peach); border-radius:50%; transform:rotate(-4deg); }
.contact-lead { margin-bottom:20px; font-size:18px; line-height:1.7; }
.contact-description { max-width:425px; color:#626e66; font-size:14px; line-height:1.85; }
.contact-email { display:flex; width:fit-content; max-width:100%; gap:15px; align-items:center; margin-top:32px; color:var(--ss-forest); }
.contact-email:hover { color:#182c23; }
.contact-email-icon { display:grid; flex-shrink:0; width:49px; height:49px; place-items:center; border:1px solid #c8d2c6; border-radius:50%; font-size:18px; }
.contact-email small { display:block; margin-bottom:4px; color:#65716c; font-size:11px; }
.contact-email strong { font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.contact-email > i { font-size:13px; transform:rotate(45deg); }
.contact-note { display:flex; align-items:center; gap:15px; margin-top:48px; max-width:340px; color:#68776d; }
.contact-note-mark { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--ss-forest); color:var(--ss-cream); font:italic 26px Georgia,serif; }
.contact-note p { margin:0; font-size:11px; line-height:1.65; }
.contact-note strong { color:var(--ss-forest); font-weight:600; }
.contact-note-line { flex:1; height:1px; background:#ccd4c7; }
.contact-note > i { color:#a3765f; font-size:12px; }
.contact-card { position:relative; padding:37px 38px 28px; border:1px solid #e0e3d9; border-radius:22px; background:var(--ss-white); box-shadow:0 24px 65px #314d4310; scroll-margin-top:115px; }
.contact-card-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.contact-stamp { display:grid; place-items:center; width:46px; height:46px; color:var(--ss-forest); background:#e6ede5; border-radius:13px; font-size:20px; transform:rotate(9deg); }
.contact-card h2 { margin-bottom:10px; font-size:27px; font-weight:600; letter-spacing:-1px; }
.contact-card > p { color:#67736b; font-size:12px; line-height:1.7; }
.contact-page #contact-form { margin-top:25px; }
.contact-page #contact-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.contact-page #contact-form .field { margin:0 0 18px; padding:0; }
.contact-page #contact-form label { display:block; margin-bottom:8px; color:#34483e; font-size:12px; font-weight:600; }
.contact-page #contact-form input, .contact-page #contact-form textarea { display:block; width:100%; height:auto; padding:13px 14px; border:1px solid #d9ded5; border-radius:8px; background:#fff; color:var(--ss-ink); font:inherit; font-size:14px; box-shadow:none; box-sizing:border-box; }
.contact-page #contact-form textarea { min-height:135px; resize:vertical; }
.contact-page #contact-form input::placeholder,.contact-page #contact-form textarea::placeholder { color:#7a827c; font-size:12px; }
.contact-page #contact-form input:focus,.contact-page #contact-form textarea:focus { outline:2px solid #719784; outline-offset:2px; border-color:var(--ss-forest); }
.contact-page #contact-form .contact-honeypot { display:none; }
.contact-page #contact-form .Actions { margin:22px 0 0; }
.contact-page #contact-form button[type=submit] { width:100%; padding:16px 20px; border:0; border-radius:8px; color:#fff; background:var(--ss-forest); font-size:13px; font-weight:600; cursor:pointer; transition:background .2s; }
.contact-page #contact-form button[type=submit]:after { content:'→'; float:right; font-size:20px; line-height:19px; }
.contact-page #contact-form button[type=submit]:hover { background:#20382e; }
.contact-page a:focus-visible,.contact-page button:focus-visible { outline:3px solid #a3765f; outline-offset:5px; }
.contact-card .contact-form-note { margin:16px 0 0; text-align:center; font-size:10px; }
.contact-form-note i { margin-right:5px; font-size:9px; }
.contact-page #contact-form .message { padding:12px; border-radius:6px; font-size:13px; line-height:1.6; }
.contact-page #contact-form .message.good { display:block; color:#204d37; background:#e4f0e6; }
.contact-page #contact-form .message.bad,.contact-page #contact-form .message.required,.contact-page #contact-form .message.error { display:block; color:#852d21; background:#fbece6; }
.contact-help { padding:70px 0 0; color:#fffdfa; background:var(--ss-forest); }
.contact-help-heading { display:flex; align-items:start; justify-content:space-between; gap:30px; margin-bottom:45px; }
.contact-help-heading .contact-eyebrow { margin-top:10px; color:#c2d2c5; }
.contact-help h2 { margin:0; font-size:33px; letter-spacing:-1px; font-weight:500; line-height:1.25; }
.contact-help-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; padding-bottom:55px; }
.contact-help-grid article { position:relative; padding-top:22px; border-top:1px solid #ffffff30; }
.contact-help-grid article > span { display:block; margin-bottom:28px; color:#c2d2c5; font-size:9px; letter-spacing:1.3px; }
.contact-help-grid article > i { position:absolute; top:53px; right:4px; color:#c7d8c5; font-size:24px; }
.contact-help-grid h3 { font-size:22px; font-weight:500; letter-spacing:-.5px; }
.contact-help-grid p { max-width:290px; margin:0; color:#d3ded6; font-size:13px; line-height:1.85; }
.contact-closing { display:flex; justify-content:space-between; gap:20px; padding:25px 0; border-top:1px solid #ffffff30; font-size:11px; color:#d3ded6; }
.contact-closing a { color:#fffdfa; }
.contact-closing i { margin-left:14px; }
@media(max-width:991px) { .contact-grid { gap:30px; } .contact-welcome { padding-top:140px; } .contact-card { padding:28px 24px; } .contact-intro h1 { font-size:47px; letter-spacing:-2px; } .contact-lead { font-size:16px; } .contact-help-grid { gap:25px; } }
@media(max-width:767px) { .contact-welcome { padding:120px 0 55px; } .contact-grid { grid-template-columns:1fr; gap:35px; } .contact-intro h1 { font-size:52px; } .contact-description { max-width:100%; } .contact-note { margin-top:28px; } .contact-card { padding:28px 23px; } .contact-help { padding-top:45px; } .contact-help-heading { display:block; } .contact-help h2 { margin-top:18px; font-size:29px; } .contact-help-grid { grid-template-columns:1fr; gap:28px; } .contact-help-grid p { max-width:100%; } .contact-help-grid article > i { top:22px; } .contact-help-grid article > span { margin-bottom:18px; } .contact-closing { flex-direction:column; gap:12px; } }
@media(max-width:360px) { .contact-intro h1 { font-size:43px; } .contact-eyebrow { font-size:8px; } .contact-email { gap:10px; } .contact-card h2 { font-size:24px; } }
