/* Quick Pass Museum — concise tech-minimalist briefings
   Palette: graphite #222831 · mint #3FA89E · light-grey #F4F5F7
   Type: Space Grotesk for everything
*/

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:#F4F5F7;color:#222831;
  font-family:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16px;line-height:1.6;font-weight:400;letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:#3FA89E;text-decoration:none;transition:color .15s}
a:hover{color:#26786f}
h1,h2,h3,h4{font-weight:700;color:#222831;line-height:1.18;margin:0 0 .55em;letter-spacing:-.018em}
h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:700}
h2{font-size:clamp(1.55rem,2.8vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
code,kbd{font-family:'Space Grotesk',monospace;background:#e8eaee;padding:1px 6px;border-radius:3px;font-size:.92em}

.cont{max-width:1200px;margin:0 auto;padding:0 24px}
.thin{max-width:760px;margin:0 auto;padding:0 24px}

/* Navigation */
.nav{
  background:#222831;color:#F4F5F7;border-bottom:1px solid #2c333d;
  position:sticky;top:0;z-index:50;
}
.nav .row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:#F4F5F7;font-size:1.1rem;letter-spacing:-.01em}
.brand:hover{color:#3FA89E}
.brand-tag{background:#3FA89E;color:#222831;padding:2px 8px;border-radius:3px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.nav-links{display:flex;list-style:none;gap:24px;margin:0;padding:0;font-size:.9rem;font-weight:500}
.nav-links a{color:#cdd1d8;padding:6px 0}
.nav-links a:hover,.nav-links a.cur{color:#3FA89E}
.tog{display:none;background:none;border:0;cursor:pointer;padding:8px}
.tog span{display:block;width:22px;height:2px;background:#F4F5F7;margin:5px 0;border-radius:2px}

/* Hero */
.hero{padding:90px 0 60px;background:#F4F5F7;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;top:-50px;right:-100px;width:540px;height:540px;
  border-radius:50%;background:radial-gradient(circle,#3FA89E22 0%,transparent 70%);
}
.hero .cont{position:relative}
.tag{
  display:inline-flex;align-items:center;gap:8px;background:#222831;color:#3FA89E;
  padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;margin-bottom:24px;
}
.tag::before{content:"";display:inline-block;width:8px;height:8px;background:#3FA89E;border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{max-width:920px;margin-bottom:18px}
.hero h1 mark{background:linear-gradient(120deg,transparent 0%,#3FA89E33 0%,#3FA89E33 100%);color:inherit;padding:0 4px}
.hero p.lead{font-size:1.18rem;color:#3a4250;max-width:660px;font-weight:400}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px;
  padding-top:30px;border-top:1px solid #d6dae0;
}
.stat .n{font-size:2.2rem;font-weight:700;color:#3FA89E;line-height:1}
.stat .l{font-size:.85rem;color:#5b6372;margin-top:6px}

/* Section */
.section{padding:80px 0}
.section.dark{background:#222831;color:#F4F5F7}
.section.dark h2,.section.dark h3{color:#F4F5F7}
.section.dark p{color:#cdd1d8}
.s-head{margin-bottom:40px}
.s-head .label{display:inline-block;font-size:.78rem;color:#3FA89E;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.s-head h2{margin-bottom:8px}
.s-head p{color:#5b6372;max-width:640px}

/* Briefing cards (signature element) */
.briefs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.brief{
  background:#fff;border:1px solid #e1e4ea;border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s;
  position:relative;
}
.brief:hover{transform:translateY(-4px);border-color:#3FA89E;box-shadow:0 18px 40px -22px rgba(34,40,49,.3)}
.brief-img{aspect-ratio:16/9;overflow:hidden;background:#222831;position:relative}
.brief-img img{width:100%;height:100%;object-fit:cover}
.brief-img::after{
  content:"5 MIN";position:absolute;top:14px;right:14px;background:#3FA89E;color:#222831;
  font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:4px;
}
.brief-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.brief-body .num{
  font-family:'Space Grotesk',monospace;font-size:.78rem;color:#5b6372;font-weight:600;
  letter-spacing:.06em;margin-bottom:10px;
}
.brief-body h3{margin-bottom:10px;font-size:1.3rem}
.brief-body h3 a{color:#222831}
.brief-body h3 a:hover{color:#3FA89E}
.brief-body p{color:#5b6372;font-size:.95rem;flex:1;margin-bottom:16px}
.brief-cta{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#3FA89E;font-size:.92rem}
.brief-cta::after{content:"→";transition:transform .2s}
.brief:hover .brief-cta::after{transform:translateX(4px)}

/* Featured large */
.feat{
  background:#222831;color:#F4F5F7;border-radius:18px;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;margin-bottom:30px;
}
.feat img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/4}
.feat-body{padding:48px;display:flex;flex-direction:column;justify-content:center}
.feat-body .label{color:#3FA89E;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.feat-body h2{font-size:clamp(1.7rem,2.6vw,2.4rem);margin-bottom:14px;color:#F4F5F7}
.feat-body h2 a{color:#F4F5F7}
.feat-body h2 a:hover{color:#3FA89E}
.feat-body p{color:#cdd1d8;font-size:1.05rem}
.feat-body .brief-cta{margin-top:18px;color:#3FA89E}

/* Author module */
.author-mod{
  background:#fff;border-radius:14px;border:1px solid #e1e4ea;padding:36px;
  display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;
}
.author-mod img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #3FA89E}
.author-mod h3{margin:0 0 6px;font-size:1.5rem}
.author-mod p{margin:0;color:#5b6372}
.author-mod .role{font-size:.82rem;color:#3FA89E;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}

/* Page hero */
.page-hero{padding:80px 0 30px;background:#222831;color:#F4F5F7}
.page-hero .tag{background:#3FA89E;color:#222831}
.page-hero .tag::before{background:#222831}
.page-hero h1{color:#F4F5F7;margin-top:14px;max-width:840px}
.page-hero p{color:#cdd1d8;font-size:1.1rem;max-width:680px;margin-top:14px}

/* Prose */
.prose{padding:50px 0 80px;background:#F4F5F7}
.prose h2{margin-top:42px;font-size:1.75rem;color:#222831}
.prose h2::before{content:"#";color:#3FA89E;margin-right:8px;font-weight:700}
.prose h3{margin-top:26px;font-size:1.18rem;color:#222831}
.prose p{font-size:1.04rem;color:#222831}
.prose ul,.prose ol{padding-left:1.5em}
.prose li{margin-bottom:.5em}
.prose blockquote{
  background:#fff;border:1px solid #e1e4ea;border-left:4px solid #3FA89E;
  padding:18px 24px;border-radius:0 10px 10px 0;margin:28px 0;
  font-size:1.08rem;color:#222831;
}

/* Article */
.post-top{padding:60px 0 28px;background:#F4F5F7}
.post-top .crumbs{font-size:.85rem;color:#5b6372;margin-bottom:18px}
.post-top .crumbs a{color:#3FA89E}
.post-top h1{margin-bottom:14px;max-width:900px}
.post-top .deck{font-size:1.18rem;color:#3a4250;max-width:780px}
.post-top .meta{display:flex;align-items:center;gap:16px;margin-top:24px;font-size:.9rem;color:#5b6372;flex-wrap:wrap}
.post-top .meta img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #3FA89E}
.post-top .meta strong{color:#222831}
.post-top .meta .pill{background:#3FA89E;color:#222831;padding:3px 10px;border-radius:4px;font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.post-fig{margin:30px auto;max-width:1200px;padding:0 24px}
.post-fig img{width:100%;border-radius:12px;aspect-ratio:16/9;object-fit:cover}
.post-fig figcaption{font-size:.85rem;color:#5b6372;margin-top:10px}
.post-content{padding:20px 0 60px;background:#F4F5F7}
.post-content p{font-size:1.05rem;color:#222831}
.post-content h2{font-size:1.7rem;margin:1.6em 0 .5em}
.post-content h2::before{content:"#";color:#3FA89E;margin-right:8px}
.post-content h3{font-size:1.15rem;margin:1.3em 0 .4em;color:#3FA89E;font-weight:700}
.post-content ul,.post-content ol{padding-left:1.5em;margin-bottom:1.2em}
.post-content li{margin-bottom:.45em}
.post-content table{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;background:#fff;border-radius:10px;overflow:hidden;border:1px solid #e1e4ea;font-size:.95rem}
.post-content th,.post-content td{padding:12px 14px;text-align:left;border-bottom:1px solid #e1e4ea;vertical-align:top}
.post-content th{background:#222831;color:#F4F5F7;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.post-content tr:last-child td{border-bottom:0}

/* Key-points box (concise briefing element) */
.tldr{
  background:#222831;color:#F4F5F7;border-radius:12px;padding:26px 28px;margin:24px 0 32px;
}
.tldr .l{display:inline-block;background:#3FA89E;color:#222831;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:3px;margin-bottom:12px}
.tldr h4{margin:0 0 10px;font-size:1.15rem;color:#F4F5F7}
.tldr ul{margin:0;padding-left:1.2em}
.tldr li{color:#cdd1d8;margin-bottom:.4em}

/* Form */
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.fld label{font-size:.82rem;font-weight:600;color:#222831}
.fld input,.fld textarea,.fld select{
  background:#fff;border:1px solid #d6dae0;border-radius:8px;padding:11px 14px;
  font:inherit;color:#222831;
}
.fld input:focus,.fld textarea:focus{outline:none;border-color:#3FA89E;box-shadow:0 0 0 3px #3FA89E33}
.fld textarea{min-height:140px;resize:vertical}
.btn{
  display:inline-block;background:#3FA89E;color:#222831;padding:12px 24px;border-radius:8px;
  font-weight:700;font-size:.95rem;border:0;cursor:pointer;font-family:inherit;letter-spacing:.01em;
  transition:background .2s;
}
.btn:hover{background:#26786f;color:#F4F5F7}

/* Footer */
.foot{background:#222831;color:#9aa3b1;padding:60px 0 30px}
.foot a{color:#cdd1d8}
.foot a:hover{color:#3FA89E}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.foot h4{color:#F4F5F7;font-size:.92rem;margin-bottom:14px;letter-spacing:.02em}
.foot ul{list-style:none;padding:0;margin:0;line-height:2;font-size:.9rem}
.foot-mark{font-weight:700;color:#F4F5F7;font-size:1.1rem;margin-bottom:8px}
.foot-tag{font-size:.95rem;line-height:1.55}
.foot-bar{border-top:1px solid #2c333d;padding-top:20px;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}

@media (max-width:880px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#222831;flex-direction:column;padding:16px 24px;gap:14px;border-bottom:1px solid #2c333d}
  .nav-links.open{display:flex}
  .tog{display:block}
  .briefs{grid-template-columns:1fr;gap:18px}
  .feat{grid-template-columns:1fr}
  .feat-body{padding:32px}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:24px}
  .author-mod{grid-template-columns:1fr;text-align:left}
  .author-mod img{width:100px;height:100px}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .hero-stats{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero{padding:60px 0 40px}
}
