/* ─────────────────────────────────────────────────────────────────
   Kehila AI — Marketing + Legal shared chrome
   Aubergine palette × Editorial type system.
   Locked. Do not edit without checking ds-refined.jsx + ds-web-shared.jsx.
   ───────────────────────────────────────────────────────────────── */

:root{
  --bg:         #1A0F2E;
  --bg-deep:    #120A22;
  --bg-card:    #231538;
  --bg-elev:    #2D1C44;
  --navy:       #0F1B3D;
  --gold:       #D4A849;
  --gold-light: #E8C975;
  --gold-deep:  #8B6B2A;
  --gold-glow:  rgba(212, 168, 73, 0.12);
  --gold-mute:  rgba(212, 168, 73, 0.55);
  --garnet:     #9A2D3D;
  --garnet-light:#E08899;
  --ivory:      #F4EDDC;
  --muted:      #B8A89C;
  --muted-deep: #7A6A5E;
  --hairline:   rgba(212, 168, 73, 0.22);
  --hairline-soft:rgba(244, 237, 220, 0.10);

  --font-display:'Fraunces','Cormorant Garamond',Georgia,serif;
  --font-body:   'Fraunces',Georgia,serif;
  --font-ui:     'Inter',system-ui,sans-serif;
  --font-hebrew: 'Frank Ruhl Libre','Noto Serif Hebrew',serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--ivory);
  font-family:var(--font-ui);
  font-size:14px;
  line-height:1.5;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}

/* ── Header ──────────────────────────────────────────────────── */
.kai-header{
  display:flex;
  align-items:center;
  padding:20px 64px;
  border-bottom:1px solid var(--hairline-soft);
  background:rgba(18,10,34,0.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  position:sticky;
  top:0;
  z-index:50;
}
.kai-brand{display:flex;align-items:center;gap:12px}
.kai-brand-tile{
  width:36px;height:36px;border-radius:8px;background:var(--navy);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.kai-brand-tile svg{width:31px;height:31px}
.kai-wordmark{
  font-family:var(--font-ui);font-weight:600;font-size:18px;
  color:var(--ivory);letter-spacing:-0.02em;white-space:nowrap;
}
.kai-nav{flex:1;display:flex;justify-content:center;gap:32px}
.kai-nav a{
  font-family:var(--font-ui);font-size:13px;font-weight:500;
  color:var(--ivory);padding-bottom:4px;
  border-bottom:1px solid transparent;
  transition:color .2s, border-color .2s;
}
.kai-nav a:hover{color:var(--gold)}
.kai-nav a.is-active{color:var(--gold);border-bottom-color:var(--gold)}
.kai-right{display:flex;align-items:center;gap:18px}
.kai-lang{
  display:flex;align-items:center;gap:6px;
  font-family:var(--font-ui);font-size:11px;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;
}
.kai-lang .on{color:var(--gold)}
.kai-lang .off{color:var(--muted)}
.kai-lang .sep{color:var(--muted-deep)}
.kai-cta{
  padding:10px 18px;background:var(--gold);color:var(--bg);
  font-family:var(--font-ui);font-size:11px;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;
  display:flex;align-items:center;gap:8px;
}
.kai-cta:hover{background:var(--gold-light)}

/* ── Footer ──────────────────────────────────────────────────── */
.kai-footer{
  border-top:1px solid var(--hairline-soft);
  padding:56px 64px 32px;
  background:var(--bg-deep);
}
.kai-footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;
  gap:40px;
}
.kai-footer .brand-tagline{
  font-family:var(--font-display);font-style:italic;font-size:14px;
  color:var(--muted);margin-top:18px;line-height:1.5;max-width:260px;
}
.kai-footer .applestore-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px;border:1px solid var(--hairline);
  margin-top:22px;
}
.kai-footer .applestore-badge .small{
  font-family:var(--font-ui);font-size:8px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--muted);font-weight:600;
}
.kai-footer .applestore-badge .big{
  font-family:var(--font-ui);font-size:13px;font-weight:600;
  color:var(--ivory);margin-top:1px;
}
.kai-footer-col h4{
  font-family:var(--font-ui);font-size:9px;letter-spacing:0.3em;
  color:var(--gold);text-transform:uppercase;font-weight:600;margin:0;
}
.kai-footer-col ul{
  list-style:none;padding:0;margin:14px 0 0;
  display:flex;flex-direction:column;gap:10px;
}
.kai-footer-col a{
  font-family:var(--font-ui);font-size:12px;color:var(--ivory);font-weight:400;
}
.kai-footer-col a:hover{color:var(--gold)}
.kai-footer-divider{
  height:1px;background:var(--hairline-soft);margin:40px 0 22px;
}
.kai-footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
}
.kai-footer-bottom .copy{
  font-family:var(--font-ui);font-size:11px;color:var(--muted);
  letter-spacing:0.04em;
}
.kai-footer-bottom .meta{
  display:flex;align-items:center;gap:18px;
}
.kai-footer-bottom .made{
  font-family:var(--font-display);font-style:italic;font-size:12px;
  color:var(--muted);
}

/* ── Sections / layout ──────────────────────────────────────── */
.kai-section{padding:96px 64px;position:relative}
.kai-section--sm{padding:64px 64px}
.kai-section--lg{padding:104px 64px}

.kai-eyebrow{
  font-family:var(--font-ui);font-size:10px;letter-spacing:0.35em;
  color:var(--gold);text-transform:uppercase;font-weight:600;
}
.kai-eyebrow--muted{color:var(--muted-deep)}

.kai-title{
  font-family:var(--font-display);font-weight:400;color:var(--ivory);
  letter-spacing:-0.025em;line-height:1.04;
  text-wrap:balance;margin:0;
}
.kai-title em{color:var(--gold);font-style:italic}
.kai-lede{
  font-family:var(--font-display);font-style:italic;font-size:18px;
  color:var(--muted);line-height:1.5;text-wrap:pretty;margin:18px 0 0;
}
.kai-lede--lg{font-size:20px}

/* Framed card with corner fleurons */
.kai-frame{background:var(--bg-card);padding:4px;position:relative}
.kai-frame-inner{
  border:1px solid rgba(212,168,73,0.47);
  padding:28px 32px;position:relative;
}
.kai-frame .corner{
  position:absolute;width:20px;height:20px;pointer-events:none;
}
.kai-frame .corner-tl{top:-1px;left:-1px}
.kai-frame .corner-tr{top:-1px;right:-1px;transform:rotate(90deg)}
.kai-frame .corner-br{bottom:-1px;right:-1px;transform:rotate(180deg)}
.kai-frame .corner-bl{bottom:-1px;left:-1px;transform:rotate(270deg)}

/* Buttons */
.kai-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 20px;
  font-family:var(--font-ui);font-size:11px;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;
  border:1px solid rgba(212,168,73,0.53);
  color:var(--gold);background:transparent;
  transition:background .15s, color .15s;
}
.kai-btn:hover{background:rgba(212,168,73,0.10)}
.kai-btn--primary{
  background:var(--gold);color:var(--bg);border:none;
}
.kai-btn--primary:hover{background:var(--gold-light);color:var(--bg)}
.kai-btn--lg{padding:14px 26px;font-size:12px}

/* App store badge (large) */
.kai-appstore{
  display:inline-flex;align-items:center;gap:12px;
  padding:12px 20px;background:var(--ivory);color:var(--bg);
}
.kai-appstore .small{
  font-family:var(--font-ui);font-size:9px;letter-spacing:0.2em;
  text-transform:uppercase;font-weight:600;opacity:0.7;
}
.kai-appstore .big{
  font-family:var(--font-ui);font-size:18px;font-weight:600;
  margin-top:1px;letter-spacing:-0.02em;
}

/* Decorative rule */
.kai-rule{display:flex;align-items:center;gap:12px;width:100%}
.kai-rule::before,.kai-rule::after{
  content:"";flex:1;height:1px;
  background:linear-gradient(to right,transparent,var(--gold-mute),var(--gold));
}
.kai-rule::after{background:linear-gradient(to left,transparent,var(--gold-mute),var(--gold))}

/* Asterism */
.kai-asterism{
  display:inline-flex;align-items:center;gap:10px;color:var(--gold);
  font-family:var(--font-display);
}
.kai-asterism .big{font-size:12px}
.kai-asterism .small{font-size:9px;opacity:0.55}

/* Background dot wash */
.kai-dotwash{
  position:fixed;inset:0;opacity:0.04;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle at 50% 0%, var(--gold) 1px, transparent 1.5px);
  background-size:28px 28px;
}

/* Page wrap so footer sticks low */
.kai-wrap{
  display:flex;flex-direction:column;min-height:100vh;
  position:relative;z-index:1;
}
.kai-main{flex:1}

/* Hebrew helper */
.kai-hebrew{
  font-family:var(--font-hebrew);font-weight:500;
  direction:rtl;
}

/* Tag / pill */
.kai-pill{
  padding:5px 10px;font-family:var(--font-ui);font-size:9px;
  letter-spacing:0.2em;text-transform:uppercase;font-weight:600;
  border:1px solid var(--muted);color:var(--muted);
  display:inline-block;
}
.kai-pill--gold{
  background:var(--gold-glow);color:var(--gold);
  border-color:rgba(212,168,73,0.4);
}
.kai-pill--garnet{
  background:rgba(154,45,61,0.18);color:var(--garnet-light);
  border-color:rgba(154,45,61,0.6);
}

/* Form fields */
.kai-field{display:flex;flex-direction:column;gap:8px}
.kai-field label{
  font-family:var(--font-ui);font-size:9px;letter-spacing:0.3em;
  color:var(--gold);text-transform:uppercase;font-weight:600;
}
.kai-field input,.kai-field select,.kai-field textarea{
  padding:14px 16px;background:var(--bg-card);
  border:1px solid var(--hairline-soft);
  font-family:var(--font-display);font-size:15px;color:var(--ivory);
  outline:none;width:100%;transition:border-color .15s;
  border-radius:0;
  -webkit-appearance:none;
  appearance:none;
}
.kai-field input:focus,.kai-field select:focus,.kai-field textarea:focus{
  border-color:var(--gold);
}
.kai-field input::placeholder,
.kai-field textarea::placeholder{
  color:var(--muted);font-style:italic;
}
.kai-field textarea{min-height:160px;resize:vertical;line-height:1.5}
.kai-field select{
  background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),
                   linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 13px) 50%;
  background-size:5px 5px;background-repeat:no-repeat;
  padding-right:42px;
}

/* Responsive */
@media (max-width: 1024px){
  .kai-header{padding:18px 32px}
  .kai-section{padding:72px 32px}
  .kai-section--sm{padding:56px 32px}
  .kai-section--lg{padding:88px 32px}
  .kai-footer{padding:48px 32px 28px}
  .kai-footer-grid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width: 768px){
  .kai-header{padding:14px 20px;flex-wrap:wrap;gap:12px}
  .kai-nav{order:3;flex-basis:100%;justify-content:flex-start;gap:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
  .kai-nav a{white-space:nowrap;font-size:12px}
  .kai-right{margin-left:auto}
  .kai-cta{padding:8px 14px;font-size:10px}
  .kai-section{padding:56px 20px}
  .kai-section--sm{padding:40px 20px}
  .kai-section--lg{padding:64px 20px}
  .kai-footer{padding:40px 20px 24px}
  .kai-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .kai-footer-bottom{flex-direction:column;gap:14px;align-items:flex-start}
}
@media (max-width: 520px){
  .kai-footer-grid{grid-template-columns:1fr}
}

/* Section helpers — used heavily in pages */
.kai-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.kai-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.kai-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kai-grid-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:center}
.kai-grid-form{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}
.kai-grid-legal{display:grid;grid-template-columns:260px 1fr;gap:72px}

@media (max-width: 1024px){
  .kai-grid-2,.kai-grid-3,.kai-grid-4,
  .kai-grid-hero,.kai-grid-form,.kai-grid-legal{
    grid-template-columns:1fr;gap:48px;
  }
}

/* Editorial body */
.kai-prose p{
  font-family:var(--font-body);font-size:17px;color:var(--ivory);
  line-height:1.65;text-wrap:pretty;margin:0 0 24px;
}
.kai-prose em{color:var(--gold);font-style:italic}
.kai-prose .dropcap::first-letter{
  float:left;font-family:var(--font-display);font-size:64px;
  font-weight:500;color:var(--gold);line-height:0.85;
  margin-right:12px;margin-top:4px;
}

/* Stat tile */
.kai-stat{
  padding:22px 24px;background:var(--bg-card);
  border:1px solid var(--hairline-soft);
  display:flex;align-items:baseline;gap:14px;
}
.kai-stat .big{
  font-family:var(--font-display);font-size:30px;color:var(--gold);
  font-weight:500;letter-spacing:-0.02em;
}
.kai-stat .small{
  font-family:var(--font-display);font-style:italic;font-size:13px;
  color:var(--muted);line-height:1.4;
}

/* Feature card */
.kai-feat{
  padding:28px 24px;background:var(--bg-card);
  border:1px solid var(--hairline-soft);
}
.kai-feat .head{display:flex;align-items:center;justify-content:space-between}
.kai-feat .num{
  font-family:var(--font-display);font-style:italic;font-size:14px;
  color:var(--muted-deep);
}
.kai-feat .name{
  font-family:var(--font-display);font-size:26px;color:var(--ivory);
  font-weight:400;letter-spacing:-0.02em;margin-top:22px;
}
.kai-feat .body{
  font-family:var(--font-display);font-style:italic;font-size:13px;
  color:var(--muted);margin-top:8px;line-height:1.5;text-wrap:pretty;
}

/* Bullet list (legal) */
.kai-bullets{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:10px}
.kai-bullets li{
  display:flex;align-items:flex-start;gap:12px;
  font-family:var(--font-display);font-size:14px;color:var(--ivory);line-height:1.6;
}
.kai-bullets li::before{
  content:"";width:5px;height:5px;background:var(--gold);
  margin-top:9px;flex-shrink:0;
}

/* Email row (contact/support) */
.kai-email-row{
  display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:1px solid var(--hairline-soft);padding-bottom:12px;
  gap:18px;
}
.kai-email-row .label{
  font-family:var(--font-ui);font-size:10px;letter-spacing:0.22em;
  color:var(--muted);text-transform:uppercase;font-weight:600;
}
.kai-email-row .addr{
  font-family:var(--font-display);font-style:italic;font-size:15px;
  color:var(--gold);
}

/* Draft / projet banner */
.kai-draft-banner{
  padding:12px 18px;background:rgba(154,45,61,0.12);
  border:1px solid rgba(154,45,61,0.4);
  display:flex;align-items:center;gap:12px;margin-bottom:36px;
  flex-wrap:wrap;
}
.kai-draft-banner .badge{
  padding:2px 8px;background:var(--garnet);color:var(--ivory);
  font-family:var(--font-ui);font-size:9px;letter-spacing:0.2em;
  text-transform:uppercase;font-weight:700;
}
.kai-draft-banner .msg{
  font-family:var(--font-display);font-style:italic;font-size:13px;
  color:var(--ivory);
}

/* Legal ToC sticky */
.kai-toc{position:sticky;top:96px;align-self:flex-start}
@media (max-width: 1024px){.kai-toc{position:static;top:auto}}
.kai-toc-head{
  font-family:var(--font-ui);font-size:9px;letter-spacing:0.32em;
  color:var(--muted-deep);text-transform:uppercase;font-weight:600;
  margin-bottom:14px;
}
.kai-toc-list{display:flex;flex-direction:column;gap:8px}
.kai-toc-list a{
  font-family:var(--font-display);font-size:13px;font-style:italic;
  color:var(--muted);border-left:2px solid transparent;
  padding-left:10px;line-height:1.35;
}
.kai-toc-list a:hover,.kai-toc-list a.is-active{
  color:var(--gold);border-left-color:var(--gold);
}

/* Legal article */
.kai-article{
  margin-bottom:48px;padding-bottom:36px;
  border-bottom:1px solid var(--hairline-soft);
}
.kai-article:last-child{border-bottom:0}
.kai-article-tag{
  font-family:var(--font-ui);font-size:10px;letter-spacing:0.28em;
  color:var(--gold);text-transform:uppercase;font-weight:600;
}
.kai-article-title{
  font-family:var(--font-display);font-size:28px;color:var(--ivory);
  font-weight:400;letter-spacing:-0.02em;margin:8px 0 0;line-height:1.2;
}
.kai-article-lead{
  margin-top:14px;font-family:var(--font-display);font-style:italic;
  font-size:16px;color:var(--ivory);line-height:1.55;text-wrap:pretty;
}
.kai-article-body{
  margin-top:18px;font-family:var(--font-display);font-style:italic;
  font-size:14px;color:var(--muted-deep);line-height:1.7;text-wrap:pretty;
}
.kai-article-sub{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.kai-article-sub h5{
  font-family:var(--font-display);font-size:17px;color:var(--ivory);
  font-weight:500;letter-spacing:-0.01em;margin:0;
}
.kai-article-sub h5+p{margin-top:6px}
