@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

/* ========================================================================== 
   WARNING EMOJI — Professional UI System
   ========================================================================== */
:root{
  --c-bg:#F7F8FA;
  --c-surface:#FFFFFF;
  --c-surface-2:#FFF9E8;
  --c-surface-3:#F1F4F8;
  --c-ink:#172033;
  --c-ink-soft:#5D6678;
  --c-border:#E3E7EE;
  --c-primary:#E54832;
  --c-primary-dark:#BE2F20;
  --c-accent:#F7B928;
  --c-accent-soft:#FFF1BD;
  --c-dark:#101827;
  --c-dark-2:#182235;
  --c-success:#18875A;
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:32px;
  --shadow-xs:0 1px 3px rgba(16,24,39,.05);
  --shadow-sm:0 8px 24px rgba(16,24,39,.07);
  --shadow-md:0 16px 40px rgba(16,24,39,.10);
  --shadow-lg:0 28px 70px rgba(16,24,39,.16);
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --maxw:1140px;
  --font-display:'Poppins',sans-serif;
  --font-body:'Poppins',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;
  min-width:0;
  overflow-x:hidden;
  font-family:var(--font-body);
  background:var(--c-bg);
  color:var(--c-ink);
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open,body.modal-open{overflow:hidden}
img,svg,canvas{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 var(--space-3);color:var(--c-ink-soft)}
ul{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;min-width:0}
button{cursor:pointer}
strong{color:var(--c-ink)}
h1,h2,h3,h4{
  margin:0 0 var(--space-3);
  font-family:var(--font-display);
  color:var(--c-ink);
  font-weight:700;
  line-height:1.22;
  letter-spacing:-.025em;
}
h1{font-size:clamp(2.25rem,5vw,4rem)}
h2{font-size:clamp(1.8rem,3.5vw,2.65rem)}
h3{font-size:clamp(1.05rem,2vw,1.28rem)}

.container{width:min(100% - 48px,var(--maxw));margin-inline:auto;padding:0}
section{padding:76px 0;position:relative}
.section-alt{background:var(--c-surface)}
.section-head{width:min(100%,760px);margin:0 auto 38px;text-align:center}
.section-head p{margin:0 auto;color:var(--c-ink-soft)}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  padding:7px 13px;
  border:1px solid #F6D370;
  border-radius:999px;
  background:var(--c-accent-soft);
  color:#8C5A00;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 0 4px rgba(229,72,50,.12)}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:6px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:18px;top:-80px;z-index:9999;background:var(--c-dark);color:#fff;padding:11px 16px;border-radius:10px;transition:top .2s ease}
.skip-link:focus{top:18px}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:11px 19px;
  border:1px solid transparent;
  border-radius:12px;
  font-weight:700;
  font-size:.9rem;
  line-height:1.2;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--c-primary),#F15D3F);color:#fff;box-shadow:0 10px 22px rgba(229,72,50,.22)}
.btn-primary:hover{background:linear-gradient(135deg,var(--c-primary-dark),var(--c-primary));box-shadow:0 14px 28px rgba(229,72,50,.28)}
.btn-dark{background:var(--c-dark);color:#fff;box-shadow:var(--shadow-xs)}
.btn-dark:hover{background:#1D2A40}
.btn-outline{background:#fff;border-color:#C9CFDA;color:var(--c-dark)}
.btn-outline:hover{border-color:var(--c-dark);box-shadow:var(--shadow-xs)}
.btn-accent{background:var(--c-accent);color:var(--c-dark)}
.btn-ghost{background:var(--c-surface-3);color:var(--c-ink);border-color:transparent}
.btn-sm{min-height:38px;padding:8px 13px;border-radius:10px;font-size:.79rem}
.btn-block{width:100%}
.btn[disabled]{opacity:.48;cursor:not-allowed;transform:none}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:500;
  border-bottom:1px solid rgba(227,231,238,.9);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 4px 20px rgba(16,24,39,.035);
}
.header-inner{width:min(100% - 48px,var(--maxw));min-height:76px;margin:auto;padding:10px 0;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-weight:700;font-size:1.03rem;letter-spacing:-.02em}
.brand-emoji{display:grid;place-items:center;width:42px;height:42px;border:1px solid #F4CB52;border-radius:13px;background:linear-gradient(145deg,#FFF7D8,#FFD965);font-size:1.45rem;box-shadow:0 8px 18px rgba(247,185,40,.22)}
.main-nav{display:none}
.main-nav ul{display:flex;align-items:center;gap:4px}
.main-nav a{display:block;padding:9px 10px;border-radius:9px;color:#465064;font-size:.83rem;font-weight:600;transition:.2s ease}
.main-nav a:hover{background:var(--c-surface-3);color:var(--c-dark)}
.header-actions{display:flex;align-items:center;gap:8px}
.header-actions .btn{display:none}
.menu-toggle{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--c-border);border-radius:12px;background:#fff;box-shadow:var(--shadow-xs)}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;width:19px;height:2px;border-radius:4px;background:var(--c-dark);transition:.2s ease}
.menu-toggle::before{transform:translateY(-6px)}
.menu-toggle::after{transform:translateY(6px)}
.mobile-menu{
  position:fixed;
  inset:0 0 0 auto;
  z-index:600;
  width:min(88vw,360px);
  padding:24px;
  overflow-y:auto;
  background:#fff;
  box-shadow:var(--shadow-lg);
  transform:translateX(105%);
  transition:transform .28s ease;
}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--c-border)}
.mobile-menu-head strong{font-size:1.05rem}
.mobile-menu-close.btn{width:auto;margin-top:0}
.mobile-menu ul{display:flex;flex-direction:column;gap:5px}
.mobile-menu a{display:block;padding:12px 13px;border-radius:10px;color:#354055;font-weight:600}
.mobile-menu a:hover{background:var(--c-surface-3);color:var(--c-dark)}
.mobile-menu>.btn{width:100%;margin-top:18px}
.menu-backdrop{position:fixed;inset:0;z-index:590;background:rgba(9,15,27,.48);opacity:0;pointer-events:none;transition:opacity .22s ease}
.menu-backdrop.open{opacity:1;pointer-events:auto}
@media(min-width:980px){.main-nav{display:block}.header-actions .btn{display:inline-flex}.menu-toggle{display:none}}

/* Hero + bento */
.hero{padding-top:84px;overflow:hidden;background:radial-gradient(circle at 88% 10%,rgba(247,185,40,.20),transparent 30%),radial-gradient(circle at 8% 32%,rgba(229,72,50,.09),transparent 28%),linear-gradient(180deg,#FFFDF7 0%,#F7F8FA 100%)}
.hero::after{content:"";position:absolute;right:-110px;top:80px;width:260px;height:260px;border:45px solid rgba(247,185,40,.08);border-radius:50%;pointer-events:none}
.hero-intro{width:min(100%,820px);margin:0 auto 42px;text-align:center}
.hero-intro p{font-size:clamp(1rem,2vw,1.12rem);max-width:760px;margin-inline:auto}
.hero-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}
.code-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0}
.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--c-border);border-radius:999px;background:#fff;color:#3D475A;font-size:.78rem;font-weight:600;box-shadow:var(--shadow-xs)}
.chip button{display:inline-flex;padding:0;border:0;background:none;color:var(--c-primary);font-weight:700}
.bento-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(100px,auto);gap:18px}
.bento-panel{position:relative;overflow:hidden;padding:28px;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
.bento-panel:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.bento-featured{grid-column:span 6;display:flex;align-items:center;gap:34px;background:linear-gradient(135deg,#FFF9E9,#FFF0E8);border-color:#F3DCC9}
.bento-featured::after{content:"";position:absolute;right:-48px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:rgba(247,185,40,.15)}
.bento-featured .emoji-huge{font-size:clamp(5rem,11vw,8.4rem);line-height:1;filter:drop-shadow(0 18px 25px rgba(229,72,50,.22))}
.bento-featured .emoji-huge-wrap{position:relative;z-index:1;flex:0 0 auto}
.bento-featured .featured-copy{position:relative;z-index:1;flex:1 1 300px}
.bento-codes{grid-column:span 3}
.bento-stats{grid-column:span 3;display:flex;flex-direction:column;justify-content:center;gap:8px;background:linear-gradient(145deg,var(--c-dark),var(--c-dark-2));border-color:transparent}
.bento-stats h3,.bento-stats p,.bento-stats span{color:#fff}
.stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.stat-row:last-child{border-bottom:0}
.stat-num{font-size:1.35rem;font-weight:700;color:var(--c-accent)!important}
.bento-gallery{grid-column:span 6}

/* Controls */
.controls-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0;padding:15px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs)}
.controls-bar input[type="search"],.controls-bar select,.field-input{min-height:44px;padding:10px 13px;border:1px solid #CCD3DE;border-radius:10px;background:#fff;color:var(--c-ink);font-size:.88rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.controls-bar input[type="search"]{flex:1 1 230px}
.controls-bar input:focus,.controls-bar select:focus,.field-input:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 4px rgba(247,185,40,.16)}
.filter-group{display:flex;flex-wrap:wrap;gap:7px}
.pill-toggle{min-height:38px;padding:7px 13px;border:1px solid var(--c-border);border-radius:10px;background:#fff;color:#465064;font-size:.78rem;font-weight:600;transition:.2s ease}
.pill-toggle:hover{border-color:#AEB7C5;color:var(--c-dark)}
.pill-toggle[aria-pressed="true"]{border-color:var(--c-dark);background:var(--c-dark);color:#fff;box-shadow:0 6px 16px rgba(16,24,39,.15)}
.result-counter{margin:12px 0;color:var(--c-ink-soft);font-size:.84rem;font-weight:700}
.status-msg{color:var(--c-success);font-size:.84rem;font-weight:600}

/* Emoji cards */
.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}
.emoji-card{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;padding:17px 13px;text-align:center;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.emoji-card:hover{z-index:2;transform:translateY(-5px);border-color:#CCD3DE;box-shadow:var(--shadow-md)}
.emoji-card .glyph{margin:6px 0;font-size:2.7rem;line-height:1.15}
.emoji-card .name{min-height:2.4em;color:var(--c-ink);font-size:.82rem;font-weight:700;line-height:1.35}
.emoji-card .meta{color:var(--c-ink-soft);font-size:.68rem;font-weight:500}
.emoji-card .card-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:5px}
.emoji-card .icon-btn{min-height:31px;padding:5px 8px;border:1px solid var(--c-border);border-radius:8px;background:#fff;color:#3D475A;font-size:.67rem;font-weight:700;transition:.18s ease}
.emoji-card .icon-btn:hover{border-color:#B9C1CE;background:var(--c-surface-3);color:var(--c-dark)}
.emoji-card .fav-btn{position:absolute;top:10px;right:10px;z-index:2;min-width:31px}
.emoji-card.fav-active .fav-btn{border-color:var(--c-primary);background:var(--c-primary);color:#fff}
.emoji-card[data-style="Neon"]{border-color:#222D41;background:linear-gradient(145deg,#101827,#1B263B)}
.emoji-card[data-style="Neon"] .glyph{filter:drop-shadow(0 0 14px rgba(247,185,40,.9))}
.emoji-card[data-style="Neon"] .name,.emoji-card[data-style="Neon"] .meta{color:#fff}
.emoji-card[data-style="Neon"] .icon-btn{border-color:#344158;background:#202D43;color:#fff}
.emoji-card[data-style="Sticker"]{border-width:2px;border-color:#fff;box-shadow:0 6px 0 #E8ECF2,var(--shadow-sm)}
.emoji-card[data-style="Pixel"]{border-radius:5px;border-style:dashed;box-shadow:4px 4px 0 #D9DEE7}
.emoji-card[data-style="Metallic"]{background:linear-gradient(145deg,#fff,#D8DEE8 55%,#F8FAFC);border-color:#C7CFDB}
.emoji-card[data-style="Minimal"]{box-shadow:none;background:#FCFCFD}
.emoji-card[data-style="Outline"]{border:2px solid var(--c-primary);background:#FFFDFC}
.emoji-card[data-style="Gradient"]{border-color:rgba(229,72,50,.3);background:linear-gradient(145deg,#FFF4CF,#FFE2DC 52%,#F6F0FF)}
.emoji-card[data-style="Glass"]{border-color:rgba(255,255,255,.75);background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(232,238,247,.74));box-shadow:0 14px 34px rgba(16,24,39,.10);backdrop-filter:blur(12px)}
.emoji-card[data-color="Red"]{--card-tone:#E54832}
.emoji-card[data-color="Black"]{--card-tone:#172033}
.emoji-card[data-color="Yellow"]{--card-tone:#F7B928}
.emoji-card[data-color="Orange"]{--card-tone:#F07A27}
.emoji-card[data-style="Outline"]{border-color:var(--card-tone,var(--c-primary))}
.emoji-card[data-style="Neon"] .glyph{filter:drop-shadow(0 0 14px var(--card-tone,var(--c-accent)))}
.load-more-wrap{text-align:center;margin-top:30px}

/* General cards and content */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.info-card,.category-card,.combo-card,.platform-card,.compare-col,.chat-demo{border:1px solid var(--c-border);background:#fff;box-shadow:var(--shadow-xs);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.info-card:hover,.category-card:hover,.combo-card:hover,.platform-card:hover,.compare-col:hover{transform:translateY(-4px);border-color:#CBD2DD;box-shadow:var(--shadow-sm)}
.info-card{padding:25px;border-radius:var(--radius-md)}
.info-card h3{margin-bottom:7px}
.code-table{display:block;width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--radius-md);border-collapse:collapse;background:#fff;box-shadow:var(--shadow-xs);-webkit-overflow-scrolling:touch}
.code-table tbody{display:table;width:100%;min-width:520px;border-collapse:collapse}
.code-table th,.code-table td{padding:13px 16px;border-bottom:1px solid var(--c-border);text-align:left;font-size:.84rem;white-space:nowrap}
.code-table th{background:var(--c-surface-3);color:var(--c-dark);font-weight:700}
.code-table tr:last-child th,.code-table tr:last-child td{border-bottom:0}
.code-table code{padding:3px 7px;border-radius:6px;background:#F0F2F6;color:#273248;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.category-card{padding:25px;border-radius:var(--radius-lg)}
.category-samples{display:flex;gap:9px;margin:14px 0;font-size:1.75rem}
.category-count{color:var(--c-primary-dark);font-size:.76rem;font-weight:700}
.combo-card{padding:22px;border-radius:var(--radius-md);text-align:center}
.combo-glyphs{margin-bottom:8px;font-size:2.15rem}
.chat-demo{width:min(100%,540px);padding:24px;border-radius:var(--radius-lg)}
.bubble{max-width:82%;margin-bottom:9px;padding:11px 15px;border-radius:17px;color:#354055;font-size:.88rem}
.bubble.them{border-bottom-left-radius:5px;background:#EEF1F5}
.bubble.me{margin-left:auto;border-bottom-right-radius:5px;background:var(--c-primary);color:#fff}
.textart-box{overflow-x:auto;padding:22px;border:1px solid #27344A;border-radius:var(--radius-md);background:linear-gradient(145deg,var(--c-dark),#1D2A42);color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;box-shadow:var(--shadow-sm)}

/* PNG generator */
.generator-layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:start;gap:24px}
.generator-form{display:grid;gap:15px;min-width:0;padding:26px;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}
.field{display:flex;min-width:0;flex-direction:column;gap:6px}
.field label{color:#394457;font-size:.79rem;font-weight:700}
.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}
.generator-preview{position:sticky;top:100px;display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0;padding:28px;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--c-dark),#1C2940);box-shadow:var(--shadow-md)}
.generator-preview canvas{width:min(100%,300px);height:auto;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:repeating-conic-gradient(#2D3748 0 25%,#1E293B 0 50%) 50%/20px 20px;box-shadow:0 18px 40px rgba(0,0,0,.25)}

/* Comparison / platforms */
.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
.compare-col{padding:25px;border-radius:var(--radius-md);text-align:center}
.compare-vs{color:var(--c-primary);font-weight:700}
.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}
.platform-card{padding:21px;border-radius:var(--radius-md);text-align:center;font-weight:600}
.platform-card .glyph{margin-bottom:5px;font-size:2.2rem}

/* Blog and article */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}
.blog-card{display:flex;overflow:hidden;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm);transition:transform .24s ease,box-shadow .24s ease}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.blog-cover{display:grid;place-items:center;aspect-ratio:16/9;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.24),transparent 26%),linear-gradient(135deg,var(--c-primary),var(--c-accent));font-size:3.4rem}
.blog-card-body{display:flex;flex:1;flex-direction:column;gap:7px;padding:22px}
.blog-date{color:var(--c-primary-dark);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.blog-card h3{margin-bottom:0;font-size:1.08rem}
.blog-card p{font-size:.88rem}
.blog-card .btn{align-self:flex-start;margin-top:auto}
.breadcrumbs{width:min(100%,820px);margin:0 auto 22px;color:#778196;font-size:.79rem}
.breadcrumbs a{color:var(--c-primary-dark);font-weight:600}
.article-body{width:min(100%,820px);margin-inline:auto}
.article-body>h1,.article-body>.eyebrow{text-align:center}
.article-body>p:first-of-type{font-size:1.03rem}
.article-body h2{margin-top:48px;font-size:clamp(1.55rem,3vw,2.1rem)}
.article-body h3{margin-top:30px}
.article-body p,.article-body li{font-size:.96rem}
.article-body ul,.article-body ol{margin:0 0 18px;padding-left:22px;color:var(--c-ink-soft)}
.article-body ul{list-style:disc}
.article-cover{display:grid;place-items:center;aspect-ratio:16/9;margin:0 0 32px;border-radius:var(--radius-lg);background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.25),transparent 28%),linear-gradient(135deg,var(--c-primary),var(--c-accent));font-size:5.5rem;box-shadow:var(--shadow-md)}

/* FAQ */
.faq-search{display:block;width:min(100%,480px);margin:0 auto 22px}
.faq-item{overflow:hidden;margin-bottom:11px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs)}
.faq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;border:0;background:none;color:var(--c-ink);text-align:left;font-size:.9rem;font-weight:700}
.faq-q::after{content:"+";display:grid;flex:0 0 29px;place-items:center;width:29px;height:29px;border-radius:8px;background:var(--c-surface-3);color:var(--c-primary);font-size:1.14rem}
.faq-item.open .faq-q::after{content:"−";background:var(--c-accent-soft)}
.faq-a{overflow:hidden;max-height:0;padding:0 19px;transition:max-height .28s ease,padding .28s ease}
.faq-item.open .faq-a{max-height:520px;padding:0 19px 17px}
.faq-a p{margin:0;font-size:.9rem}

/* Contact and conversation showcase */
.conversation-showcase{background:linear-gradient(180deg,#FFFDF9,#F8FAFD)}
.conversation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.conversation-card{display:flex;min-width:0;flex-direction:column;padding:26px;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}
.conversation-card h3{margin-bottom:5px;text-align:center}
.conversation-note{margin:0 auto 20px;text-align:center;font-size:.84rem}
.conversation-card .chat-demo{width:100%;height:100%;margin:0;padding:20px;border:1px solid #D9E0EA;background:#fff;box-shadow:none}
.chat-demo-secondary{border-color:#D9E0EA;background:#fff}
.contact-card{width:min(100%,680px);margin-inline:auto;padding:38px;border:1px solid var(--c-border);border-radius:var(--radius-xl);background:#fff;text-align:center;box-shadow:var(--shadow-sm)}
.contact-icon{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 16px;border-radius:20px;background:var(--c-accent-soft);font-size:2rem}
.contact-card h2{margin-bottom:10px}
.contact-card>p:not(.plain-email):not(.contact-note){width:min(100%,560px);margin-inline:auto}
.plain-email{display:inline-block;margin:12px auto 10px;padding:13px 20px;border:1px solid #E8C869;border-radius:12px;background:#FFF7D9;color:#342A14;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:700;letter-spacing:.01em;user-select:text}
.plain-email-inline{font-weight:700;color:var(--c-ink);user-select:text}
.contact-note{margin:0;color:var(--c-ink-soft);font-size:.79rem}

/* Forms */
.form-grid{display:grid;width:min(100%,650px);gap:17px;margin-inline:auto;padding:28px;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}
.form-grid label{display:block;margin-bottom:6px;color:#394457;font-size:.8rem;font-weight:700}
.form-grid input,.form-grid textarea{width:100%;padding:12px 14px;border:1px solid #CCD3DE;border-radius:10px;background:#fff;color:var(--c-ink);font-size:.9rem;outline:none}
.form-grid textarea{min-height:150px;resize:vertical}

/* Modal */
.modal-backdrop{position:fixed;inset:0;z-index:700;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,12,23,.6);backdrop-filter:blur(5px)}
.modal-backdrop.open{display:flex}
.modal-box{position:relative;width:min(100%,470px);max-height:90vh;overflow-y:auto;padding:30px;border:1px solid rgba(255,255,255,.65);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-lg)}
.modal-close{position:absolute;top:13px;right:13px;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--c-border);border-radius:10px;background:var(--c-surface-3);color:var(--c-dark);font-size:1.2rem}
.modal-glyph{margin:12px 0 10px;text-align:center;font-size:4.7rem;line-height:1.1}
.modal-box .code-table{margin-top:16px}
.modal-box .code-table tbody{min-width:390px}

/* Footer */
.site-footer{position:relative;margin-top:76px;padding:62px 0 22px;overflow:hidden;background:linear-gradient(145deg,#0D1524,#152138);color:#CFD6E1}
.site-footer::before{content:"";position:absolute;top:-150px;right:-100px;width:340px;height:340px;border:70px solid rgba(247,185,40,.06);border-radius:50%}
.footer-center{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.footer-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;color:#fff;font-size:1.1rem;font-weight:700;transition:transform .2s ease,color .2s ease}
.footer-brand:hover{transform:translateY(-2px);color:var(--c-accent)}
.footer-brand span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.08);font-size:1.35rem}
.footer-brand strong{color:inherit}
.footer-description{width:min(100%,700px);margin:0 auto 24px;color:#AEB8C8;font-size:.87rem}
.footer-nav{width:100%}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 20px;margin:0 auto}
.footer-links li{margin:0;font-size:.82rem}
.site-footer a{color:#C8D0DC;transition:color .2s ease}
.site-footer a:hover{color:var(--c-accent)}
.footer-bottom{width:100%;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.11);text-align:center;font-size:.8rem}
.footer-bottom p{margin:0;color:#AEB8C8}
.footer-bottom a{color:var(--c-accent);font-weight:700}

/* Scroll top and error */
.scroll-top{position:fixed;right:20px;bottom:20px;z-index:400;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:14px;background:var(--c-dark);color:#fff;font-size:1.1rem;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s ease}
.scroll-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.scroll-top:hover{background:var(--c-primary)}
.error-page{padding:90px 0;text-align:center}
.error-page .glyph{font-size:6rem}

/* Utilities */
.text-center{text-align:center}
.mt-4{margin-top:var(--space-4)}
.narrow{width:min(100%,760px)}

/* Responsive */
@media(max-width:980px){
  section{padding:64px 0}
  .bento-grid{grid-template-columns:repeat(2,1fr)}
  .bento-featured,.bento-gallery,.bento-codes,.bento-stats{grid-column:span 2}
  .generator-layout{grid-template-columns:1fr}
  .generator-preview{position:relative;top:auto}
  .conversation-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .container,.header-inner{width:min(100% - 34px,var(--maxw))}
  section{padding:54px 0}
  .hero{padding-top:62px}
  .bento-featured{align-items:center;justify-content:center;padding:28px 22px;text-align:center}
  .bento-featured .emoji-huge-wrap{width:100%}
  .bento-featured .hero-cta-row{justify-content:center}
  .compare-grid{grid-template-columns:1fr}
  .compare-vs{text-align:center}
}
@media(max-width:540px){
  .contact-card{padding:27px 20px}
  .footer-links{gap:8px 14px}
  .container,.header-inner{width:min(100% - 28px,var(--maxw))}
  .header-inner{min-height:68px}
  .brand{font-size:.94rem}
  .brand-emoji{width:38px;height:38px;font-size:1.3rem}
  section{padding:48px 0}
  .section-head{margin-bottom:28px}
  .hero{padding-top:48px}
  .hero-cta-row .btn{width:100%}
  .bento-grid{display:block}
  .bento-panel{margin-bottom:14px;padding:21px}
  .bento-featured .emoji-huge{font-size:5.7rem}
  .controls-bar{align-items:stretch;padding:12px}
  .controls-bar>*{width:100%}
  .controls-bar .filter-group{width:100%}
  .filter-group .pill-toggle{flex:1 1 auto}
  .emoji-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .emoji-card{padding:14px 8px}
  .emoji-card .glyph{font-size:2.25rem}
  .emoji-card .name{font-size:.74rem}
  .emoji-card .meta{font-size:.62rem}
  .emoji-card .icon-btn{padding:5px 6px;font-size:.61rem}
  .field-row{grid-template-columns:1fr}
  .generator-form,.form-grid{padding:19px}
  .code-table th,.code-table td{padding:11px 12px;font-size:.78rem}
  .article-cover{font-size:4rem}
  .footer-bottom{margin-top:30px}
  .scroll-top{right:14px;bottom:14px;width:44px;height:44px}
}
@media(max-width:360px){
  .emoji-grid{grid-template-columns:1fr}
  .mobile-menu{width:94vw;padding:19px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
