/* ============================================================
   AI Sales Engine — Design System (handwritten / sketch)
   Shared CSS for secondary pages (a-propos, services, blog, etc.)
   Home (index.html) keeps its own inline CSS for full layout.
   ============================================================ */

:root{
  --paper:#fbf8f3;
  --paper-2:#f3ede2;
  --paper-3:#e8e0d0;
  --ink:#1a1a1a;
  --ink-2:#2a2a2a;
  --muted:#8a8579;
  --line-soft:#c9c2b4;
  --accent:#c5523a;
  --accent-soft:#f5d9d1;
  --accent-deep:#9b3d2a;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Kalam',cursive;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
  font-size:16px;
  overflow-x:hidden;
}
::selection{background:var(--accent-soft);color:var(--ink)}

/* paper texture */
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(0,0,0,0.018) 1px, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(0,0,0,0.018) 1px, transparent 1px),
    radial-gradient(circle at 40% 80%, rgba(0,0,0,0.022) 1px, transparent 1px);
  background-size:17px 23px,23px 19px,31px 29px;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}

.caveat{font-family:'Caveat',cursive;font-weight:700;letter-spacing:-0.01em}
.architects{font-family:'Architects Daughter',cursive}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:0.04em}

.container{max-width:1240px;margin:0 auto;padding:0 32px;position:relative;z-index:2}
@media (max-width:720px){.container{padding:0 20px}}

/* ───────── NAV ───────── */
.nav{position:sticky;top:0;z-index:50;background:var(--paper);
  border-bottom:2px solid var(--ink)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;max-width:1240px;margin:0 auto;gap:24px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);
  font-family:'Caveat',cursive;font-size:28px;font-weight:700}
.logo-dot{width:14px;height:14px;background:var(--accent);
  border:2px solid var(--ink);border-radius:50%;transform:rotate(-3deg);flex-shrink:0}
.nav-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.nav-links a{color:var(--ink);text-decoration:none;font-family:'Kalam',cursive;
  font-size:17px;position:relative;padding:4px 2px}
.nav-links a:hover{color:var(--accent)}
.nav-links a:hover::after{content:"";position:absolute;left:-4px;right:-4px;bottom:-2px;
  height:6px;background:var(--accent-soft);z-index:-1;border-radius:2px}
.nav-links a[aria-current="page"]::after{content:"";position:absolute;left:-4px;right:-4px;bottom:-2px;
  height:6px;background:var(--accent-soft);z-index:-1;border-radius:2px}

.btn{display:inline-flex;align-items:center;gap:8px;
  padding:10px 22px;background:var(--ink);color:var(--paper);
  text-decoration:none;font-family:'Kalam',cursive;font-size:16px;font-weight:700;
  border:2px solid var(--ink);border-radius:999px;cursor:pointer;
  transform:rotate(-0.5deg);
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.btn:hover{transform:rotate(-0.5deg) translate(-2px,-2px);
  box-shadow:4px 4px 0 var(--accent)}
.btn-accent{background:var(--accent);border-color:var(--ink);color:var(--paper)}
.btn-accent:hover{box-shadow:4px 4px 0 var(--ink)}
.btn-ghost{background:var(--paper);color:var(--ink);transform:rotate(0.4deg)}
.btn-ghost:hover{transform:rotate(0.4deg) translate(-2px,-2px);
  background:var(--paper-2);box-shadow:4px 4px 0 var(--ink)}

@media (max-width:920px){
  .nav-links{display:none}
}

/* ───────── HEADINGS ───────── */
h1,h2,h3,h4{margin:0;font-family:'Caveat',cursive;font-weight:700;line-height:0.98}
h1{font-size:clamp(48px,7vw,96px)}
h2{font-size:clamp(38px,5.4vw,68px)}
h3{font-size:28px;line-height:1.05}
h4{font-size:22px;line-height:1.1}
p{margin:0}

.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:0.14em;color:var(--muted);
  display:flex;align-items:center;gap:10px;margin-bottom:14px}
.eyebrow::before{content:"—";color:var(--accent);font-size:14px}

.underline-accent{background:linear-gradient(transparent 62%, var(--accent-soft) 62%);
  padding:0 6px;border-radius:3px}
.stamp{display:inline-block;background:var(--accent);color:var(--paper);
  padding:0 10px;border-radius:6px;transform:rotate(-2deg);
  border:2px solid var(--ink)}
.italic-em{font-style:normal;background:var(--accent-soft);padding:0 6px;border-radius:4px}

/* ───────── PAGE HERO ───────── */
.page-hero{padding:64px 0 48px;border-bottom:2px dashed var(--line-soft)}
.page-hero h1{margin:18px 0 20px}
.page-hero .lede{font-family:'Architects Daughter',cursive;font-size:18px;
  color:var(--ink-2);max-width:640px;line-height:1.55}

/* ───────── SECTIONS ───────── */
section{padding:80px 0;border-bottom:2px dashed var(--line-soft);position:relative}
@media (max-width:720px){section{padding:56px 0}}
section:last-of-type{border-bottom:none}

.section-head{margin-bottom:42px;max-width:880px}
.section-head h2{margin-bottom:14px}
.section-head .lede{font-family:'Architects Daughter',cursive;
  font-size:17px;color:var(--ink-2);max-width:640px;line-height:1.55}

/* ───────── GENERIC CARDS ───────── */
.card-grid{display:grid;gap:18px}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.card-grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1080px){.card-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:880px){.card-grid.cols-3,.card-grid.cols-4{grid-template-columns:1fr}}
@media (max-width:680px){.card-grid.cols-2{grid-template-columns:1fr}}

.sketch-card{border:2.5px solid var(--ink);border-radius:14px;
  padding:24px 22px;background:var(--paper);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;
  position:relative}
.sketch-card:nth-child(odd){transform:rotate(-0.4deg)}
.sketch-card:nth-child(even){transform:rotate(0.4deg)}
.sketch-card:nth-child(3n){transform:rotate(0.6deg)}
.sketch-card:hover{transform:rotate(0deg) translate(-3px,-3px);
  box-shadow:5px 5px 0 var(--accent)}
.sketch-card .num{font-family:'JetBrains Mono',monospace;font-size:10.5px;
  color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}
.sketch-card h3{font-size:24px;line-height:1.05}
.sketch-card p{font-family:'Architects Daughter',cursive;font-size:14.5px;
  color:var(--ink-2);line-height:1.55}
.sketch-card .arrow{font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);
  margin-top:auto;font-weight:500}

.icon-square{width:44px;height:44px;border:2px solid var(--ink);
  border-radius:10px;background:var(--paper-2);
  display:flex;align-items:center;justify-content:center;
  font-family:'Caveat',cursive;font-size:22px;font-weight:700}

/* ───────── ARTICLE LAYOUT ───────── */
.article-wrap{max-width:760px;margin:0 auto;padding:0 32px}
@media (max-width:720px){.article-wrap{padding:0 20px}}
.article-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.article-meta a{color:var(--ink);text-decoration:none;font-weight:500;text-transform:none;letter-spacing:0;font-family:'Kalam',cursive}
.article-meta time,.article-meta .read{font-family:'JetBrains Mono',monospace}
.article-body h1{font-size:clamp(40px,5.4vw,64px);margin-bottom:20px}
.article-body h2{font-size:clamp(30px,3.8vw,44px);margin:36px 0 14px;
  padding-top:32px;border-top:1.5px dashed var(--line-soft)}
.article-body h3{font-size:24px;margin:28px 0 10px}
.article-body p{font-family:'Kalam',cursive;font-size:17px;line-height:1.7;
  color:var(--ink-2);margin-bottom:16px}
.article-body strong{color:var(--ink);font-weight:700;background:var(--accent-soft);padding:0 4px;border-radius:3px}
.article-body em{font-style:normal;font-family:'Architects Daughter',cursive;color:var(--ink-2)}
.article-body ul,.article-body ol{margin:0 0 18px 24px;font-family:'Kalam',cursive;
  font-size:16.5px;line-height:1.65;color:var(--ink-2)}
.article-body li{margin-bottom:8px}
.article-body code{background:var(--paper-2);border:1px solid var(--line-soft);
  padding:1px 6px;border-radius:4px;font-family:'JetBrains Mono',monospace;
  font-size:14px;color:var(--accent-deep)}
.article-body a.inline{color:var(--accent-deep);text-decoration:underline;
  text-decoration-color:var(--accent);text-underline-offset:3px}
.article-body blockquote{border-left:3px solid var(--accent);padding:6px 16px;
  margin:18px 0;font-family:'Architects Daughter',cursive;font-size:17px;
  color:var(--ink-2);background:var(--paper-2);border-radius:0 8px 8px 0}
.article-body .toc{background:var(--paper-2);border:2px solid var(--ink);
  border-radius:12px;padding:20px 24px;margin:24px 0;transform:rotate(-0.3deg)}
.article-body .toc h4{font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.article-body .toc ol{margin-left:20px;font-family:'Kalam',cursive;font-size:16px}
.article-body .toc a{color:var(--ink-2);text-decoration:none}
.article-body .toc a:hover{color:var(--accent)}

.article-cta{margin-top:44px;padding:32px;background:var(--ink);color:var(--paper);
  border-radius:14px;text-align:center;transform:rotate(-0.4deg);
  box-shadow:6px 6px 0 var(--accent)}
.article-cta h3{color:var(--paper);margin-bottom:10px}
.article-cta p{font-family:'Architects Daughter',cursive;font-size:15px;
  color:var(--paper);opacity:.85;margin-bottom:20px}

/* ───────── FAQ ───────── */
.faq{max-width:780px;margin:0 auto}
.faq-item{border:2px solid var(--ink);border-radius:12px;background:var(--paper);
  margin-bottom:12px;overflow:hidden;transition:box-shadow .2s}
.faq-item:nth-child(odd){transform:rotate(-0.2deg)}
.faq-item:nth-child(even){transform:rotate(0.2deg)}
.faq-item[open]{box-shadow:4px 4px 0 var(--accent)}
.faq-item summary{cursor:pointer;padding:18px 24px;font-family:'Caveat',cursive;
  font-size:22px;font-weight:700;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;list-style:none;gap:18px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:28px;color:var(--accent);
  transition:transform .2s;font-weight:700;line-height:1}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item-content{padding:0 24px 18px;font-family:'Architects Daughter',cursive;
  font-size:15px;color:var(--ink-2);line-height:1.6}

/* ───────── FORMS ───────── */
.form{display:flex;flex-direction:column;gap:18px;max-width:600px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-label{font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}
.form-input,.form-textarea,.form-select{
  width:100%;padding:12px 14px;background:var(--paper);
  border:2px solid var(--ink);border-radius:10px;
  font-family:'Kalam',cursive;font-size:16px;color:var(--ink);
  transform:rotate(-0.2deg);transition:transform .15s,box-shadow .15s}
.form-input:focus,.form-textarea:focus,.form-select:focus{
  outline:none;transform:rotate(0deg);box-shadow:4px 4px 0 var(--accent)}
.form-textarea{min-height:120px;resize:vertical}

/* ───────── CTA BLOCK ───────── */
.cta-block{background:var(--ink);color:var(--paper);
  padding:64px 48px;border-radius:18px;text-align:center;
  position:relative;overflow:hidden;
  border:2.5px solid var(--ink);box-shadow:8px 8px 0 var(--accent-soft)}
.cta-block::before{content:"";position:absolute;top:-100px;right:-100px;
  width:300px;height:300px;border-radius:50%;
  background:var(--accent);opacity:.18;filter:blur(40px)}
.cta-block > *{position:relative;z-index:1}
.cta-block h2{color:var(--paper);max-width:780px;margin:0 auto 18px}
.cta-block p{font-family:'Architects Daughter',cursive;font-size:17px;
  color:var(--paper);opacity:.78;max-width:520px;margin:0 auto 28px}

/* ───────── FOOTER ───────── */
footer{background:var(--paper);padding:56px 0 28px;border-top:2px solid var(--ink)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
@media (max-width:780px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-weight:500}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.footer-grid a{color:var(--ink);text-decoration:none;font-family:'Kalam',cursive;font-size:16px}
.footer-grid a:hover{color:var(--accent)}
.footer-brand .caveat{font-size:32px;display:flex;align-items:center;gap:10px;margin-bottom:10px}
.footer-brand p{font-family:'Architects Daughter',cursive;font-size:14.5px;
  color:var(--ink-2);max-width:36ch;line-height:1.55}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;
  padding-top:22px;border-top:1.5px dashed var(--line-soft);
  font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--muted);
  text-transform:uppercase;letter-spacing:0.1em;flex-wrap:wrap;gap:14px}

/* ───────── REVEAL ───────── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none}
  *{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
}

/* ───────── UTILS ───────── */
.text-center{text-align:center}
.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}
.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}
.muted{color:var(--muted)}
.note{font-family:'Architects Daughter',cursive;font-size:14px;color:var(--muted)}
