
/* Self-hosted fonts — replace Google Fonts external loading.
   Cormorant Garamond + IBM Plex Mono fall back to system serif/mono.
   B01 audit fix 2026-04-23. */
@font-face {
  font-family: 'DM Sans';
  src: url('/fonts/dm-sans-latin.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
*{margin:0;padding:0;box-sizing:border-box}

:root{
  --header-height:140px;
  --bg:#F8F6F2;
  --bg-alt:#EFEAE3;
  --surface:#FFFFFF;
  --text:#1A1A1A;
  --muted:#6B645C;
  --accent:#3B82F6;
  --accent2:#3B82F6;
  --gold:#3B82F6;
  --gold-soft:rgba(59,130,246,0.08);
  --border:#E7E2DA;
  --text3:#697077;
  --border-light:#EDEBE6;
  --code-bg:#1C1917;
  --code-surface:#292524;
  --footer-bg:#0f2248;
}

html{scroll-behavior:smooth}

body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

@font-face{
  font-family:'Heading Hyphen';
  src:url('/fonts/dm-sans-latin.woff2') format('woff2');
  unicode-range:U+002D,U+2010,U+2011,U+2013,U+2014;
  font-weight:100 900;
  font-display:swap;
}

h1,h2,h3{
  font-family:'Heading Hyphen','Cormorant Garamond',serif;
  font-weight:500;
  letter-spacing:-0.5px;
}

a{color:var(--text);text-decoration:none;transition:color .25s}

code,.mono{font-family:'IBM Plex Mono',monospace}

.container{max-width:1200px;margin:0 auto;padding:0 clamp(24px,4vw,48px)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* ========== HEADER ========== */

.header{
  height:var(--header-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 40px;
  background:#ffffff;
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:100;
}

.nav-left,.nav-right{
  display:flex;
  align-items:center;
  gap:28px;
}

.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:36px}
.logo-text{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;letter-spacing:-0.5px;color:var(--text)}
.logo-text .dim{color:var(--muted)}
.logo-text .acc{color:var(--accent)}

.menu{
  display:flex;
  gap:26px;
  align-items:center;
  font-size:14px;
  letter-spacing:0.04em;
}

.menu a{
  text-decoration:none;
  color:var(--text);
  cursor:pointer;
  padding:6px 14px;
  border-radius:30px;
  transition:all .25s ease;
}

.menu a:hover,
.menu a.active{
  background:#000;
  color:#fff;
}

.icon-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0.8;
  cursor:pointer;
  transition:transform .25s ease,opacity .25s ease;
  background:none;
  border:none;
  color:var(--text);
  padding:4px;
}

.icon-btn:hover{
  transform:translateY(-2px);
  opacity:1;
}

.mobile-menu{
  display:none;
  background:none;
  border:none;
  color:var(--text);
  font-size:24px;
  cursor:pointer;
  padding:8px;
}

@media(max-width:900px){
  .header{padding:0 20px}
  .logo img{height:32px}
  .logo-text{display:none}
  .menu{display:none;position:absolute;top:var(--header-height);left:0;right:0;flex-direction:column;background:white;border-bottom:1px solid var(--border);padding:24px 20px;gap:12px;z-index:99}
  .menu.open{display:flex}
  .mobile-menu{display:block}
  .nav-right .icon-btn{display:none}
}

/* ========== HERO ========== */

.hero{
  min-height:85vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:120px 8%;
  background:linear-gradient(120deg,#f8f6f2,#f2efe9,#f8f6f2);
  background-size:300% 300%;
  animation:heroGradient 12s ease infinite;
}

@keyframes heroGradient{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

.hero-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  font-weight:600;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:28px;
}

.hero h1{
  font-size:clamp(40px,6vw,68px);
  font-weight:500;
  margin-bottom:20px;
  letter-spacing:-1px;
  line-height:1.08;
}

.hero h1 em{
  font-style:italic;
  color:var(--gold);
}

.hero p{
  font-size:20px;
  max-width:640px;
  margin:auto;
  margin-bottom:40px;
  color:var(--muted);
}

.hero-actions{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:20px;
}

.hero-note{
  font-size:12px;
  color:var(--muted);
  letter-spacing:0.3px;
}

/* ========== PAGE HEADER (sub-pages) ========== */

.page-header{
  padding:120px 8% 80px;
  text-align:center;
  background:linear-gradient(120deg,#f8f6f2,#f2efe9,#f8f6f2);
  border-bottom:1px solid var(--border);
}

.page-header h1{
  font-size:clamp(36px,5vw,56px);
  margin-bottom:16px;
}

.page-header p{
  font-size:18px;
  color:var(--muted);
  max-width:560px;
  margin:0 auto;
}

/* ========== BUTTONS ========== */

.button{
  display:inline-block;
  padding:14px 32px;
  border:1px solid var(--accent);
  text-decoration:none;
  color:var(--accent);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.5px;
  text-transform:uppercase;
  transition:all .3s ease;
}

.button:hover{
  background:var(--accent);
  color:#fff;
}

.button-filled{
  background:var(--accent);
  color:#fff;
}

.button-filled:hover{
  background:transparent;
  color:var(--accent);
}

/* ========== SECTIONS ========== */

section{padding:120px 8%}

.section-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  font-weight:600;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:16px;
}

h2{
  font-size:clamp(32px,5vw,52px);
  font-weight:500;
  letter-spacing:-1px;
  line-height:1.1;
  margin-bottom:20px;
}

.section-sub{
  font-size:17px;
  color:var(--muted);
  max-width:540px;
  line-height:1.75;
  margin-bottom:56px;
}

/* ========== PROOF BAR ========== */

.proof-bar{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:36px 0;
  background:var(--surface);
}

.proof-items{
  display:flex;
  justify-content:center;
  gap:clamp(24px,5vw,64px);
  flex-wrap:wrap;
}

.proof-item{text-align:center}

.proof-item .num{
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:500;
  color:var(--text);
  display:block;
  line-height:1.2;
}

.proof-item .label{
  font-size:12px;
  color:var(--muted);
  letter-spacing:0.5px;
  text-transform:uppercase;
}

/* ========== SPLIT LAYOUT ========== */

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

@media(max-width:900px){
  .split{grid-template-columns:1fr;gap:40px}
}

.mission-text p{
  font-size:17px;
  color:var(--muted);
  line-height:1.85;
  margin-bottom:24px;
}

.mission-text p:first-of-type::first-line{
  color:var(--text);
  font-weight:500;
}

.mission-stat{
  display:flex;
  align-items:baseline;
  gap:16px;
  padding:20px 0;
  border-bottom:1px solid var(--border-light);
}

.mission-stat:last-child{border-bottom:none}

.mission-stat .big{
  font-family:'Cormorant Garamond',serif;
  font-size:40px;
  font-weight:500;
  color:var(--gold);
  min-width:100px;
}

.mission-stat .desc{
  font-size:14px;
  color:var(--muted);
}

/* ========== CARD GRID ========== */

.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:2px;
  background:var(--border);
}

.card{
  padding:40px;
  background:var(--surface);
  transition:background .3s ease;
}

.card:hover{background:var(--bg)}

.card .card-icon{
  font-size:24px;
  margin-bottom:20px;
  color:var(--gold);
  display:block;
}

.card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  margin-bottom:10px;
  font-weight:500;
}

.card p{
  font-size:14px;
  color:var(--muted);
  line-height:1.7;
}

/* ========== LINK CARDS (home page) ========== */

.link-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:2px;
  background:var(--border);
}

.link-card{
  display:block;
  padding:48px 40px;
  background:var(--surface);
  text-decoration:none;
  transition:background .3s;
}

.link-card:hover{background:var(--bg)}

.link-card .link-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  font-weight:600;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:12px;
}

.link-card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:26px;
  font-weight:500;
  margin-bottom:10px;
  color:var(--text);
}

.link-card p{
  font-size:14px;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:20px;
}

.link-card .link-arrow{
  font-size:13px;
  font-weight:600;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:0.5px;
}

.link-card:hover .link-arrow{color:var(--gold)}

/* ========== STEPS ========== */

.steps-section{
  background:var(--bg-alt);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.step{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:32px;
  padding:48px 0;
  border-bottom:1px solid var(--border);
  align-items:start;
}

.step:last-child{border-bottom:none}

.step-num{
  font-family:'Cormorant Garamond',serif;
  font-size:48px;
  font-weight:500;
  color:var(--gold);
  line-height:1;
}

.step h3{
  font-family:'Cormorant Garamond',serif;
  font-size:24px;
  font-weight:500;
  margin-bottom:12px;
}

.step p{
  font-size:15px;
  color:var(--muted);
  line-height:1.75;
  max-width:560px;
}

.step code{
  font-size:12px;
  background:var(--surface);
  border:1px solid var(--border);
  padding:2px 8px;
  color:var(--gold);
}

.time-badge{
  display:inline-block;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  font-weight:500;
  color:var(--gold);
  background:var(--gold-soft);
  border:1px solid rgba(91,107,245,0.15);
  padding:4px 12px;
  margin-top:12px;
  letter-spacing:0.3px;
}

.download-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:16px;
  font-size:13px;
  font-weight:600;
  color:var(--gold);
  padding:10px 20px;
  border:1px solid var(--border);
  background:var(--surface);
  text-decoration:none;
  transition:all .3s;
  letter-spacing:0.3px;
}

.download-link:hover{
  border-color:var(--gold);
  background:var(--gold-soft);
  color:var(--gold);
}

@media(max-width:640px){
  .step{grid-template-columns:1fr}
  .step-num{font-size:36px;margin-bottom:8px}
}

/* ========== CODE DEMO ========== */

.demo-section{
  background:var(--surface);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.demo-flow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:40px;
  flex-wrap:wrap;
}

.demo-pill{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  padding:8px 16px;
  background:var(--bg);
  border:1px solid var(--border);
  color:var(--muted);
  letter-spacing:0.3px;
}

.demo-pill.active{
  background:var(--gold-soft);
  border-color:rgba(91,107,245,0.2);
  color:var(--gold);
  font-weight:500;
}

.demo-arrow{color:var(--muted);font-size:18px}

.code-window{
  background:var(--code-bg);
  overflow:hidden;
  max-width:720px;
  margin:0 auto;
}

.code-header{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px 20px;
  background:var(--code-surface);
  border-bottom:1px solid #3a3632;
}

.code-dot{width:10px;height:10px;border-radius:50%}
.code-dot.r{background:#ef4444}
.code-dot.y{background:#eab308}
.code-dot.g{background:#22c55e}

.code-filename{
  margin-left:12px;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  color:#78716c;
}

.code-body{
  padding:24px;
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;
  line-height:1.9;
  color:#a8a29e;
  overflow-x:auto;
  white-space:pre;
}

.code-body .kw{color:#fbbf24}
.code-body .ty{color:#c4b5fd}
.code-body .str{color:#86efac}
.code-body .cm{color:#57534e;font-style:italic}
.code-body .fn{color:#93c5fd}

/* ========== SYSTEM TYPES ========== */

.types-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:2px;
  background:var(--border);
}

.type-card{
  background:var(--surface);
  padding:28px 16px;
  text-align:center;
  transition:all .35s;
}

.type-card:hover{background:var(--gold-soft)}

.type-card .name{
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  font-weight:600;
  margin-bottom:4px;
  color:var(--text);
}

.type-card .desc{
  font-size:11px;
  color:var(--muted);
}

/* ========== COMPARISON TABLE ========== */

.compare-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.compare-table th{
  text-align:left;
  padding:14px 20px;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--muted);
  border-bottom:2px solid var(--border);
  background:var(--bg-alt);
}

.compare-table td{
  padding:14px 20px;
  border-bottom:1px solid var(--border-light);
  color:var(--muted);
}

.compare-table tr:hover td{background:var(--bg-alt)}
.compare-table .yes{color:var(--gold);font-weight:600}
.compare-table .no{color:var(--muted);opacity:0.5}

/* ========== USE CASES ========== */

.usecases-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  background:var(--border);
}

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

.usecase-card{
  background:var(--surface);
  padding:clamp(28px,4vw,40px);
  transition:background .3s;
}

.usecase-card:hover{background:var(--bg)}

.usecase-card .uc-icon{
  font-size:28px;
  margin-bottom:16px;
  display:block;
}

.usecase-card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-weight:500;
  margin-bottom:8px;
}

.usecase-card p{
  font-size:13px;
  color:var(--muted);
  line-height:1.7;
}

/* ========== TESTIMONIALS ========== */

.testimonials{
  background:var(--bg-alt);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.testimonial-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:var(--border);
}

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

.testimonial{
  background:var(--surface);
  padding:clamp(32px,4vw,48px);
}

.testimonial blockquote{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-weight:400;
  font-style:italic;
  line-height:1.6;
  margin-bottom:20px;
  color:var(--text);
}

.testimonial blockquote::before{
  content:'\201E';
  font-size:48px;
  line-height:0;
  vertical-align:-16px;
  color:var(--gold);
  margin-right:4px;
}

.testimonial .author{font-size:13px;color:var(--muted)}
.testimonial .author strong{color:var(--text);font-weight:600}

/* ========== PRICING ========== */

.pricing-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:var(--border);
  max-width:720px;
  margin:0 auto;
}

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

.price-card{
  background:var(--surface);
  padding:clamp(32px,4vw,48px);
}

.price-card.featured{
  background:var(--text);
  color:var(--bg);
}

.price-card .tier{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:20px;
  color:var(--muted);
}

.price-card.featured .tier{color:var(--gold)}

.price-card .amount{
  font-family:'Cormorant Garamond',serif;
  font-size:56px;
  font-weight:500;
  line-height:1;
  margin-bottom:4px;
}

.price-card .amount .currency{font-size:28px;font-weight:400}
.price-card.featured .amount .currency{color:rgba(250,248,244,0.5)}

.price-card .period{
  font-size:13px;
  color:var(--muted);
  margin-bottom:28px;
}

.price-card.featured .period{color:rgba(250,248,244,0.5)}

.price-card ul{list-style:none;margin-bottom:36px}

.price-card li{
  font-size:14px;
  color:var(--muted);
  padding:7px 0;
  padding-left:20px;
  position:relative;
}

.price-card.featured li{color:rgba(250,248,244,0.7)}

.price-card li::before{
  content:"\2014";
  position:absolute;
  left:0;
  color:var(--gold);
  font-weight:500;
}

.price-btn{
  display:block;
  width:100%;
  text-align:center;
  padding:14px 24px;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.5px;
  text-decoration:none;
  transition:all .3s;
  cursor:pointer;
  border:1px solid;
  font-family:inherit;
}

.price-btn-outline{
  background:transparent;
  color:var(--text);
  border-color:var(--border);
}

.price-btn-outline:hover{
  border-color:var(--text);
  background:var(--text);
  color:#fff;
}

.price-btn-light{
  background:var(--bg);
  color:var(--text);
  border-color:var(--bg);
}

.price-btn-light:hover{
  background:transparent;
  color:var(--bg);
  border-color:var(--bg);
}

/* ========== FAQ ========== */

.faq-list{
  max-width:680px;
  margin:0 auto;
}

details{border-bottom:1px solid var(--border)}

details summary{
  padding:24px 0;
  cursor:pointer;
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-weight:500;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:color .3s;
}

details summary:hover{color:var(--gold)}

details summary::after{
  content:"+";
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:400;
  color:var(--muted);
  transition:all .3s;
  flex-shrink:0;
  margin-left:16px;
}

details[open] summary::after{
  content:"\2212";
  color:var(--gold);
}

details summary::-webkit-details-marker{display:none}

details .answer{
  padding:0 0 24px;
  font-size:15px;
  color:var(--muted);
  line-height:1.8;
  max-width:580px;
}

/* ========== CTA SECTION ========== */

.cta-section{
  background:var(--surface);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  text-align:center;
}

/* ========== FOOTER ========== */

.footer{
  background:var(--footer-bg);
  border-top:1px solid rgba(255,255,255,0.08);
  color:#e0e0ff;
  padding:3rem 5vw 2.5rem;
}

.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:4rem;
  max-width:1400px;
  margin:0 auto;
}

.footer-col h4{
  font-size:1.15rem;
  font-weight:600;
  color:white;
  margin-bottom:1.2rem;
  letter-spacing:0.5px;
}

.footer-link{
  display:block;
  color:#b0b0ff;
  font-size:0.95rem;
  margin-bottom:0.8rem;
  text-decoration:none;
  transition:color .25s ease,transform .25s ease;
}

.footer-link:hover{
  color:white;
  transform:translateX(6px);
}

.footer-bottom{
  margin-top:2.5rem;
  padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,0.1);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:2rem;
  font-size:0.9rem;
  max-width:1400px;
  margin-left:auto;
  margin-right:auto;
}

.footer-trademark{
  font-size:0.8rem;
  color:rgba(176,176,255,0.8);
  line-height:1.5;
}

@media(max-width:640px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-bottom{flex-direction:column;text-align:center}
  section{padding:80px 6%}
}

/* ========== FLOATING CTA ========== */

.floating-cta{
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:90;
  background:var(--accent);
  color:#fff;
  padding:14px 28px;
  border-radius:50px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 4px 20px rgba(91,107,245,0.4);
  transition:transform .25s ease,box-shadow .25s ease,opacity .4s ease;
  opacity:0;
  pointer-events:none;
}

.floating-cta.visible{
  opacity:1;
  pointer-events:auto;
}

.floating-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 28px rgba(91,107,245,0.55);
  color:#fff;
}

@media(max-width:640px){
  .floating-cta{
    bottom:16px;
    right:16px;
    left:16px;
    text-align:center;
    border-radius:12px;
  }
}

/* ========== FAQ ACCORDION ========== */

.faq-list{display:flex;flex-direction:column;gap:0}

.faq-item{
  border-bottom:1px solid var(--border);
}

.faq-item summary{
  padding:20px 0;
  font-size:16px;
  font-weight:500;
  color:var(--text);
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.faq-item summary::-webkit-details-marker{display:none}

.faq-item summary::after{
  content:'+';
  font-size:22px;
  font-weight:300;
  color:var(--muted);
  transition:transform .2s ease;
  flex-shrink:0;
  margin-left:16px;
}

.faq-item[open] summary::after{
  content:'\2212';
  color:var(--accent);
}

.faq-item p{
  padding:0 0 20px;
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin:0;
}

/* ========== STECKBRIEF PREVIEW ========== */

.steckbrief-preview{
  margin-top:20px;
  background:var(--code-bg);
  max-width:480px;
  overflow:hidden;
}

.steckbrief-preview summary{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  color:var(--gold);
  padding:12px 20px;
  cursor:pointer;
  background:var(--code-surface);
  border:none;
  letter-spacing:0.3px;
}

.steckbrief-preview summary:hover{color:#fff}
.steckbrief-preview summary::after{display:none}
.steckbrief-preview summary::-webkit-details-marker{display:none}

.steckbrief-preview pre{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  line-height:1.8;
  color:#a8a29e;
  padding:16px 20px;
  margin:0;
  white-space:pre;
  overflow-x:auto;
}

.steckbrief-preview .hl{color:var(--gold)}
.steckbrief-preview .ok{color:#86efac}
.steckbrief-preview .no{color:#ef4444;opacity:0.7}

/* ========== BEFORE / AFTER ========== */

.before-after{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:var(--border);
  max-width:960px;
  margin:0 auto;
}

@media(max-width:768px){
  .before-after{grid-template-columns:1fr}
}

.before-after .ba-panel{
  background:var(--surface);
  padding:32px;
}

.before-after .ba-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:16px;
  display:block;
}

.before-after .ba-label.before{color:var(--muted)}
.before-after .ba-label.after{color:var(--gold)}

.before-after .ba-requirement{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;
  font-style:italic;
  line-height:1.6;
  color:var(--text);
}

.before-after .ba-meta{
  margin-top:20px;
  font-size:12px;
  color:var(--muted);
  font-family:'IBM Plex Mono',monospace;
}

/* ========== REVIEW PROCESS ========== */

.review-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}

@media(max-width:900px){
  .review-grid{grid-template-columns:1fr;gap:40px}
}

.review-text p{
  font-size:16px;
  color:var(--muted);
  line-height:1.8;
  margin-bottom:16px;
}

.review-checklist{
  list-style:none;
  padding:0;
}

.review-checklist li{
  padding:16px 0;
  border-bottom:1px solid var(--border-light);
  display:flex;
  align-items:baseline;
  gap:14px;
  font-size:14px;
  color:var(--muted);
  line-height:1.6;
}

.review-checklist li:last-child{border-bottom:none}

.review-checklist .check{
  color:var(--gold);
  font-size:16px;
  flex-shrink:0;
}

.review-checklist strong{
  color:var(--text);
  font-weight:600;
}

/* ========== CLEAN CORE BANNER ========== */

.clean-core{
  background:var(--code-bg);
  color:#a8a29e;
}

.clean-core .container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}

@media(max-width:900px){
  .clean-core .container{grid-template-columns:1fr;gap:40px}
}

.clean-core h2{color:#fff}

.clean-core p{
  font-size:16px;
  color:#a8a29e;
  line-height:1.8;
  margin-bottom:16px;
}

.clean-core .cc-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}

.clean-core .cc-tag{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  padding:6px 14px;
  border:1px solid #3a3632;
  color:var(--gold);
  letter-spacing:0.3px;
}

/* ========== FREE TRIAL BANNER ========== */

.free-trial-banner{
  background:var(--gold-soft);
  border:1px solid rgba(91,107,245,0.15);
  padding:32px 40px;
  max-width:720px;
  margin:0 auto 48px;
  text-align:center;
}

.free-trial-banner h3{
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:500;
  margin-bottom:8px;
  color:var(--text);
}

.free-trial-banner p{
  font-size:15px;
  color:var(--muted);
  line-height:1.7;
}

/* === Footer (FounderJury-style 2-section navy) === */
/* Added 2026-04-25 — replaces .footer-grid + .footer-link + .footer-bottom block. */
.fj-footer {
  margin-top: auto;
  font-family: var(--font-ibm-plex-sans), 'IBM Plex Sans', system-ui, sans-serif;
}
.fj-footer-grid {
  background: #003d7a;
}
.fj-footer-grid-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 32px 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}
.fj-footer-col-title {
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 1.5px;
  margin-bottom: 16px;
}
.fj-footer-link {
  display: block;
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  margin-bottom: 6px;
  line-height: 1.4;
  transition: color .15s ease;
}
.fj-footer-link:hover {
  color: #ffffff;
  text-decoration: underline;
}
.fj-footer-strip {
  background: #003d7a;
  border-top: 2px solid rgba(255,255,255,0.8);
}
.fj-footer-strip-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 24px 24px 20px;
}
.fj-footer-strip-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}
.fj-footer-strip-links {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.fj-footer-strip-link {
  font-size: 13px;
  color: #ffffff;
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s;
}
.fj-footer-strip-link:hover {
  border-bottom-color: #5fa9ff;
}
.fj-footer-strip-meta {
  font-size: 12px;
  color: rgba(255,255,255,0.8);
}
.fj-footer-trademark {
  font-size: 11px;
  color: rgba(255,255,255,0.5);
  line-height: 1.5;
  margin: 0;
  text-align: center;
}
@media (max-width: 768px) {
  .fj-footer-grid-inner { grid-template-columns: repeat(2, 1fr) !important; gap: 32px !important; }
}
@media (max-width: 480px) {
  .fj-footer-grid-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
}
