/* 41.176 Hz brand layer (12 Nov 2026). Loaded after style.css and home.css on the homepage. */
:root, :root:not([data-theme="light"]), :root[data-theme="dark"]{
  --paper:#101820; --surface:#102A38; --ink:#F2EBDD; --ink-soft:#B4B9B4; --line:#27404C;
  --brass:#CCA35C; --brass-dim:#E0BB78; --cyan:#55D8DC; --teal:#178B91; --copper:#B86E49;
  --chart:#BD8430; --ok:#5FB37F; --miss:#E07A62;
}
body.brand{background:var(--paper); color:var(--ink); font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:16.5px; line-height:1.62;}
.brand h1,.brand h2,.brand h3{font-family:'Space Grotesk','Inter',sans-serif; letter-spacing:-.01em;}
.brand a{color:var(--cyan);} .brand a:hover{color:var(--ink);}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.brand .eyebrow{color:var(--brass); font-size:12px; letter-spacing:.14em;}

/* top bar */
.topbar{position:sticky; top:0; z-index:20; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:12px 28px; background:rgba(16,24,32,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(6px);}
.topbar .wordmark{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; color:var(--ink); text-decoration:none; display:flex; flex-direction:column; line-height:1.15; white-space:nowrap;}
.topbar .wordmark span{font-family:'IBM Plex Mono',monospace; font-weight:400; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass);}
.topbar nav{display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:6px 20px;}
.topbar nav a{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:var(--ink-soft); padding:4px 0;}
.topbar nav a:hover{color:var(--cyan);}
.topbar nav a.navbtn{color:var(--paper); background:var(--brass); padding:8px 12px; border-radius:2px;}
.topbar nav a.navbtn:hover{background:var(--brass-dim); color:var(--paper);}

/* hero artwork */
.hero-art{background:#070c11; text-align:center; line-height:0;}
.hero-art img{width:100%; max-width:1774px; height:auto;}

/* identity + trust bar */
.idbar{background:var(--surface); border-bottom:1px solid var(--line);}
.idbar-inner{max-width:1180px; margin:0 auto; padding:22px 28px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px 36px;}
.idbar .name{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(24px,3vw,32px); line-height:1.1;}
.idbar .role{font-size:15px; color:var(--ink-soft); margin-top:4px;}
.idbar .role em{color:var(--brass); font-style:italic;}
.trust{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:14px 30px;}
.trust li{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft);}
.trust li img{width:40px; height:40px; object-fit:contain; flex:none;}
.trust li span{display:flex; flex-direction:column; line-height:1.3;}
.trust li b{font-family:'Space Grotesk',sans-serif; font-size:16px; color:var(--ink); font-weight:600;}

/* sections */
.brand .sec{border-top:1px solid var(--line);}
.brand .sec.wide{max-width:1180px;}
.brand .sec h2{font-size:clamp(28px,3.6vw,40px); margin:6px 0 12px;}
.brand .sec .lead{font-size:19px; color:var(--ink); max-width:60ch;}

/* seven technologies */
.techgrid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:26px;}
.tech, .lito{background:var(--surface); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column;}
.tech .plate{aspect-ratio:16/9; line-height:0;}
.tech .plate svg, .lito .plate svg{width:100%; height:100%; display:block;}
.tech .body, .lito .body{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1;}
.tech .status, .lito .status{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan);}
.tech h3, .lito h3{font-size:25px; line-height:1.15; margin-top:8px;}
.tech .sub, .lito .sub{font-size:15px; color:var(--brass); margin-top:3px;}
.tech p, .lito p{font-size:15.5px; color:var(--ink); opacity:.9; margin:12px 0 0; max-width:none;}
.tech .apps{font-size:13px; color:var(--ink-soft); margin:12px 0 18px;}
.tech .btn, .lito .btn{margin-top:auto; align-self:flex-start;}
.brand .btn{border-color:var(--brass); color:var(--ink);}
.brand .btn:hover{background:var(--brass); color:var(--paper);}
.brand .btn.primary{background:var(--brass); color:var(--paper);}
.brand .btn.primary:hover{background:var(--brass-dim);}
.lito{margin-top:24px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);}
.lito .plate{min-height:260px; line-height:0;}
.lito .btn{margin-top:20px;}

/* harmonic weave */
.weave-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:40px; align-items:center; margin-top:18px;}
.weave-fig svg{width:100%; height:auto; display:block;}
.weave-list{list-style:none; margin:0; padding:0; display:grid; gap:14px;}
.weave-list li{display:grid; grid-template-columns:38px 1fr; gap:14px; align-items:start; padding-bottom:14px; border-bottom:1px solid var(--line);}
.weave-list li:last-child{border-bottom:none; padding-bottom:0;}
.weave-list .n{width:38px; height:38px; border:1.5px solid var(--cyan); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px;}
.weave-list .fn{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass);}
.weave-list h3{font-size:18px; line-height:1.25; margin-top:2px;}
.weave-list p{font-size:15px; color:var(--ink-soft); margin:4px 0 0;}
.weave .closing{font-family:'Space Grotesk',sans-serif; font-size:clamp(19px,2.2vw,24px); line-height:1.4; max-width:44ch; margin:34px 0 0; color:var(--ink);}

/* research: awardable */
.cred-v9{display:flex; gap:22px; align-items:center; background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--brass); border-radius:6px; padding:22px 24px; margin-top:20px;}
.cred-v9 img{width:84px; height:84px; object-fit:contain; flex:none;}
.brand .cred-line{font-family:'Space Grotesk',sans-serif; font-size:clamp(19px,2.2vw,24px); line-height:1.3; margin:6px 0; max-width:none;}
.brand .cred-line b{color:var(--brass);}

/* existing blocks on the dark surface */
.brand .card{background:var(--surface); border-radius:6px; overflow:hidden;}
.brand .card .cover{background:#0c141b;}
.brand .card .status{color:var(--cyan);}
.brand .tile{background:var(--surface); border-radius:6px;}
.brand .tile .big{font-family:'Space Grotesk',sans-serif; color:var(--cyan);}
.brand .pull{font-family:'Space Grotesk',sans-serif;}
.brand .game{background:var(--surface);}
.brand .textcard, .brand .feature{background:var(--surface); border-radius:6px; overflow:hidden;}
.brand .feature .body .status, .brand .textcard .status, .brand .vgrid figcaption .k{color:var(--cyan) !important;}
.brand .about{margin-top:14px;}
.brand .about img{border-radius:4px; padding:0;}
.brand .about h2{font-size:clamp(26px,3.2vw,34px);}
.brand .dark-band, .brand .dark-band-wrap{background:var(--surface);}
.brand .dark-band .eyebrow{color:var(--brass);}
.brand .dark-band .verticals li{border-color:var(--line);}
.brand .dark-band .btn.primary{background:var(--brass); border-color:var(--brass); color:var(--paper);}
.paths{list-style:none; margin:18px 0 26px; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; position:relative;}
.paths li{border:1px solid var(--line); border-top:2px solid var(--cyan); background:rgba(16,24,32,.55); padding:14px 16px; font-size:14.5px; color:var(--ink-soft); border-radius:4px;}
.paths li b{display:block; font-family:'Space Grotesk',sans-serif; font-size:17px; color:var(--ink); margin-bottom:4px;}
.brand .footer-v2{border-top:1px solid var(--line);}

@media (max-width:980px){
  .techgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .paths{grid-template-columns:repeat(2,minmax(0,1fr));}
  .weave-grid{grid-template-columns:1fr; gap:22px;}
  .weave-fig{max-width:460px; margin:0 auto; width:100%;}
  .topbar{flex-direction:column; align-items:flex-start; position:static;}
  .topbar nav{justify-content:flex-start;}
}
@media (max-width:680px){
  .techgrid{grid-template-columns:1fr;}
  .lito{grid-template-columns:1fr;}
  .lito .plate{min-height:0; aspect-ratio:16/7;}
  .paths{grid-template-columns:1fr;}
  .idbar-inner{padding:18px 16px;}
  .topbar{padding:12px 16px;}
  .cred-v9{flex-direction:column; align-items:flex-start;}
  .trust{flex-direction:column; gap:12px;}
}
@media (prefers-reduced-motion:reduce){ *{scroll-behavior:auto;} }

.brand section[id], .brand div[id]{scroll-margin-top:70px;}
html{scroll-behavior:smooth;}
#more .cards{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:980px){#more .cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){#more .cards{grid-template-columns:1fr;}}

/* technology pages */
.techstrip{display:flex; flex-wrap:wrap; gap:6px 8px; max-width:1180px; margin:0 auto; padding:14px 28px;}
.techstrip a{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:6px 12px;}
.techstrip a:hover{color:var(--cyan); border-color:var(--cyan);}
.techstrip a[aria-current="page"]{color:var(--paper); background:var(--cyan); border-color:var(--cyan);}
.techstrip.bottom{border-top:1px solid var(--line); padding-top:22px; margin-top:20px;}
.phero{max-width:1180px; margin:0 auto; padding:10px 28px 34px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:36px; align-items:center;}
.phero .plate{border:1px solid var(--line); border-radius:6px; overflow:hidden; aspect-ratio:16/9; line-height:0;}
.phero .plate svg{width:100%; height:100%; display:block;}
.phero.wide{grid-template-columns:1fr;}
.phero.wide .plate{aspect-ratio:11/3;}
.phero .status{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan);}
.phero h1{font-size:clamp(34px,5vw,54px); line-height:1.05; margin-top:8px;}
.phero .sub{font-size:19px; color:var(--brass); margin-top:6px;}
.phero .apps{font-size:13.5px; color:var(--ink-soft); margin-top:8px;}
.phero .lead{font-size:18.5px; line-height:1.55; margin:18px 0 0; max-width:60ch;}
.pbody{max-width:860px; margin:0 auto; padding:0 28px 30px;}
.psec{border-top:1px solid var(--line); padding:34px 0 8px;}
.psec h2{font-size:clamp(23px,2.8vw,29px); margin-bottom:12px;}
.psec p, .psec li{font-size:16.5px;}
.psec ul{padding-left:20px; margin:10px 0 16px;} .psec li{margin:7px 0;}
.psec blockquote{margin:18px 0; padding:4px 0 4px 20px; border-left:3px solid var(--brass); font-family:'Space Grotesk',sans-serif; font-size:21px; line-height:1.4;}
.psec .btn{margin:6px 0;}
.defs{margin:12px 0 16px;} .defs dt{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; margin-top:14px;}
.defs dd{margin:3px 0 0; color:var(--ink-soft); font-size:16px;}
.tablewrap{overflow-x:auto; margin:14px 0 18px; border:1px solid var(--line); border-radius:6px;}
table.data{border-collapse:collapse; width:100%; font-size:14.5px; min-width:480px;}
table.data th{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--brass); text-align:left; background:var(--surface);}
table.data th, table.data td{padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top;}
table.data tr:last-child td{border-bottom:none;}
.facts{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:14px; margin:16px 0 18px;}
.fact{background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:16px;}
.fact .big{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:32px; line-height:1.05; color:var(--cyan);}
.fact .lbl{font-size:14px; color:var(--ink-soft); margin-top:6px;}
.eq{font-family:'Space Grotesk','Cambria Math',serif; font-size:clamp(22px,4vw,30px); text-align:center; background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:22px 12px; margin:14px 0;}
.weave-page{max-width:460px; margin:8px auto 18px;} .weave-page svg{width:100%; height:auto; display:block;}
.fig{margin:18px 0;} .fig img{width:100%; height:auto; border-radius:6px; display:block;} .fig figcaption{font-size:14px; color:var(--ink-soft); margin-top:8px;}
.readmore{list-style:none; padding:0 !important;} .readmore li{border-bottom:1px solid var(--line); padding:10px 0; margin:0 !important;}
.pcta{background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--brass); border-radius:6px; padding:26px 26px 22px; margin:40px 0 10px;}
.pcta h2{font-size:26px;} .pcta p{margin:8px 0 16px;} .pcta .by{font-size:13.5px; color:var(--ink-soft); margin:18px 0 0;}
@media (max-width:820px){ .phero{grid-template-columns:1fr; gap:20px; padding:6px 16px 26px;} .pbody{padding:0 16px 24px;} .techstrip{padding:12px 16px;} .phero.wide .plate{aspect-ratio:16/7;} }

/* real / synthetic labels */
.tagline{margin:0 0 10px !important;}
.tag{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; border-radius:999px; padding:4px 11px; white-space:nowrap;}
.tag.real{background:rgba(95,179,127,.16); color:#8FD9A8; border:1px solid #5FB37F;}
.tag.syn{background:rgba(184,110,73,.16); color:#E3A27F; border:1px solid var(--copper);}

/* projects page: the docket */
.docketpage main{max-width:980px; margin:0 auto; padding:0 28px 40px;}
.docketpage .figure{display:block; max-width:none; margin:0; padding:40px 0 34px; border-top:1px solid var(--line); animation:none;}
.docketpage .figure#top{border-top:none; padding-top:46px;}
.docketpage .figure#top h1{font-size:clamp(36px,5vw,54px); margin:6px 0 12px;}
.docketpage .figure > div:last-child{max-width:none;}
.docketpage .figure h2{font-size:clamp(24px,3vw,31px); margin-bottom:16px; padding-left:14px; border-left:3px solid var(--brass);}
.docketpage .figure p{max-width:70ch; font-size:16.5px;}
.docketpage .docket{background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:4px 18px;}
.docketpage .docket-row{border-color:var(--line);}
.docketpage .docket-num{color:var(--brass);}
.docketpage .docket-title{font-family:'Space Grotesk',sans-serif; font-size:17px;}
.docketpage .docket-desc{color:var(--ink-soft);}
.docketpage .badge{color:var(--cyan); border-color:var(--cyan); background:transparent;}
.docketpage .plate{background:var(--surface); border-color:var(--line); border-radius:6px; overflow:hidden;}
.docketpage .paper-row a{color:var(--cyan);}

/* articles: an ivory reading sheet on the dark page */
.article{background:var(--paper);}
.article main.essay{max-width:47rem; margin:34px auto 54px; padding:3.2rem 3rem 4rem; background:#F2EBDD; color:#1C2329; border-radius:6px; box-shadow:0 18px 50px rgba(0,0,0,.45); font-family:'Newsreader',Georgia,serif; font-size:19.5px; line-height:1.7;}
.article .essay h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(32px,5vw,46px); line-height:1.1; color:#101820;}
.article .essay h2, .article .essay h3{font-family:'Space Grotesk',sans-serif; color:#101820;}
.article .essay .subtitle{font-size:1.25rem; color:#3b4a52;}
.article .essay .byline{font-family:'IBM Plex Mono',monospace; font-style:normal; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:#8A6420; opacity:1; padding-bottom:1.4rem; border-bottom:2px solid #CCA35C; margin-bottom:1.8rem;}
.article .essay a{color:#0F6E73;} .article .essay a:hover{color:#101820;}
.article .essay .back{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; text-decoration:none;}
.article .essay blockquote{border-left:3px solid #CCA35C; color:#26323a;}
.article .essay td, .article .essay th{border-bottom:1px solid #cfc5ae;}
.article .essay figcaption{color:#4b5a61; opacity:1;}
@media (max-width:700px){ .article main.essay{margin:0; border-radius:0; padding:2rem 1.15rem 3rem; font-size:18.5px;} .docketpage main{padding:0 16px 30px;} }

/* banner (12 Nov): Paul's wide artwork shown whole, full width, on wider screens; the 2:1 artwork on phones. No cropping. */
.hero-art{padding:0; overflow:hidden;}
.hero-art picture{display:block;}
.hero-art img{display:block; width:100%; max-width:none; height:auto;}

/* identity bar: one centred line (12 Nov) */
.idbar-inner{justify-content:center; align-items:center; flex-wrap:wrap; gap:12px 0; padding:18px 28px;}
.idbar .name{font-size:clamp(21px,2.1vw,26px); white-space:nowrap; padding-right:30px;}
.trust{flex-wrap:wrap; justify-content:center; gap:12px 0;}
.trust li{padding:0 30px; border-left:1px solid var(--line);}
@media (max-width:1080px){ .idbar-inner{flex-direction:column; gap:14px;} .idbar .name{padding-right:0;} .trust li:first-child{border-left:none;} }
@media (max-width:680px){ .trust{flex-direction:column; align-items:center; gap:12px;} .trust li{border-left:none; padding:0;} }
