/* ============================================================================
   Mihu AI — Blog post: Guard Rules, Escalation & Human-in-the-Loop
   Page-specific (content) styles only; header/footer come from index.html's
   stylesheets (s-7b769d0663 + s-ef39ab5d25). Inherit --bronze-*/--gray-*/--white
   from shared; define only the tokens they lack.
   ============================================================================ */

/* index.html's #header is position:fixed; offset body so blog content clears it. */
body{padding-top:80px;}
/* index's header is transparent at the top (it overlays the homepage hero). On a
   content page that lets the breadcrumb/article show through the fixed bar, so make
   it opaque always — matching the other blog posts. */
#header{background:rgba(255,255,255,0.96); -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px); border-bottom:1px solid var(--gray-100);}

:root{
  --bronze-50:#f5f7ff;
  --violet-600:#6d5bd0; --violet-500:#8775e0; --violet-100:#ece8fb; --violet-50:#f5f3fd;
  --emerald:#2f9e72; --emerald-bg:#e7f5ee; --rose:#d8593f; --rose-bg:#fdeee9; --amber:#c98a22; --amber-bg:#fbf1dd;
  --radius:16px; --radius-sm:10px; --maxw:1180px; --narrow:760px;
}
.container-narrow{max-width:var(--narrow); margin:0 auto; padding:0 24px;}

/* ---- Hero ---- */
    .blog-hero{padding:54px 0 8px; background:radial-gradient(900px 360px at 80% -10%, var(--bronze-50), transparent 60%);}
    .blog-breadcrumb{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--gray-500); margin-bottom:22px;}
    .blog-breadcrumb a{color:var(--gray-500);}
    .blog-breadcrumb a:hover{color:var(--bronze-600);}
    .blog-breadcrumb svg{width:14px; height:14px;}
    .blog-category{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--bronze-600); background:var(--bronze-100); padding:7px 14px; border-radius:999px; margin-bottom:20px;}
    .blog-title{font-family:"DM Serif Display",Georgia,serif; font-weight:400; color:var(--gray-900); font-size:clamp(33px,5vw,52px); line-height:1.08; letter-spacing:-.015em; margin:0 0 18px; max-width:20ch;}
    .blog-excerpt{font-size:20px; color:var(--gray-600); max-width:64ch; margin:0 0 26px;}
    .blog-meta{display:flex; flex-wrap:wrap; gap:22px; color:var(--gray-500); font-size:14px; border-top:1px solid var(--gray-200); padding-top:20px;}
    .blog-meta-item{display:flex; align-items:center; gap:8px;}
    .blog-meta-item svg{width:16px; height:16px; color:var(--bronze-500);}

    /* ---- Featured visual ---- */
    .blog-featured-image{padding:30px 0 6px;}
    .featured-wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
    .gd-visual{background:linear-gradient(160deg,var(--gray-900),#221f29 70%); border-radius:22px; padding:34px 28px; color:#fff; position:relative; overflow:hidden;}
    .gd-visual:before{content:""; position:absolute; inset:0; background:radial-gradient(600px 220px at 16% 0%, rgba(184,129,58,.26), transparent 60%);}
    .gd-flow{position:relative; display:flex; align-items:stretch; justify-content:center; gap:14px; flex-wrap:wrap;}
    .gd-col{flex:1; min-width:180px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:18px;}
    .gd-col .h{display:flex; align-items:center; gap:8px; font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.6); margin-bottom:12px;}
    .gd-col .h svg{width:16px; height:16px;}
    .gd-line{display:flex; align-items:center; gap:8px; font-size:13.5px; color:rgba(255,255,255,.88); margin-bottom:9px;}
    .gd-line .x{color:#ffb3a1; font-weight:800;} .gd-line .ok{color:#9fe6c6; font-weight:800;}
    .gd-line .tg{font-size:11px; font-weight:700; padding:2px 8px; border-radius:6px; background:rgba(207,160,102,.22); color:#f0d3ad;}
    .gd-arrow{align-self:center; color:rgba(255,255,255,.32);} .gd-arrow svg{width:22px; height:22px;}
    .gd-foot{position:relative; text-align:center; margin-top:24px; font-size:13px; color:rgba(255,255,255,.72);}
    .gd-foot b{color:#fff;}
    @media(max-width:760px){.gd-flow{flex-direction:column;} .gd-arrow{transform:rotate(90deg);}}

    /* ---- Article body ---- */
    .blog-content{padding:42px 0 30px;}
    .article-body{font-size:18px;}
    .article-body h2{font-family:"DM Serif Display",Georgia,serif; font-weight:400; color:var(--gray-900); font-size:clamp(26px,3.4vw,34px); line-height:1.18; letter-spacing:-.01em; margin:46px 0 14px; scroll-margin-top:90px;}
    .article-body h3{font-size:21px; font-weight:800; color:var(--gray-900); margin:30px 0 8px; letter-spacing:-.01em;}
    .article-body p{margin:0 0 18px; color:var(--gray-700);}
    .article-body ul{margin:0 0 20px; padding-left:0; list-style:none;}
    .article-body ul li{position:relative; padding-left:30px; margin-bottom:11px; color:var(--gray-700);}
    .article-body ul li:before{content:""; position:absolute; left:8px; top:11px; width:7px; height:7px; border-radius:2px; background:var(--bronze-500); transform:rotate(45deg);}
    .article-body strong{color:var(--gray-900); font-weight:700;}
    .article-body code{background:var(--bronze-50); border:1px solid var(--bronze-200); color:var(--bronze-700); padding:1px 7px; border-radius:6px; font-size:15px;}
    .lead{font-size:21px; color:var(--gray-800);}

    /* ---- TOC ---- */
    .toc{background:var(--bronze-50); border:1px solid var(--bronze-200); border-radius:var(--radius); padding:24px 26px; margin:6px 0 36px;}
    .toc-title{font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--bronze-600); margin-bottom:14px;}
    .toc-list{list-style:none; margin:0; padding:0; columns:2; column-gap:30px;}
    .toc-list li{margin:0 0 10px; padding:0; break-inside:avoid;}
    .toc-list li:before{display:none;}
    .toc-list a{color:var(--gray-700); font-size:15px; font-weight:600;}
    .toc-list a:hover{color:var(--bronze-600); text-decoration:none;}
    @media(max-width:600px){.toc-list{columns:1;}}

    /* ---- Callout ---- */
    .callout{position:relative; background:var(--white); border:1px solid var(--gray-200); border-left:4px solid var(--bronze-500); border-radius:var(--radius-sm); padding:24px 26px 22px; margin:30px 0; box-shadow:0 8px 30px -22px rgba(20,20,28,.35);}
    .callout-icon{width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:var(--bronze-100); margin-bottom:12px;}
    .callout-icon svg{width:20px; height:20px; stroke:var(--bronze-600);}
    .callout-title{font-size:17px; font-weight:800; color:var(--gray-900); margin:0 0 8px;}
    .callout-text{margin:0; color:var(--gray-700); font-size:16.5px;}
    .callout.success{border-left-color:var(--emerald); background:linear-gradient(180deg,var(--emerald-bg),#fff 65%);}
    .callout.success .callout-icon{background:#d6efe1;}
    .callout.success .callout-icon svg{stroke:var(--emerald);}

    /* ---- Pillar cards ---- */
    .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:26px 0;}
    .pillar{border:1px solid var(--gray-200); border-radius:var(--radius); padding:22px; background:#fff;}
    .pillar-ico{width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--bronze-100); margin-bottom:14px;}
    .pillar-ico svg{width:22px; height:22px; stroke:var(--bronze-600);}
    .pillar h3{margin:0 0 6px; font-size:18px;}
    .pillar p{font-size:15px; margin:0; color:var(--gray-600);}
    @media(max-width:760px){.pillars{grid-template-columns:1fr;}}

    /* ---- Rule list (do / never) ---- */
    .rulebox{border:1px solid var(--gray-200); border-radius:var(--radius); overflow:hidden; margin:24px 0;}
    .rulebox-col{padding:20px 22px;}
    .rulebox-col + .rulebox-col{border-top:1px solid var(--gray-200);}
    .rulebox-col h4{margin:0 0 12px; font-size:14px; text-transform:uppercase; letter-spacing:.05em; display:flex; align-items:center; gap:8px;}
    .rulebox-col.always h4{color:var(--emerald);} .rulebox-col.never h4{color:var(--rose);}
    .rulebox-col ul{margin:0;} .rulebox-col li{font-size:15px; margin-bottom:8px;}
    .rulebox-col.always li:before{background:var(--emerald);} .rulebox-col.never li:before{background:var(--rose);}

    /* ---- Triggers chips ---- */
    .triggers{display:flex; flex-wrap:wrap; gap:10px; margin:22px 0;}
    .trigger{display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:var(--gray-800); background:var(--amber-bg); border:1px solid #f0dcb0; border-radius:999px; padding:9px 16px;}
    .trigger svg{width:15px; height:15px; stroke:var(--amber);}

    /* ---- Chat demo ---- */
    .chat{border:1px solid var(--gray-200); border-radius:var(--radius); overflow:hidden; margin:26px 0; background:#fff;}
    .chat-bar{display:flex; align-items:center; gap:8px; padding:12px 16px; background:var(--gray-100); border-bottom:1px solid var(--gray-200); font-size:13px; color:var(--gray-500); font-weight:600;}
    .chat-bar .dot{width:9px; height:9px; border-radius:50%; background:var(--bronze-400);}
    .chat-body{padding:18px;}
    .bubble{max-width:88%; padding:12px 16px; border-radius:14px; margin-bottom:12px; font-size:15.5px; line-height:1.55;}
    .bubble.cust{background:var(--gray-100); color:var(--gray-800); border-bottom-left-radius:4px;}
    .bubble.agent{background:var(--bronze-50); border:1px solid var(--bronze-200); color:var(--gray-800); margin-left:auto; border-bottom-right-radius:4px;}
    .bubble.system{font-size:13.5px; background:var(--amber-bg); border:1px solid #f0dcb0; color:#8a5e15; text-align:center; max-width:100%; font-weight:600;}
    .bubble.human{background:var(--violet-50); border:1px solid var(--violet-100); color:var(--gray-800); margin-left:auto; border-bottom-right-radius:4px;}
    .bubble .who{display:block; font-size:11.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px; opacity:.7;}

    /* ---- Use cases ---- */
    .usecase{border:1px solid var(--gray-200); border-radius:var(--radius); padding:22px 24px; margin:16px 0; background:linear-gradient(180deg,var(--gray-100),#fff 30%);}
    .usecase-head{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
    .usecase-ico{width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:var(--bronze-100); flex-shrink:0;}
    .usecase-ico svg{width:21px; height:21px; stroke:var(--bronze-600);}
    .usecase-head h3{margin:0; font-size:18px;}
    .usecase p{margin:0; color:var(--gray-700); font-size:15.5px;}
    .usecase .role{font-weight:700; color:var(--bronze-700);}

    /* ---- Stat row ---- */
    .stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:28px 0;}
    .stat-card{background:var(--gray-900); color:#fff; border-radius:var(--radius-sm); padding:22px 18px; text-align:center;}
    .stat-num{font-family:"DM Serif Display",serif; font-size:30px; line-height:1.05; color:var(--bronze-400); margin-bottom:8px;}
    .stat-lbl{font-size:13.5px; color:rgba(255,255,255,.74); font-weight:500;}
    @media(max-width:640px){.stat-row{grid-template-columns:1fr;}}

    /* ---- FAQ ---- */
    .faq-item{border-bottom:1px solid var(--gray-200); padding:18px 0;}
    .faq-q{font-weight:800; color:var(--gray-900); font-size:18px; margin:0 0 8px;}
    .faq-a{margin:0; color:var(--gray-700); font-size:16.5px;}

    /* ---- CTA ---- */
    .cta{background:linear-gradient(150deg,var(--gray-900),#241f29); border-radius:22px; color:#fff; padding:46px 40px; margin:50px 0 10px; text-align:center; position:relative; overflow:hidden;}
    .cta:before{content:""; position:absolute; inset:0; background:radial-gradient(500px 220px at 50% -30%, rgba(184,129,58,.35), transparent 60%);}
    .cta h2{font-family:"DM Serif Display",serif; font-weight:400; color:#fff !important; font-size:32px; margin:0 0 12px; position:relative;}
    .cta p{color:rgba(255,255,255,.82); max-width:56ch; margin:0 auto 26px; position:relative;}
    .cta .btn-primary{background:var(--bronze-500); position:relative;}
    .cta .btn-primary:hover{background:var(--bronze-400);}
    .cta-sub{display:block; margin-top:14px; font-size:13.5px; color:rgba(255,255,255,.6); position:relative;}

    /* ---- Share ---- */
    .share{display:flex; align-items:center; gap:12px; margin:40px 0 0; padding-top:26px; border-top:1px solid var(--gray-200);}
    .share-label{font-size:14px; font-weight:700; color:var(--gray-600);}
    .share-btn{width:40px; height:40px; border-radius:10px; border:1px solid var(--gray-200); background:#fff; display:grid; place-items:center; cursor:pointer; color:var(--gray-600); transition:.16s;}
    .share-btn:hover{border-color:var(--bronze-400); color:var(--bronze-600);}
    .share-btn svg{width:18px; height:18px;}

/* ---- RTL tweaks (ar / he) ---- */
[dir="rtl"] .bubble.agent,[dir="rtl"] .bubble.human{margin-left:0; margin-right:auto;}
[dir="rtl"] .gd-arrow svg{transform:scaleX(-1);}
[dir="rtl"] .blog-title,[dir="rtl"] .blog-excerpt,[dir="rtl"] .article-body{text-align:right;}
