/* shared inner-page tokens — referenced by special-events / meet-al / home-visits / corporate */
:root{
  --bone:#F2F1ED;
  --ash:#050507;
  --ash2:#0F1014;
  --charge:#1F40FF;
  --chalk:#B6BAB8;
  --rule:rgba(242,241,237,0.16);
  --ruleD:rgba(5,5,7,0.16);
  --sans:'Inter Tight','Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --display:'Big Shoulders Display','Inter Tight',sans-serif;
  --condensed:'Saira Condensed','Inter Tight',sans-serif;
  --editorial:'Instrument Serif',Georgia,serif;
  --gutter:6.9vw;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--ash);color:var(--bone);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--charge);color:var(--bone)}

/* topbar — fixed, mono, hairline-bottom */
.topbar{position:fixed;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone);background:rgba(5,5,7,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);z-index:50}
.topbar .blue{color:var(--charge)}
.topbar .mark{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:0;line-height:1}
.topbar .mark::after{content:" · ESSENTIALS";font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.22em;color:var(--bone);opacity:.7}
.topbar .back{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s}
.topbar .back:hover{border-color:var(--charge)}
.topbar .back .arrow{color:var(--charge)}

/* file metadata strip — beneath topbar */
.file-meta{padding:96px var(--gutter) 0;font-family:var(--mono);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--bone);opacity:.55;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.file-meta .blue{color:var(--charge);opacity:1}
.file-meta .sep{opacity:.4}

/* hero */
.page-hero{padding:48px var(--gutter) 80px;display:flex;flex-direction:column;gap:32px;max-width:1240px;margin:0 auto;width:100%}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bone);opacity:.7;display:inline-flex;align-items:center;gap:10px}
.eyebrow .blue{color:var(--charge);opacity:1}
.page-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(56px,9vw,168px);line-height:.92;letter-spacing:-.035em;text-transform:uppercase;max-width:1100px}
.page-hero h1 em{font-family:var(--editorial);font-style:italic;font-weight:400;color:var(--charge);text-transform:none;letter-spacing:-.02em}
.page-hero .lede{font-family:var(--editorial);font-style:italic;font-weight:400;font-size:clamp(22px,2.4vw,38px);line-height:1.3;color:var(--bone);max-width:780px;opacity:.92}

/* hairline divider */
.hr-rule{height:1px;width:100%;background:var(--rule);border:none;margin:0}

/* body section */
.page-body{padding:80px var(--gutter);max-width:1240px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:64px}

/* offer cards (2-up or 3-up) */
.offer-grid{display:grid;gap:18px}
.offer-grid.three{grid-template-columns:repeat(3,1fr)}
.offer-grid.two{grid-template-columns:repeat(2,1fr)}
.offer{background:var(--ash2);border:1px solid var(--rule);padding:36px 36px 32px;display:flex;flex-direction:column;gap:24px;min-height:280px;justify-content:space-between;position:relative;overflow:hidden;transition:border-color .3s ease,transform .4s cubic-bezier(.2,.9,.3,1)}
.offer:hover{border-color:var(--charge)}
.offer .num{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--charge);font-weight:500}
.offer h3{font-family:var(--display);font-weight:500;font-size:clamp(28px,2.6vw,40px);line-height:.98;letter-spacing:-.025em;text-transform:uppercase;margin:0}
.offer h3 em{font-family:var(--editorial);font-style:italic;font-weight:400;color:var(--charge);text-transform:none;letter-spacing:-.015em}
.offer p{font-family:var(--sans);font-size:14px;line-height:1.65;color:var(--bone);opacity:.78}

/* prose block */
.prose{display:flex;flex-direction:column;gap:24px;max-width:680px}
.prose p{font-family:var(--sans);font-size:17px;line-height:1.7;color:var(--bone);opacity:.86}
.prose p em{font-family:var(--editorial);font-style:italic;font-weight:400;color:var(--charge)}

/* portrait + prose two-col */
.story-row{display:grid;grid-template-columns:340px 1fr;gap:64px;align-items:start}
.portrait{aspect-ratio:4/5;background:var(--bone);border:1px solid var(--charge);position:relative;overflow:hidden}
.portrait::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent 0,transparent 12px,rgba(31,64,255,.07) 12px,rgba(31,64,255,.07) 13px);pointer-events:none}
.portrait .label{position:absolute;left:0;right:0;bottom:18px;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ash);opacity:.75;line-height:1.7}
.portrait .label b{display:block;font-weight:500;font-size:13px;letter-spacing:.16em;margin-bottom:4px;opacity:1}

/* geo strip — 3-column mono cells */
.geo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.geo-strip > div{padding:32px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:14px}
.geo-strip > div:last-child{border-right:none}
.geo-strip .num{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--charge);font-weight:500}
.geo-strip h4{font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.02em;text-transform:uppercase;margin:0}
.geo-strip p{font-family:var(--sans);font-size:13px;line-height:1.55;color:var(--bone);opacity:.7}

/* pillar list */
.pillar-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rule)}
.pillar-list > div{display:grid;grid-template-columns:80px 1fr 200px;gap:24px;padding:28px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.pillar-list .num{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--charge);font-weight:500}
.pillar-list .name{font-family:var(--editorial);font-style:italic;font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1;color:var(--bone)}
.pillar-list .desc{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.6;line-height:1.7;text-align:right}

/* cta strip */
.cta-strip{padding:96px var(--gutter);max-width:1240px;margin:0 auto;width:100%;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:48px;flex-wrap:wrap}
.cta-strip .word{font-family:var(--editorial);font-style:italic;font-weight:400;font-size:clamp(28px,3.4vw,56px);line-height:1.1;max-width:680px}
.cta-strip .word em{color:var(--charge)}
.cta-strip .actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone);border:1px solid var(--bone);padding:16px 22px;background:transparent;cursor:pointer;transition:.2s;line-height:1}
.cta:hover{background:var(--bone);color:var(--ash)}
.cta.primary{border-color:var(--charge);background:var(--charge);color:var(--bone)}
.cta.primary:hover{background:transparent;color:var(--charge)}
.cta-strip .or{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.55}
.cta-strip .dm{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--charge);padding-bottom:2px}

/* footer */
footer{padding:48px var(--gutter);border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
footer .blue{color:var(--charge);opacity:1}

/* mobile */
@media(max-width:820px){
  :root{--gutter:6vw}
  .topbar{height:56px;font-size:9px}
  .file-meta{padding-top:80px;font-size:9px;letter-spacing:.22em}
  .page-hero{padding:32px var(--gutter) 56px;gap:24px}
  .page-body{padding:56px var(--gutter);gap:48px}
  .offer-grid.three,.offer-grid.two{grid-template-columns:1fr}
  .story-row{grid-template-columns:1fr;gap:32px}
  .portrait{max-width:280px}
  .geo-strip{grid-template-columns:1fr;border-top:none}
  .geo-strip > div{border-right:none;border-top:1px solid var(--rule)}
  .pillar-list > div{grid-template-columns:60px 1fr;gap:16px}
  .pillar-list .desc{grid-column:1 / -1;text-align:left;padding-left:60px}
  .cta-strip{padding:64px var(--gutter);flex-direction:column;align-items:flex-start;gap:24px}
  .cta-strip .actions{justify-content:flex-start}
}
