*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#ffffff;--surface:#f4f7ff;--surface2:#e8eeff;
  --border:#dde4f5;--border2:#c5d0ee;--text:#0d1226;--muted:#536080;--hint:#96a3be;
  --accent:#2354e6;--accent-dark:#1a3fb5;--accent-light:#eef2ff;--accent-border:#c7d4fa;
  --green:#15803d;--green-bg:#f0fdf4;--green-border:#bbf7d0;
  --r:12px;--shadow:0 1px 4px rgba(35,84,230,0.06),0 6px 24px rgba(35,84,230,0.08);
}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;height:100%}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;overflow-x:hidden;width:100%;margin:0;padding:0}
#password-gate{-webkit-transform:translateZ(0)}

/* NAV */
nav{
  position:sticky;top:0;left:0;right:0;z-index:200;height:62px;
  padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;
  background:rgba(255,255,255,0.95);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.logo{font-family:'Instrument Serif',serif;font-size:1.25rem;color:var(--text);display:flex;align-items:center;gap:0.5rem;text-decoration:none}
.logo-icon{width:26px;height:26px;border-radius:7px;background:var(--accent);display:flex;align-items:center;justify-content:center}
.logo-icon svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.logo em{font-style:italic;color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:0.25rem}
.nav-link{text-decoration:none;color:var(--muted);font-size:0.875rem;padding:0.4rem 0.9rem;border-radius:7px;transition:all 0.15s;font-weight:400}
.nav-link:hover{background:var(--surface);color:var(--text)}
.nav-cta{background:var(--accent);color:#fff!important;font-weight:500;border-radius:8px;padding:0.45rem 1.2rem}
.nav-cta:hover{background:var(--accent-dark)}

/* HERO */
.hero{padding:7rem 2.5rem 6rem;max-width:1120px;margin:0 auto;text-align:center;position:relative}
.hero::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:800px;height:500px;background:radial-gradient(ellipse at 50% 30%, rgba(35,84,230,0.07) 0%, transparent 70%);pointer-events:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-light);border:1px solid var(--accent-border);padding:0.35rem 1rem;border-radius:100px;margin-bottom:2rem}
.hero-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
h1{font-family:'Instrument Serif',serif;font-size:clamp(2.6rem,5vw,4.2rem);line-height:1.08;letter-spacing:-0.03em;margin-bottom:1.5rem;max-width:820px;margin-left:auto;margin-right:auto}
h1 em{font-style:italic;color:var(--accent)}
.hero-sub{font-size:1.05rem;color:var(--muted);line-height:1.78;font-weight:300;max-width:560px;margin:0 auto 2.5rem}
.hero-actions{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:0.85rem 2rem;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:500;cursor:pointer;border:none;transition:all 0.15s;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--text);border:1.5px solid var(--border2)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.hero-proof{margin-top:3rem;display:flex;align-items:center;justify-content:center;gap:2rem;font-size:0.8rem;color:#475569;flex-wrap:wrap}
.proof-item{display:flex;align-items:center;gap:0.4rem}
.proof-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-border)}

/* SECTIONS */
.section{padding:5rem 2.5rem;max-width:1120px;margin:0 auto}
.sec-eyebrow{font-size:0.72rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.sec-title{font-family:'Instrument Serif',serif;font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.15;letter-spacing:-0.025em;margin-bottom:1rem}
.sec-title em{font-style:italic;color:var(--accent)}
.divider{height:1px;background:var(--border);max-width:1120px;margin:0 auto}

/* HOW IT WORKS */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.how-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:2rem;position:relative;overflow:hidden}
.how-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0;transition:opacity 0.2s}
.how-card:hover::after{opacity:1}
.how-num{font-family:'Instrument Serif',serif;font-size:2.5rem;color:var(--border2);line-height:1;margin-bottom:1.1rem}
.how-card h3{font-size:1rem;font-weight:500;margin-bottom:0.6rem}
.how-card p{font-size:0.875rem;color:var(--muted);line-height:1.68;font-weight:300}

/* ABOUT */
.about-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:5rem 2.5rem}
.about-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-quote{font-family:'Instrument Serif',serif;font-size:2rem;line-height:1.35;letter-spacing:-0.02em;color:var(--text);font-style:italic;border-left:3px solid var(--accent);padding-left:1.75rem;margin-bottom:2rem}
.about-text{font-size:0.95rem;color:var(--muted);line-height:1.8;font-weight:300;margin-bottom:1.25rem}
.founders{display:flex;gap:1.25rem;margin-top:2rem}
.founder{display:flex;align-items:center;gap:1rem}
.founder-avatar{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Instrument Serif',serif;font-size:1.5rem;color:#fff;overflow:hidden;flex-shrink:0;border:3px solid var(--border)}
.founder-avatar.emma{background:var(--accent)}
.founder-avatar.julie{background:#1a3fb5}
.founder-name{font-size:0.9rem;font-weight:500}
.founder-title{font-size:0.78rem;color:var(--hint)}
.about-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.about-stat{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem}
.about-stat-num{font-family:'Instrument Serif',serif;font-size:2rem;color:var(--accent);line-height:1;margin-bottom:0.35rem}
.about-stat-label{font-size:0.8rem;color:var(--muted);font-weight:300;line-height:1.4}

/* PRICING */
.pricing-section{padding:5rem 2.5rem;max-width:1120px;margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.pricing-card{background:var(--bg);border:1.5px solid var(--border);border-radius:16px;padding:2rem;transition:all 0.2s}
.pricing-card:hover{box-shadow:var(--shadow)}
.pricing-card.featured{border-color:var(--accent);background:var(--accent-light)}
.pricing-badge{display:inline-block;font-size:0.7rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;background:var(--accent);color:#fff;padding:0.25rem 0.7rem;border-radius:100px;margin-bottom:1.25rem}
.pricing-name{font-size:1rem;font-weight:500;margin-bottom:0.4rem}
.pricing-price{font-family:'Instrument Serif',serif;font-size:2.4rem;line-height:1;color:var(--text);margin-bottom:0.35rem}
.pricing-price span{font-size:1rem;font-family:'DM Sans',sans-serif;color:var(--muted);font-weight:300}
.pricing-desc{font-size:0.82rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.55;font-weight:300}
.pricing-features{list-style:none;display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1.75rem}
.pricing-features li{font-size:0.83rem;color:var(--muted);display:flex;align-items:flex-start;gap:0.5rem;font-weight:300}
.pricing-features li::before{content:'✓';color:var(--accent);font-weight:500;flex-shrink:0;margin-top:1px}
.pricing-btn{display:block;width:100%;padding:0.75rem;border-radius:8px;text-align:center;font-family:'DM Sans',sans-serif;font-size:0.875rem;font-weight:500;cursor:pointer;transition:all 0.15s;border:none;text-decoration:none}
.pricing-btn.primary{background:var(--accent);color:#fff}
.pricing-btn.primary:hover{background:var(--accent-dark)}
.pricing-btn.outline{background:transparent;color:var(--accent);border:1.5px solid var(--accent-border)}
.pricing-btn.outline:hover{background:var(--accent-light)}

/* APP */
.app-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:5rem 2.5rem;max-width:100%;overflow:hidden}
.app-inner{max-width:1320px;margin:0 auto}
.app-layout{display:grid;grid-template-columns:300px 1fr;gap:1.25rem;height:min(70vh, 720px);margin-top:1.5rem;max-width:100%;overflow:hidden}
.tmpl-sidebar{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden}
.ts-header{padding:0.85rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}
.ts-title{font-size:0.83rem;font-weight:500}
.ts-sub{font-size:0.7rem;color:var(--hint);margin-top:2px}
.ts-cats{display:flex;gap:0.3rem;padding:0.6rem 0.8rem;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.cat-pill{font-size:0.67rem;padding:0.22rem 0.58rem;border-radius:100px;background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all 0.15s}
.cat-pill:hover,.cat-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}
.ts-list{flex:1;overflow-y:auto;padding:0.6rem}
.ts-list::-webkit-scrollbar{width:3px}
.ts-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.tmpl-item{padding:0.65rem 0.75rem;border-radius:8px;cursor:pointer;transition:all 0.15s;border:1px solid var(--border);margin-bottom:0.4rem;background:var(--bg)}
.tmpl-item:hover{border-color:var(--accent-border);background:var(--accent-light)}
.ti-cat{font-size:0.62rem;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:var(--accent);margin-bottom:0.25rem}
.ti-title{font-size:0.77rem;font-weight:500;color:var(--text);line-height:1.35}
.chat-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);position:relative}
.cp-header{padding:0.9rem 1.1rem;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:space-between}
.cp-left{display:flex;align-items:center;gap:0.75rem}
.cp-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Instrument Serif',serif;font-style:italic;font-size:1rem;color:#fff}
.cp-name{font-size:0.9rem;font-weight:500}
.cp-desc{font-size:0.7rem;color:var(--hint);margin-top:1px}
.cp-badge{font-size:0.68rem;background:var(--green-bg);color:var(--green);border:1px solid var(--green-border);padding:0.18rem 0.58rem;border-radius:100px;font-weight:500}
.cp-msgs{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:0.85rem}
.cp-msgs::-webkit-scrollbar{width:4px}
.cp-msgs::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
.cm{max-width:82%;padding:0.75rem 1rem;font-size:0.875rem;line-height:1.65;font-weight:300}
.cm.ai{background:var(--surface);color:var(--text);align-self:flex-start;border-radius:3px 10px 10px 10px}
.cm.user{background:var(--accent);color:#fff;align-self:flex-end;border-radius:10px 3px 10px 10px;font-weight:400}
.cm.src{background:var(--green-bg);color:var(--green);font-size:0.73rem;border:1px solid var(--green-border);align-self:flex-start;border-radius:3px 10px 10px 10px;padding:0.42rem 0.85rem;max-width:92%}
.sources-badge{position:relative}
.sources-tag{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}
.sources-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:0;background:#0f172a;color:#e2e8f0;font-size:0.7rem;padding:0.6rem 0.8rem;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.2);width:max-content;max-width:320px;z-index:10;line-height:1.5}
.sources-tooltip div{padding:0.15rem 0}
.sources-tooltip.visible{display:block}
.sources-tag:hover + .sources-tooltip{display:block}
.cm.error{background:#fff1f1;color:#b91c1c;font-size:0.78rem;border:1px solid #fecaca;align-self:flex-start;border-radius:3px 10px 10px 10px;padding:0.5rem 0.9rem;max-width:92%}
.lang-switch{display:flex;border:1px solid var(--accent-border);border-radius:6px;overflow:hidden;cursor:pointer;flex-shrink:0}
.lang-opt{padding:0.2rem 0.45rem;font-size:0.85rem;line-height:1;opacity:0.4;transition:opacity 0.15s,background 0.15s}
.lang-opt.active{opacity:1;background:var(--accent-light)}
.typing-row{display:flex;gap:5px;align-items:center;padding:0.75rem 1rem;align-self:flex-start}
.td{width:6px;height:6px;border-radius:50%;background:var(--hint);animation:tdanim 1.2s infinite}
.td:nth-child(2){animation-delay:.2s}.td:nth-child(3){animation-delay:.4s}
@keyframes tdanim{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
.chat-scroll-btn{position:absolute;bottom:120px;right:16px;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--bg);color:var(--muted);font-size:1rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.12);z-index:10;transition:opacity 0.15s,transform 0.15s;display:flex;align-items:center;justify-content:center}
.chat-scroll-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.chat-scroll-btn.hidden{opacity:0;pointer-events:none;transform:translateY(6px)}
.cp-pills{padding:0.55rem 1rem;border-top:1px solid var(--border);display:flex;gap:0.4rem;flex-wrap:wrap;background:var(--surface)}
.cp-pill{font-size:0.71rem;padding:0.26rem 0.68rem;border-radius:100px;background:var(--bg);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all 0.15s;white-space:nowrap}
.cp-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.cp-input-wrap{padding:0.75rem;border-top:1px solid var(--border);background:var(--surface);display:flex;gap:0.5rem;align-items:flex-end}
.cp-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0.65rem 1rem;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.875rem;font-weight:300;outline:none;resize:none;max-height:100px;line-height:1.5;transition:border-color 0.15s}
.cp-input:focus{border-color:var(--accent)}
.cp-send{width:36px;height:36px;border-radius:8px;background:var(--accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity 0.15s}
.cp-send.sending{animation:pulse-send 1.5s ease-in-out infinite}
@keyframes pulse-send{0%,100%{opacity:0.5}50%{opacity:0.3}}
.cp-send:hover{opacity:0.85}
.cp-send:disabled{opacity:0.45;cursor:default}
.cp-send svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* CONTACT */
.contact-section{padding:5rem 2.5rem;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem}
.form-field{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:0.85rem}
.form-label{font-size:0.78rem;font-weight:500;color:var(--muted)}
.form-input{background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:0.75rem 1rem;font-family:'DM Sans',sans-serif;font-size:0.875rem;color:var(--text);outline:none;transition:border-color 0.15s;font-weight:300}
.form-input:focus{border-color:var(--accent)}
.form-textarea{min-height:120px;resize:vertical}
.contact-detail{display:flex;flex-direction:column;gap:0.6rem;margin-top:1.5rem}
.contact-item{font-size:0.875rem;color:var(--muted);display:flex;gap:0.5rem}
.contact-item strong{color:var(--text);font-weight:400}

/* FOOTER */
footer{padding:2rem 2.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-logo{font-family:'Instrument Serif',serif;font-size:1.1rem;color:var(--text);display:flex;align-items:center;gap:0.4rem}
.footer-logo em{color:var(--accent);font-style:italic}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{text-decoration:none;color:var(--hint);font-size:0.8rem;transition:color 0.15s}
.footer-links a:hover{color:var(--accent)}
.footer-copy{font-size:0.78rem;color:var(--hint)}
@media (max-width: 768px) {
  nav {
    padding: 0 1rem;
    height: 52px;
  }
  .nav-right {
    display: none;
  }
  #nav-toggle {
    display: block !important;
  }
  .section {
    padding: 2.5rem 1rem;
  }
  .hero {
    padding: 3rem 1rem 2.5rem;
    text-align: center;
  }
  .hero h1 {
    font-size: 2.2rem;
    line-height: 1.15;
  }
  .hero-sub {
    font-size: 0.9rem;
    max-width: 100%;
  }
  .hero-actions {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
  }
  .hero-actions a, .hero-actions button {
    width: 100%;
    text-align: center;
  }
  .hero-proof {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    text-align: left;
    padding: 0 0.5rem;
  }
  .how-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }
  .how-card {
    padding: 1.5rem;
  }
  .about-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .about-section {
    padding: 2.5rem 1rem;
  }
  .about-quote {
    font-size: 1.5rem;
    line-height: 1.35;
  }
  .about-stat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .founders {
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
  }
  .founder-avatar {
    width: 80px;
    height: 80px;
  }
  .pricing-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .pricing-section {
    padding: 2.5rem 1rem;
  }
  .contact-section {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2.5rem 1rem;
  }

  /* Chat section — the key part of the pilot */
  .app-section {
    padding: 0.75rem 0 0;
  }
  .app-section .sec-eyebrow {
    display: none;
  }
  .app-section .sec-title {
    padding: 0 0.75rem;
    font-size: 1.25rem;
    margin-bottom: 0.25rem;
  }
  /* Hide description texts and pilot scope box on mobile */
  .app-inner > p[style],
  .app-inner > div[style*="inline-block"] {
    display: none !important;
  }
  .app-inner {
    padding: 0 !important;
  }
  .app-layout {
    grid-template-columns: 1fr !important;
    height: auto;
    gap: 0;
    width: 100%;
    margin-top: 0.5rem;
  }
  .tmpl-sidebar {
    display: none !important;
  }
  .mobile-template-bar {
    display: block !important;
    padding: 0 0.75rem;
    margin-top: 0.5rem !important;
  }
  .chat-panel {
    height: calc(100vh - 180px);
    min-height: 400px;
    max-height: 700px;
    width: 100%;
    border-radius: 0;
    border: none;
    box-shadow: none;
    position: relative;
  }
  .cp-header {
    padding: 0.5rem 0.75rem;
    gap: 0.3rem;
  }
  .cp-header .cp-desc {
    display: none;
  }
  .cp-header .cp-name {
    font-size: 0.85rem;
  }
  .cp-avatar {
    width: 28px;
    height: 28px;
    font-size: 0.85rem;
  }
  .cp-left {
    gap: 0.5rem;
  }
  .cp-badge {
    font-size: 0.6rem;
    padding: 0.12rem 0.45rem;
  }
  .cp-msgs {
    padding: 0.75rem;
    gap: 0.6rem;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cm {
    max-width: 90%;
    font-size: 0.84rem;
    padding: 0.65rem 0.85rem;
  }
  .cm.ai {
    border-radius: 2px 10px 10px 10px;
  }
  .cp-input-wrap {
    padding: 0.5rem;
    background: var(--surface);
    z-index: 10;
    display: flex !important;
    align-items: flex-end;
    gap: 0.5rem;
    border-top: 1px solid var(--border);
  }
  .cp-send {
    display: flex !important;
    flex-shrink: 0 !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #2354e6 !important;
  }
  .cp-input {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100%;
    padding: 0.65rem 0.75rem;
  }
  .cp-pill {
    font-size: 0.78rem;
    padding: 0.35rem 0.7rem;
  }
  .sec-title {
    font-size: 1.7rem;
    line-height: 1.2;
  }
  .sec-eyebrow {
    font-size: 0.7rem;
  }
  .hero-eyebrow {
    font-size: 0.7rem;
  }

  /* Challenge tags — 2 columns on mobile */
  .challenge-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
  }
  .challenge-grid > div {
    padding: 0.7rem 0.8rem !important;
    font-size: 0.78rem !important;
    gap: 0.5rem !important;
  }

  /* Cookie banner — compact on mobile */
  #cookie-banner {
    flex-direction: column;
    align-items: flex-start !important;
    padding: 0.75rem 1rem !important;
    gap: 0.5rem !important;
  }
  #cookie-banner p {
    font-size: 0.75rem !important;
    line-height: 1.4;
  }

  footer {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    padding: 1.5rem 1rem;
  }
  .footer-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }
  .footer-copy {
    font-size: 0.72rem;
  }
  #article-modal > div {
    padding: 1.5rem 1rem !important;
    margin: 0.5rem auto !important;
    border-radius: 12px !important;
  }
  #pro-modal > div {
    padding: 1.5rem 1rem !important;
    margin: 1rem auto !important;
  }

  /* Insights article cards */
  .insight-grid, [style*="grid-template-columns: repeat(3"] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: 1.85rem;
  }
  .sec-title {
    font-size: 1.5rem;
  }
  .about-stat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
  .chat-panel {
    height: calc(100vh - 160px);
    min-height: 380px;
    max-height: 660px;
    border-radius: 8px;
  }
  .cp-header {
    padding: 0.6rem 0.75rem;
  }
  .pricing-grid {
    gap: 0.75rem;
  }
  .contact-section {
    gap: 1rem;
  }
}

@media (min-width: 769px) {
  .nav-right { display: flex !important; }
  #nav-toggle { display: none !important; }
}

/* Responsive overflow safeguards */
section, .section, .app-section, .pricing-section, .about-section, .contact-section, footer {
  max-width: 100%;
}
img, video, iframe, table {
  max-width: 100%;
}
