:root {
    color-scheme: dark;
    font-family: system-ui, sans-serif;
    color: #f8f5ee;
    background: #090909;
}
* { box-sizing: border-box; }
body { margin: 0; }
.hero {
    min-height: clamp(25rem, 60vw, 34rem);
    position: relative;
    display: grid;
    place-items: center;
    padding: 5rem 1.25rem 2rem;
    background: linear-gradient(#0005, #0008), #201b15 url('/office.png') center 52% / cover no-repeat;
}
.brand {
    position: absolute;
    top: 1.4rem;
    color: inherit;
    text-align: center;
    text-decoration: none;
    font-size: clamp(.95rem, 3vw, 1.65rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .16em;
}
h1, h2 { font-family: Georgia, serif; font-weight: 400; text-align: center; }
h1 { font-size: clamp(2.65rem, 7vw, 5rem); margin: 0; text-shadow: 0 2px 18px #000; }
main { max-width: 38rem; margin: auto; padding: 2.8rem 1.25rem 3.5rem; }
h2 { font-size: clamp(2.4rem, 5vw, 3.5rem); margin: 0 0 1rem; }
.intro { text-align: center; margin: 0 0 1.75rem; }
form { display: grid; gap: .6rem; }
form > label:not(.consent) { margin-top: .4rem; }
input:not([type=checkbox]), textarea {
    width: 100%;
    padding: .75rem;
    border: 1px solid #777067;
    border-radius: .2rem;
    color: inherit;
    background: #161513;
    font: inherit;
}
textarea { resize: vertical; }
.consent { display: flex; align-items: baseline; gap: .45rem; margin-top: .85rem; }
.privacy, footer { color: #c5bdb0; font-size: .875rem; line-height: 1.5; }
.privacy { margin: .25rem 0 .7rem; }
button {
    justify-self: start;
    background: #f2e5cd;
    color: #18140e;
    border: 0;
    border-radius: .2rem;
    font: inherit;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: .75rem 1.8rem;
    cursor: pointer;
}
:focus-visible { outline: 2px solid #f1cc88; outline-offset: 3px; }
.notice { border-left: 3px solid #c09a63; padding: .6rem .85rem; background: #1b1813; }
.trap { position: absolute; inset-inline-start: -10000px; }
footer { text-align: center; padding: 1.2rem; border-top: 1px solid #38332d; }
