@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&family=IBM+Plex+Mono:wght@300;400&family=Montserrat:wght@300;500;600&display=swap');
:root{--bg:#07080B;--ink:#EDE8DF;--gold:#C9A45C;--gold2:#D4AF37;--mute:rgba(237,232,223,.55);--line:rgba(201,164,92,.25)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:Montserrat,sans-serif;font-weight:300;line-height:1.6}
a{color:inherit}canvas#net{position:fixed;inset:0;z-index:0;pointer-events:none}
.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 5vw}
.mono{font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:'Cormorant Garamond';font-weight:300;line-height:1}h1{font-size:clamp(40px,7vw,96px)}h1 em,h2 em{color:var(--gold);font-style:italic}
h2{font-size:clamp(32px,4.5vw,56px);margin-bottom:14px}h3{font-size:30px}
nav{position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);background:rgba(7,8,11,.7);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;justify-content:space-between;align-items:center;height:64px}
.mk{display:flex;gap:3px;align-items:flex-end}.mk i{width:3px;background:var(--gold);opacity:.35;border-radius:1px}.mk i:nth-child(10){opacity:1;box-shadow:0 0 10px var(--gold)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand span{font-family:'Cormorant Garamond';font-size:20px;letter-spacing:.14em}
nav ul{display:flex;gap:26px;list-style:none}nav ul a{text-decoration:none;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;opacity:.75}nav ul a:hover{opacity:1;color:var(--gold)}
@media(max-width:860px){nav ul{display:none}}
section{padding:12vh 0}header.hero{min-height:88vh;display:flex;align-items:center}
.hero p.lead{margin-top:20px;font-size:17px;color:var(--mute);max-width:640px;line-height:1.7}
.pill{display:inline-flex;gap:14px;align-items:center;border:1px solid var(--line);padding:10px 18px;border-radius:40px;margin-bottom:28px;font-size:12px;letter-spacing:.08em}
.btn{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:600 11px Montserrat;letter-spacing:.22em;text-transform:uppercase;padding:16px 26px;border:1px solid var(--gold);color:var(--gold);transition:.3s;background:transparent;cursor:pointer}
.btn:hover,.btn.solid{background:var(--gold);color:var(--bg)}.btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8vh}@media(max-width:860px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{border-top:1px solid var(--line);padding-top:18px}.stat b{display:block;font-family:'Cormorant Garamond';font-weight:300;font-size:48px;color:var(--gold)}.stat span{font-size:12px;color:var(--mute);letter-spacing:.06em}
.grid{display:grid;gap:18px}.g3{grid-template-columns:repeat(3,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1000px){.g5{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.g3,.g2,.g5{grid-template-columns:1fr}}
.card{position:relative;border:1px solid var(--line);padding:28px 26px;background:linear-gradient(160deg,rgba(18,22,30,.85),rgba(7,8,11,.85));backdrop-filter:blur(6px);transition:.4s;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.card:hover{transform:translateY(-6px);border-color:rgba(201,164,92,.7);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.card .n{font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.25em;opacity:.6}.card h3{margin:14px 0 10px}.card p{font-size:13px;color:var(--mute);flex:1}
.card .go{margin-top:18px;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;justify-content:space-between;align-items:center}
.card .go b{width:32px;height:32px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-weight:300}
.sub{color:var(--mute);max-width:640px;margin-bottom:40px;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid var(--line);padding:12px 18px;font-size:13px;cursor:pointer;background:transparent;color:var(--ink);font-family:inherit;transition:.3s}.chip:hover,.chip.on{border-color:var(--gold);color:var(--gold)}
#result{margin-top:34px;display:none}#result.on{display:block}
.person{display:flex;gap:20px;align-items:flex-start;border:1px solid var(--line);padding:24px;background:rgba(18,22,30,.6)}
.avatar{width:72px;height:72px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-family:'Cormorant Garamond';font-size:28px;color:var(--gold);flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}
.person h3{font-size:26px}.person .t{font-size:12px;color:var(--gold);letter-spacing:.1em;margin:4px 0 8px}.person p{font-size:13px;color:var(--mute)}
.links{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.links a{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}.links a:hover{color:var(--gold)}
form{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(max-width:700px){form{grid-template-columns:1fr}}
label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:6px}
input,select,textarea{width:100%;background:rgba(18,22,30,.8);border:1px solid var(--line);color:var(--ink);padding:14px;font:300 14px Montserrat}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.full{grid-column:1/-1}.consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;color:var(--mute)}.consent input{width:auto;margin-top:3px}
.ok{display:none;border:1px solid var(--gold);padding:24px;margin-top:20px}.ok.on{display:block}
footer{border-top:1px solid var(--line);padding:50px 0 40px;font-size:12px;color:var(--mute)}footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}@media(max-width:860px){footer .wrap{grid-template-columns:1fr}}
footer a{text-decoration:none}footer a:hover{color:var(--gold)}footer .disc{margin-top:30px;font-size:11px;opacity:.7}
.hid{display:none!important}

/* ===== v1.1: themes, grid fix, images ===== */
:root,[data-theme=dark]{--bg:#07080B;--ink:#EDE8DF;--gold:#C9A45C;--gold2:#D4AF37;--mute:rgba(237,232,223,.55);--line:rgba(201,164,92,.25);--card:linear-gradient(160deg,rgba(18,22,30,.85),rgba(7,8,11,.85));--navbg:rgba(7,8,11,.7);--field:rgba(18,22,30,.8);--canvas:1}
[data-theme=light]{--bg:#F7F5F1;--ink:#110902;--gold:#8A6A1F;--gold2:#B8902E;--mute:rgba(17,9,2,.6);--line:rgba(138,106,31,.3);--card:linear-gradient(160deg,rgba(255,255,255,.9),rgba(247,231,206,.7));--navbg:rgba(247,245,241,.8);--field:rgba(255,255,255,.9);--canvas:.55}
@media(prefers-color-scheme:light){:root:not([data-theme]){--bg:#F7F5F1;--ink:#110902;--gold:#8A6A1F;--gold2:#B8902E;--mute:rgba(17,9,2,.6);--line:rgba(138,106,31,.3);--card:linear-gradient(160deg,rgba(255,255,255,.9),rgba(247,231,206,.7));--navbg:rgba(247,245,241,.8);--field:rgba(255,255,255,.9);--canvas:.55}}
body{transition:background .4s,color .4s}nav{background:var(--navbg)}.card{background:var(--card)}input,select,textarea{background:var(--field)}canvas#net{opacity:var(--canvas)}
.person{background:var(--card)}footer{color:var(--mute)}
.theme{border:1px solid var(--line);background:transparent;color:var(--ink);width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:15px;margin-left:18px}.theme:hover{border-color:var(--gold);color:var(--gold)}
/* grid: equal columns regardless of long words */
.grid.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.grid.g5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.grid.g5,.grid.g3,.grid.g2{grid-template-columns:1fr}}
.card{min-width:0}.card h3{font-size:clamp(22px,1.9vw,28px);overflow-wrap:anywhere;hyphens:auto}.card p{overflow-wrap:anywhere}.card .go{gap:10px}.card .go span{white-space:nowrap}
#entities .card{min-height:300px}#entities .card h3{min-height:2.2em;display:flex;align-items:flex-end}
.logo{height:34px;margin-bottom:18px;display:flex;align-items:center}.logo img{max-height:34px;max-width:100%;object-fit:contain}
[data-theme=dark] .logo .on-light,:root:not([data-theme]) .logo .on-light{display:none}[data-theme=light] .logo .on-dark{display:none}@media(prefers-color-scheme:light){:root:not([data-theme]) .logo .on-dark{display:none}:root:not([data-theme]) .logo .on-light{display:inline}}
/* hero image */
header.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}@media(max-width:1000px){header.hero .wrap{grid-template-columns:1fr}}
.heroimg{position:relative;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden;background:var(--card)}.heroimg img{width:100%;height:100%;object-fit:cover;display:block}.heroimg:empty{display:none}
.heroimg .cap{position:absolute;left:16px;bottom:14px;font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);background:var(--bg);padding:6px 10px}
.stats{grid-column:1/-1}

/* ===== v1.2: immersive hero, brand tiles, imagery, motion ===== */
header.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;padding:0 0 10vh}
header.hero .wrap{display:block}
.herobg{position:absolute;inset:0;z-index:0}.herobg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.08);will-change:transform;filter:saturate(.9)}
.herobg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,11,.35) 0%,rgba(7,8,11,.55) 45%,var(--bg) 92%),linear-gradient(90deg,var(--bg) 0%,transparent 55%)}
[data-theme=light] .herobg img{filter:saturate(.85) brightness(1.05)}[data-theme=light] .herobg:after{background:linear-gradient(180deg,rgba(247,245,241,.25) 0%,rgba(247,245,241,.6) 45%,var(--bg) 92%),linear-gradient(90deg,var(--bg) 0%,transparent 60%)}
header.hero .wrap{position:relative;z-index:1}.hero h1{max-width:14ch}.hero .pill{background:var(--navbg);backdrop-filter:blur(8px)}
.stats{margin-top:9vh;border-top:1px solid var(--line);padding-top:30px}.stat{border:0;padding:0}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;pointer-events:none;z-index:0}
/* marquee */
.marq{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;position:relative;z-index:1}.marq div{display:flex;gap:64px;white-space:nowrap;animation:mq 40s linear infinite;width:max-content}.marq span{font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}.marq span b{color:var(--gold);font-weight:400;margin-right:64px}@keyframes mq{to{transform:translateX(-50%)}}
/* bento brand tiles */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(240px,auto);gap:16px}
.bento .tile{position:relative;overflow:hidden;padding:34px 32px;display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid transparent;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.bento .tile:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 40px 80px rgba(0,0,0,.45)}
.tile .n{font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.3em;text-transform:uppercase;opacity:.75}
.tile .lg{height:44px;margin:22px 0 10px;display:flex;align-items:center}.tile .lg img{max-height:44px;max-width:220px;object-fit:contain}
.tile h3{font-size:clamp(34px,3.4vw,54px);line-height:.95;margin:6px 0 14px;max-width:12ch}.tile p{font-size:14px;line-height:1.65;max-width:38ch;flex:1;opacity:.8}
.tile .go{margin-top:22px;font:600 10px Montserrat;letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;gap:14px}.tile .go b{width:36px;height:36px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-weight:300;transition:.3s}.tile:hover .go b{background:currentColor}.tile:hover .go b span{mix-blend-mode:difference;color:#fff}
.tile .motif{position:absolute;pointer-events:none}
/* 10 Leaves: navy + gold, spans 4 cols */
.b-10leaves{grid-column:span 4;background:radial-gradient(ellipse at 85% 15%,rgba(201,164,92,.28),transparent 50%),linear-gradient(160deg,#0E1830,#07080B 70%);color:#EDE8DF;border-color:rgba(201,164,92,.35)!important}.b-10leaves .n,.b-10leaves .go{color:#C9A45C}
.b-10leaves .motif{right:-40px;top:-40px;width:320px;height:320px;border-radius:50%;border:1px solid rgba(201,164,92,.25);background:conic-gradient(from 0deg,rgba(201,164,92,.35),transparent 30%);animation:rot 9s linear infinite}@keyframes rot{to{transform:rotate(360deg)}}
/* legability: plum + silver, spans 2 */
.b-legability{grid-column:span 2;background:radial-gradient(ellipse at 80% 0%,rgba(123,91,166,.9),rgba(42,24,64,1) 60%);color:#F1ECF7;border-color:rgba(200,202,203,.25)!important}.b-legability .n{color:#D4B896}.b-legability .go{color:#C8CACB}
.b-legability .motif{right:26px;top:26px;width:46px;height:60px;opacity:.95}
/* TTC: black + pink cursor, spans 2 */
.b-ttc{grid-column:span 2;background:linear-gradient(160deg,#111,#000);color:#fff;border-color:rgba(255,255,255,.12)!important;font-family:'IBM Plex Mono'}.b-ttc h3{font-family:'IBM Plex Mono';font-weight:300;font-size:clamp(26px,2.4vw,36px);letter-spacing:-.02em}.b-ttc h3:after{content:"";display:inline-block;width:.55em;height:1em;background:#FF4FA3;margin-left:6px;vertical-align:-.1em;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.b-ttc .n,.b-ttc .go{color:#FF4FA3}.b-ttc p{font-family:Montserrat}
.b-ttc .motif{inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse at 100% 100%,#000,transparent 70%)}
/* Chapter 10: ivory + gold bars, spans 2 */
.b-chapter10{grid-column:span 2;background:linear-gradient(160deg,#F7F5F1,#F7E7CE);color:#110902;border-color:rgba(138,106,31,.3)!important}.b-chapter10 h3{font-family:'Libre Franklin',Montserrat;font-weight:700;letter-spacing:-.02em;font-size:clamp(28px,2.6vw,40px)}.b-chapter10 .n{color:#8A6A1F}.b-chapter10 .go{color:#110902}
.b-chapter10 .motif{right:28px;top:28px;display:flex;gap:5px;align-items:flex-end}.b-chapter10 .motif i{width:6px;background:#8A6A1F;opacity:.3;display:block}.b-chapter10 .motif i:last-child{opacity:1;background:#D4AF37;animation:gl 2s infinite}@keyframes gl{50%{box-shadow:0 0 18px #D4AF37}}
/* 10 Recruit: navy + gold + silver, spans 2 */
.b-10recruit{grid-column:span 2;background:linear-gradient(160deg,#0B1226,#07080B);color:#EDE8DF;border-color:rgba(200,202,203,.25)!important}.b-10recruit .n{color:#C8CACB}.b-10recruit .go{color:#C9A45C}
.b-10recruit .motif{right:-10px;bottom:-10px;width:200px;height:200px;background:repeating-linear-gradient(135deg,rgba(201,164,92,.18) 0 2px,transparent 2px 14px);mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%)}
@media(max-width:1000px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.b-10leaves,.b-legability,.b-ttc,.b-chapter10,.b-10recruit{grid-column:span 2}}
/* stand section */
.stand{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;padding:0}.stand img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);will-change:transform}
.stand:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,11,.92) 0%,rgba(7,8,11,.6) 50%,rgba(7,8,11,.2) 100%)}[data-theme=light] .stand:after{background:linear-gradient(90deg,rgba(247,245,241,.95) 0%,rgba(247,245,241,.7) 50%,rgba(247,245,241,.2) 100%)}
.stand .wrap{position:relative;z-index:1;width:100%}.stand .box{max-width:560px}.stand ul{list-style:none;display:grid;gap:14px;margin-top:28px}.stand li{display:flex;gap:14px;font-size:14px;color:var(--mute)}.stand li b{color:var(--gold);font-family:'IBM Plex Mono';font-weight:400;font-size:11px;letter-spacing:.2em;padding-top:4px;min-width:40px}
/* demos: image panels */
#appgrid .card{min-height:340px;justify-content:flex-end;padding-top:150px;position:relative}#appgrid .card .art{position:absolute;inset:0;height:150px;overflow:hidden;border-bottom:1px solid var(--line)}
.art-radar{background:radial-gradient(circle at 50% 120%,rgba(201,164,92,.5),transparent 60%)}.art-radar:before{content:"";position:absolute;left:50%;bottom:-120px;width:240px;height:240px;margin-left:-120px;border-radius:50%;border:1px solid rgba(201,164,92,.5);box-shadow:0 0 0 40px rgba(201,164,92,.08),0 0 0 80px rgba(201,164,92,.05)}.art-radar:after{content:"";position:absolute;left:50%;bottom:0;width:120px;height:120px;transform-origin:0 100%;background:conic-gradient(from -90deg,rgba(201,164,92,.5),transparent 60deg);animation:rot 4s linear infinite}
.art-course{background:linear-gradient(160deg,#F7F5F1,#F7E7CE)}.art-course:before{content:"";position:absolute;left:28px;right:28px;top:34px;height:8px;background:#D4AF37;box-shadow:0 22px 0 -2px rgba(138,106,31,.35),0 44px 0 -2px rgba(138,106,31,.25),0 66px 0 -2px rgba(138,106,31,.15)}
.art-contract{background:radial-gradient(ellipse at 70% 30%,rgba(123,91,166,.9),#2A1840)}.art-contract:before{content:"";position:absolute;left:30px;top:30px;right:30px;bottom:30px;border:1px dashed rgba(200,202,203,.4)}.art-contract:after{content:"→";position:absolute;right:46px;bottom:38px;font-size:40px;color:#C8CACB;font-weight:200}
.art-collective{background:linear-gradient(160deg,#0E1830,#07080B)}.art-collective:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(201,164,92,.7) 1.5px,transparent 1.5px);background-size:22px 22px;mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 70%)}
.art-readiness{background:linear-gradient(160deg,#0B1226,#07080B)}.art-readiness:before{content:"";position:absolute;left:30px;right:30px;bottom:30px;height:6px;background:rgba(200,202,203,.2)}.art-readiness:after{content:"";position:absolute;left:30px;bottom:30px;height:6px;width:62%;background:linear-gradient(90deg,#C8CACB,#C9A45C);box-shadow:0 0 16px rgba(201,164,92,.6)}
/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.marq div,.motif{animation:none!important}}

/* ===== v1.3: readability on imagery ===== */
/* Stand section: image band on top, text below on solid background */
.stand{display:block;min-height:0;padding:0;overflow:visible}
.stand img{position:relative;display:block;width:100%;height:clamp(380px,62vh,760px);object-fit:cover;object-position:center 40%;transform:none!important;mask-image:linear-gradient(180deg,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 100%)}
.stand:after{display:none}
.stand .wrap{position:relative;z-index:1;padding-top:2vh;padding-bottom:12vh}
.stand .box{max-width:none;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
@media(max-width:900px){.stand .box{grid-template-columns:1fr;gap:30px}}
.stand .box>.mono,.stand .box>h2,.stand .box>.sub{grid-column:1}.stand .box>ul{grid-column:2;grid-row:1/span 3;margin-top:8px;border-left:1px solid var(--line);padding-left:36px}
@media(max-width:900px){.stand .box>ul{grid-column:1;grid-row:auto;border-left:0;padding-left:0}}
.stand .box>.btns{grid-column:1}.stand li{font-size:15px;color:var(--ink);line-height:1.6}.stand li span{opacity:.8}.stand li b{min-width:56px;font-size:11px;padding-top:6px}
.stand h2{font-size:clamp(40px,5.5vw,72px)}
/* Hero: heavier gradient + frosted copy panel in the lower third */
header.hero{align-items:flex-end;padding-bottom:8vh}
.herobg:after{background:linear-gradient(180deg,rgba(7,8,11,.15) 0%,rgba(7,8,11,.35) 35%,rgba(7,8,11,.88) 70%,var(--bg) 100%)}
[data-theme=light] .herobg:after{background:linear-gradient(180deg,rgba(247,245,241,.1) 0%,rgba(247,245,241,.35) 35%,rgba(247,245,241,.9) 70%,var(--bg) 100%)}
header.hero .wrap>div:first-child{display:inline-block;padding:34px 38px 38px;background:var(--navbg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);max-width:760px}
header.hero .wrap>div:first-child .pill{margin-bottom:22px}
.hero p.lead{color:var(--ink);opacity:.85}
.stats{margin-top:6vh}
.orb{opacity:.22}

/* ===== v1.4: featured Collective demo + light-mode tile fixes ===== */
#appgrid{display:grid;gap:18px}.grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.grid.g4{grid-template-columns:1fr}}
#appgrid .card{padding:0;min-height:0}#appgrid .card .art{position:relative;height:150px;inset:auto}#appgrid .card .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
#appgrid .card.feature{display:grid;grid-template-columns:1.25fr 1fr;min-height:360px;border-color:rgba(201,164,92,.55);box-shadow:0 0 0 1px rgba(201,164,92,.15),0 30px 80px rgba(0,0,0,.35)}
#appgrid .card.feature .art{height:100%;min-height:300px;border-bottom:0;border-right:1px solid var(--line)}#appgrid .card.feature .body{padding:40px 42px;justify-content:center}
#appgrid .card.feature h3{font-size:clamp(34px,3.6vw,52px)}#appgrid .card.feature p{font-size:15px;max-width:44ch}#appgrid .card.feature .n{color:var(--gold);opacity:1}
@media(max-width:900px){#appgrid .card.feature{grid-template-columns:1fr}#appgrid .card.feature .art{min-height:200px;border-right:0;border-bottom:1px solid var(--line)}}
.art-collective:before{background-image:radial-gradient(rgba(201,164,92,.75) 1.5px,transparent 1.5px),radial-gradient(rgba(200,202,203,.4) 1px,transparent 1px);background-size:26px 26px,52px 52px;background-position:0 0,13px 13px;mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 75%)}
.art-collective:after{content:"";position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(201,164,92,.5);box-shadow:0 0 0 30px rgba(201,164,92,.08),0 0 0 60px rgba(201,164,92,.05),0 0 60px rgba(201,164,92,.25) inset}
/* Tiles: lock text colours regardless of theme */
.b-10leaves,.b-10leaves h3,.b-10leaves p{color:#EDE8DF!important}.b-10leaves p{opacity:.78}
.b-legability,.b-legability h3,.b-legability p{color:#F1ECF7!important}.b-legability p{opacity:.82}
.b-ttc,.b-ttc h3,.b-ttc p{color:#FFFFFF!important}.b-ttc p{opacity:.78}
.b-chapter10,.b-chapter10 h3,.b-chapter10 p{color:#110902!important}.b-chapter10 p{opacity:.8}
.b-10recruit,.b-10recruit h3,.b-10recruit p{color:#EDE8DF!important}.b-10recruit p{opacity:.78}
.tile .lg{height:60px;margin:26px 0 14px}.tile .lg img{max-height:60px;max-width:260px}
.b-10leaves .lg img{filter:drop-shadow(0 0 1px rgba(255,255,255,.4))}
/* light mode: demo cards & person cards keep contrast */
[data-theme=light] .card h3,[data-theme=light] .person h3{color:#110902}[data-theme=light] .card p{color:rgba(17,9,2,.68)}
[data-theme=light] .bento .tile{box-shadow:0 10px 30px rgba(17,9,2,.08)}

/* ===== v1.5: artworks shown as artworks, hero back to clean type ===== */
.herobg{display:none}header.hero{min-height:92vh;align-items:center;padding:14vh 0 8vh}
header.hero .wrap>div:first-child{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;padding:0;max-width:820px}
.hero .pill{display:inline-flex;align-items:center;gap:14px;background:transparent;backdrop-filter:none}.hero .pill .sep{width:1px;height:14px;background:var(--line);display:inline-block}
.orb{opacity:.3}
.stand img{display:none}.stand .wrap{padding-top:0}
.gallery{display:grid;grid-template-columns:2fr 3fr 3fr;gap:18px;margin-bottom:64px;align-items:stretch}
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr}.gallery figure.tall{grid-column:1/-1}}
.gallery figure{margin:0;position:relative;border:1px solid var(--line);background:#07080B;padding:12px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
[data-theme=light] .gallery figure{background:#fff;box-shadow:0 20px 60px rgba(17,9,2,.12)}
.gallery img{display:block;width:100%;height:100%;object-fit:contain;max-height:620px}
.gallery figure.tall img{aspect-ratio:2/3}.gallery figure:not(.tall) img{aspect-ratio:1/1}
.gallery figcaption{position:absolute;left:12px;bottom:12px;font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);background:var(--bg);padding:6px 10px}

/* ===== v1.6: hero with framed Panel A beside headline; logo strips in tiles ===== */
header.hero{align-items:center;min-height:0;padding:12vh 0 6vh}
header.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
@media(max-width:1000px){header.hero .wrap{grid-template-columns:1fr}}
header.hero .wrap>div:first-child{grid-column:1}
.heroimg{display:block;grid-column:2;grid-row:1;margin:0;border:1px solid var(--line);background:#07080B;padding:10px;box-shadow:0 40px 100px rgba(0,0,0,.4);aspect-ratio:2/3;max-height:78vh;justify-self:end;width:100%;max-width:520px}
[data-theme=light] .heroimg{background:#fff;box-shadow:0 30px 80px rgba(17,9,2,.14)}
.heroimg img{width:100%;height:100%;object-fit:contain;display:block}
.heroimg:empty{display:none}
@media(max-width:1000px){.heroimg{grid-column:1;grid-row:auto;justify-self:start;max-width:420px}}
.stats{grid-column:1/-1}
.gallery{grid-template-columns:1fr 1fr}.gallery figure.tall{display:none}
.tile .lg{height:auto;margin:22px 0 6px}.tile .lg img{max-height:none;width:min(100%,360px);max-width:100%;border-radius:2px}
.b-10leaves .lg img{filter:none}

/* ===== v1.7: splash render restored; artwork gallery below ===== */
.heroimg{display:none}header.hero .wrap{display:block}header.hero{padding:16vh 0 6vh;min-height:0}
.stand img#standimg{display:block;position:relative;width:100%;height:clamp(420px,70vh,820px);object-fit:cover;object-position:center 35%;transform:none!important;mask-image:linear-gradient(180deg,#000 72%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}
.stand img#standimg:not([src]),.stand img#standimg[src=""]{display:none}
.gallery{display:grid;grid-template-columns:2fr 3fr 3fr;gap:18px;margin:18px 0 0}.gallery figure.tall{display:block}
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr}.gallery figure.tall{grid-column:1/-1}}
.gallery img{max-height:none}

/* ===== v1.8: real logos + plaque overlays on the render ===== */
.render{position:relative;width:100%;line-height:0}
.stand img#standimg{height:auto!important;aspect-ratio:auto;object-fit:fill;width:100%;mask-image:linear-gradient(180deg,#000 80%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent 100%)}
.plaques{position:absolute;inset:0;pointer-events:none}
.plq{position:absolute;pointer-events:auto;display:flex;align-items:center;justify-content:center;padding:6% 8%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 0 6px rgba(7,8,11,.9);transform:perspective(900px) rotateY(-4deg);transform-origin:left center;transition:transform .4s}
.plq:hover{transform:perspective(900px) rotateY(0) scale(1.03)}
.plq img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.plq span{font-family:Cormorant,serif;font-size:clamp(12px,1.4vw,22px);color:#EDE8DF;line-height:1;white-space:nowrap}
.p-10leaves{background:linear-gradient(160deg,#12204A,#0B1226)}
.p-legability{background:linear-gradient(160deg,#5A3A86,#2A1840)}.p-legability img{mix-blend-mode:screen}
.p-ttc{background:linear-gradient(160deg,#151515,#000)}
.p-chapter10{background:linear-gradient(160deg,#F7F5F1,#EDE4D0)}
.p-10recruit{background:linear-gradient(160deg,#0B1226,#07080B);border-color:rgba(200,202,203,.3)}.p-10recruit span{font-family:'IBM Plex Mono';font-size:clamp(9px,1vw,14px);letter-spacing:.3em;text-transform:uppercase;color:#C8CACB}
/* tiles: real logos sized sanely */
.tile .lg{height:56px;margin:22px 0 10px}.tile .lg img{max-height:56px;max-width:min(100%,260px);width:auto;border-radius:0}
.b-10leaves .lg img{max-height:64px}.b-legability .lg img{mix-blend-mode:screen;max-height:70px}
.b-ttc .lg img{max-height:28px}.b-chapter10 .lg img{max-height:30px}

/* ===== v1.9: plaque images were hidden by .stand img rule; real logos ===== */
.stand .plaques .plq img{display:block!important;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;mask-image:none;-webkit-mask-image:none;position:static;transform:none;mix-blend-mode:normal}
.stand .plaques .plq{transform:none;line-height:0;padding:7% 9%;min-height:0;max-height:none;bottom:auto;border-radius:2px}
.stand .plaques .plq:hover{transform:scale(1.03)}
.p-chapter10{background:linear-gradient(160deg,#F7F5F1,#EDE4D0)}
.p-legability img{mix-blend-mode:normal!important}
.tile .lg img{mix-blend-mode:normal}.b-10recruit .lg img{max-height:48px}.b-chapter10 .lg img{max-height:40px}

/* ===== v2.0: plaques draw logos as background images ===== */
.stand .plaques .plq{display:block;position:absolute;box-sizing:border-box;min-height:0;max-height:none;bottom:auto;right:auto;padding:0;line-height:0;border:1px solid rgba(255,255,255,.14);border-radius:2px;box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 0 6px rgba(7,8,11,.9);background-repeat:no-repeat!important;background-position:center!important;background-size:78% auto!important;transform:none;transition:transform .3s}
.stand .plaques .plq:hover{transform:scale(1.03)}
.stand .plaques .plq img{display:none}
.stand .plaques .p-10leaves{background-color:#0F1A3C}
.stand .plaques .p-legability{background-color:#3E2A5C;background-size:100% auto!important}
.stand .plaques .p-ttc{background-color:#0B0B0B}
.stand .plaques .p-chapter10{background-color:#F3EFE6}
.stand .plaques .p-10recruit{background-color:#0B1226}
.stand .plaques .plq span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono';font-size:clamp(9px,1vw,14px);letter-spacing:.3em;text-transform:uppercase;color:#C8CACB;line-height:1}

/* ===== v2.1 final plaque geometry — screenshot calibrated ===== */
.stand .plaques .plq{background-size:72% auto!important;box-shadow:0 4px 14px rgba(0,0,0,.5),0 0 0 3px rgba(7,8,11,.88);border-radius:1px}
.stand .plaques .p-10leaves{background-size:60% auto!important}
.stand .plaques .p-legability{background-size:88% auto!important}
.stand .plaques .p-ttc{background-size:72% auto!important}
.stand .plaques .p-chapter10{background-size:78% auto!important}
.stand .plaques .p-10recruit{background-size:62% auto!important}

/* ===== v2.2: wall patch hides placeholder QR + 'Explore the Collective' ===== */
.stand .plaques .patch{position:absolute;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#17171a 0%,#121214 55%,#0e0e11 100%);filter:blur(5px);border-radius:12px;opacity:.98}
