.cform{display:grid;gap:18px;max-width:640px;margin:0 auto}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform label{display:grid;gap:8px;font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cform input,.cform select,.cform textarea{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:12px;border:1px solid #333;background:#0B0B0B;color:var(--ink);font:400 16px/1.4 var(--sans);letter-spacing:0;text-transform:none;transition:border-color .2s}
.cform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#999 50%),linear-gradient(135deg,#999 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.cform textarea{resize:vertical;min-height:150px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--soft)}
.cform button.more{justify-self:start;margin-top:4px;cursor:pointer;font-family:var(--sans)}
.cform button.more:disabled{opacity:.6;cursor:default}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform-status{min-height:1.4em;margin:0!important;color:var(--muted)!important;font-size:14px}
.cform-done{max-width:640px;margin:0 auto}
.panel .socials.small{margin-top:36px}
@media (max-width:640px){.cform .row2{grid-template-columns:1fr}}

:root{--bg:#000;--panel:#141414;--panel2:#0B0B0B;--ink:#fff;--soft:#EBEBEB;--muted:#999;--line:#262626;--serif:'Playfair Display',Georgia,serif;--sans:Inter,system-ui,sans-serif;--max:1100px;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--soft);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--muted)}
a:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#000;padding:8px;z-index:9}
mark.todo{background:none;color:#7A7A7A;font-style:italic}
.muted{color:var(--muted)}
.center{text-align:center}

/* hero: full bleed */
.hero{position:relative;height:100svh;min-height:620px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}
picture.hero-img{display:block}
picture.hero-img img{width:100%;height:100%;object-fit:cover;object-position:46% 50%;display:block}
@media (max-width:700px){picture.hero-img img{object-position:50% 40%}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 60%,#000 100%);pointer-events:none}
.hero .ph{background:radial-gradient(90% 70% at 50% 35%,#2b2b2b,#080808);align-items:flex-end;justify-content:flex-start;padding:28px;border:0}
.hero-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.4vw,30px);padding:0 20px;text-align:center}
.name{margin:0 0 -.16em;padding:.04em .04em .16em;font:400 clamp(46px,8vw,118px)/1 var(--serif);text-transform:uppercase;letter-spacing:-.005em;white-space:nowrap;background:linear-gradient(180deg,#fff 30%,#c9c9c9 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:520px){.name{white-space:normal}}
.hero-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px clamp(20px,3vw,44px)}
.hero-nav a{font:500 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);padding:10px 0}
.hero-nav a:hover,.hero-nav a[aria-current]{color:var(--ink)}
.hero-nav a[aria-current]{box-shadow:inset 0 -1px 0 var(--soft)}
@media (max-width:480px){.hero-nav{gap:2px 16px}.hero-nav a{font-size:12px;letter-spacing:.08em}}
.chev{position:absolute;z-index:1;bottom:24px;left:50%;transform:translateX(-50%);color:var(--soft);display:flex;width:44px;height:44px;align-items:center;justify-content:center}

/* subpage opener */
.mast{display:flex;flex-direction:column;align-items:center;gap:18px;padding:64px 20px 8px;text-align:center}
.mast-name{padding-bottom:.14em;margin-bottom:-.14em;font:400 clamp(34px,5vw,56px)/1 var(--serif);text-transform:uppercase;background:linear-gradient(180deg,#fff 30%,#c9c9c9 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* sections */
.sec{max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,88px) clamp(20px,4vw,40px) 0}
.sec-title{margin:0 0 clamp(32px,4vw,48px);padding-bottom:.12em;text-align:center;font:400 clamp(32px,4.4vw,52px)/1.1 var(--serif);text-transform:uppercase;background:linear-gradient(180deg,#fff 30%,#c9c9c9 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.panel{background:linear-gradient(160deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:20px;padding:clamp(28px,4.5vw,56px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.panel p{margin:0 0 16px;color:var(--soft)}
.panel.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
@media (max-width:820px){.panel.split{grid-template-columns:1fr}}
.split-text h3{margin:0 0 14px;font:400 clamp(26px,3vw,34px)/1.15 var(--serif);color:var(--ink)}
.split-text .more{margin-top:14px}
.prose{max-width:760px;margin:0 auto}
.prose h2{margin:48px 0 14px;font:400 28px/1.2 var(--serif);text-transform:uppercase;color:var(--ink)}
.prose h2.first{margin-top:0}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--ink)!important}
.rule{width:1px;height:110px;margin:clamp(56px,7vw,88px) auto 0;background:linear-gradient(var(--soft),transparent)}

/* photos */
.photo{display:block;width:100%;height:auto;object-fit:cover;background:#0E0E0E;border-radius:14px}
.ph{display:flex;align-items:flex-end;padding:16px;border:1px solid #2a2a2a}
.ph span{font-size:12px;color:#777}
.pair{display:flex;justify-content:center;width:100%;margin:0 auto;max-width:560px;padding:12px 6px}
.panel:not(.split) .pair{margin-bottom:44px}
.pair>*{width:50%}
.tilt-l{transform:rotate(-5deg);margin-right:-14px;box-shadow:0 14px 34px rgba(0,0,0,.55)}
.tilt-r{transform:rotate(4deg);margin-top:8px;box-shadow:0 14px 34px rgba(0,0,0,.55)}

/* logo walls */
.logo-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.logo-wall.n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto}
.logo-wall.n1{grid-template-columns:minmax(0,1fr);max-width:380px;margin:0 auto}
@media (max-width:640px){.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-wall>.logo-tile:last-child:nth-child(odd){grid-column:1/-1}.logo-wall .logo-tile img{max-width:min(72%,130px)}.logo-wall .logo-tile img[style]{height:24px!important}}
.logo-tile{display:flex;align-items:center;justify-content:center;min-height:120px;padding:24px;border-radius:16px;background:var(--panel2);border:1px solid var(--line);transition:border-color .2s,background .2s}
a.logo-tile:hover{border-color:#444;background:#111}
.logo-tile img{max-width:min(72%,210px);max-height:52px;object-fit:contain;filter:grayscale(1) brightness(1.6);opacity:.9}
a.logo-tile:hover img{opacity:1}
.wordlogo{font:400 clamp(20px,2.4vw,28px)/1.1 var(--serif);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-align:center}
.todo-tile{border-style:dashed;border-color:#333}
.todo-tile span{font-size:13px;font-style:italic;color:#6E6E6E}
.logo-wall+.center{margin-top:32px}

/* social buttons */
.socials{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0 8px}
.soc{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 16px;border-radius:999px;border:1px solid #333;background:#0E0E0E;color:var(--ink);font:500 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s}
.soc svg{width:20px;height:20px;flex:none}
.soc:hover{background:var(--ink);border-color:var(--ink);color:#000}
.todo-soc{border-style:dashed;color:#8A8A8A}
.socials.small{margin:4px 0}
.socials.small .soc{min-height:44px;width:44px;padding:0;justify-content:center;border-radius:50%}
.socials.small .soc span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* text bits */
.more{display:inline-flex;align-items:center;gap:10px;margin-top:16px;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid #333;background:#0E0E0E;color:var(--ink);font:500 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s}
.more::after{content:"\2192";font-size:15px;letter-spacing:0;transition:transform .2s}
.more:hover{background:var(--ink);border-color:var(--ink);color:#000}
.more:hover::after{transform:translateX(3px)}
.facts{margin:32px 0 0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:3px}
.facts dd{margin:0;color:var(--ink)}
.updated{margin-top:44px!important;font-size:13px;color:var(--muted)!important;text-align:center}
.co-logo img{max-width:320px;height:auto;margin:0 auto 8px}
.press-item{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:1px solid var(--line)}
.press-item span:first-child{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.co-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) 200px;gap:8px 28px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.co-row:first-child{border-top:1px solid var(--line)}
.co-name{font:400 26px/1.2 var(--serif);text-transform:uppercase;color:var(--ink)}
.co-desc{color:var(--muted)}
.co-meta{text-align:right;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
@media (max-width:640px){.co-row{grid-template-columns:1fr}.co-meta{text-align:left}}

/* footer */
.foot{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:clamp(96px,10vw,140px) 20px 48px;font-size:13px;color:var(--muted)}
.foot p{margin:0}
.foot-name{font:400 26px/1 var(--serif);text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.foot p a{color:var(--muted);border-bottom:1px solid #444}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}