/* Inner pages built on the homepage design system. Load after /assets/home/home.css.
   Every size and color here is taken from a computed homepage value, so inner pages read as the same site:
   H2 = .section-heading, body = .lead (23px / 1.55 / #5a5a5a), kicker = .section-label (red 20px 500),
   H3 = 26px 500, hairline #d1d1d0, soft ground #ececea, square corners, red only on buttons. */

.page-hero .hero1-art img.on-white{mix-blend-mode:multiply;object-fit:contain;object-position:50% 100%}
.page-hero.short{min-height:clamp(520px,calc(88svh - 70px),760px)}
.page-hero .hero-h .soft,.page-hero h1 .soft{display:block}

/* Generic section shell: same edges as the homepage FAQ and numbers row */
.sec{padding:clamp(84px,9vw,140px) calc(max(0px,(100% - 1440px)/2) + 5%)}
.sec.tint{background:#ececea}
.sec.rule{border-top:1px solid #d1d1d0}
.sec-head{max-width:1100px;margin:0 0 clamp(40px,5vw,72px)}
.sec-head .section-heading{margin:20px 0 0}
.sec-head .lead{margin:26px 0 0;max-width:760px}

/* Story chapters: year on the left, chapter on the right, hairlines between */
.chapters{list-style:none;margin:0;padding:0;border-top:1px solid #d1d1d0}
.chapters li{display:grid;grid-template-columns:minmax(160px,22%) 1fr;gap:clamp(24px,4vw,72px);padding:clamp(34px,4vw,56px) 0;border-bottom:1px solid #d1d1d0}
.chapters .when{font-size:20px;font-weight:500;letter-spacing:-.3px;color:#8a8a8a;padding-top:6px}
.chapters h3{font-size:clamp(26px,2.4vw,36px);font-weight:500;letter-spacing:-.035em;line-height:1.12;color:#3a3a3a;margin:0 0 18px}
.chapters p{font-size:23px;line-height:1.55;color:#5a5a5a;margin:0;max-width:820px}
.chapters p+p{margin-top:16px}
.chapters strong{color:#3a3a3a;font-weight:500}

/* Prose block for long copy */
.prose{max-width:860px}
.prose p{font-size:23px;line-height:1.55;color:#5a5a5a;margin:0 0 22px}
.prose p strong{color:#3a3a3a;font-weight:500}
.prose h3{font-size:clamp(26px,2.4vw,36px);font-weight:500;letter-spacing:-.035em;line-height:1.12;color:#3a3a3a;margin:44px 0 16px}

/* Image beside copy, same split as the homepage founder section */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.split .frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e4e4e2}
.split .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .frame.wide{aspect-ratio:16/11}
.split .section-heading{margin:20px 0 26px}
.split .lead{margin:0 0 20px}

/* Big statement line */
.statement{font-size:clamp(44px,6.1vw,94px);font-weight:500;line-height:1.02;letter-spacing:-.05em;color:#3a3a3a;margin:0;text-wrap:balance}
.statement .soft{color:#8a8a8a}

/* Photo tiles (interviews, related pages): same treatment as homepage case-study tiles */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.tile{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#1a1a19;color:#ffffff}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,19,.82) 0%,rgba(20,20,19,.25) 45%,rgba(20,20,19,0) 70%)}
.tile:hover img{transform:scale(1.04)}
.tile .t-txt{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;display:grid;gap:6px}
.tile .t-k{font-size:15px;font-weight:500;color:rgba(255,255,255,.78)}
.tile .t-t{font-size:clamp(20px,1.7vw,26px);font-weight:500;letter-spacing:-.02em;line-height:1.15}
.more-link{display:inline-flex;align-items:center;gap:10px;margin-top:34px;font-size:20px;font-weight:500;color:#3a3a3a;border-bottom:1px solid #3a3a3a;padding-bottom:4px}
.more-link:hover{color:#c8121a;border-color:#c8121a}

/* Three facts side by side */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #d1d1d0}
.facts>div{padding:34px 34px 6px 0}
.facts>div+div{padding-left:34px;border-left:1px solid #d1d1d0}
.facts h3{font-size:clamp(22px,1.9vw,28px);font-weight:500;letter-spacing:-.03em;line-height:1.15;color:#3a3a3a;margin:0 0 14px}
.facts p{font-size:20px;line-height:1.55;color:#5a5a5a;margin:0}

/* Email form on the soft ground: hairline field, the homepage red button */
.nl-row{display:flex;gap:14px;align-items:stretch;max-width:760px;margin-top:34px}
.nl-row input{flex:1;min-width:0;font:inherit;font-size:20px;color:#3a3a3a;background:#f3f3f1;border:1.5px solid #a9a9a8;border-radius:0;padding:0 22px;min-height:78px}
.nl-row input:focus{outline:2px solid #c8121a;outline-offset:2px;border-color:#3a3a3a}
.nl-row button.lbtn{cursor:pointer;font:inherit}
.nl-note{font-size:16px;color:#6b6b6b;margin:16px 0 0}
.nl-status{font-size:18px;color:#3a3a3a;margin:10px 0 0;min-height:1.4em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:900px){
  .split{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr}
  .facts>div,.facts>div+div{padding:26px 0;border-left:0;border-bottom:1px solid #d1d1d0}
}
@media(max-width:750px){
  .sec{padding:72px 22px}
  .chapters li{grid-template-columns:1fr;gap:10px}
  .chapters .when{font-size:17px;padding-top:0}
  .chapters p,.prose p{font-size:18.5px}
  .facts p{font-size:18px}
  .statement{font-size:40px}
  .tiles{grid-template-columns:1fr}
  .nl-row{flex-direction:column}
  .nl-row input{min-height:64px;font-size:18px}
}

/* Event pages: meta line under the hero button, two-day plan, registration dialog */
.ev-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin:34px 0 0;font-size:18px;font-weight:500;color:#5a5a5a}
.ev-meta span+span{padding-left:28px;border-left:1px solid #c4c4c3}
.ev-cal{display:inline-block;margin-top:16px;font-size:17px;color:#3a3a3a;border-bottom:1px solid #a9a9a8;padding-bottom:2px}
.ev-cal:hover{color:#c8121a;border-color:#c8121a}
.countdown{display:flex;gap:26px;margin-top:30px}
.countdown div{display:grid;gap:4px}
.countdown b{font-size:40px;font-weight:500;letter-spacing:-.04em;line-height:1;color:#3a3a3a;font-variant-numeric:tabular-nums}
.countdown small{font-size:14px;color:#6b6b6b}
[data-event-ended] .countdown,[data-event-ended] .ev-cal,[data-event-ended] .ev-live-only{display:none}
.days{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d1d1d0}
.days>article{padding:clamp(34px,4vw,56px) clamp(28px,4vw,64px) 0 0}
.days>article+article{padding-left:clamp(28px,4vw,64px);border-left:1px solid #d1d1d0}
.days .d-k{font-size:20px;font-weight:500;letter-spacing:-.3px;color:#8a8a8a}
.days h3{font-size:clamp(28px,2.8vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.08;color:#3a3a3a;margin:14px 0 20px}
.days p{font-size:23px;line-height:1.55;color:#5a5a5a;margin:0 0 22px}
.days ul{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid #d1d1d0}
.days li{font-size:20px;line-height:1.5;color:#3a3a3a;padding:16px 0 16px 34px;border-bottom:1px solid #d1d1d0;position:relative}
.days li::before{content:"";position:absolute;left:0;top:28px;width:18px;height:1.5px;background:#3a3a3a}
.days .d-out{font-size:20px;color:#5a5a5a}
.days .d-out strong{color:#3a3a3a;font-weight:500}
.tiles.portrait .tile{aspect-ratio:4/5}
.tiles.portrait .t-t{font-size:clamp(22px,1.9vw,30px)}
body.modal-open{overflow:hidden}
.modal-overlay{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(30,30,28,.55)}
.modal-overlay.open{display:flex}
.modal-dialog{position:relative;width:min(640px,100%);background:#f3f3f1;padding:clamp(34px,5vw,60px)}
.modal-close{position:absolute;top:14px;right:16px;width:44px;height:44px;border:0;background:transparent;font-size:32px;line-height:1;color:#3a3a3a;cursor:pointer}
.modal-dialog .section-label{margin-bottom:14px}
.modal-title{font-size:clamp(34px,4vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.04;color:#3a3a3a;margin:0}
.modal-sub{font-size:18px;color:#5a5a5a;margin:16px 0 26px}
.modal-form{display:grid;gap:14px}
.modal-form input{font:inherit;font-size:20px;color:#3a3a3a;background:#f3f3f1;border:1.5px solid #a9a9a8;border-radius:0;padding:0 20px;min-height:68px}
.modal-form input:focus{outline:2px solid #c8121a;outline-offset:2px;border-color:#3a3a3a}
.modal-form .lbtn{justify-self:start;cursor:pointer;font:inherit;margin-top:8px}
.modal-msg{font-size:18px;color:#3a3a3a;margin-top:16px;min-height:1.4em}
@media(max-width:900px){.days{grid-template-columns:1fr}.days>article,.days>article+article{padding:34px 0 0;border-left:0}}
@media(max-width:750px){.ev-meta{font-size:16px;gap:8px 18px}.ev-meta span+span{padding-left:18px}.days p{font-size:18.5px}.days li,.days .d-out{font-size:18px}.countdown b{font-size:32px}}

/* Text-only page title, same type as the homepage hero headline */
.ptitle-wrap{padding:clamp(70px,8vw,128px) calc(max(0px,(100% - 1440px)/2) + 5%) clamp(40px,4vw,64px)}
.ptitle{font-size:clamp(52px,6.2vw,100px);font-weight:700;line-height:1.02;letter-spacing:-.05em;margin:0;color:#3a3a3a;text-wrap:balance}
.ptitle .soft{display:block;color:#909090;font-weight:600}
.ptitle .strong{display:block;color:#3a3a3a;font-weight:800;letter-spacing:-.055em}
.ptitle-wrap .lead{margin:36px 0 0;max-width:820px}
.crumbs{display:flex;gap:10px;font-size:16px;color:#6b6b6b;margin:0 0 30px}
.crumbs a:hover{color:#c8121a}

/* Blog filter: the homepage hero tabs, laid out as a row */
.btabs{display:flex;flex-wrap:wrap;gap:8px 36px;padding:0 calc(max(0px,(100% - 1440px)/2) + 5%);margin:0 0 clamp(40px,4vw,64px)}
.btabs a{position:relative;border-top:1px solid rgba(8,8,7,0.22);padding:16px 0 4px;font-size:17px;font-weight:500;color:#5a5a5a;white-space:nowrap}
.btabs a span{color:#909090;margin-left:6px;font-weight:400}
.btabs a::before{content:"";position:absolute;left:0;top:-2px;width:100%;height:3px;background:#e3151c;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.btabs a:hover,.btabs a.active{color:#3a3a3a}
.btabs a.active::before{transform:scaleX(1)}

/* Article grid: image on top, kicker, title, one line of summary. No boxes. */
.bgrid-wrap{padding:0 calc(max(0px,(100% - 1440px)/2) + 5%) clamp(84px,9vw,140px)}
.bgrid-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid #d1d1d0;padding-top:28px;margin-bottom:40px}
.bgrid-head h2{font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:-.045em;line-height:1.05;color:#3a3a3a;margin:0}
.bgrid-head p{font-size:18px;color:#6b6b6b;margin:0;max-width:560px;text-align:right}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(48px,4vw,64px) clamp(22px,2.2vw,36px)}
.post-card{display:flex;flex-direction:column;gap:12px;color:#3a3a3a}
.post-card[hidden]{display:none!important}
.post-card .card-thumb{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;background:#e4e4e2;margin:0 0 8px;transition:opacity .25s}
.post-card:hover .card-thumb{opacity:.9}
.post-card>span{font-size:15px;font-weight:500;color:#8a8a8a}
.post-card h3{font-size:clamp(21px,1.75vw,26px);font-weight:500;letter-spacing:-.025em;line-height:1.18;color:#3a3a3a;margin:0;text-wrap:balance}
.post-card:hover h3{color:#c8121a}
.post-card p{font-size:17px;line-height:1.5;color:#5a5a5a;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card .card-date{font-size:15px;color:#8a8a8a;margin-top:2px}
.filter-empty{font-size:20px;color:#5a5a5a}
@media(max-width:1000px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.ptitle-wrap{padding:44px 22px 30px}.ptitle{font-size:12vw}.btabs{padding:0 22px;gap:4px 22px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.btabs a{font-size:15px}.bgrid-wrap{padding:0 22px 72px}.bgrid-head{display:block}.bgrid-head p{text-align:left;margin-top:10px;font-size:16px}.post-grid{grid-template-columns:1fr;gap:44px}.post-card p{font-size:16.5px}}

/* Events + three-column day plans (2026-11-04) */
.days.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.days.three>article+article{padding-left:clamp(28px,3vw,48px)}
.days .more-link{margin:6px 0 34px}
.days>article>.d-k+ul{margin-top:18px}
.ev-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 40px;margin-top:36px}
.ev-actions .more-link{margin-top:0}
.signal-strip.s3 span b{display:block}
@media(max-width:900px){.days.three{grid-template-columns:1fr}.days.three>article+article{padding-left:0;border-left:0;border-top:1px solid #d1d1d0}}
.next-live .ev-actions{margin-top:clamp(44px,4vw,64px)}
