/* JET SET: shared stylesheet for every inner page (zine, glossary, advisory, speaking, marketplace). Proof style, matches index.html. */
:root{--bone:#ede7dc;--ink:#000;--campari:#c4122f;--ash:#6b665e;--ash-d:#9a948a;--rule:#000;--pad:clamp(16px,2.6vw,40px)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{background:var(--bone);color:var(--ink);font-family:Archivo,system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.cx{font-stretch:62%;font-weight:800;text-transform:uppercase;line-height:.86;letter-spacing:-.005em}
.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}

/* header, menu, footer */
header.site{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:16px var(--pad);background:var(--bone);box-shadow:0 1px 0 var(--rule)}
header.site a{text-decoration:none}
.brandmark{font-size:24px;display:inline-flex;align-items:center;gap:.28em}
.brandmark .mini{height:.42em;width:auto;fill:var(--campari);transform:translateY(-.04em)}
.nav{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
.nav a:hover,.nav a.here{color:var(--campari)}
.nav a.cta{background:var(--ink);color:var(--bone);padding:8px 14px}
.nav a.cta:hover{background:var(--campari);color:var(--bone)}
.menu-btn{display:none;font-size:15px;font-weight:500}
.mnav{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--bone);padding:18px var(--pad) 32px;display:flex;flex-direction:column;visibility:hidden;opacity:0;transition:opacity .3s,visibility 0s .3s}
.mnav.open{visibility:visible;opacity:1;transition:opacity .3s}
.mnav .close{align-self:flex-end;font-size:15px;font-weight:500;padding:4px 0}
.mnav .links{margin-top:auto;display:flex;flex-direction:column}
.mnav .links a{font-size:clamp(46px,14vw,90px);border-top:1px solid rgba(237,231,220,.2);padding-top:6px;text-decoration:none}
.mnav .loc{margin-top:28px;color:var(--ash-d);font-size:14px}
footer.site{background:var(--ink);color:var(--bone);padding:28px var(--pad);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;font-size:14px}
footer.site a{text-decoration:none}
footer.site .loc{font-weight:500}
footer.site nav{display:flex;flex-wrap:wrap;gap:6px 20px;color:var(--ash-d)}
footer.site a:hover{color:var(--bone)}

/* zine index */
.zhead{padding:clamp(120px,14vw,180px) var(--pad) clamp(36px,4vw,56px)}
.zhead h1{font-size:clamp(72px,14vw,240px)}
.zhead .row{margin-top:clamp(24px,3vw,40px);border-top:1px solid var(--rule);padding-top:14px}
.zhead .issue{grid-column:1/4;font-size:15px;font-weight:600}
.zhead .dek{grid-column:4/10;font-size:clamp(18px,1.6vw,22px);line-height:1.45;max-width:46ch}
.rubrics{list-style:none;grid-column:4/13;display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:22px;font-size:15px;color:var(--ash)}
.rubrics b{color:var(--ink)}
.znote{padding:0 var(--pad) clamp(40px,5vw,64px)}
.znote p{grid-column:4/11;color:var(--ash);max-width:62ch}
.zlist{padding:0 var(--pad) clamp(72px,9vw,120px)}
.zlist a{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:baseline;padding:22px 0 24px;border-top:1px solid var(--rule);text-decoration:none;transition:background-color .25s,color .25s}
.zlist a:last-child{border-bottom:1px solid var(--rule)}
.zlist .meta{grid-column:1/4;font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:2px}
.zlist .meta span{color:var(--ash);font-weight:500}
.zlist .t{grid-column:4/10;font-size:clamp(30px,3.6vw,56px)}
.zlist .d{grid-column:10/13;font-size:15px;color:var(--ash)}
.zlist a:hover .t{color:var(--campari)}
.zlist a.ref{background:var(--ink);color:var(--bone);padding-left:14px;padding-right:14px;border-top-color:var(--ink)}
.zlist a.ref .meta span,.zlist a.ref .d{color:var(--ash-d)}
.zcta{padding:0 var(--pad) clamp(72px,9vw,120px)}
.zcta a{display:inline-block;background:var(--campari);color:var(--bone);padding:16px 24px;font-weight:600;text-decoration:none}
.zcta a:hover{background:var(--ink)}

/* article */
.art-head{padding:clamp(110px,12vw,160px) var(--pad) 0}
.art-head .row{border-top:1px solid var(--rule);padding-top:12px;font-size:14px;font-weight:600}
.art-head .rub{grid-column:1/7}
.art-head .rub a{text-decoration:none}
.art-head .rub a:hover{color:var(--campari)}
.art-head .when{grid-column:7/13;text-align:right;color:var(--ash);font-weight:500}
.art-head h1{font-size:clamp(52px,8.4vw,140px);margin:clamp(28px,4vw,56px) 0 clamp(24px,3vw,40px);max-width:11em}
.art-head .lead{font-stretch:82%;font-weight:600;font-size:clamp(22px,2.4vw,36px);line-height:1.15;letter-spacing:-.01em;max-width:34em}
.art-head .by{margin-top:22px;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--ash)}
.art-head .by b{color:var(--ink);font-weight:600}
.art{padding:clamp(40px,5vw,72px) var(--pad) clamp(56px,7vw,96px)}
.art .body{grid-column:4/11;max-width:68ch}
.art .body > p,.art .body li{font-size:clamp(17px,1.3vw,19px);line-height:1.62}
.art .body > p + p{margin-top:1em}
.art .body h2{font-stretch:62%;font-weight:800;text-transform:uppercase;line-height:.9;font-size:clamp(34px,3.4vw,54px);border-top:3px solid var(--rule);padding-top:14px;margin:clamp(48px,5vw,72px) 0 16px}
.art .body h3{font-stretch:75%;font-weight:800;font-size:clamp(22px,1.9vw,28px);margin:34px 0 12px;text-transform:uppercase;line-height:1}
.art .body .def{font-stretch:85%;font-weight:600;font-size:clamp(20px,1.7vw,24px);line-height:1.3;margin-bottom:16px}
.art .body .def strong{font-weight:inherit}
.art .body ul,.art .body ol{margin:14px 0 0 1.2em}
.art .body li + li{margin-top:.6em}
.art .body li::marker{color:var(--campari);font-weight:700}
.art .body a{color:var(--campari);text-decoration-thickness:1px;text-underline-offset:3px}
.art .body .opener{font-size:clamp(20px,1.6vw,23px);line-height:1.5}
.art .body .pull{font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,2.8vw,44px);line-height:.98;color:var(--campari);border-top:3px solid var(--campari);padding-top:14px;margin:36px 0}
.art .body hr{border:0;border-top:1px solid var(--rule);margin:48px 0 0}
.faq{margin-top:12px}
.faq dt{font-weight:700;font-size:18px;margin-top:22px}
.faq dd{margin-top:6px;font-size:17px;line-height:1.55}
.note{margin-top:34px;font-size:15px;font-style:italic;color:var(--ash)}
.related{margin-top:48px;border-top:3px solid var(--rule);padding-top:14px}
.related h2.lbl{all:unset;display:block;font-size:14px;font-weight:600;margin-bottom:10px}
.art .body .related a{display:block;font-stretch:80%;font-weight:700;font-size:clamp(20px,1.8vw,26px);line-height:1.15;padding:10px 0;border-top:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.art .body .related a:hover{color:var(--campari)}
.sources{margin-top:48px;border-top:1px solid var(--rule);padding-top:14px}
.sources h2.lbl{all:unset;display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.art .body .sources ol{margin:0 0 0 1.4em;font-size:13.5px;line-height:1.5;color:var(--ash)}
.art .body .sources li{font-size:13.5px;line-height:1.5}
.art .body .sources li + li{margin-top:5px}
.art .body .sources li::marker{color:var(--ash);font-weight:500}
.art .body .sources a{color:var(--ash);text-decoration-thickness:1px;text-underline-offset:2px;word-break:break-word}
.art .body .sources a:hover{color:var(--campari)}
.art-end{background:var(--campari);color:var(--bone);padding:clamp(40px,5vw,64px) var(--pad);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.art-end a{text-decoration:none}
.art-end .big{font-size:clamp(44px,6vw,96px)}
.art-end .big:hover{color:var(--ink)}
.art-end .side{font-size:15px;font-weight:600}
.art-end .side a{border-bottom:2px solid currentColor}
.art-end .side a:hover{color:var(--ink)}

/* glossary index */
.art .body .gindex{list-style:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 40px;padding:14px 0 16px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.art .body .gindex li{font-size:14px;font-weight:600;line-height:1.3;margin:0}
.art .body .gindex a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(0,0,0,.35)}
.art .body .gindex a:hover{color:var(--campari);border-color:var(--campari)}

@media (max-width:900px){
  .nav a{display:none}.menu-btn{display:block}
  .zhead .issue,.zhead .dek,.rubrics,.znote p,.art .body,.art-head .rub,.art-head .when{grid-column:1/13}
  .art-head .when{text-align:left}
  .zlist .meta,.zlist .t,.zlist .d{grid-column:1/13}
}

/* inner pages: advisory, speaking, marketplace */
.pg-head{padding:clamp(120px,14vw,180px) var(--pad) clamp(48px,6vw,88px)}
.pg-head h1{font-size:clamp(72px,13vw,220px)}
.pg-head .row{margin-top:clamp(24px,3vw,40px);border-top:1px solid var(--rule);padding-top:14px}
.pg-head .loc{grid-column:1/4;font-size:15px;font-weight:600}
.pg-head .lead{grid-column:4/11;font-stretch:82%;font-weight:600;font-size:clamp(22px,2.4vw,36px);line-height:1.15;letter-spacing:-.01em}
.pg-head .jump{grid-column:4/13;list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-size:15px;font-weight:600}
.pg-head .jump a{text-decoration:none;border-bottom:2px solid currentColor}
.pg-head .jump a:hover{color:var(--campari)}
.blk{padding:clamp(64px,8vw,120px) var(--pad);border-top:1px solid var(--rule)}
.blk .kick{grid-column:1/4;font-size:15px;font-weight:600;align-self:start}
.blk .main{grid-column:4/13}
.blk h2{font-size:clamp(48px,7vw,120px);margin-bottom:clamp(20px,2.4vw,32px)}
.blk .intro{font-size:clamp(18px,1.5vw,21px);line-height:1.5;max-width:56ch}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:clamp(36px,4vw,56px)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{border-top:3px solid var(--rule);padding-top:14px}
.card h3{font-size:clamp(28px,2.6vw,42px);margin-bottom:12px}
.card p{max-width:40ch}
.card .for{display:block;margin-top:12px;font-size:14px;color:var(--ash)}
.btn{display:inline-block;margin-top:34px;background:var(--campari);color:var(--bone);padding:16px 24px;font-weight:600;font-size:16px;text-decoration:none;transition:background-color .2s,color .2s}
.btn:hover{background:var(--ink)}
.rfp{margin-top:clamp(40px,5vw,64px);background:var(--ink);color:var(--bone);padding:clamp(24px,3vw,40px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.rfp p{font-stretch:85%;font-weight:600;font-size:clamp(20px,1.9vw,28px);line-height:1.2;max-width:30ch}
.rfp .btn{margin-top:0}
.rfp .btn:hover{background:var(--bone);color:var(--ink)}
.blk.dark{background:var(--ink);color:var(--bone);border-top:0}
.blk.dark .card{border-top-color:var(--bone)}
.blk.dark .card .for,.blk.dark .muted{color:var(--ash-d)}
.blk.dark .btn:hover{background:var(--bone);color:var(--ink)}
.blk.red{background:var(--campari);color:var(--bone);border-top:0}
.blk.red .btn{background:var(--bone);color:var(--ink)}
.blk.red .btn:hover{background:var(--ink);color:var(--bone)}
.more-link{display:inline-block;margin-top:28px;font-weight:600;text-decoration:none;border-bottom:2px solid currentColor}
.more-link:hover{color:var(--campari)}
.stages{list-style:none;margin-top:8px}
.stages li{font-size:clamp(40px,6vw,104px);border-top:1px solid currentColor;padding:10px 0 6px}
.stages li:last-child{border-bottom:1px solid currentColor}
.senses5{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:clamp(36px,4vw,56px)}
.senses5 li{border-top:3px solid currentColor;padding-top:12px;font-size:15px;line-height:1.5}
.senses5 b{display:block;font-stretch:62%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,2.4vw,40px);line-height:.9;margin-bottom:10px}
.note-sm{margin-top:18px;font-size:14px;color:var(--ash)}
.note-sm a{color:inherit}
.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.prod{border-top:3px solid var(--rule);padding-top:14px;display:flex;flex-direction:column}
.prod .role{font-size:14px;font-weight:600;margin-bottom:14px}
.prod .plate{aspect-ratio:4/5;overflow:hidden;background:#cfc8bc}
.prod .plate img{display:block;width:100%;height:100%;object-fit:cover}
.prod h2{font-size:clamp(40px,4.4vw,72px);margin:22px 0 6px}
.prod .tag{font-size:15px;font-weight:600;color:var(--ash);margin-bottom:12px}
.prod ul{list-style:none;margin-top:14px;border-top:1px solid var(--rule)}
.prod ul li{font-size:15px;padding:8px 0;border-bottom:1px solid var(--rule)}
.prod .btn{align-self:flex-start;margin-top:24px}
@media (max-width:900px){
  .pg-head .loc,.pg-head .lead,.pg-head .jump,.blk .kick,.blk .main{grid-column:1/13}
  .blk .kick{margin-bottom:12px}
  .cards,.cards.three,.shelf{grid-template-columns:1fr;gap:28px}
  .senses5{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
