/* Self-hosted latin subsets — Fraunces, Archivo, IBM Plex Mono (Google Fonts, OFL) */
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/archivo-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/fraunces-italic-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/fraunces-italic-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/fraunces-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/fraunces-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/fraunces-var.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/ibmplexmono-normal-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/ibmplexmono-normal-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   702 Alliance — v3 "dusk" design system
   Merged from the approved concept pages (index / register / member).
   Paper, ink, one red. Fraunces / Archivo / IBM Plex Mono.
   ============================================================ */

:root{
  --paper:#F3E8D2;
  --paper-deep:#EADCC0;
  --ink:#241C13;
  --ink-soft:#6B5B4A;
  --brown:#524130;
  --brown-soft:#756658;
  --red:#D53616;
  --red-deep:#A82810;
  --gold:#b98a2f;
  --dusk-sky:#1E1710;
  --dusk-plum:#3A2C1E;
  --dusk-rose:#8A4A34;
  --dusk-amber:#d99a5b;
  --dusk-sand:#ecc78f;
  --hairline:rgba(82,65,48,.34);
  --hairline-soft:rgba(82,65,48,.16);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Archivo",sans-serif;
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::after{ /* print grain */
  content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}
.mono{font-family:"IBM Plex Mono",monospace}
a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ---------- masthead ---------- */
header.mast-wrap{
  position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--hairline);
}
.mast{
  max-width:1360px;margin:0 auto;padding:14px 28px;
  display:flex;align-items:center;gap:28px;
}
.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}
.brand-logo{height:54px;width:auto;display:block}
.brand .issue{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--ink-soft);letter-spacing:.04em;align-self:flex-end;padding-bottom:6px}
nav.mainnav{display:flex;gap:26px;margin-left:auto}
nav.mainnav a{font-family:"IBM Plex Mono",monospace;font-size:.8rem;letter-spacing:.02em;position:relative;padding:4px 0}
nav.mainnav a sup{color:var(--red);font-size:.62rem;margin-right:2px}
nav.mainnav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--red);transition:width .28s cubic-bezier(.77,0,.18,1)}
nav.mainnav a:hover::after,nav.mainnav a.on::after{width:100%}
.mast .vegas-time{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--ink-soft);white-space:nowrap}
.mast .vegas-time::before{content:"●";color:var(--red);margin-right:7px;font-size:.6rem;animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.apply-btn{
  background:var(--ink);color:var(--paper);font-family:"Archivo",sans-serif;font-weight:600;font-size:.85rem;
  padding:10px 22px;border:1px solid var(--ink);transition:all .2s;white-space:nowrap;
}
.apply-btn:hover{background:var(--red);border-color:var(--red)}

/* ---------- breadcrumb ---------- */
.crumb{border-bottom:1px solid var(--hairline-soft)}
.crumb-in{max-width:1360px;margin:0 auto;padding:10px 28px;font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.crumb-in b{color:var(--ink);font-weight:500}

/* ---------- hero (home) ---------- */
.hero{position:relative;border-bottom:1px solid var(--hairline)}
.hero-grid{
  max-width:1360px;margin:0 auto;padding:64px 28px 0;
  display:grid;grid-template-columns:250px 1fr;gap:48px;
}
.hero-grid .ledger{padding-bottom:40px}
.ledger{
  border-right:1px solid var(--hairline-soft);padding-right:36px;
  display:flex;flex-direction:column;gap:26px;
}
.ledger .cell .k,.ledger .k{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.ledger .cell .v,.ledger .v{font-family:"Fraunces",serif;font-size:1.5rem;font-weight:600;margin-top:2px}
.ledger .cell .v em,.ledger .v em{color:inherit;font-style:normal}
.ledger .cell .note,.ledger .note{font-size:.78rem;color:var(--ink-soft);margin-top:1px}
.hero-main{padding-bottom:26px}
.kicker{
  display:flex;align-items:center;gap:14px;font-family:"IBM Plex Mono",monospace;
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
}
.kicker::before{content:"";width:44px;height:2px;background:var(--red)}
.kicker::after{content:"";flex:1;height:1px;background:var(--hairline-soft)}
.hero-h1{
  font-family:"Fraunces",serif;font-weight:900;
  font-size:clamp(3.4rem,9.2vw,8.6rem);
  line-height:.92;letter-spacing:-.025em;margin:26px 0 30px;
}
.hero-h1 .line{display:block;opacity:0;transform:translateY(26px);animation:rise .9s cubic-bezier(.2,.65,.2,1) forwards}
.hero-h1 .line:nth-child(2){animation-delay:.12s}
.hero-h1 .line:nth-child(3){animation-delay:.24s}
@keyframes rise{to{opacity:1;transform:none}}
.hero-h1 .dot,.dot{color:var(--red)}
.dek{max-width:560px;font-size:1.12rem;color:var(--ink-soft);line-height:1.6}
.dek b{color:var(--ink)}

/* seat meter */
.seatstrip{margin:40px 0 0;max-width:640px}
.seatstrip .row{display:flex;justify-content:space-between;align-items:baseline;font-family:"IBM Plex Mono",monospace;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}
.seatstrip .row b{color:var(--ink);font-size:.95rem}
.meter{margin-top:10px;height:14px;border:1px solid var(--ink);position:relative;background:repeating-linear-gradient(90deg,transparent 0 8px,var(--hairline-soft) 8px 9px)}
.meter .fill{position:absolute;inset:2px auto 2px 2px;width:0;background:var(--red);transition:width 1.6s cubic-bezier(.2,.65,.2,1)}
.meter .tick{position:absolute;top:-5px;bottom:-5px;width:1px;background:var(--ink)}
.seatstrip .cap{margin-top:8px;font-size:.8rem;color:var(--ink-soft)}
.seatstrip .cap i{font-family:"Fraunces",serif}

/* ---------- skyline photo band ---------- */
.skyline{position:relative;height:440px;overflow:hidden;background:var(--dusk-sky);border-top:1px solid var(--ink)}
.sky-photo{
  position:absolute;inset:0;width:100%;height:120%;object-fit:cover;object-position:50% 44%;
  scale:1.35;
  filter:saturate(.78) contrast(1.06) brightness(1.0) sepia(.24);
  will-change:transform;
}
.sky-tint{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg, var(--paper) 0%, rgba(246,240,226,0) 9%),
    linear-gradient(0deg, rgba(25,21,18,.62) 0%, rgba(25,21,18,0) 34%),
    linear-gradient(180deg, rgba(43,31,51,.28), rgba(201,51,30,.08) 60%, rgba(217,154,91,.1));
}
.skyline .strip-label{
  position:absolute;left:28px;bottom:18px;font-family:"IBM Plex Mono",monospace;font-size:.68rem;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(246,240,226,.85);
}
.skyline .strip-label2{
  position:absolute;right:28px;bottom:18px;font-family:"IBM Plex Mono",monospace;font-size:.68rem;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(246,240,226,.85);
}

/* ---------- section scaffolding ---------- */
section.band{max-width:1360px;margin:0 auto;padding:84px 28px}
.sec-head{display:flex;align-items:baseline;gap:20px;margin-bottom:44px}
.sec-head .no{font-family:"IBM Plex Mono",monospace;font-size:.8rem;color:var(--red)}
.sec-head h2{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(1.9rem,3.6vw,3.1rem);letter-spacing:-.02em}
.sec-head h2 em{font-style:italic;color:inherit}
.sec-head .rule{flex:1;height:1px;background:var(--hairline)}
.sec-head .more{font-family:"IBM Plex Mono",monospace;font-size:.75rem;white-space:nowrap;border-bottom:2px solid var(--red);padding-bottom:2px}

/* ---------- register rows ---------- */
.register-rows{border-top:1px solid var(--ink)}
.vrow{
  display:grid;grid-template-columns:64px 1.25fr .9fr 1.6fr 120px;gap:22px;align-items:center;
  padding:18px 6px;border-bottom:1px solid var(--hairline-soft);position:relative;
  transition:background .2s;
}
.vrow:hover{background:var(--paper-deep)}
.vrow .idx{font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--ink-soft)}
.vrow .name{font-family:"Fraunces",serif;font-weight:600;font-size:1.22rem;letter-spacing:-.01em}
.vrow .name a:hover{color:var(--red)}
.vrow .trade{font-family:"IBM Plex Mono",monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.vrow .blurb{font-size:.88rem;color:var(--ink-soft)}
.vrow .seal{justify-self:end}
.vrow.listed .name{font-weight:400;font-size:1.12rem}
.vrow.listed .idx{opacity:.7}
.vrow.listed .seal,.seal-listed{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase}
.vrow.compact{grid-template-columns:64px 1.3fr 1fr 120px;padding:16px 6px}
.vrow.compact .name{font-size:1.15rem}
.stamp{
  display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.1em;
  color:var(--red);border:1.5px solid var(--red);border-radius:3px;padding:5px 9px;
  transform:rotate(-3deg);text-transform:uppercase;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='30'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .93 0'/%3E%3C/filter%3E%3Crect width='80' height='30' fill='%23fff' filter='url(%23r)'/%3E%3C/svg%3E");
}
.vrow:nth-child(even) .stamp{transform:rotate(2deg)}
.reg-foot{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:.9rem;color:var(--ink-soft);gap:16px;flex-wrap:wrap}
.reg-foot .mono{font-size:.75rem}

/* ---------- page scaffolding (inner pages) ---------- */
.page{max-width:1360px;margin:0 auto;padding:64px 28px 90px}
.page-head{display:grid;grid-template-columns:250px 1fr;gap:48px;margin-bottom:26px}
.page-head .ledger{gap:24px}
.page-h1{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(3rem,7.5vw,6.4rem);line-height:.95;letter-spacing:-.025em;margin:24px 0 22px}
.page .dek{max-width:600px;font-size:1.08rem}

/* register controls */
.controls{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:14px;margin:44px 0 0;border:1px solid var(--ink);background:var(--paper-deep);padding:14px}
.controls input,.controls select{font-family:"IBM Plex Mono",monospace;font-size:.85rem;padding:12px 14px;border:1px solid var(--hairline);background:var(--paper);color:var(--ink);outline:none;width:100%;border-radius:0;-webkit-appearance:none;appearance:none}
.controls select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%234c443b'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}
.controls input:focus,.controls select:focus{border-color:var(--red)}

.bandhead{display:flex;align-items:center;gap:16px;margin:56px 0 0;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.bandhead .stamp-big{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.1em;color:var(--red);border:1.5px solid var(--red);border-radius:3px;padding:4px 8px;transform:rotate(-2deg);text-transform:uppercase}
.bandhead h2{font-family:"Fraunces",serif;font-weight:900;font-size:1.6rem;letter-spacing:-.01em}
.bandhead .count{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--ink-soft);text-align:right}
.more-band{display:flex;align-items:center;gap:18px;padding:26px 6px;font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--ink-soft)}
.more-band .rule{flex:1;height:1px;background:var(--hairline-soft)}
.more-band b{color:var(--ink)}
.note{margin-top:40px;font-size:.85rem;color:var(--ink-soft);max-width:640px}
.note i{font-family:"Fraunces",serif}

/* ---------- member profile ---------- */
.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:56px}
.profile-grid .ledger{padding-right:40px;gap:22px;align-self:start;position:sticky;top:92px}
.profile-grid .ledger .v{font-size:1.18rem}
.ledger .v.small{font-size:1rem;font-family:"Archivo",sans-serif;font-weight:500}
.ledger .divider{height:1px;background:var(--hairline-soft)}
.visit{display:block;text-align:center;background:var(--red);color:var(--paper);font-weight:600;font-size:.9rem;padding:13px 18px;transition:background .2s}
.visit:hover{background:var(--red-deep)}
.ledger .contact{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--ink-soft);text-align:center}

.seatline{display:flex;align-items:center;gap:16px;font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.seatline::after{content:"";flex:1;height:1px;background:var(--hairline-soft)}
.seatline .seat{color:var(--red)}
.profile-h1{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(2.8rem,6.4vw,5.6rem);line-height:.98;letter-spacing:-.025em;margin:20px 0 18px;text-wrap:balance}
.tradeline{display:flex;align-items:center;gap:18px;margin-bottom:34px;flex-wrap:wrap}
.tradeline .trade{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.tradeline .stamp{font-size:.66rem;padding:5px 10px;transform:rotate(-2deg)}

/* editorial dek under the profile masthead — set from the register blurb */
.profile-dek{border-left:3px solid var(--red);padding:6px 0 6px 26px;margin:0 0 40px;font-family:"Fraunces",serif;font-style:italic;font-size:1.35rem;line-height:1.4;color:var(--ink);max-width:620px}

.body-copy{max-width:680px;font-size:1.13rem;line-height:1.72;color:var(--ink)}
.body-copy p{margin-bottom:1.3em}
.body-copy h2{font-family:"Fraunces",serif;font-weight:900;font-size:1.7rem;letter-spacing:-.015em;line-height:1.2;margin:1.6em 0 .7em}
.body-copy h2:first-child{margin-top:0}
.body-copy h3{font-family:"Fraunces",serif;font-weight:600;font-size:1.3rem;margin:1.5em 0 .6em}
.body-copy a{border-bottom:2px solid var(--red)}
.body-copy a:hover{color:var(--red)}
.body-copy ul,.body-copy ol{margin:0 0 1.3em 1.3em}
.body-copy li{margin-bottom:.4em}
.body-copy hr{border:0;height:1px;background:var(--hairline);margin:2.2em 0}
.body-copy blockquote{border-left:3px solid var(--red);padding:6px 0 6px 26px;margin:1.8em 0;font-family:"Fraunces",serif;font-style:italic;font-size:1.3rem;line-height:1.4}
.body-copy dl{border:1px solid var(--hairline);background:var(--paper-deep);padding:8px 22px;margin:2em 0;font-size:.95rem}
.body-copy dt{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px}
.body-copy dd{margin:2px 0 12px}
.body-copy table{width:100%;border-collapse:collapse;margin:2em 0;font-size:.92rem}
.body-copy th{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--ink-soft);border-bottom:2px solid var(--ink);padding:10px 12px 8px}
.body-copy td{border-bottom:1px solid var(--hairline-soft);padding:12px;vertical-align:top}
.body-copy figure{margin:2em 0}
.body-copy img{border:1px solid var(--hairline)}
.dropcap > p:first-of-type::first-letter{font-family:"Fraunces",serif;font-weight:900;font-size:3.4em;float:left;line-height:.82;padding-right:.12em;color:var(--red)}

/* digital handshake card */
.handshake-card{margin-top:56px;border:1px solid var(--ink);background:var(--paper-deep);max-width:680px}
.handshake-card .hd{display:flex;align-items:center;gap:14px;padding:16px 22px;border-bottom:1px solid var(--hairline)}
.handshake-card .hd .stamp{transform:rotate(-2deg)}
.handshake-card .hd .t{font-family:"Fraunces",serif;font-weight:600;font-size:1.15rem}
.handshake-card .hd .mono-tag{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;text-align:right}
.handshake-card .row{display:flex;justify-content:space-between;gap:16px;padding:13px 22px;border-bottom:1px solid var(--hairline-soft);font-size:.92rem}
.handshake-card .row:last-child{border-bottom:0}
.handshake-card .row .k2{color:var(--ink-soft)}
.handshake-card .row .v2{font-family:"IBM Plex Mono",monospace;font-size:.8rem;text-align:right}
.handshake-card .ok{color:var(--red);font-weight:600}

.related{margin-top:80px}
.related .bandhead{margin-top:0;margin-bottom:8px}

/* CTA band */
.cta-band{margin-top:90px;background:var(--ink);color:var(--paper);padding:54px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.cta-band .big{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:-.01em}
.cta-band .big em{font-style:italic;color:var(--dusk-amber)}
.cta-band .rule{flex:1;min-width:40px;height:1px;background:rgba(246,240,226,.25)}
.cta-band a.cta{background:var(--red);color:var(--paper);font-weight:600;font-size:.9rem;padding:13px 26px;transition:background .2s}
.cta-band a.cta:hover{background:var(--red-deep)}

/* ---------- how (dark handshake band, home + join) ---------- */
.how{background:var(--ink);color:var(--paper);border-top:1px solid var(--ink)}
.how-inner{max-width:1360px;margin:0 auto;padding:90px 28px}
.how-inner .sec-head h2{color:var(--paper)}
.how-inner .sec-head .rule{background:rgba(246,240,226,.25)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(246,240,226,.2);border:1px solid rgba(246,240,226,.2)}
.step{background:var(--ink);padding:38px 32px 44px;position:relative;overflow:hidden}
.step .big{font-family:"Fraunces",serif;font-weight:900;font-style:italic;font-size:4.6rem;color:transparent;-webkit-text-stroke:1px rgba(246,240,226,.4);line-height:1;position:absolute;top:18px;right:20px}
.step h3{font-family:"Fraunces",serif;font-weight:600;font-size:1.5rem;margin-bottom:14px;max-width:75%}
.step p{font-size:.95rem;color:rgba(246,240,226,.75);line-height:1.65}
.step p b{color:var(--paper);font-weight:600}
.step .tag{display:inline-block;margin-top:18px;font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dusk-amber)}
.how-foot{margin-top:44px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.how-foot .free{font-family:"Fraunces",serif;font-style:italic;font-size:1.5rem}
.how-foot .free em{color:var(--dusk-amber);font-style:normal}
.how-foot .rule{flex:1;height:1px;background:rgba(246,240,226,.25);min-width:60px}
.how-foot .cta{background:var(--red);color:var(--paper);font-weight:600;font-size:.9rem;padding:13px 26px;transition:background .2s}
.how-foot .cta:hover{background:var(--red-deep)}

/* ---------- manifesto ---------- */
.manifesto{text-align:center;max-width:980px;padding-top:110px;padding-bottom:110px}
.manifesto .mono-k{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red)}
.manifesto p.big{
  font-family:"Fraunces",serif;font-weight:400;font-size:clamp(1.6rem,3.4vw,2.7rem);
  line-height:1.32;letter-spacing:-.01em;margin-top:28px;
}
.manifesto p.big b{font-weight:900}
.manifesto p.big .strike{position:relative;white-space:nowrap;color:var(--ink-soft)}
.manifesto p.big .strike::after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:.07em;background:var(--red);transform:rotate(-1.2deg)}
.manifesto .sig{margin-top:34px;font-family:"Fraunces",serif;font-style:italic;font-size:1.05rem;color:var(--ink-soft)}

/* ---------- journal cards ---------- */
.journal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.jcard{border:1px solid var(--hairline);padding:30px 28px 34px;position:relative;background:var(--paper);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;align-items:flex-start}
.jcard:hover{transform:translateY(-5px);box-shadow:6px 8px 0 var(--ink)}
.jcard .cat{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.jcard .date{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.08em;color:var(--ink-soft);margin-left:auto}
.jcard .cathead{display:flex;width:100%;gap:12px;align-items:baseline}
.jcard h3{font-family:"Fraunces",serif;font-weight:600;font-size:1.45rem;line-height:1.2;margin:14px 0 12px}
.jcard h3 a:hover{color:var(--red)}
.jcard p{font-size:.9rem;color:var(--ink-soft)}
.jcard .read{margin-top:auto;padding-top:22px;display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:.72rem}
.jcard .read span{border-bottom:2px solid var(--red);padding-bottom:2px}

/* article */
.article-wrap{max-width:820px;margin:0 auto;padding:64px 28px 90px}
.article-h1{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(2.3rem,5vw,4rem);line-height:1.02;letter-spacing:-.02em;margin:22px 0 18px;text-wrap:balance}
.dateline{display:flex;align-items:center;gap:16px;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:42px}
.dateline::after{content:"";flex:1;height:1px;background:var(--hairline-soft)}
.article-wrap .body-copy{max-width:none}

/* ---------- trades ticker ---------- */
.ticker-wrap{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper-deep);overflow:hidden;padding:14px 0}
.ticker{display:flex;gap:0;white-space:nowrap;animation:scroll 46s linear infinite;width:max-content}
.ticker span{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:0 18px;color:var(--ink-soft)}
.ticker span::after{content:"·";margin-left:36px;color:var(--red)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- 404 ---------- */
.err-wrap{min-height:56vh;display:flex;flex-direction:column;justify-content:center;max-width:1360px;margin:0 auto;padding:80px 28px}
.err-h1{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(3.4rem,9vw,8rem);line-height:.94;letter-spacing:-.025em;margin:24px 0 26px}
.err-h1 em{font-style:italic;color:var(--red)}
.err-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}
.btn-solid{background:var(--ink);color:var(--paper);font-weight:600;font-size:.9rem;padding:13px 26px;border:1px solid var(--ink);transition:all .2s}
.btn-solid:hover{background:var(--red);border-color:var(--red)}
.btn-line{font-weight:600;font-size:.9rem;padding:13px 26px;border:1px solid var(--ink);transition:all .2s}
.btn-line:hover{background:var(--paper-deep)}

/* ---------- footer ---------- */
footer.dusk{background:var(--dusk-sky);color:var(--paper);position:relative;overflow:hidden;margin-top:0}
.foot-inner{max-width:1360px;margin:0 auto;padding:80px 28px 40px;position:relative;z-index:2}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(246,240,226,.2)}
.foot-grid .brandline{font-family:"Fraunces",serif;font-weight:900;font-size:2rem}
.foot-grid .brandline .heart{color:var(--red)}
.foot-grid p{font-size:.9rem;color:rgba(246,240,226,.65);max-width:340px;margin-top:14px}
.foot-grid .k{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dusk-amber);margin-bottom:16px}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:.92rem}
.foot-grid ul a:hover{color:var(--dusk-amber)}
.colophon{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.06em;color:rgba(246,240,226,.5)}
footer .foot-skyline{position:absolute;left:0;right:0;bottom:0;opacity:.14;z-index:1;height:160px;fill:#f6f0e2;width:100%}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s cubic-bezier(.2,.65,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero-h1 .line{animation:none;opacity:1;transform:none}
  .ticker{animation:none}
}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .hero-grid,.page-head{grid-template-columns:1fr}
  .profile-grid{grid-template-columns:1fr}
  .ledger{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--hairline-soft);padding:0 0 26px;gap:30px}
  .profile-grid .ledger{position:static}
  .ledger .divider,.ledger .visit,.ledger .contact{flex-basis:100%}
  .vrow{grid-template-columns:40px 1fr 110px;gap:14px}
  .vrow .trade,.vrow .blurb{display:none}
  .vrow.compact{grid-template-columns:40px 1fr 110px}
  .vrow.compact .trade{display:none}
  .steps{grid-template-columns:1fr}
  .journal-cards{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  nav.mainnav{display:none}
  .controls{grid-template-columns:1fr}
  .cta-band{padding:34px 24px}
}

/* ============================================================
   v4 — "Ming pass": Olivetti/Grignani layer (2026-08-01)
   Concentric hearts, striped numerals, warm poster black.
   Palette per Brand Kit: #524130 / #917E6D / #D53616 / #F3E8D2
   ============================================================ */

/* display type goes Ming-brown; body stays ink */
.hero-h1,.sec-head h2,.err-h1,.profile-h1,.page-h1,.bandhead h2{color:var(--brown)}
.ledger .cell .v,.ledger .v{color:var(--brown)}
.vrow .name{color:var(--brown)}

/* concentric heart — the house mark */
.cheart{display:inline-block;width:54px;height:54px;background-repeat:no-repeat;background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23D53616' stroke-width='5'%3E%3Cpath d='M50 88 C26 66 10 50 10 31 C10 19 19 10 31 10 C39 10 46 14 50 21 C54 14 61 10 69 10 C81 10 90 19 90 31 C90 50 74 66 50 88 Z'/%3E%3Cpath transform='translate(50 51) scale(.62) translate(-50 -51)' d='M50 88 C26 66 10 50 10 31 C10 19 19 10 31 10 C39 10 46 14 50 21 C54 14 61 10 69 10 C81 10 90 19 90 31 C90 50 74 66 50 88 Z'/%3E%3Cpath transform='translate(50 51) scale(.30) translate(-50 -51)' d='M50 88 C26 66 10 50 10 31 C10 19 19 10 31 10 C39 10 46 14 50 21 C54 14 61 10 69 10 C81 10 90 19 90 31 C90 50 74 66 50 88 Z' fill='%23D53616'/%3E%3C/g%3E%3C/svg%3E")}
.cheart--cream{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23F3E8D2' stroke-width='5'%3E%3Cpath d='M50 88 C26 66 10 50 10 31 C10 19 19 10 31 10 C39 10 46 14 50 21 C54 14 61 10 69 10 C81 10 90 19 90 31 C90 50 74 66 50 88 Z'/%3E%3Cpath transform='translate(50 51) scale(.62) translate(-50 -51)' d='M50 88 C26 66 10 50 10 31 C10 19 19 10 31 10 C39 10 46 14 50 21 C54 14 61 10 69 10 C81 10 90 19 90 31 C90 50 74 66 50 88 Z'/%3E%3Cpath transform='translate(50 51) scale(.30) translate(-50 -51)' d='M50 88 C26 66 10 50 10 31 C10 19 19 10 31 10 C39 10 46 14 50 21 C54 14 61 10 69 10 C81 10 90 19 90 31 C90 50 74 66 50 88 Z' fill='%23D53616' stroke='%23D53616'/%3E%3C/g%3E%3C/svg%3E")}
.heart-divider{display:flex;align-items:center;gap:22px;max-width:1360px;margin:0 auto;padding:0 28px}
.heart-divider::before,.heart-divider::after{content:"";flex:1;height:1px;background:var(--hairline)}
.heart-divider .cheart{width:34px;height:34px}

/* seat meter — striped poster fill */
.meter .fill{background:repeating-linear-gradient(-45deg,var(--red) 0 7px,var(--red-deep) 7px 11px)}

/* dark bands go warm poster black with a red stitch line */
.how,.cta-band{background:var(--dusk-sky);position:relative}
.how::before,.cta-band::before,footer::before{content:"";display:block;height:4px;background:repeating-linear-gradient(90deg,var(--red) 0 26px,transparent 26px 34px)}
.step{background:var(--dusk-sky)}
.step .big{
  -webkit-text-stroke:0;font-style:normal;font-size:6.2rem;top:6px;right:18px;
  color:transparent;
  background:repeating-linear-gradient(90deg,var(--dusk-amber) 0 4px,transparent 4px 9px);
  -webkit-background-clip:text;background-clip:text;
}
.step .tag{color:var(--dusk-amber)}

/* journal cover plates — three Pintori compositions */
.jcover{width:100%;aspect-ratio:16/9;margin-bottom:22px;border:1px solid var(--hairline);position:relative;overflow:hidden}
.jcover .cheart{position:absolute;inset:0;margin:auto;width:44%;height:60%}
.jc-hearts{background:var(--paper-deep)}
.jc-rings{background:var(--dusk-sky)}
.jc-rings::after{content:"";position:absolute;inset:0;margin:auto;width:58%;aspect-ratio:1;border-radius:50%;
  background:repeating-radial-gradient(circle at 50% 50%,transparent 0 9px,rgba(243,232,210,.85) 9px 11px);
}
.jc-rings::before{content:"";position:absolute;inset:0;margin:auto;width:11%;aspect-ratio:1;border-radius:50%;background:var(--red);z-index:2}
.jc-stripes{background:repeating-linear-gradient(55deg,var(--paper-deep) 0 14px,var(--brown) 14px 17px)}
.jc-stripes::after{content:"";position:absolute;left:0;right:0;top:42%;height:16%;background:var(--red)}
.jcard{padding:0 0 30px}
.jcard .cathead,.jcard h3,.jcard p,.jcard .read{margin-left:26px;margin-right:26px}
.jcard:hover{box-shadow:6px 8px 0 var(--brown)}

/* footer heart + wordmark */
.foot-grid .brandline{display:flex;align-items:center;gap:14px}
.foot-grid .brandline .heart{display:none}
.foot-grid .brandline .cheart{width:44px;height:44px}

/* 404 gets the big heart */
.err-heart{width:130px;height:130px;margin-bottom:30px}
.err-wrap{max-width:820px;margin:0 auto;padding:110px 28px 130px;text-align:left}

/* hero photo tint — warm the plum out */
.sky-tint{background:
  linear-gradient(180deg, var(--paper) 0%, rgba(243,232,210,0) 9%),
  linear-gradient(0deg, rgba(30,23,16,.66) 0%, rgba(30,23,16,0) 36%),
  linear-gradient(180deg, rgba(58,44,30,.30), rgba(213,54,22,.07) 60%, rgba(217,154,91,.12)) !important}

/* stamps pick up brown ink pairing */
.stamp{background:rgba(243,232,210,.5)}

/* mono labels take the soft logo brown */
.kicker,.crumb-in,.sec-head .no,.reg-foot .mono{color:var(--brown-soft)}
.sec-head .no{color:var(--red)}


/* ---- QA pass fixes (2026-08-01 night) ---- */
body{overflow-x:clip}
.jcard .cat,.read,.sec-head .no,nav.mainnav a sup{color:var(--red-deep)}
.stamp{color:var(--red-deep)}
@media(max-width:640px){
  .mast{gap:10px;padding:10px 14px}
  .brand-logo{height:38px}
  .brand .issue,.mast .vegas-time{display:none}
  .apply-btn{margin-left:auto;padding:8px 13px;font-size:.76rem}
  .sec-head{flex-wrap:wrap;row-gap:8px}
  .sec-head .more{order:9;flex-basis:100%}
}

/* ---- journal seat plates (variety pass, 2026-08-01 night) ---- */
.jc-seat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative}
.jc-seat .seatword{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase}
.jc-seat .seatnum{font-family:"Fraunces",serif;font-weight:900;font-size:3.6rem;line-height:1;letter-spacing:-.02em}
.jc-seat .cheart{position:absolute;right:14px;bottom:12px;width:26px;height:26px;inset:auto 14px 12px auto;margin:0}
.jc-seat--paper{background:var(--paper-deep)}
.jc-seat--paper .seatword{color:var(--brown-soft)}
.jc-seat--paper .seatnum{color:var(--brown)}
.jc-seat--ink{background:var(--dusk-sky)}
.jc-seat--ink .seatword{color:var(--dusk-amber)}
.jc-seat--ink .seatnum{color:var(--paper);text-shadow:3px 3px 0 var(--red)}
.how-foot .handshake-note{flex-basis:100%;max-width:760px;font-size:.95rem;color:rgba(243,232,210,.75);line-height:1.6}
.how-foot .handshake-note b{color:var(--dusk-amber)}
