/* Contact edition: presentation is isolated from shared header, sidebar and other forms. */
.st-contact { min-width: 0; margin: 0; padding: 0; color: #e3dfd3; font-family: var(--se-serif); }
.st-contact-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 211px; background: #0c100e; }
.st-contact-hero > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.st-contact-hero::after { position: absolute; content: ''; z-index: -1; inset: 0; background: linear-gradient(90deg,#080c0bf5,#080c0b85 60%,#080c0b18),linear-gradient(transparent 60%,#080c0ba6); }
.st-contact-hero-copy { padding: 24px 32px 16px; }
.st-contact .st-contact-hero h1 { margin: 0 0 7px; padding: 0; color: #f1eade; background: none; border: 0; font: 400 42px/1.4 var(--se-serif); letter-spacing: .12em; }
.st-contact-hero-copy > p { margin: 0 0 20px; padding-bottom: 10px; border-bottom: 1px solid #a98b47; width: 76%; color: #dfbd73; font: 12px/1.5 Georgia,serif; letter-spacing: .45em; }
.st-contact-intro { max-width: 650px; }
.st-contact-intro p { margin: 0; color: #eae5d9; font-size: 14px; line-height: 1.9; letter-spacing: .03em; }
.st-contact-dates { display: flex; justify-content: flex-end; gap: 18px; padding: 10px 28px 0; color: #a9a390; font: 9px/1.5 var(--se-sans); }
.st-contact-contents-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; margin: 4px 30px 24px; }
.st-contact-motto { color: #bda168; font: 8px/1.9 Georgia,serif; letter-spacing: .3em; }
.st-contact-signature { justify-self: end; color: #b9a37388; white-space: nowrap; font: italic 29px/1.2 'Snell Roundhand','Apple Chancery',cursive; transform: rotate(-13deg); }
.st-contact-contents { width: 390px; max-width: 100%; padding: 10px 24px 12px; border: 1px solid #a49b87; background: #090d0cb3; }
.st-contact-contents > div { display: flex; justify-content: center; align-items: center; gap: 24px; border-bottom: 1px solid #7b633799; padding-bottom: 6px; }
.st-contact .st-contact-contents h2 { margin: 0; padding: 0; border: 0; background: none; color: #e6decc; font: 400 20px/1.4 var(--se-serif); }
.st-contact-contents > div > span { color: #bda16b; font: 8px/1 Georgia,serif; letter-spacing: .28em; }
.st-contact-contents ol { margin: 8px 0 0; padding-left: 20px; }
.st-contact-contents li { margin: 0; font-size: 13px; line-height: 1.8; }
.st-contact-contents li::marker { color: #d6b46a; font-family: Georgia,serif; }
.st-contact a { color: #ddbc75; text-underline-offset: 4px; }
.st-contact a:hover { color: #ffe3a0; }
.st-contact-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 0 28px; }
.st-contact-section { min-width: 0; }
.st-contact .st-contact-section h2 { margin: 0 0 14px; padding: 0 0 8px; border: 0; border-bottom: 1px solid #a78a4790; background: none; color: #e8dec8; font: 400 22px/1.6 var(--se-serif); letter-spacing: .04em; scroll-margin-top: 24px; }
.st-contact h2::before, .st-contact h2::after { display: none; }
.st-contact-form-panel { grid-column: 1/-1; padding: 0 22px 13px; background: linear-gradient(135deg,#0e141175,#181b1575); }
.st-contact-form-panel > h2 { position: relative; }
.st-contact-form-panel > h2::before { display: block; content: ''; position: absolute; left: -22px; top: 4px; width: 3px; height: 27px; background: #d6b36c; }
.st-contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 24px; width: 100%; max-width: none; margin: 0; }
.st-contact-field { min-width: 0; margin: 0; padding: 0; }
.st-contact-field > label { display: block; margin: 0 0 6px; padding: 0; font-family: var(--se-serif); font-weight: 500; font-size: 13px; line-height: 1.6; color: #eee9dc; }
.st-contact-field label > span { color: #e4957a !important; }
.st-contact-field input, .st-contact-field select, .st-contact-field textarea { display: block; width: 100%; max-width: 100%; min-height: 44px; padding: 10px 13px; border: 1px solid #77786d; border-radius: 1px; box-shadow: inset 0 1px 3px #0004; background: linear-gradient(120deg,#272c2c,#202726); color: #eeeade; font: 13px/1.6 var(--se-sans); }
.st-contact-field select { padding-right: 30px; cursor: pointer; }
.st-contact-field option { color: #eeeade; background: #202726; }
.st-contact-field ::placeholder { color: #aaa99e; opacity: 1; }
.st-contact-field input:focus, .st-contact-field select:focus, .st-contact-field textarea:focus { outline: 2px solid #d0ae64; outline-offset: 2px; border-color: #dfc181; }
.st-contact-message { grid-column: 1/-1; }
.st-contact-field textarea { min-height: 100px; resize: vertical; }
.st-contact-consent { grid-column: 1/-1; display: flex; align-items: baseline; justify-content: center; gap: 9px; margin-top: 0; }
.st-contact-consent input { flex: 0 0 15px; width: 15px; height: 15px; margin: 0; accent-color: #d2b16b; cursor: pointer; }
.st-contact-consent label { font-size: 12px; line-height: 1.9; color: #d9d5c8; cursor: pointer; }
.st-contact-submit { grid-column: 1/-1; margin: -5px 0 0; }
.st-contact-submit button { display: block; width: min(470px,100%); min-height: 46px; margin: 0 auto; padding: 10px 20px; border: 1px solid #e6c777; border-radius: 1px; background: linear-gradient(105deg,#b4924e,#e5c77f 45%,#c4a35d); box-shadow: inset 0 0 0 2px #f7daa433; color: #17170e; font: 600 16px/1.5 var(--se-serif); letter-spacing: .12em; cursor: pointer; }
.st-contact-submit button:hover { background: linear-gradient(105deg,#ceb275,#efda9f,#d9bb76); }
.st-contact-info { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 0 16px; padding: 18px 20px 14px; border: 1px solid #9b7f4299; background: linear-gradient(130deg,#151a1480,#090d0c); align-content: start; }
.st-contact-info-icon { grid-column: 1; grid-row: 1/3; margin-top: 2px; color: #d0aa5b; }
.st-contact .st-contact-info h2 { grid-column: 2; font-size: 18px; margin-bottom: 9px; padding-bottom: 6px; color: #d9b568; border-color: #8c713655; }
.st-contact-info .st-contact-section-copy { grid-column: 2; min-width: 0; }
.st-contact-info p, .st-contact-info li { margin: 0; font-size: 13px; line-height: 1.85; color: #ddd8cc; }
.st-contact-info ul { padding: 0 0 0 16px; margin: 0; }
.st-contact-info li { margin-bottom: 2px; }
.st-contact-notice { padding: 16px 20px; margin: 0 0 20px; color: #e6d7b4; border: 1px solid #a48747; background: #20261a; font-size: 14px; line-height: 1.8; }
.st-contact-notice[role='alert'] { color: #f0c5b8; border-color: #bc7b60; background: #2a1b17; }
@media (max-width: 1190px) {
 .st-contact-hero-copy { padding-inline: 24px; }
 .st-contact-sections { padding-inline: 10px; gap: 14px; }
 .st-contact-contents-row { margin-inline: 14px; grid-template-columns: 1fr auto; }
 .st-contact-signature { display: none; }
 .st-contact-contents { width: 365px; padding-inline: 18px; }
 .st-contact-form-panel { padding-inline: 16px; }
 .st-contact-form-panel > h2::before { left: -16px; }
 .st-contact .st-contact-section h2 { font-size: 20px; }
 .st-contact-info { padding: 15px; grid-template-columns: 24px minmax(0,1fr); gap: 0 10px; }
 .st-contact-info-icon { width: 24px; }
 .st-contact .st-contact-info h2 { font-size: 17px; }
}
@media (min-width: 835px) and (max-width: 1100px) {
 .st-contact-sections { grid-template-columns: minmax(0,1fr); }
 .st-contact-contents-row { grid-template-columns: minmax(0,1fr); }
 .st-contact-contents { justify-self: center; }
 .st-contact-motto { display: none; }
 .st-contact-form { column-gap: 16px; }
}
@media (max-width: 600px) {
 .st-contact-hero { min-height: 265px; }
 .st-contact-hero > img { object-position: 64% center; }
 .st-contact-hero-copy { padding: 22px 14px 18px; }
 .st-contact .st-contact-hero h1 { font-size: 30px; }
 .st-contact-hero-copy > p { width: 100%; margin-bottom: 16px; }
 .st-contact-intro p { font-size: 14px; line-height: 1.95; }
 .st-contact-dates { padding-inline: 5px; gap: 12px; }
 .st-contact-contents-row { grid-template-columns: minmax(0,1fr); margin: 18px 0 26px; }
 .st-contact-motto { display: none; }
 .st-contact-contents { width: 100%; padding: 12px 16px; }
 .st-contact-contents a { display: flex; align-items: center; min-height: 44px; font-size: 13px; line-height: 1.7; }
 .st-contact-sections { grid-template-columns: minmax(0,1fr); padding-inline: 0; gap: 16px; }
 .st-contact-form-panel { padding: 0 10px 16px; }
 .st-contact-form-panel > h2::before { left: -10px; }
 .st-contact .st-contact-section h2 { padding-left: 4px; font-size: 20px; }
 .st-contact-form { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .st-contact-field > label { font-size: 14px; }
 .st-contact-field input, .st-contact-field select, .st-contact-field textarea { font-size: 16px; }
 .st-contact-field textarea { min-height: 145px; }
 .st-contact-consent { align-items: flex-start; justify-content: flex-start; gap: 10px; }
 .st-contact-consent input { margin-top: 5px; flex-basis: 18px; width: 18px; height: 18px; }
 .st-contact-consent label { font-size: 12px; line-height: 1.9; }
 .st-contact-submit { margin-top: 0; }
 .st-contact-submit button { min-height: 48px; font-size: 16px; }
 .st-contact-info { padding: 18px 16px; }
 .st-contact .st-contact-info h2 { font-size: 18px; padding-left: 0; }
 .st-contact-info p, .st-contact-info li { font-size: 14px; }
}
