/* =================================================
   Global Innovation Labs — site stylesheet
   Editorial-technical design system.
   Fonts are self-hosted (see /fonts).
================================================= */

/* -------------------------------------------------
   Fonts
------------------------------------------------- */
@font-face{
  font-family:'Bricolage Grotesque';
  src:url('fonts/BricolageGrotesque-var.woff2') format('woff2');
  font-weight:200 800;
  font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('fonts/Inter-var.woff2') format('woff2');
  font-weight:100 900;
  font-display:swap;
}

/* -------------------------------------------------
   Tokens
------------------------------------------------- */
:root{
  /* Core palette */
  --ink:#0b1d3a;          /* headings, dark bands, footer */
  --ink-2:#13294f;        /* raised surfaces on dark */
  --brand:#1e4fd8;        /* primary actions */
  --brand-deep:#163ca8;   /* hover on primary */
  --brand-bright:#3d6fff; /* accents on dark, focus */
  --wash:#eef3fb;         /* tinted bands */
  --wash-2:#dfe8f7;       /* lines/dots on wash */
  --paper:#fafaf8;        /* page background */
  --card:#ffffff;

  /* Text */
  --text:#31394a;
  --text-muted:#5a6478;
  --text-faint:#8a93a8;
  --text-on-dark:#c4d2ef;
  --line:#dfe4ee;

  /* Legacy aliases — generated docs pages (flask_web/, cobol/,
     rest-api/) reference these variable names directly. */
  --primary-50:var(--wash);
  --primary-100:#dce7fa;
  --primary-200:#bfd3f5;
  --primary-300:#93b4ee;
  --primary-400:#6890e6;
  --primary-500:var(--brand-bright);
  --primary-600:var(--brand);
  --primary-700:var(--brand-deep);
  --primary-800:#12308a;
  --primary-900:var(--ink);
  --gray-50:var(--paper);
  --gray-100:#f1f2ef;
  --gray-200:var(--line);
  --gray-300:#c3cad8;
  --gray-400:var(--text-faint);
  --gray-500:#6b7488;
  --gray-600:var(--text-muted);
  --gray-700:#3e4658;
  --gray-800:var(--text);
  --gray-900:var(--ink);

  /* Type */
  --font-display:'Bricolage Grotesque','Inter',sans-serif;
  --font-body:'Inter','Segoe UI',sans-serif;
  --font-mono:ui-monospace,'SF Mono','Cascadia Code',Menlo,monospace;

  /* Shape & depth */
  --radius-sm:.375rem;   /* buttons, chips */
  --radius-md:.75rem;    /* cards */
  --radius-lg:1rem;      /* images, terminal */
  --shadow-sm:0 1px 2px rgba(11,29,58,.05);
  --shadow-md:0 2px 10px rgba(11,29,58,.07);
  --shadow-lg:0 24px 60px -20px rgba(11,29,58,.25);

  /* Rhythm */
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-6:3rem;
  --space-8:4rem;
  --section-pad:clamp(4rem,9vw,7rem);
  --measure:65ch;

  --transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

/* -------------------------------------------------
   Base
------------------------------------------------- */
html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--text);
  line-height:1.65;
  font-size:1.0625rem;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}

h1,h2,h3,h4,h5,h6{
  margin:0 0 .6em;
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.15;
  color:var(--ink);
  letter-spacing:-.015em;
}
h1{font-size:clamp(2.5rem,5.5vw,3.75rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}
h2{font-size:clamp(1.75rem,3vw,2.5rem)}
h3{font-size:1.25rem;font-weight:650}

p{margin:0 0 1.1em}

a{color:var(--brand);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--brand-deep)}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--brand-bright);
  outline-offset:2px;
  border-radius:var(--radius-sm);
}

::selection{background:var(--brand);color:#fff}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important}
  html{scroll-behavior:auto}
}

/* -------------------------------------------------
   Layout helpers
------------------------------------------------- */
.container{width:min(94%,1200px);margin-inline:auto}

.skip-link{
  position:absolute;top:-48px;left:.5rem;z-index:1000;
  background:var(--ink);color:#fff;padding:.6rem 1.1rem;
  border-radius:0 0 var(--radius-sm) var(--radius-sm);
  font-weight:600;transition:top .2s ease;
}
.skip-link:focus{top:0}

.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;
}

/* Section header pattern: eyebrow + heading + lede */
.eyebrow{
  display:block;
  font-family:var(--font-body);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--brand);
  margin-bottom:.9rem;
}
.section-head{max-width:44rem;margin-inline:auto;margin-bottom:var(--space-6);text-align:center}
.section-head.center{margin-inline:auto;text-align:center}
.lede{font-size:1.2rem;color:var(--text-muted)}
.section-head .lede{margin:0}

.chip-row-label{margin:1.5rem 0 .6rem;font-size:.9rem;color:var(--text-muted)}

.prose{max-width:var(--measure)}

/* -------------------------------------------------
   Buttons, chips, links
------------------------------------------------- */
.cta-button,
.btn{
  display:inline-block;
  padding:.8rem 1.6rem;
  background:var(--brand);
  color:#fff;
  font-weight:600;
  font-size:1rem;
  border:1px solid var(--brand);
  border-radius:var(--radius-sm);
  transition:var(--transition);
  text-align:center;
}
.cta-button:hover,.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}

.btn-ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}
.btn-ghost:hover{background:transparent;border-color:var(--brand);color:var(--brand)}

/* Text link with sliding arrow */
.cta-link{font-weight:600;white-space:nowrap}
.cta-link .arrow,
.wp-more .arrow{display:inline-block;transition:transform .2s ease}
.cta-link:hover .arrow,
.whitepaper-card:hover .wp-more .arrow{transform:translateX(4px)}

/* Small bordered chips (example-doc links, tags) */
.chip-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.chip{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.45rem 1rem;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.9rem;font-weight:500;
  color:var(--text);
  background:var(--card);
  transition:var(--transition);
}
.chip:hover{border-color:var(--brand);color:var(--brand)}

/* "Built by AI" provenance chip */
.ai-chip{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem 1rem;
  border:1px solid var(--brand);
  border-radius:999px;
  font-size:.875rem;font-weight:550;
  color:var(--brand);
  background:transparent;
  transition:var(--transition);
}
.ai-chip:hover{background:var(--wash);color:var(--brand-deep)}
.ai-chip svg{flex:none}

/* -------------------------------------------------
   Header / navigation
------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:999;
  background:rgba(250,250,248,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;padding:.7rem 0;
}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:44px;width:auto}

.site-nav{display:flex;align-items:center;gap:1.75rem}
.site-nav a{font-weight:550;font-size:.95rem;color:var(--text);padding:.3rem 0}
.site-nav a:hover{color:var(--brand)}
.site-nav .ai-chip{padding:.3rem .85rem;color:var(--brand)}

.nav-toggle{
  display:none;
  background:none;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:.45rem .6rem;cursor:pointer;color:var(--ink);
}
.nav-toggle svg{display:block}

@media (max-width:860px){
  .nav-toggle{display:block}
  .site-nav{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:.25rem;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:1rem 3%;
    box-shadow:var(--shadow-md);
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:.55rem 0;font-size:1.05rem;width:100%}
  .site-nav .ai-chip{width:auto;margin-top:.5rem}
}

/* Legacy nav class (older subpages) — same visual language */
.top-nav{
  position:sticky;top:0;z-index:999;
  backdrop-filter:blur(10px);
  background:rgba(250,250,248,.88);
  border-bottom:1px solid var(--line);
  padding:.7rem 0;
}
.top-nav .container{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.top-nav a{font-weight:550;font-size:.95rem;color:var(--text)}
.top-nav a:hover{color:var(--brand)}
.nav-logo{margin-right:auto}
.nav-logo img{height:40px;width:auto}

/* -------------------------------------------------
   Hero
------------------------------------------------- */
.hero{
  position:relative;
  padding:clamp(4rem,8vw,6.5rem) 0 var(--section-pad);
  background:
    radial-gradient(56rem 30rem at 8% -10%,var(--wash) 0%,transparent 60%),
    var(--paper);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(var(--wash-2) 1px,transparent 1.5px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(115deg,rgba(0,0,0,.8),transparent 55%);
  mask-image:linear-gradient(115deg,rgba(0,0,0,.8),transparent 55%);
  pointer-events:none;
}
.hero .container{position:relative}

.hero-grid{
  display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:center;
  grid-template-columns:1.1fr .9fr;
}
.hero-content{text-align:center}
.hero-content h1{margin-bottom:.5em}
.hero-content .lede{
  font-size:1.25rem;line-height:1.55;color:var(--text-muted);
  max-width:34rem;margin-inline:auto;margin-bottom:var(--space-4);
}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;margin-bottom:var(--space-4)}

.hero-facts{
  display:flex;flex-wrap:wrap;gap:.4rem 2rem;justify-content:center;
  margin:var(--space-4) 0 0;padding:0;list-style:none;
  font-size:.9rem;color:var(--text-muted);
}
.hero-facts li{display:flex;align-items:center;gap:.5rem}
.hero-facts li::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--brand-bright);flex:none;
}

@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr}
}

/* -------------------------------------------------
   Terminal mockup
------------------------------------------------- */
.terminal{
  background:var(--ink);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
  font-family:var(--font-mono);
  font-size:.85rem;
  line-height:1.7;
}
.terminal-bar{
  display:flex;align-items:center;gap:.45rem;
  padding:.7rem 1.1rem;
  background:var(--ink-2);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.terminal-bar i{width:11px;height:11px;border-radius:50%;background:#3a4c74;display:block}
.terminal-bar i:first-child{background:#e0604f}
.terminal-bar i:nth-child(2){background:#e0a54f}
.terminal-bar i:nth-child(3){background:#57b06a}
.terminal-bar span{
  margin-left:auto;font-size:.72rem;color:#6d7fa0;letter-spacing:.06em;
}
.terminal-body{padding:1.2rem 1.4rem;margin:0;color:var(--text-on-dark);overflow-x:auto}
.terminal-body .t-prompt{color:#7ea0ff}
.terminal-body .t-cmd{color:#fff;font-weight:600}
.terminal-body .t-dim{color:#6d7fa0}
.terminal-body .t-ok{color:#5fd38a}

/* -------------------------------------------------
   Sections — shared rhythm
------------------------------------------------- */
section{padding:var(--section-pad) 0}

/* White editorial band (CodianoAI, whitepapers) */
.band-white{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* -------------------------------------------------
   CodianoAI product section (homepage)
------------------------------------------------- */
.architectai{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.product-grid{
  display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:.9fr 1.1fr;
  align-items:start;
}
.architectai-logo{width:min(320px,80%);margin-bottom:var(--space-3)}
/* Centered header spans the full section; the two-column body below it
   reads as a left-aligned column, so its CTA row aligns left. */
.product-grid .cta-row{justify-content:flex-start;margin-top:var(--space-3)}
.product-grid > div > p:first-child{margin-top:0}

.feature-tiles{
  display:grid;gap:1.25rem;
  grid-template-columns:repeat(2,1fr);
  margin:0 0 var(--space-4);padding:0;list-style:none;
}
.tile{
  padding:1.1rem 0 0;
  border-top:2px solid var(--wash-2);
}
.tile svg{color:var(--brand);margin-bottom:.6rem}
.tile h3{font-size:1.02rem;margin-bottom:.3rem}
.tile p{font-size:.92rem;color:var(--text-muted);margin:0}

@media (max-width:860px){
  .product-grid{grid-template-columns:1fr}
  .feature-tiles{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .feature-tiles{grid-template-columns:1fr}
}

/* -------------------------------------------------
   Services
------------------------------------------------- */
.services{background:var(--paper)}
.services-grid{
  display:grid;gap:clamp(1.5rem,3vw,2.5rem);
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
}
.service-card{
  padding:1.5rem 0 0;
  border-top:2px solid var(--wash-2);
  text-align:left;
}
.service-card img{height:52px;width:auto;margin-bottom:1rem}
.service-card h3{font-size:1.15rem;margin-bottom:.5rem}
.service-card p{color:var(--text-muted);font-size:.95rem;margin-bottom:1rem}

.service-benefit{
  font-size:.9rem;
  color:var(--text);
  border-left:2px solid var(--brand);
  padding:.15rem 0 .15rem .85rem;
  background:none;
  margin:1rem 0;
}

.service-cta{
  display:inline-block;
  font-weight:600;font-size:.95rem;
  color:var(--brand);
}
.service-cta:hover{color:var(--brand-deep)}
.service-cta::after{content:" \2192";display:inline-block;transition:transform .2s ease}
.service-cta:hover::after{transform:translateX(4px)}

/* -------------------------------------------------
   White papers
------------------------------------------------- */
.whitepapers{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.whitepapers-grid{
  display:grid;gap:1.5rem;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  counter-reset:paper;
}
@media (min-width:768px){
  .whitepapers-grid{grid-template-columns:repeat(3,1fr)}
}
.whitepaper-card{
  position:relative;
  display:flex;flex-direction:column;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:1.6rem 1.6rem 1.4rem;
  transition:var(--transition);
}
.whitepaper-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}
.whitepaper-card h3{font-size:1.15rem;margin:.4rem 0 .5rem;color:var(--ink)}
.whitepaper-card p{color:var(--text-muted);font-size:.95rem;margin-bottom:1rem}

/* Library variant: index numbers + tags (homepage) */
.wp-library .whitepaper-card{counter-increment:paper}
.wp-library .whitepaper-card::after{
  content:counter(paper,decimal-leading-zero);
  position:absolute;top:1.1rem;right:1.3rem;
  font-family:var(--font-display);
  font-size:1.6rem;font-weight:800;
  color:var(--wash-2);
  line-height:1;
}
.wp-tag{
  display:inline-block;align-self:flex-start;
  padding:.2rem .7rem;
  background:var(--wash);
  border-radius:999px;
  font-size:.75rem;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;
  color:var(--brand-deep);
}
.wp-more{margin-top:auto;font-weight:600;font-size:.92rem;color:var(--brand)}

/* -------------------------------------------------
   About
------------------------------------------------- */
.about{background:var(--paper)}
.about-card{margin-inline:auto}
.about-title{margin-bottom:.5rem}
.about-tagline{font-size:1.2rem;color:var(--text-muted);max-width:var(--measure);margin-bottom:var(--space-4)}
/* Asymmetric two-column layout — echoes .product-grid / .hero-grid */
.about-grid{
  display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:.85fr 1.15fr;
  align-items:stretch;
}
.about-media{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
  min-height:340px;
}
.about-media img{
  width:100%;height:100%;
  object-fit:cover;
}
.about-body{max-width:var(--measure)}
.about-body p:last-child{margin-bottom:0}

@media (max-width:860px){
  .about-grid{grid-template-columns:1fr}
  .about-media{min-height:0;aspect-ratio:16/9}
}
.about-body p{color:var(--text);margin-bottom:1.2em}
.about-bullets{
  list-style:none;
  margin:1.5rem 0;padding:0;
  display:flex;flex-direction:column;gap:.75rem;
  color:var(--text);
}
.about-bullets li{padding-left:1.5rem;position:relative}
.about-bullets li::before{
  content:"\2192";
  position:absolute;left:0;
  color:var(--brand);font-weight:700;
}
.about-impact{color:var(--text)}
.about-cta{
  margin-top:var(--space-6);
  font-family:var(--font-display);
  font-size:1.4rem;font-weight:700;
  color:var(--ink);
  text-align:center;
}
.about-cta .text-blue,
.text-blue{color:var(--brand)}

/* Article layout for whitepaper pages */
.article .about-card{max-width:46rem}
.article h1{font-size:clamp(2rem,4vw,2.75rem)}
.article h2{font-size:1.5rem;margin-top:2.5em}
.article hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
.article ol,.article ul{padding-left:1.4rem;margin:0 0 1.2em}
.article li{margin-bottom:.5em}

/* Article header: eyebrow + title + optional product art */
.article-head{
  margin-bottom:var(--space-4);
  padding-bottom:var(--space-4);
  border-bottom:1px solid var(--line);
  text-align:center;
}
.article-head .about-title{margin-bottom:0}
.article-head .eyebrow{margin-bottom:.75rem}
.article-head-split{
  display:grid;gap:clamp(1.5rem,4vw,3rem);
  grid-template-columns:260px 1fr;
  align-items:center;
}
.article-head-split .architectai-logo{width:100%;max-width:260px;margin:0}
@media (max-width:640px){
  .article-head-split{grid-template-columns:1fr}
}

/* -------------------------------------------------
   Results / testimonials — dark band
------------------------------------------------- */
.testimonials{background:var(--ink);color:var(--text-on-dark)}
.testimonials .eyebrow{color:var(--brand-bright)}
.testimonials h2{color:#fff}
.testimonials .section-head .lede{color:var(--text-on-dark)}

.stat-row{
  display:grid;gap:2rem;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  margin:0 0 var(--space-8);padding:var(--space-4) 0 0;list-style:none;
  border-top:1px solid rgba(255,255,255,.12);
}
.stat b{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(2rem,3.5vw,2.75rem);
  font-weight:800;letter-spacing:-.02em;
  color:#fff;line-height:1.1;
}
.stat span{font-size:.92rem;color:var(--text-on-dark)}

.testimonials-grid{
  display:grid;gap:2rem;
  grid-template-columns:1fr 1fr;
}
.testimonial-card{
  background:var(--ink-2);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-md);
  padding:2rem 2.25rem;
  text-align:left;
  margin:0;
}
.testimonial-card blockquote{
  position:relative;
  margin:0 0 1.25rem;
  font-size:1.1rem;line-height:1.6;
  color:#e8eefb;
}
.testimonial-card blockquote::before{
  content:"\201C";
  display:block;
  font-family:var(--font-display);
  font-size:3rem;font-weight:800;
  color:var(--brand-bright);
  line-height:.6;margin-bottom:.75rem;
}
.testimonial-card .author{font-weight:600;color:var(--text-on-dark);font-size:.92rem}

@media (max-width:760px){
  .testimonials-grid{grid-template-columns:1fr}
}

/* -------------------------------------------------
   Contact
------------------------------------------------- */
.contact{background:var(--paper);text-align:center}
.contact h2{margin-bottom:.75rem}
.contact p{color:var(--text-muted);max-width:38rem;margin-inline:auto}
.contact .contact-mail{
  display:inline-block;
  font-family:var(--font-display);
  font-size:clamp(1.3rem,2.5vw,1.75rem);
  font-weight:700;
  margin:.5rem 0 1.5rem;
}
.contact-inner{padding:0}

/* -------------------------------------------------
   Footer
------------------------------------------------- */
.site-footer{
  background:var(--ink);
  color:var(--text-on-dark);
  padding:var(--space-8) 0 var(--space-4);
  font-size:.95rem;
  text-align:left;
}
.footer-grid{
  display:grid;gap:2.5rem;
  grid-template-columns:1.2fr 1fr 1fr;
  padding-bottom:var(--space-6);
}
.footer-brand{
  font-family:var(--font-display);
  font-size:1.25rem;font-weight:700;color:#fff;
  margin-bottom:.75rem;
}
.site-footer p{color:var(--text-on-dark);margin-bottom:.4em}
.site-footer h4{
  color:#fff;font-size:.8rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:1rem;
}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.site-footer a{color:var(--text-on-dark)}
.site-footer a:hover{color:#fff}
.site-footer .ai-chip{border-color:var(--brand-bright);color:var(--brand-bright);margin-top:1rem}
.site-footer .ai-chip:hover{background:var(--ink-2);color:#fff}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:var(--space-4);
  font-size:.85rem;color:#8a9ac2;
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr}
}

/* Minimal footer fallback (pages without column markup) */
.site-footer.simple{text-align:center;padding:var(--space-4) 0}

/* -------------------------------------------------
   Code & terminal blocks in articles
------------------------------------------------- */
.code-sample{
  background:var(--ink);
  color:var(--text-on-dark);
  font-family:var(--font-mono);
  font-size:.88rem;line-height:1.7;
  border-radius:var(--radius-md);
  padding:1.25rem 1.5rem;
  overflow-x:auto;
  margin:1.5rem 0;
}
.code-sample code{font-family:inherit}
code{
  font-family:var(--font-mono);
  font-size:.9em;
  background:var(--wash);
  padding:.1em .4em;
  border-radius:.3em;
  color:var(--brand-deep);
}
.code-sample code,.terminal code{background:none;padding:0;color:inherit}

/* Callout note */
.note{
  border-left:3px solid var(--brand);
  background:var(--wash);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:1.1rem 1.4rem;
  margin:1.5rem 0;
  font-size:.95rem;
}
.note p{margin:0}

/* -------------------------------------------------
   Utility
------------------------------------------------- */
.text-center{text-align:center}
.heading-sm{font-size:1.5rem}
.form-card{max-width:30rem;margin-inline:auto}
.check-label{display:flex;align-items:center;gap:.5em;margin-bottom:1.1em}
.check-label input{width:auto}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;justify-content:center;margin-top:var(--space-4)}
.cta-row.center{justify-content:center}
.mt-0{margin-top:0}

/* -------------------------------------------------
   Doc-site nav (flask_web / cobol / rest-api)
------------------------------------------------- */
.doc-nav a{
  color:var(--brand-deep);
  text-decoration:none;
  font-weight:500;
  display:block;
  padding:.5rem 1rem;
  border-radius:var(--radius-md);
  transition:background .2s;
  white-space:normal;
  word-break:break-all;
  max-width:100%;
  line-height:1.2;
  max-height:2.6em;
  overflow:hidden;
}
.doc-nav a[data-md][data-long]{
  white-space:nowrap !important;
  word-break:normal !important;
  text-overflow:ellipsis !important;
  overflow:hidden !important;
  max-width:100% !important;
  display:block !important;
  max-height:1.3em !important;
}

/* -------------------------------------------------
   Floating contact form
------------------------------------------------- */
.contact-float-box{
  position:fixed;top:80px;right:32px;
  width:340px;max-width:94vw;
  background:var(--card);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  z-index:9999;
  padding:2rem 1.5rem 1.5rem;
  border:1px solid var(--line);
  font-family:var(--font-body);
}
.contact-float-box h2{font-size:1.25rem;margin:0 0 1rem;text-align:left}
.contact-float-box label{
  display:block;margin-bottom:.75rem;
  font-weight:500;color:var(--text);font-size:.95rem;
}
.contact-float-box input,
.contact-float-box textarea{
  width:100%;box-sizing:border-box;
  padding:.5rem .75rem;
  border:1px solid var(--gray-300);
  border-radius:var(--radius-sm);
  font-size:1rem;font-family:inherit;
  margin-top:.25rem;margin-bottom:.5rem;
  background:var(--paper);
  transition:border-color .2s;
}
.contact-float-box input:focus,
.contact-float-box textarea:focus{
  border-color:var(--brand);outline:none;background:#fff;
}
.contact-float-box button[type="submit"]{
  width:100%;
  background:var(--brand);
  color:#fff;font-weight:600;font-size:1rem;
  border:none;border-radius:var(--radius-sm);
  padding:.75rem 0;margin-top:.5rem;cursor:pointer;
  transition:var(--transition);
}
.contact-float-box button[type="submit"]:hover{background:var(--brand-deep)}
.contact-float-box .close-btn{
  position:absolute;top:12px;right:16px;
  background:none;border:none;
  font-size:1.25rem;color:var(--text-faint);
  cursor:pointer;transition:color .2s;
}
.contact-float-box .close-btn:hover{color:var(--brand)}
.contact-float-box .form-status{
  margin-top:.75rem;font-size:.95rem;
  color:var(--brand-deep);text-align:left;
}

/* Floating open button */
.fab{
  position:fixed;right:32px;bottom:32px;z-index:9998;
  background:var(--brand);
  color:#fff;border:none;border-radius:50%;
  width:56px;height:56px;
  box-shadow:var(--shadow-md);
  font-size:1.6rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:var(--transition);
}
.fab:hover{background:var(--brand-deep)}

@media (max-width:700px){
  .contact-float-box{
    right:0;left:0;top:auto;bottom:0;
    width:100vw;max-width:100vw;
    border-radius:var(--radius-md) var(--radius-md) 0 0;
    box-shadow:0 -4px 24px rgba(11,29,58,.15);
    padding:1.5rem 1rem 1rem;
  }
  .contact-float-box .close-btn{right:12px;top:10px}
}

/* -------------------------------------------------
   Homepage refresh
   A quieter, single-surface system with consistent cards and alignment.
------------------------------------------------- */
.home-page{
  --paper:#f7f7f4;
  --wash:#eef2f8;
  --line:#d9dee8;
}

.home-page main{background:var(--paper)}
.home-page section{padding:clamp(2.75rem,5vw,4rem) 0}

.home-page .hero{
  display:flex;
  align-items:center;
  padding-block:clamp(3rem,6vw,4.5rem);
  background:var(--paper);
}
.home-page .hero::before{display:none}
.home-page .hero-grid{grid-template-columns:1.08fr .92fr}
.home-page .hero-content{text-align:left}
.home-page .hero-content .lede{margin-inline:0;max-width:38rem}
.home-page .hero-ctas,
.home-page .hero-facts{justify-content:flex-start}
.home-page .hero-facts{max-width:38rem;gap:.5rem 1.5rem}

.home-page .architectai,
.home-page .services,
.home-page .whitepapers,
.home-page .about{
  background:var(--paper);
  border:0;
}
.home-page .architectai,
.home-page .whitepapers,
.home-page .about{
  border-top:1px solid var(--line);
}

.home-page .section-head{
  max-width:46rem;
  margin-inline:0;
  margin-bottom:clamp(1.75rem,3vw,2.5rem);
  text-align:left;
}

.home-page .product-grid{
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(2rem,4vw,3.5rem);
  padding:clamp(1.5rem,3vw,2.5rem);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.home-page .feature-tiles{gap:1.25rem 1.5rem;margin-bottom:0}
.home-page .product-grid .tile{
  background:transparent;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  padding:1rem 0 0;
  box-shadow:none;
}
.home-page .product-grid .tile svg{margin-bottom:.65rem}

.home-page .service-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:1.5rem;
  box-shadow:var(--shadow-sm);
}
.home-page .services-grid{gap:1rem}
.home-page .service-card{
  display:flex;
  flex-direction:column;
  min-height:19rem;
}
.home-page .service-icon{
  color:var(--brand);
  width:30px;
  height:30px;
  margin-bottom:1rem;
  flex:none;
}
.home-page .service-benefit{
  margin-top:auto;
  border-left:0;
  padding:.9rem 0 0;
  border-top:1px solid var(--line);
}
.home-page .service-cta{margin-top:.25rem}

.home-page .education{
  background:var(--paper);
  border-top:1px solid var(--line);
}
.home-page .education-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:clamp(1.75rem,3vw,2.5rem);
}
.home-page .education-head .section-head{margin-bottom:0}
.home-page .education-cta{flex:none;margin-bottom:.2rem}
.home-page .education-proof{
  display:flex;
  align-items:baseline;
  gap:.65rem;
  margin:1.25rem 0 0;
  color:var(--text-muted);
  font-size:.92rem;
}
.home-page .education-proof strong{
  color:var(--ink);
  font-family:var(--font-display);
  font-size:1.65rem;
  line-height:1;
}
.home-page .education-gallery{margin-top:1.5rem}
.home-page .education-gallery-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.75rem;
}
.home-page .education-gallery-head p{
  margin:0;
  color:var(--ink);
  font-size:.78rem;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-page .education-gallery-controls{display:flex;gap:.5rem}
.home-page .education-gallery-button{
  display:grid;
  width:2.35rem;
  height:2.35rem;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--card);
  color:var(--ink);
  font:inherit;
  cursor:pointer;
  transition:border-color .2s ease,transform .2s ease;
}
.home-page .education-gallery-button:hover{border-color:var(--brand);transform:translateY(-1px)}
.home-page .education-gallery-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.home-page .education-gallery-track{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
}
.home-page .education-gallery-track::-webkit-scrollbar{display:none}
.home-page .education-gallery-slide{
  flex:0 0 clamp(10rem,18vw,14rem);
  margin:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  scroll-snap-align:start;
  background:var(--line);
}
.home-page .education-gallery-slide img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.home-page .education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.home-page .education-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.home-page .education-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.5rem;
}
.home-page .education-track{
  margin:0 0 .45rem;
  color:var(--brand);
  font-size:.75rem;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-page .education-card h3{font-size:1.2rem;margin-bottom:.55rem}
.home-page .education-card-body > p:not(.education-track){color:var(--text-muted);font-size:.92rem}
.home-page .course-list{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  margin:auto 0 0;
  padding:1.1rem 0 0;
  border-top:1px solid var(--line);
  list-style:none;
  color:var(--text);
  font-size:.9rem;
}
.home-page .course-list li{position:relative;padding-left:1.15rem}
.home-page .course-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.65em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--brand);
}

.home-page .whitepapers-grid{gap:1rem}
.home-page .whitepaper-card{
  padding:1.5rem;
  box-shadow:var(--shadow-sm);
}
.home-page .whitepaper-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}

.home-page .about-grid{align-items:center}
.home-page .about-media{box-shadow:none}
.home-page .about-cta{
  max-width:46rem;
  margin:var(--space-4) 0 0;
  text-align:left;
  font-size:1.25rem;
}

.home-page .testimonials{
  background:var(--paper);
  color:var(--text);
  border-top:1px solid var(--line);
}
.home-page .testimonials .section-head{
  margin-inline:0;
  text-align:left;
}
.home-page .testimonials .eyebrow{color:var(--brand)}
.home-page .testimonials h2{color:var(--ink)}
.home-page .stat-row{border-top-color:var(--line);margin-bottom:var(--space-6)}
.home-page .stat b{color:var(--ink)}
.home-page .stat span{color:var(--text-muted)}
.home-page .testimonial-card{
  background:var(--card);
  color:var(--text);
  border-color:var(--line);
  box-shadow:var(--shadow-sm);
}
.home-page .testimonial-card blockquote{color:var(--text)}
.home-page .testimonial-card .author{color:var(--text-muted)}

.home-page .books{
  background:var(--paper);
  border-top:1px solid var(--line);
}
.home-page .books-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:clamp(1.75rem,3vw,2.5rem);
}
.home-page .books-head .section-head{margin-bottom:0}
.home-page .books-all{flex:none;margin-bottom:.2rem}
.home-page .books-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.home-page .book-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.25rem;
  padding:1.5rem;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.home-page .book-cover-link{
  display:block;
  width:145px;
  border-radius:4px 8px 8px 4px;
  box-shadow:8px 10px 18px rgba(11,29,58,.14);
  overflow:hidden;
  transition:var(--transition);
}
.home-page .book-cover-link:hover{transform:translateY(-3px);box-shadow:10px 14px 24px rgba(11,29,58,.18)}
.home-page .book-cover-image{width:100%;height:auto;aspect-ratio:313 / 500;object-fit:cover}
.home-page .book-topic{
  margin:0 0 .45rem;
  color:var(--brand);
  font-size:.75rem;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-page .book-details h3{font-size:1.15rem;margin-bottom:.55rem}
.home-page .book-details > p:not(.book-topic){color:var(--text-muted);font-size:.91rem;margin-bottom:.8rem}
.home-page .book-details .cta-link{font-size:.9rem}

.home-page .medium-articles{
  background:var(--paper);
  border-top:1px solid var(--line);
}
.home-page .medium-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:clamp(1.75rem,3vw,2.5rem);
}
.home-page .medium-head .section-head{margin-bottom:0}
.home-page .medium-all{flex:none;margin-bottom:.2rem}
.home-page .medium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.home-page .medium-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
}
.home-page .medium-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.home-page .medium-image-link{display:block;overflow:hidden;background:var(--wash)}
.home-page .medium-image{
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  transition:transform .3s ease;
}
.home-page .medium-card:hover .medium-image{transform:scale(1.02)}
.home-page .medium-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.5rem;
}
.home-page .medium-topic{
  margin:0 0 .7rem;
  color:var(--brand);
  font-size:.75rem;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-page .medium-card-body h3{font-size:1.18rem;margin-bottom:.65rem}
.home-page .medium-card-body h3 a{color:var(--ink)}
.home-page .medium-card-body h3 a:hover{color:var(--brand)}
.home-page .medium-card-body > p:not(.medium-topic){color:var(--text-muted);font-size:.92rem}
.home-page .medium-card-body > .cta-link{margin-top:auto;font-size:.9rem}

.home-page .contact{
  background:var(--paper);
  color:var(--text);
  border-top:1px solid var(--line);
  padding-block:clamp(2.75rem,5vw,4rem);
  text-align:left;
}
.home-page .contact-inner{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
  padding:clamp(1.75rem,4vw,3rem);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.home-page .contact .eyebrow{color:var(--brand)}
.home-page .contact h2{color:var(--ink);max-width:17ch;margin-bottom:.65rem}
.home-page .contact-copy > p:last-child{
  color:var(--text-muted);
  max-width:54ch;
  margin:0;
}
.home-page .contact-actions{
  padding-left:clamp(1.5rem,4vw,3rem);
  border-left:1px solid var(--line);
}
.home-page .contact-button{display:inline-block;margin:0}
.home-page .site-footer{
  background:var(--card);
  color:var(--text-muted);
  border-top:1px solid var(--line);
  padding:2.75rem 0 1.5rem;
}
.home-page .site-footer p,
.home-page .site-footer a{color:var(--text-muted)}
.home-page .site-footer h4,
.home-page .footer-brand{color:var(--ink)}
.home-page .site-footer a:hover{color:var(--brand)}
.home-page .site-footer .ai-chip{border-color:var(--brand);color:var(--brand)}
.home-page .site-footer .ai-chip:hover{background:var(--wash);color:var(--brand-deep)}
.home-page .footer-bottom{border-top-color:var(--line);color:var(--text-faint)}

.home-page .terminal{
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}
.home-page .terminal-bar{
  background:#f0f2f6;
  border-bottom-color:var(--line);
}
.home-page .terminal-bar span,
.home-page .terminal-body .t-dim{color:var(--text-faint)}
.home-page .terminal-body{color:var(--text);background:var(--card)}
.home-page .terminal-body .t-prompt,
.home-page .terminal-body .t-ok{color:var(--brand)}
.home-page .terminal-body .t-cmd{color:var(--ink)}

@media (max-width:920px){
  .home-page .hero-grid{grid-template-columns:1fr}
  .home-page .terminal{max-width:42rem}
  .home-page .product-grid{grid-template-columns:1fr}
  .home-page .books-grid{grid-template-columns:1fr}
  .home-page .book-card{display:grid;grid-template-columns:120px 1fr;align-items:center}
  .home-page .book-cover-link{width:120px}
  .home-page .medium-grid{grid-template-columns:1fr}
  .home-page .education-grid{grid-template-columns:1fr}
}

@media (max-width:700px){
  .home-page section{padding-block:2.75rem}
  .home-page .hero{padding-block:2.75rem 3rem}
  .home-page .hero-content h1{font-size:clamp(2.35rem,12vw,3.25rem)}
  .home-page .hero-ctas{display:grid}
  .home-page .hero-ctas .cta-button{width:100%;box-sizing:border-box}
  .home-page .hero-facts{display:grid;gap:.65rem}
  .home-page .service-card{min-height:0}
  .home-page .about-cta{text-align:left}
  .home-page .books-head{align-items:flex-start;flex-direction:column;gap:1rem}
  .home-page .medium-head{align-items:flex-start;flex-direction:column;gap:1rem}
  .home-page .education-head{align-items:flex-start;flex-direction:column;gap:1rem}
  .home-page .education-cta{width:100%;box-sizing:border-box}
  .home-page .education-proof{align-items:flex-start;flex-direction:column;gap:.35rem}
  .home-page .book-card{grid-template-columns:105px 1fr;gap:1.15rem;padding:1.15rem}
  .home-page .book-card{display:grid;align-items:center}
  .home-page .book-cover-link{width:105px}
  .home-page .contact-inner{grid-template-columns:1fr;gap:1.75rem;padding:1.5rem}
  .home-page .contact-actions{padding:1.5rem 0 0;border-left:0;border-top:1px solid var(--line)}
  .home-page .contact-button{width:100%;box-sizing:border-box}
}

/* -------------------------------------------------
   Shared inner-page design
------------------------------------------------- */
.site-page{
  --paper:#f7f7f4;
  --wash:#eef2f8;
  --line:#d9dee8;
  background:var(--paper);
}
.site-page main{background:var(--paper)}
.site-page main > section{padding:clamp(2.75rem,5vw,4rem) 0}
.site-page .section-head{
  max-width:46rem;
  margin:0 0 clamp(1.75rem,3vw,2.5rem);
  text-align:left;
}
.site-page .services,
.site-page .whitepapers,
.site-page .about{background:var(--paper);border:0}
.site-page main > section + section{border-top:1px solid var(--line)}

/* Light header/footer treatment used on the homepage. */
.site-page .site-footer{
  background:var(--card);
  color:var(--text-muted);
  border-top:1px solid var(--line);
  padding:2.75rem 0 1.5rem;
}
.site-page .site-footer p,
.site-page .site-footer a{color:var(--text-muted)}
.site-page .site-footer h4,
.site-page .footer-brand{color:var(--ink)}
.site-page .site-footer a:hover{color:var(--brand)}
.site-page .site-footer .ai-chip{border-color:var(--brand);color:var(--brand)}
.site-page .site-footer .ai-chip:hover{background:var(--wash);color:var(--brand-deep)}
.site-page .footer-bottom{border-top-color:var(--line);color:var(--text-faint)}

/* Articles and policy pages. */
.article-page .article{padding-block:clamp(2.5rem,5vw,4rem)}
.article-page .article .container{width:min(92%,980px)}
.article-page .article .about-card,
.article-page .article > .container > .about-body{
  max-width:52rem;
  margin-inline:auto;
  padding:clamp(1.5rem,4vw,3rem);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.article-page .article-head{
  margin-bottom:var(--space-4);
  padding-bottom:var(--space-4);
  text-align:left;
}
.article-page .article-head-split{grid-template-columns:180px 1fr}
.article-page .article h1{font-size:clamp(2rem,5vw,3rem)}
.article-page .article h2{margin-top:2.25em}
.article-page .article h2:first-child{margin-top:0}
.article-page .article .about-body{max-width:none}
.article-page .code-sample,
.site-page .code-sample{
  background:var(--wash);
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:none;
}

/* Contact/inquiry form. */
.form-page .article .container{width:min(92%,680px)}
.form-page .form-card{
  max-width:34rem;
  padding:clamp(1.5rem,4vw,2.5rem);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.form-page .about-title{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:1.25rem}
.form-page .contact-form-stack input{background:var(--paper);padding:.7rem .8rem}
.form-page .contact-form-stack button[type="submit"]{border-radius:var(--radius-sm)}
.form-page .cta-row{justify-content:flex-start}

/* Product page: same light surfaces, alignment, and card language. */
.product-page .hero{
  padding-block:clamp(3rem,6vw,4.5rem);
  background:var(--paper);
}
.product-page .hero::before{display:none}
.product-page .hero-content{text-align:left}
.product-page .hero-content .lede{margin-inline:0;max-width:38rem}
.product-page .hero-ctas,
.product-page .hero-facts{justify-content:flex-start}
.product-page .service-card,
.product-page .whitepaper-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:1.5rem;
  box-shadow:var(--shadow-sm);
}
.product-page .service-card{min-height:0}
.product-page .service-icon{width:30px;height:30px;margin-bottom:1rem;color:var(--brand);flex:none}
.product-page .about-body{max-width:52rem}

.product-page .output-panel,
.product-page .pricing-panel{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.product-page .output-docs,
.product-page .output-cli,
.product-page .pricing-summary,
.product-page .pricing-details{padding:clamp(1.5rem,3vw,2.5rem)}
.product-page .output-docs > h3,
.product-page .output-cli > h3,
.product-page .pricing-summary > h3,
.product-page .pricing-details > h3{margin-bottom:1.25rem}
.product-page .output-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem}
.product-page .output-item{padding-top:1rem;border-top:1px solid var(--line)}
.product-page .output-item h4{font-size:1rem;margin-bottom:.35rem}
.product-page .output-item p{margin:0;color:var(--text-muted);font-size:.92rem}
.product-page .output-cli{
  background:var(--paper);
  border-left:1px solid var(--line);
}
.product-page .output-label,
.product-page .pricing-kicker{
  margin:0 0 .55rem;
  color:var(--brand);
  font-size:.78rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.product-page .command-list{margin:0}
.product-page .command-list > div{padding:.8rem 0;border-top:1px solid var(--line)}
.product-page .command-list dt{margin-bottom:.25rem;font-weight:650}
.product-page .command-list dd{margin:0;color:var(--text-muted);font-size:.88rem}
.product-page .output-samples{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1.25rem clamp(1.5rem,3vw,2.5rem);
  border-top:1px solid var(--line);
}
.product-page .output-samples p{margin:0}
.product-page .output-samples p strong{display:block;color:var(--ink)}
.product-page .output-samples p span{display:block;color:var(--text-muted);font-size:.88rem}

.product-page .pricing-panel{grid-template-columns:.85fr 1.15fr}
.product-page .pricing-summary{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  background:var(--paper);
  border-right:1px solid var(--line);
}
.product-page .pricing-summary > p:not(.pricing-kicker){color:var(--text-muted);margin-bottom:1.5rem}
.product-page .pricing-list{list-style:none;margin:0;padding:0}
.product-page .pricing-list li{
  position:relative;
  padding:.85rem 0 .85rem 1.75rem;
  border-top:1px solid var(--line);
}
.product-page .pricing-list li::before{
  content:"\2713";
  position:absolute;
  left:0;
  top:.84rem;
  color:var(--brand);
  font-weight:800;
}
.product-page .pricing-list strong{display:block;color:var(--ink);font-size:.95rem}
.product-page .pricing-list span{display:block;color:var(--text-muted);font-size:.88rem}
.product-page .pricing-note{
  margin:1rem 0 0;
  padding:1rem;
  background:var(--wash);
  border-radius:var(--radius-sm);
  color:var(--text-muted);
  font-size:.86rem;
}

/* Terminals stay technical without introducing a dark surface. */
.site-page .terminal{
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}
.site-page .terminal-bar{background:#f0f2f6;border-bottom-color:var(--line)}
.site-page .terminal-bar span,
.site-page .terminal-body .t-dim{color:var(--text-faint)}
.site-page .terminal-body{color:var(--text);background:var(--card)}
.site-page .terminal-body .t-prompt,
.site-page .terminal-body .t-ok{color:var(--brand)}
.site-page .terminal-body .t-cmd{color:var(--ink)}

/* Seminar page: normalize its standalone styles to the shared system. */
.site-page.seminar-page .s-hero{background:var(--paper);color:var(--text);padding:0}
.site-page.seminar-page .s-hero .container{padding-top:3rem;padding-bottom:3rem}
.site-page.seminar-page .s-hero-label{
  color:var(--brand);
  background:transparent;
  border-color:var(--line);
}
.site-page.seminar-page .s-hero-text h1{color:var(--ink)}
.site-page.seminar-page .s-hero-text .subtitle{color:var(--text-muted)}
.site-page.seminar-page .s-hero-meta span{
  color:var(--text);
  background:var(--card);
  border-color:var(--line);
}
.site-page.seminar-page .s-early-bird{background:var(--wash);border-color:var(--brand);color:var(--brand-deep)}
.site-page.seminar-page .s-early-bird code{background:var(--card);color:var(--brand-deep)}
.site-page.seminar-page .s-hero-form{border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.site-page.seminar-page .s-hero-form h2,
.site-page.seminar-page .s-hero-form .form-price{text-align:left}
.site-page.seminar-page .s-hero-form button[type="submit"]{background:var(--brand);border-radius:var(--radius-sm)}
.site-page.seminar-page .s-stats{background:var(--card);border-block:1px solid var(--line);padding:1.25rem 0}
.site-page.seminar-page .s-stat{color:var(--text)}
.site-page.seminar-page .s-stat-num{color:var(--ink)}
.site-page.seminar-page .s-stat-label{color:var(--text-muted)}
.site-page.seminar-page .s-section,
.site-page.seminar-page .s-section.alt{background:var(--paper);padding:clamp(2.75rem,5vw,4rem) 0}
.site-page.seminar-page .s-section + .s-section{border-top:1px solid var(--line)}
.site-page.seminar-page .s-section h2{text-align:left}
.site-page.seminar-page .s-section h2::after{margin:.65rem 0 0}
.site-page.seminar-page .s-benefit{text-align:left;box-shadow:var(--shadow-sm)}
.site-page.seminar-page .s-benefit-icon{margin-inline:0}
.site-page.seminar-page .s-outcomes li,
.site-page.seminar-page .s-theme{background:var(--card);border:1px solid var(--line)}
.site-page.seminar-page .s-cta-bar{
  background:var(--paper);
  color:var(--text);
  text-align:left;
  border-top:1px solid var(--line);
  padding:clamp(2.75rem,5vw,4rem) 0;
}
.site-page.seminar-page .s-cta-bar h2{color:var(--ink)}
.site-page.seminar-page .s-cta-bar p{color:var(--text-muted)}

@media (max-width:860px){
  .article-page .article-head-split{grid-template-columns:1fr}
  .product-page .hero-grid{grid-template-columns:1fr}
  .site-page.seminar-page .s-hero .container{grid-template-columns:1fr}
  .site-page.seminar-page .s-hero-text{text-align:left}
  .site-page.seminar-page .s-hero-meta{justify-content:flex-start}
  .site-page.seminar-page .s-hero-form{margin:0;max-width:34rem}
  .product-page .output-panel,
  .product-page .pricing-panel{grid-template-columns:1fr}
  .product-page .output-cli{border-left:0;border-top:1px solid var(--line)}
  .product-page .pricing-summary{border-right:0;border-bottom:1px solid var(--line)}
  .product-page .output-samples{align-items:flex-start;flex-direction:column}
}

@media (max-width:700px){
  .site-page main > section{padding-block:2.75rem}
  .article-page .article .about-card,
  .article-page .article > .container > .about-body{padding:1.35rem}
  .product-page .hero-ctas{display:grid}
  .product-page .hero-ctas .cta-button{width:100%;box-sizing:border-box}
  .product-page .output-grid{grid-template-columns:1fr}
  .product-page .output-samples .chip-row{display:grid;width:100%}
  .product-page .output-samples .chip{justify-content:center}
}
