/* Typography and micro-interaction overrides */

/* Body uses a readable serif for an "Authentic" feel */
body {
  font-family: 'Merriweather', Georgia, serif;
}

/* Headers use a tech-forward sans for an "Agentic" vibe */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 600;
}

/* Featured post card interaction: subtle lift + glow */
.card {
  transition: transform 200ms cubic-bezier(.4,0,.2,1), box-shadow 220ms cubic-bezier(.4,0,.2,1), filter 220ms;
  will-change: transform, box-shadow;
}

.card:hover, .card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(12,12,20,.12), 0 6px 18px rgba(11,99,214,.06);
  filter: brightness(1.02);
}

.card:focus-visible {
  outline: 2px solid rgba(11,99,214,.12);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .card, .card:hover, .card:focus-within { transition: none; transform: none; }
}

/* Bento Box hero styles */
.hero-bento{padding:1rem 0}
.bento-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:repeat(2, minmax(84px, auto));gap:.5rem;align-items:stretch}
.bento-card{background:var(--card);padding:.5rem;border-radius:8px;box-shadow:0 6px 18px rgba(12,12,20,.05);text-decoration:none;color:inherit;display:block;transition:transform 160ms var(--transition),box-shadow 160ms var(--transition),filter 160ms}
.bento-card h2,.bento-card h3{margin:0 0 .35rem;font-weight:700}
.bento-card p{margin:0;color:var(--muted)}
.bento-primary{grid-row:1 / span 2;display:flex;flex-direction:column;justify-content:center;padding:1.5rem;}
.bento-meta p{margin-top:.5rem}
.bento-card:hover,.bento-card:focus-within{transform:translateY(-6px);box-shadow:0 22px 48px rgba(12,12,20,.12),0 8px 20px rgba(11,99,214,.05);filter:brightness(1.025)}

@media (max-width:740px){
  .bento-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,auto)}
  .bento-primary{grid-row:auto}
}

@media (prefers-reduced-motion: reduce){
  .bento-card, .bento-card:hover, .bento-card:focus-within{transition:none;transform:none}
}

/* Playbook scroller styles */
.playbook-card{display:flex;flex-direction:column;gap:.5rem}
.playbook-header{display:flex;justify-content:space-between;align-items:center}
.playbook-controls{display:flex;gap:.5rem}
.playbook-list{list-style:none;padding:0;margin:0;min-height:3rem;display:flex;flex-direction:column;overflow:hidden}
.playbook-list li{opacity:0;transform:translateY(6px);transition:opacity 240ms,var(--transition);padding:.15rem 0}
.playbook-list li.active{opacity:1;transform:none}

/* Status tile */
.status-card{display:flex;flex-direction:column;gap:.5rem}
.status-row{display:flex;align-items:center;gap:.5rem}
.focus-label{font-weight:700}
.focus-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.focus-mcp{background:#0b63d6}
.focus-langgraph{background:#7b61ff}
.status-note{font-size:.95rem;color:var(--muted)}

/* Visual tile */
.visual-card{display:flex;flex-direction:column;gap:.6rem;align-items:center;width:100%}
.vis-svg{width:100%;height:234px;max-height:288px;display:block}
.vis-svg{object-fit:contain}
@media (max-width:920px){
  .vis-svg{height:180px}
}
@media (max-width:640px){
  .vis-svg{height:144px}
}
.vis-title{margin:0}

/* Visible caption for architecture SVG */
.vis-caption{margin-top:.6rem;color:var(--clr-muted);font-size:.95rem;text-align:center;font-family:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;}

/* Human tile: grain texture using SVG data URI */
.human-card{position:relative;overflow:hidden}
.human-card:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence baseFrequency="0.9" numOctaves="2"/></filter><rect width="100%" height="100%" filter="url(%23n)" fill="black"/></svg>');mix-blend-mode:overlay}
.human-lead{position:relative}
.human-cta{position:relative;margin-top:.6rem}

/* Blueprint / Network motif for hero: light and dark variants */
.hero-bento{position:relative;overflow:visible}
.hero-bento::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:0.12;
  mix-blend-mode:overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cdefs%3E%3Cpattern id='p' width='40' height='40' patternUnits='userSpaceOnUse'%3E%3Cpath d='M40 0 L0 0 0 40' fill='none' stroke='%23dfe7f2' stroke-width='0.6'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23p)'/%3E%3C/svg%3E");
}
.hero-bento > .bento-grid{position:relative;z-index:1}

/* Dark mode neon variant */
body.dark .hero-bento::before{
  opacity:0.14;
  mix-blend-mode:screen;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cdefs%3E%3Cpattern id='q' width='40' height='40' patternUnits='userSpaceOnUse'%3E%3Cpath d='M40 0 L0 0 0 40' fill='none' stroke='%2300ffd5' stroke-opacity='0.25' stroke-width='0.9'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23q)'/%3E%3C/svg%3E");
}

@media (max-width:640px){
  .hero-bento::before{opacity:0.08}
}

@media (prefers-reduced-motion:reduce){
  .hero-bento::before{transition:none}
}

/* Featured rich cards */
.featured-rich{margin-top:2.25rem}
.featured-rich .grid{gap:1rem}
.featured-card{background:transparent}
.featured-card .card-link{display:block;text-decoration:none;color:inherit}
.featured-card .card-content{background:var(--card);padding:1rem;border-radius:12px;box-shadow:0 8px 26px rgba(12,12,20,.06);height:100%;display:flex;flex-direction:column;justify-content:space-between;transition:transform 180ms var(--transition),box-shadow 180ms var(--transition)}
.featured-card .card-content:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(12,12,20,.12)}
.featured-card h3{margin:0 0 .5rem}
.card-excerpt{margin:0 0 .8rem;color:var(--muted)}
.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}
.tag{background:rgba(11,99,214,.08);color:var(--clr-accent);padding:.25rem .5rem;border-radius:999px;font-size:.85rem}
body.dark .tag{background:rgba(127,90,255,.06);color:#bdb6ff}

@media (max-width:640px){
  .featured-rich .grid{grid-template-columns:1fr}
}

/* Contact form compact row: show name/email/company in 1-3 columns */
.contact-form-box{display:block}
.contact-form-box .compact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:start}
.contact-form-box .field{display:flex;flex-direction:column}
.contact-form-box label{font-size:.92rem;margin-bottom:.35rem}
.contact-form-box input[type="text"], .contact-form-box input[type="email"], .contact-form-box textarea{width:100%;padding:.5rem .6rem;border-radius:8px;border:1px solid rgba(16,24,40,.06);font-family:inherit}

@media (max-width:920px){
  .contact-form-box .compact-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .contact-form-box .compact-row{grid-template-columns:1fr}
}
