:root { --black:#090909; --white:#f1f0eb; --line:rgba(241,240,235,.28); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--white); font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
::selection { background:var(--white); color:var(--black); }

.site-header { position:fixed; z-index:30; inset:0 0 auto; display:flex; justify-content:space-between; align-items:center; padding:18px 24px; mix-blend-mode:difference; }
.mini-logo { font-size:24px; font-weight:900; letter-spacing:-1.8px; }
.mini-logo span { font-size:8px; vertical-align:top; margin-left:2px; }
.menu-button { border:0; background:none; font-size:12px; font-weight:800; letter-spacing:.14em; cursor:pointer; }

.hero { position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; padding:78px 24px 22px; background:var(--white); color:var(--black); }
.hero-noise { position:absolute; inset:0; opacity:.055; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.eyebrow,.section-label { font-size:11px; font-weight:800; letter-spacing:.16em; }
.hero h1 { position:relative; margin:auto 0; font-size:clamp(105px,23.2vw,350px); line-height:.64; letter-spacing:-.095em; font-stretch:condensed; font-weight:950; text-transform:lowercase; }
.hero h1 span { display:block; }
.hero h1 span:last-child { transform:translateX(15.6%); }
.hero-footer { display:flex; justify-content:space-between; align-items:end; font-size:11px; font-weight:800; letter-spacing:.1em; }
.hero-footer p { margin:0; }
.hero-footer a { border-bottom:1px solid; padding-bottom:3px; }

.manifesto { min-height:75vh; padding:100px 24px; display:grid; grid-template-columns:1fr 3fr; align-items:start; border-bottom:1px solid var(--line); }
.manifesto-copy { max-width:1050px; margin:0; font-size:clamp(39px,5.4vw,82px); line-height:.98; letter-spacing:-.045em; font-weight:800; }
.manifesto-copy span { color:#777; }

.work { padding:22px 24px 110px; }
.section-head { display:flex; justify-content:space-between; padding-bottom:22px; }
.section-head p { margin:0; font-size:11px; font-weight:800; letter-spacing:.14em; }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px 16px; }
.project-card { border:0; padding:0; background:none; text-align:left; cursor:pointer; }
.project-image { position:relative; aspect-ratio:16/10; overflow:hidden; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.project-card:hover .project-image { transform:scale(.985); }
.project-card:hover .project-mark { transform:translate(-50%,-50%) scale(1.07) rotate(-2deg); }
.project-image.acid,.modal-poster.acid { background:#d7ff00; color:#080808; }
.project-image.red,.modal-poster.red { background:#ee3f27; color:#080808; }
.project-image.blue,.modal-poster.blue { background:#2034e8; color:#fff; }
.project-image.bone,.modal-poster.bone { background:#d8d3c8; color:#080808; }
.project-number,.project-status { position:absolute; top:16px; font-size:10px; letter-spacing:.15em; font-weight:800; }
.project-number { left:16px; }.project-status { right:16px; }
.project-mark { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-size:clamp(160px,29vw,440px); line-height:.7; font-weight:950; letter-spacing:-.15em; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.project-info { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:start; padding-top:12px; }
.project-info h2 { margin:0; font-size:20px; letter-spacing:-.04em; }
.project-info p,.project-info span { margin:3px 0 0; font-size:10px; letter-spacing:.1em; font-weight:700; }

.about { padding:110px 24px 150px; display:grid; grid-template-columns:1fr 3fr; background:var(--white); color:var(--black); }
.about h2 { margin:0 0 55px; font-size:clamp(52px,8vw,120px); line-height:.82; letter-spacing:-.07em; }
.about div>p { max-width:780px; font:600 clamp(21px,2.2vw,34px)/1.12 Arial,sans-serif; letter-spacing:-.035em; }
.about div>p:last-child { color:#777; }

.submissions { padding:110px 24px 140px; border-bottom:1px solid var(--line); }
.submission-intro { display:grid; grid-template-columns:1fr 3fr; margin-bottom:90px; }
.submission-intro h2 { margin:0; font-size:clamp(58px,9vw,132px); line-height:.78; letter-spacing:-.075em; }
.submission-intro>p:last-child { grid-column:2; max-width:650px; margin:45px 0 0; color:#aaa; font:500 clamp(18px,1.7vw,25px)/1.25 Arial,sans-serif; letter-spacing:-.025em; }
.form-switcher { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:50px; }
.form-tab { border:0; background:transparent; padding:22px; text-align:left; font-size:12px; font-weight:800; letter-spacing:.14em; cursor:pointer; opacity:.4; }
.form-tab+ .form-tab { border-left:1px solid var(--line); }
.form-tab.active { background:var(--white); color:var(--black); opacity:1; }
.submission-form { max-width:1050px; margin-left:auto; }
.submission-form[hidden] { display:none; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.submission-form label { display:flex; flex-direction:column; gap:10px; margin-bottom:30px; font-size:10px; font-weight:800; letter-spacing:.14em; }
.submission-form input,.submission-form textarea { width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--white); padding:14px 0; outline:none; font:500 18px/1.3 Arial,sans-serif; letter-spacing:-.02em; }
.submission-form input:focus,.submission-form textarea:focus { border-color:#d7ff00; }
.submission-form textarea { resize:vertical; }
.submission-form input::placeholder,.submission-form textarea::placeholder { color:#5f5f5f; }
.submission-form .consent { flex-direction:row; align-items:center; gap:12px; font:500 12px/1.4 Arial,sans-serif; letter-spacing:0; color:#aaa; }
.consent input { width:17px; height:17px; margin:0; accent-color:#d7ff00; }
.submit-button { width:100%; border:0; background:#d7ff00; color:#080808; padding:22px; margin-top:20px; font-size:12px; font-weight:900; letter-spacing:.14em; cursor:pointer; }
.submit-button:disabled { cursor:wait; opacity:.55; }
.form-result { min-height:22px; margin:15px 0 0; font:600 13px Arial,sans-serif; }
.form-result.success { color:#d7ff00; }.form-result.error { color:#ff6048; }

.contact { min-height:85vh; padding:30px 24px 22px; display:flex; flex-direction:column; justify-content:space-between; }
.big-email { display:block; margin:100px 0; font-size:clamp(49px,10vw,150px); font-weight:950; line-height:.78; letter-spacing:-.07em; transition:color .2s; }
.big-email:hover { color:#d7ff00; }
.contact-row { display:flex; justify-content:space-between; align-items:end; font-size:10px; letter-spacing:.12em; font-weight:800; }
.contact-row p { margin:0; }.contact-row div { display:flex; gap:22px; }
footer { padding:18px 24px; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:9px; letter-spacing:.14em; }

.menu-overlay { position:fixed; z-index:20; inset:0; background:#d7ff00; color:#080808; display:flex; flex-direction:column; justify-content:center; padding:70px 24px 25px; }
.menu-overlay[hidden],.project-modal[hidden] { display:none; }
.menu-overlay a { width:max-content; font-size:clamp(70px,14vw,210px); line-height:.78; font-weight:950; letter-spacing:-.07em; }
.menu-overlay a:hover { font-style:italic; }
.menu-overlay p { margin-top:auto; font-size:10px; letter-spacing:.14em; font-weight:800; }

.project-modal { position:fixed; z-index:40; inset:0; background:var(--black); display:grid; grid-template-columns:1.1fr .9fr; overflow-y:auto; animation:modalIn .35s ease both; }
@keyframes modalIn { from { opacity:0; transform:translateY(16px); } }
.modal-close { position:fixed; z-index:2; top:20px; right:24px; border:0; background:var(--white); color:var(--black); padding:10px 13px; font-size:10px; font-weight:800; letter-spacing:.12em; cursor:pointer; }
.modal-poster { min-height:100vh; position:relative; display:flex; align-items:center; justify-content:center; padding:40px; }
.modal-poster>span { position:absolute; left:25px; top:24px; font-size:11px; font-weight:800; letter-spacing:.15em; }
.modal-poster strong { max-width:750px; font-size:clamp(70px,11vw,165px); line-height:.75; letter-spacing:-.08em; text-align:center; }
.modal-poster em { position:absolute; bottom:24px; font-size:9px; letter-spacing:.2em; font-style:normal; font-weight:800; }
.modal-copy { padding:90px 40px 40px; display:flex; flex-direction:column; }
.modal-copy h2 { margin:70px 0 20px; font-size:clamp(48px,6vw,90px); line-height:.84; letter-spacing:-.06em; }
.logline { max-width:650px; font:500 clamp(20px,2vw,30px)/1.15 Arial,sans-serif; letter-spacing:-.03em; }
.credits { margin-top:60px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.credits p { margin:5px 0; font-size:11px; letter-spacing:.06em; }
.status-line { display:flex; justify-content:space-between; margin-top:auto; padding:40px 0 20px; font-size:10px; letter-spacing:.12em; }
.trailer-button { border:1px solid var(--line); background:transparent; padding:16px; font-size:10px; letter-spacing:.14em; opacity:.55; }

@media (max-width:760px) {
  .site-header,.hero,.work,.about,.contact,footer { padding-left:16px; padding-right:16px; }
  .hero h1 { font-size:29vw; line-height:.68; }
  .hero h1 span:last-child { transform:translateX(7%); }
  .hero-footer p { max-width:160px; }
  .manifesto,.about { grid-template-columns:1fr; gap:55px; padding:80px 16px; }
  .submissions { padding:80px 16px 100px; }
  .submission-intro { grid-template-columns:1fr; gap:40px; margin-bottom:65px; }
  .submission-intro>p:last-child { grid-column:1; margin:0; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .form-switcher { grid-template-columns:1fr; }.form-tab+ .form-tab { border-left:0; border-top:1px solid var(--line); }
  .manifesto { min-height:60vh; }
  .project-grid { grid-template-columns:1fr; gap:45px; }
  .project-info { grid-template-columns:1fr auto; }.project-info p { display:none; }
  .project-modal { grid-template-columns:1fr; }.modal-poster { min-height:72vh; }.modal-copy { min-height:75vh; padding:70px 20px 25px; }
  .modal-close { top:12px; right:12px; }
  .contact-row { align-items:start; gap:30px; flex-direction:column; }.contact-row div { flex-wrap:wrap; }
  .big-email { font-size:16vw; margin:80px 0; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { animation:none!important; transition:none!important; } }
