:root { color-scheme:dark; --paper:#eef0ef; --blue:#40c4f2; --mono:"DM Mono",monospace; }
* { box-sizing:border-box; }
html, body { width:100%; min-height:100%; margin:0; }
body { background:#06090c; color:var(--paper); font-family:"DM Sans",sans-serif; }
a { color:inherit; text-decoration:none; }

.landing { position:relative; display:flex; min-height:100svh; overflow:hidden; align-items:flex-end; padding:6vh 6vw; isolation:isolate; }
.backdrop, .shade { position:absolute; inset:0; width:100%; height:100%; }
.backdrop { z-index:-2; display:block; object-fit:cover; object-position:center 38%; }
.shade { z-index:-1; background:linear-gradient(180deg,rgba(4,8,12,.36) 0%,rgba(4,8,12,.08) 35%,rgba(4,8,12,.76) 100%); }
.brand { position:absolute; top:5vh; left:6vw; font-size:clamp(30px,5vw,68px); font-weight:400; letter-spacing:-.075em; }
.socials { font:11px/1.4 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.socials span { color:var(--blue); }
.content { width:100%; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
h1 { margin:0; font-size:clamp(44px,8.8vw,128px); line-height:.9; letter-spacing:-.065em; font-weight:300; white-space:nowrap; }
.socials { display:flex; gap:24px; padding-bottom:6px; }
.socials a { border-bottom:1px solid rgba(238,240,239,.5); padding-bottom:7px; transition:border-color .2s,color .2s; }
.socials a:hover { color:var(--blue); border-color:var(--blue); }

.info-page { min-height:100svh; padding:5vh 6vw 10vh; background:#06090c; }
.info-header { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.info-brand { font-size:clamp(26px,4vw,44px); font-weight:400; letter-spacing:-.075em; }
.back-link, .eyebrow, .section-number, .form-label { font:11px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.back-link { color:rgba(238,240,239,.72); transition:color .2s; }
.back-link:hover { color:var(--blue); }
.info-main { width:min(100%,980px); margin:13vh auto 0; }
.eyebrow { color:var(--blue); }
.info-page h1 { margin:18px 0 20px; font-size:clamp(46px,8vw,92px); line-height:.96; letter-spacing:-.07em; white-space:normal; }
.info-lede { max-width:580px; margin:0 0 8vh; color:rgba(238,240,239,.74); font-size:clamp(16px,2vw,20px); line-height:1.65; }
.info-sections { border-top:1px solid rgba(238,240,239,.22); }
.info-section { display:grid; grid-template-columns:150px minmax(0,1fr); gap:30px; padding:30px 0; border-bottom:1px solid rgba(238,240,239,.18); scroll-margin-top:32px; }
.section-mark { display:flex; flex-direction:column; gap:8px; }
.section-number { color:rgba(238,240,239,.4); }
.info-section h2 { margin:0; font-size:clamp(20px,3vw,30px); line-height:1.15; letter-spacing:-.04em; font-weight:400; }
.info-section p { max-width:660px; margin:10px 0 0; color:rgba(238,240,239,.72); line-height:1.7; }
.info-section a.inline-link { color:var(--paper); border-bottom:1px solid rgba(238,240,239,.5); transition:color .2s,border-color .2s; }
.info-section a.inline-link:hover { color:var(--blue); border-color:var(--blue); }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:24px; }
.contact-form label { display:flex; flex-direction:column; gap:9px; }
.contact-form .full { grid-column:1/-1; }
.form-label { color:rgba(238,240,239,.65); }
.contact-form input, .contact-form textarea { width:100%; border:1px solid rgba(238,240,239,.22); border-radius:0; background:rgba(255,255,255,.025); color:var(--paper); font:15px/1.5 "DM Sans",sans-serif; padding:13px 14px; outline:none; }
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--blue); }
.contact-form textarea { min-height:130px; resize:vertical; }
.contact-form button { justify-self:start; grid-column:1/-1; padding:13px 18px; border:1px solid rgba(238,240,239,.48); background:transparent; color:var(--paper); font:11px/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.contact-form button:hover { background:var(--paper); color:#06090c; border-color:var(--paper); }
.info-footer { margin-top:48px; color:rgba(238,240,239,.4); font:10px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.info-footer a { border-bottom:1px solid rgba(238,240,239,.25); }
.info-footer a:hover { color:var(--blue); border-color:var(--blue); }
.thank-you { min-height:100svh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:8vw; }
.thank-you h1 { white-space:normal; margin:20px 0; }
.thank-you p { max-width:520px; color:rgba(238,240,239,.72); line-height:1.7; }
.thank-you .back-link { margin-top:22px; }

@media(max-width:1100px) {
  .content { align-items:flex-start; flex-direction:column; gap:28px; }
}

@media(max-width:700px) {
  .landing { padding:0 6vw 8vh; }
  .backdrop { object-position:58% center; }
  .brand { top:4vh; font-size:clamp(28px,8vw,40px); }
  h1 { font-size:clamp(40px,10vw,72px); white-space:normal; }
  .socials { flex-wrap:wrap; gap:16px 22px; padding:0; }
  .info-page { padding:4vh 6vw 8vh; }
  .info-main { margin-top:10vh; }
  .info-section { grid-template-columns:1fr; gap:13px; padding:24px 0; }
  .section-mark { flex-direction:row; align-items:baseline; gap:12px; }
  .contact-form { grid-template-columns:1fr; gap:16px; }
  .contact-form .full, .contact-form button { grid-column:1; }
}

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