:root {
    color-scheme:dark;
    --page:#080f1b;
    --panel:#121d30;
    --input:#1c293d;
    --text:#f2f6fd;
    --muted:#9eacc2;
    --line:#ffffff15;
    --accent:#2dd4bf;
    --danger:#ffb0ae;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
* {
    box-sizing:border-box
}
[hidden] {
    display:none!important
}
body {
    margin:0;
    color:var(--text);
    background:radial-gradient(ellipse at 0 70%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 52%),linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--page);
    background-size:auto,64px 64px,64px 64px,auto;
    min-height:100vh
}
a {
    color:inherit
}
button,input,textarea {
    font:inherit
}
button,a,input,textarea {
    outline-offset:5px
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible {
    outline:2px solid var(--accent)
}
button {
    cursor:pointer
}
button:disabled {
    cursor:wait;
    opacity:.65
}
.contact-shell {
    max-width:1200px;
    margin:auto;
    padding:36px 36px 22px
}
.masthead {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:40px
}
.brand {
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:11px;
    font-size:19px;
    font-weight:850;
    letter-spacing:-.5px
}
.brand-mark {
    width:34px;
    height:34px;
    object-fit:contain
}
.language-switch {
    display:flex;
    border:1px solid var(--line);
    border-radius:30px;
    padding:4px;
    background:var(--panel)
}
.language-switch button {
    border:0;
    background:transparent;
    color:var(--muted);
    padding:8px 12px;
    font-size:11px;
    font-weight:800;
    border-radius:20px
}
.language-switch button[aria-pressed=true] {
    background:var(--text);
    color:var(--page)
}
.contact-card {
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid var(--line);
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 24px 80px #0003;
    background:var(--panel)
}
.story {
    padding:52px 44px 36px;
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
    background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--accent) 13%,transparent),transparent 65%)
}
.eyebrow {
    display:flex;
    gap:10px;
    align-items:center;
    font:650 10px ui-monospace,monospace;
    letter-spacing:2.5px;
    color:var(--muted);
    margin:0 0 26px
}
.status-dot {
    width:7px;
    height:7px;
    background:var(--accent);
    border-radius:50%;
    box-shadow:0 0 18px var(--accent)
}
h1 {
    font-size:clamp(42px,5.4vw,67px);
    line-height:1.02;
    letter-spacing:-3.5px;
    font-weight:800;
    margin:0 0 26px;
    max-width:470px;
    overflow-wrap:anywhere
}
.intro {
    font-size:16px;
    line-height:1.8;
    max-width:340px;
    color:var(--muted);
    margin:0
}
.story-art {
    position:relative;
    min-height:200px;
    flex:1;
    display:grid;
    place-items:center
}
.story-art>svg {
    width:88px;
    height:88px;
    color:var(--accent)
}
.orbit {
    position:absolute;
    width:180px;
    height:180px;
    border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
    border-radius:50%
}
.orbit-two {
    width:255px;
    height:255px;
    border-style:dashed;
    transform:rotate(-20deg)
}
.story-footer {
    font-size:12px;
    line-height:1.7;
    max-width:300px;
    color:var(--muted);
    margin:24px 0 0;
    display:flex;
    gap:12px
}
.tiny-line {
    height:1px;
    width:22px;
    min-width:22px;
    background:var(--accent);
    margin-top:10px
}
.form-panel {
    background:color-mix(in srgb,var(--page) 35%,var(--panel));
    padding:40px;
    min-width:0
}
.section-label {
    display:flex;
    gap:14px;
    color:var(--muted);
    font:650 10px ui-monospace,monospace;
    letter-spacing:2px;
    margin-bottom:26px;
    align-items:center
}
.section-label span:first-child {
    color:var(--accent)
}
.section-label:after {
    content:"";
    height:1px;
    flex:1;
    background:var(--line)
}
.field {
    margin-bottom:19px
}
.field label {
    display:block;
    font-size:13px;
    font-weight:600;
    margin-bottom:8px
}
.field small {
    font-size:11px;
    color:var(--muted);
    font-weight:400;
    line-height:1.6
}
.field label small {
    margin-left:8px
}
.field input,.field textarea {
    display:block;
    width:100%;
    background:var(--input);
    color:var(--text);
    border:1px solid var(--line);
    border-radius:9px;
    padding:13px 14px;
    transition:border-color .15s;
    resize:vertical
}
.field textarea {
    min-height:135px;
    line-height:1.6
}
.field input:focus,.field textarea:focus {
    border-color:var(--accent)
}
.field input[aria-invalid=true],.field textarea[aria-invalid=true] {
    border-color:var(--danger)
}
.field textarea::placeholder {
    color:var(--muted);
    font-size:13px
}
.field-error {
    display:block;
    color:var(--danger);
    font-size:12px;
    margin-top:4px
}
.attachment-hint {
    font-size:11px;
    line-height:1.5;
    color:var(--muted);
    margin-top:-8px;
    margin-bottom:18px
}
.send-button {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    width:100%;
    border:0;
    border-radius:10px;
    background:var(--accent);
    color:#061815;
    padding:16px 20px;
    font-size:14px;
    font-weight:750;
    min-height:54px
}
.send-button>svg {
    width:22px;
    height:22px;
    flex-shrink:0
}
.form-footer {
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size:10px;
    color:var(--muted);
    margin-top:18px
}
.form-footer a {
    text-underline-offset:3px
}
.page-footer {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:24px;
    font:500 10px ui-monospace,monospace;
    color:var(--muted);
    letter-spacing:.3px
}
.page-footer span span {
    color:var(--accent)
}
#contact-errors,.service-unavailable {
    font-size:12px;
    line-height:1.6;
    color:var(--danger);
    margin:15px 0
}
.success-panel {
    min-height:520px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center
}
.success-mark {
    display:grid;
    place-items:center;
    width:70px;
    height:70px;
    border-radius:50%;
    border:1px solid var(--accent);
    color:var(--accent);
    font-size:35px;
    margin-bottom:35px
}
.success-panel h2 {
    font-size:30px;
    line-height:1.3;
    letter-spacing:-1px;
    margin:0 0 35px
}
.another-button {
    background:transparent;
    color:var(--text);
    border:1px solid var(--line);
    border-radius:9px;
    padding:12px 18px
}
.success-panel .eyebrow {
    color:var(--accent)
}
sokol-captcha {
    --altcha-border-color:var(--line);
    --altcha-color-base:var(--panel);
    --altcha-color-text:var(--text)
}
html[data-theme=light] {
    color-scheme:light;
    --page:#f2f4f7;
    --panel:#fff;
    --input:#f3f5f8;
    --text:#131c30;
    --muted:#596477;
    --line:#17233814;
    --danger:#a6232a
}
.contact-card,.masthead {
    animation:arrive .45s ease-out both
}
@keyframes arrive {
    from {
        opacity:0;
        transform:translateY(7px)
    }
    to {
        opacity:1;
        transform:translateY(0)
    }
}
@media(max-width:760px) {
    .contact-shell {
        padding:22px 18px
    }
    .masthead {
        margin-bottom:24px
    }
    .contact-card {
        grid-template-columns:1fr;
        border-radius:18px
    }
    .story {
        padding:32px 26px 26px
    }
    .story-art,.story-footer {
        display:none
    }
    h1 {
        font-size:45px;
        letter-spacing:-2.2px;
        margin-bottom:18px;
        max-width:520px
    }
    .intro {
        font-size:14px;
        line-height:1.65;
        max-width:540px
    }
    .eyebrow {
        margin-bottom:18px
    }
    .form-panel {
        padding:27px 26px
    }
    .success-panel {
        min-height:340px
    }
    .page-footer {
        font-size:9px
    }
    .brand {
        font-size:16px
    }
}
@media(max-width:380px) {
    .contact-shell {
        padding:15px 10px
    }
    .form-panel,.story {
        padding:24px 20px
    }
    h1 {
        font-size:37px
    }
    .page-footer {
        flex-direction:column
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        animation:none!important;
        transition:none!important
    }
}
.amprex-wordmark {
    width:140px;
    height:44px;
    object-fit:contain
}

.submission-notice {
    font-size:12px;
    line-height:1.7;
    color:var(--muted);
    margin:0 0 18px
}
.submission-notice a { text-underline-offset:3px }
