:root {
    --contact-gold: #c18a38;
    --contact-gold-light: #dfb66e;
    --contact-cream: #eee2ca;
    --contact-plume: #d96b9a;
    --contact-talon: #d87b14;
    --contact-ink: #261a11;
}

.contact-page { background: #090807; }
.contact-page .fbnew-nav .nav-contact { color: var(--contact-gold-light); }
.contact-page main { overflow: hidden; }

.contact-hero {
    min-height: 455px;
    padding: 65px max(34px, calc((100% - 1240px) / 2));
    display: grid;
    align-items: center;
    color: var(--contact-cream);
    background: linear-gradient(90deg, rgba(9,7,8,.08), rgba(11,7,9,.2) 35%, rgba(9,7,7,.94) 57%, #070605), url('../images/hero-workshops.png') center / cover no-repeat;
    border-bottom: 2px solid #654321;
}
.contact-hero-copy { width: min(600px, 48%); margin-left: auto; }
.contact-hero-copy > p:first-child { margin: 0 0 11px; color: var(--contact-gold); font-family: 'Oswald', Arial, sans-serif; font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .2em; }
.contact-hero h1 { margin: 0; font-family: 'Oswald', Impact, sans-serif; font-size: clamp(3.5rem, 6.3vw, 6.6rem); font-weight: 600; line-height: .84; text-transform: uppercase; letter-spacing: .02em; }
.contact-hero h1 span { color: var(--contact-gold); font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; text-transform: none; }
.contact-rule { margin: 24px 0 18px; display: flex; align-items: center; gap: 10px; color: var(--contact-gold); font-size: .62rem; }
.contact-rule span { width: 75px; height: 1px; background: currentColor; }
.contact-hero-copy > p:last-child { max-width: 570px; margin: 0; color: rgba(238,226,202,.88); font-size: 1.02rem; line-height: 1.6; }

.contact-methods { padding: 43px clamp(22px, 5vw, 72px) 53px; color: var(--contact-ink); background: radial-gradient(circle at 50% 10%, #f7ead4, #e6d4b6 78%); }
.contact-section-heading { text-align: center; }
.contact-section-heading p, .contact-kicker { margin: 0; color: #9a642a; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.35rem; font-style: italic; }
.contact-section-heading h2 { margin: 3px 0 29px; font-family: 'Oswald', Impact, sans-serif; font-size: clamp(2rem, 3.4vw, 3.15rem); text-transform: uppercase; letter-spacing: .05em; }
.contact-method-grid { width: min(1180px, 100%); margin: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.contact-method { min-width: 0; padding: 29px 24px 25px; display: flex; flex-direction: column; align-items: center; position: relative; overflow: hidden; text-align: center; background: rgba(250,241,225,.9); border: 2px solid #6c4828; border-radius: 11px; box-shadow: 0 12px 22px rgba(60,37,20,.18); }
.contact-method::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--contact-talon), var(--contact-gold), var(--contact-plume)); }
.contact-method-icon { width: 70px; height: 70px; display: grid; place-items: center; color: var(--contact-gold); background: #17120e; border: 4px double var(--contact-gold); border-radius: 50%; box-shadow: 0 6px 12px rgba(0,0,0,.2); }
.contact-method-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.contact-method > p { margin: 14px 0 2px; color: #8b5827; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; }
.contact-method h3 { margin: 0 0 14px; font-family: 'Oswald', Arial, sans-serif; font-size: 1.45rem; text-transform: uppercase; }
.contact-detail { max-width: 100%; margin-bottom: 20px; color: #683b21 !important; overflow-wrap: anywhere; font-size: clamp(.92rem, 1.35vw, 1.08rem); font-weight: 700; }
.contact-action { width: min(230px, 100%); margin-top: auto; padding: 12px 18px; color: var(--contact-gold-light) !important; background: linear-gradient(#241a12, #0e0b08); border: 1px solid #402a17; border-radius: 4px; text-decoration: none; font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .07em; transition: transform .2s, color .2s; }
.contact-action:hover, .contact-action:focus-visible { color: #ffe0a0 !important; transform: translateY(-2px); }

.contact-form-section { padding: 60px max(30px, calc((100% - 1180px) / 2)); display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(42px, 6vw, 82px); align-items: center; color: var(--contact-cream); background: radial-gradient(circle at 10% 20%, rgba(164,79,22,.18), transparent 30%), radial-gradient(circle at 92% 75%, rgba(197,64,116,.12), transparent 28%), linear-gradient(120deg, #0b0907, #18110c 53%, #111019); border-block: 1px solid rgba(193,138,56,.32); }
.contact-welcome { max-width: 460px; }
.contact-spark { width: 58px; height: 58px; display: grid; place-items: center; color: var(--contact-gold); }
.contact-spark svg { width: 50px; height: 50px; fill: none; stroke: currentColor; stroke-width: 1.35; }
.contact-welcome h2 { margin: 6px 0 18px; font-family: 'Oswald', Impact, sans-serif; font-size: clamp(2.25rem, 4vw, 3.7rem); line-height: 1; text-transform: uppercase; }
.contact-welcome > p:not(.contact-kicker) { color: rgba(238,226,202,.78); line-height: 1.55; }
.contact-welcome ul { margin: 25px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.contact-welcome li { padding-left: 25px; position: relative; color: rgba(238,226,202,.85); }
.contact-welcome li::before { content: '◆'; position: absolute; left: 2px; top: .22em; color: var(--contact-gold); font-size: .65rem; }

.contact-form-card { min-width: 0; padding: clamp(25px, 3.2vw, 42px); color: var(--contact-ink); background: linear-gradient(rgba(244,232,211,.97), rgba(231,211,179,.98)); border: 2px solid #72502d; border-radius: 12px; box-shadow: 0 20px 38px rgba(0,0,0,.35); }
.contact-form { display: grid; gap: 18px; }
.contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 20px; }
.contact-form label { display: grid; gap: 7px; font-family: 'Oswald', Arial, sans-serif; font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.contact-form label > span { color: #b34764; }
.contact-form label small { color: #765c48; font-family: Georgia, serif; font-size: .68rem; font-weight: 400; text-transform: none; letter-spacing: 0; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-width: 0; padding: 12px 13px; color: #241810; background: rgba(255,251,244,.85); border: 1px solid #aa8b66; border-radius: 4px; font: 1rem Georgia, serif; text-transform: none; letter-spacing: 0; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 2px solid rgba(169,107,39,.35); border-color: #8d5b27; }
.contact-form textarea { resize: vertical; }
.contact-form button { min-height: 49px; padding: 13px 24px; color: #171009; background: linear-gradient(90deg, #b9782c, #e1b96f, #a86823); border: 1px solid #81511f; border-radius: 4px; box-shadow: inset 0 0 0 2px rgba(255,255,255,.12), 0 6px 12px rgba(59,36,17,.2); cursor: pointer; font-family: 'Oswald', Arial, sans-serif; font-size: .95rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.contact-form button:hover, .contact-form button:focus-visible { filter: brightness(1.06); }
.contact-form-note { margin: -5px 0 0; color: #6e5744; font-size: .72rem; text-align: center; }
.contact-honeypot { position: absolute !important; left: -10000px !important; }
.contact-errors { margin-bottom: 20px; padding: 14px 17px; color: #70243b; background: #fff0f2; border: 1px solid #c26d83; border-radius: 5px; }
.contact-errors ul { margin: 8px 0 0; padding-left: 21px; }
.contact-success { min-height: 400px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.contact-success > span { color: #9c672c; }
.contact-success svg { width: 58px; height: 58px; fill: none; stroke: currentColor; }
.contact-success h2 { margin: 15px 0 8px; font-family: 'Oswald', Arial, sans-serif; font-size: 2.2rem; text-transform: uppercase; }
.contact-success p { max-width: 470px; line-height: 1.55; }
.contact-success a { margin-top: 10px; color: #7d4c24; font-weight: 700; }

.contact-footer { min-height: 120px; padding: 24px max(28px, calc((100% - 1240px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 36px; color: var(--contact-cream); background: linear-gradient(rgba(9,8,7,.96), rgba(9,8,7,.96)), repeating-linear-gradient(90deg, #2f2117 0 110px, #24180f 110px 220px); }
.contact-footer-brand { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.contact-footer-brand svg { width: 37px; height: 48px; fill: var(--contact-gold); }
.contact-footer-brand span { display: grid; gap: 4px; }
.contact-footer-brand strong { color: var(--contact-gold-light); font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.3rem; font-style: italic; font-weight: 500; }
.contact-footer-brand small { color: rgba(238,226,202,.62); text-transform: uppercase; letter-spacing: .04em; }
.contact-footer > div { display: grid; gap: 8px; text-align: right; }
.contact-footer > div a { color: rgba(238,226,202,.78); text-decoration: none; }

@media (max-width: 1000px) {
    .contact-hero-copy { width: min(590px, 58%); }
    .contact-method-grid { grid-template-columns: 1fr 1fr; }
    .contact-method:last-child { grid-column: 1 / -1; width: calc(50% - 11px); justify-self: center; }
    .contact-form-section { grid-template-columns: 1fr; }
    .contact-welcome { max-width: 720px; text-align: center; justify-self: center; }
    .contact-spark { margin: auto; }
    .contact-welcome ul { width: min(520px, 100%); margin-inline: auto; text-align: left; }
}

@media (max-width: 680px) {
    .contact-hero { min-height: 610px; padding: 48px 24px; align-items: start; background-position: left center; position: relative; isolation: isolate; }
    .contact-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(rgba(8,7,6,.97) 0 54%, rgba(10,5,8,.65) 72%, rgba(10,4,8,.2)); }
    .contact-hero-copy { width: 100%; text-align: center; }
    .contact-hero h1 { font-size: clamp(3.3rem, 15vw, 4.6rem); }
    .contact-rule { justify-content: center; }
    .contact-methods { padding-inline: 14px; }
    .contact-method-grid { grid-template-columns: 1fr; gap: 18px; }
    .contact-method:last-child { grid-column: auto; width: auto; }
    .contact-method { padding-inline: 20px; }
    .contact-action { min-height: 50px; display: grid; place-items: center; }
    .contact-email { font-size: .88rem; }
    .contact-form-section { padding: 45px 14px; gap: 35px; }
    .contact-form-card { padding: 24px 18px; }
    .contact-form-grid { grid-template-columns: 1fr; }
    .contact-footer { flex-direction: column; align-items: stretch; }
    .contact-footer > div { text-align: left; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
    .contact-page *, .contact-page *::before, .contact-page *::after { transition-duration: .01ms !important; }
}
