:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: #0b0b0b; color: #fff; font-family: Montserrat, Arial, sans-serif; }
.hero { min-height: 100svh; position: relative; display: grid; place-items: center; overflow: hidden; }
.hero__background { position: absolute; inset: 0; background: url('assets/scaffolding-background.png') center / cover no-repeat; filter: grayscale(1) contrast(1.12); transform: scale(1.02); }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(115deg, rgba(0,0,0,.82), rgba(0,0,0,.44) 48%, rgba(0,0,0,.76)), radial-gradient(circle at 50% 44%, rgba(130,77,255,.12), rgba(0,0,0,.58) 85%); }
.content { position: relative; width: min(92vw, 760px); text-align: center; padding: 4rem 0 3rem; }
.brand-logo { display: block; width: min(88vw, 590px); height: auto; margin: 0 auto clamp(3rem, 8vh, 6rem); border-radius: 16px; opacity: .5; box-shadow: 0 12px 35px rgba(0,0,0,.42); }
.message { margin-bottom: clamp(2.7rem, 6vh, 4.4rem); text-shadow: 0 3px 18px #000; }
.eyebrow { font: 500 .7rem 'DM Mono', monospace; letter-spacing: .22em; margin: 0 0 1.2rem; color: #ddd; }
h1 { margin: 0; font-size: clamp(2.7rem, 8vw, 5.7rem); line-height: .92; letter-spacing: -.065em; font-weight: 600; }
.coming { font: 400 .9rem 'DM Mono', monospace; letter-spacing: .08em; margin: 1.5rem 0 0; color: #e5e5e5; }.group-line { font: 500 .68rem/1.5 'DM Mono', monospace; letter-spacing: .06em; margin: 1rem 0 0; color: #c7aaff; }
.contact-wrap { display: grid; grid-template-columns: 1fr 1.15fr; text-align: left; gap: 3rem; align-items: start; padding: 1.55rem 0 0; border-top: 1px solid rgba(255,255,255,.5); }
.contact-details { display: flex; flex-direction: column; gap: .75rem; padding-top: .15rem; }
.contact-details a { color: #fff; font-size: .83rem; letter-spacing: .04em; text-decoration: none; width: fit-content; border-bottom: 1px solid transparent; }
.contact-details a:hover { border-color: #fff; }.licence { color: #d0d0d0; font: .62rem/1.5 'DM Mono', monospace; letter-spacing: .04em; margin-top: .65rem; }
.contact-form { display: grid; gap: .75rem; }.contact-form label { display: grid; gap: .35rem; }.contact-form span { font: .62rem 'DM Mono', monospace; color: #d5d5d5; letter-spacing: .08em; }
input, textarea { width: 100%; border: 1px solid rgba(255,255,255,.42); border-radius: 0; background: rgba(0,0,0,.22); color: white; font: 400 .83rem Montserrat, sans-serif; padding: .65rem .7rem; outline: none; resize: vertical; }
input:focus, textarea:focus { border-color: #a980ff; background: rgba(53,21,120,.35); } button { justify-self: start; margin-top: .35rem; padding: .72rem 1rem; border: 1px solid #8d5af5; border-radius: 0; background: #8d5af5; color: #fff; font: 600 .65rem Montserrat, sans-serif; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; } button:hover { background: transparent; color: #fff; } button span { margin-left: .5rem; font-size: 1rem; }.honeypot { position: absolute; left: -9999px; }
.group-footer { display: flex; flex-direction: column; align-items: center; gap: .9rem; margin-top: 2.6rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.22); color: #d9d9d9; text-decoration: none; }.group-footer img { width: 126px; height: 126px; object-fit: contain; }.group-footer span { font: 400 .8rem/1.45 'DM Mono', monospace; letter-spacing: .04em; }.group-footer:hover { color: #c7aaff; }
@media (max-width: 620px) { .content { padding: 2.6rem 0 2rem; }.brand-logo { margin-bottom: 3.6rem; }.contact-wrap { grid-template-columns: 1fr; gap: 2rem; }.contact-details { align-items: center; text-align: center; }.contact-details a { font-size: .9rem; }.licence { margin-top: .25rem; }.contact-form { text-align: left; } button { width: 100%; }.hero__background { background-position: 58% center; }.group-footer span { max-width: 280px; } }
