
:root{
  --bg:#f9f9f7;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --dark:#0f172a;
  --indigo:#4f46e5;
  --emerald:#10b981;
  --blue:#2563eb;
  --radius:24px;
  --shadow:0 12px 36px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
img{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
.wcg-container{width:min(1280px, calc(100% - 2rem)); margin-inline:auto}
.wcg-top-banner{
  background:#22c55e;
  color:#fff;
  text-align:center;
  padding:.6rem 1rem;
  font-size:10px;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.wcg-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.82);
  border-bottom:1px solid var(--line);
}
.wcg-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:1rem}
.wcg-brand{display:flex;align-items:center;gap:.75rem;font-weight:900}
.wcg-custom-logo-link img{max-height:50px;width:auto}
.wcg-wordmark,.wcg-brand-text{
  font-family:"Playfair Display", Georgia, serif;
  font-size:1.75rem;
  font-style:italic;
  font-weight:900;
  letter-spacing:-.03em;
}
.wcg-brand-icon{
  width:2.6rem;height:2.6rem;border-radius:14px;background:var(--dark);color:#fff;
  display:grid;place-items:center;font-size:1.25rem
}
.wcg-nav{display:flex;align-items:center;gap:1rem}
.wcg-menu,.wcg-footer-menu,.wcg-mobile-menu-list{list-style:none;margin:0;padding:0}
.wcg-menu{display:flex;gap:1.25rem;align-items:center}
.wcg-menu a,.wcg-footer-menu a{
  font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)
}
.wcg-menu a:hover,.wcg-footer-menu a:hover{color:var(--text)}
.wcg-cta,.wcg-primary-button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 1.35rem;border-radius:999px;background:var(--dark);color:#fff;border:none;cursor:pointer;
  font-weight:800;transition:.2s transform,.2s opacity,.2s background
}
.wcg-primary-button:hover,.wcg-cta:hover{transform:translateY(-1px);background:#1e293b}
.wcg-secondary-button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.15rem;border-radius:16px;background:#f1f5f9;color:var(--text);border:1px solid var(--line);cursor:pointer;font-weight:700
}
.wcg-mobile-toggle{display:none;background:none;border:none;font-size:1.5rem}
.wcg-mobile-menu{display:none;border-top:1px solid var(--line);padding:0 1rem}
.wcg-mobile-menu.is-open{display:block}
.wcg-mobile-menu-list a{display:block;padding:1rem 0;font-size:1.1rem;font-weight:700}
.wcg-ad-slot{width:min(1280px, calc(100% - 2rem)); margin:1rem auto}
.wcg-ad-placeholder{
  border:2px dashed #cbd5e1; border-radius:18px; padding:1rem; text-align:center; color:#64748b; background:#fff
}

.wcg-hero{
  background:#fff;border-bottom:1px solid var(--line);
  padding:5rem 0 8rem
}
.wcg-hero-inner{text-align:center;max-width:900px}
.wcg-pill{
  display:inline-flex;padding:.7rem 1rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.95rem;font-weight:700;margin-bottom:1.75rem
}
.wcg-hero h1{
  margin:0 0 1rem;
  font-family:"Playfair Display", Georgia, serif;
  font-style:italic; font-weight:900; letter-spacing:-.05em;
  font-size:clamp(3rem,8vw,5.2rem); line-height:.92
}
.wcg-hero h1 span{color:var(--indigo)}
.wcg-hero p{max-width:720px;margin:0 auto 2rem;color:#64748b;font-size:1.2rem;line-height:1.7}
.wcg-search-shell{max-width:760px;margin:0 auto}
.wcg-search-shell input, .wcg-field-grid input, .wcg-ai-stack textarea{
  width:100%; border:2px solid #f1f5f9; background:#f8fafc; border-radius:24px;
  padding:1.2rem 1.3rem; font-size:1rem; outline:none; transition:.2s border,.2s box-shadow,.2s background
}
.wcg-search-shell input:focus,.wcg-field-grid input:focus,.wcg-ai-stack textarea:focus{
  border-color:var(--dark); background:#fff; box-shadow:0 0 0 6px rgba(15,23,42,.05)
}
.wcg-discovery{margin-top:-4rem;padding-bottom:5rem}
.wcg-filter-row{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}
.wcg-filter-button{
  display:inline-flex; padding:.9rem 1.2rem; border-radius:16px; background:#fff; border:1px solid var(--line); font-weight:800; cursor:pointer
}
.wcg-filter-button.is-active{background:var(--dark);color:#fff;transform:scale(1.03)}
.wcg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.wcg-card{
  display:block; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem;
  box-shadow:0 4px 20px rgba(15,23,42,.04); transition:.2s transform,.2s box-shadow,.2s border-color; min-height:100%
}
.wcg-card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:#94a3b8}
.wcg-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.wcg-card-badge{
  display:inline-flex; padding:.45rem .7rem; border-radius:999px; font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em
}
.wcg-card-badge-citation{background:#f1f5f9;color:#475569}
.wcg-card-badge-ai{background:#eef2ff;color:#4338ca}
.wcg-card-badge-utility{background:#ecfdf5;color:#047857}
.wcg-card-badge-code{background:#eff6ff;color:#1d4ed8}
.wcg-card h3{
  margin:.2rem 0 .75rem; font-family:"Playfair Display", Georgia, serif; font-size:1.45rem; font-style:italic; line-height:1.15
}
.wcg-card p{margin:0 0 1.15rem;color:#64748b;line-height:1.65;font-size:.95rem}
.wcg-card-meta{display:flex;gap:.5rem;flex-wrap:wrap}
.wcg-card-meta span{
  font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;background:#f8fafc;color:#475569;border-radius:10px;padding:.4rem .55rem
}
.wcg-no-results{text-align:center;padding:3rem 0;color:#94a3b8}
.wcg-feature-band{background:var(--dark); color:#fff; padding:5rem 0}
.wcg-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.wcg-feature-grid article{padding:1rem}
.wcg-feature-icon{
  width:3.25rem;height:3.25rem;border-radius:18px;background:var(--indigo);display:grid;place-items:center;margin-bottom:1rem;font-size:1.4rem
}
.wcg-feature-grid article:nth-child(2) .wcg-feature-icon{background:var(--emerald)}
.wcg-feature-grid article:nth-child(3) .wcg-feature-icon{background:var(--blue)}
.wcg-feature-grid h3{
  margin:0 0 .75rem;font-family:"Playfair Display", Georgia, serif;font-size:1.8rem;font-style:italic
}
.wcg-feature-grid p{margin:0;color:#94a3b8;line-height:1.75}

.wcg-generator-wrap{padding:2rem 0 5rem}
.wcg-generator-panel{
  background:#fff;border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);overflow:hidden
}
.wcg-generator-head{padding:2rem;border-bottom:1px solid #f1f5f9;background:#fafafa}
.wcg-generator-head h1{
  margin:.8rem 0 .6rem;font-family:"Playfair Display", Georgia, serif;font-style:italic;font-size:clamp(2rem,4vw,3rem)
}
.wcg-generator-head p{max-width:780px;color:#64748b;line-height:1.7}
.wcg-generator-body{padding:2rem}
.wcg-generator-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:2rem}
.wcg-source-type-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1rem}
.wcg-source-type-button{
  border:1px solid var(--line);background:#fff;padding:.75rem 1rem;border-radius:999px;font-size:.75rem;font-weight:800;cursor:pointer
}
.wcg-source-type-button.is-active{background:var(--dark);color:#fff;border-color:var(--dark)}
.wcg-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.wcg-field-grid label span{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8;margin:0 0 .5rem}
.wcg-output-card{
  background:var(--dark);color:#fff;border-radius:28px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100%
}
.wcg-output-label{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:#64748b;margin-bottom:1rem}
.wcg-output-text{font-family:"Playfair Display", Georgia, serif;font-style:italic;font-size:1.1rem;line-height:1.7}
.wcg-output-text em{font-style:italic}
.wcg-output-actions{display:grid;gap:.8rem;margin-top:1.5rem}
.wcg-output-actions .wcg-primary-button,.wcg-output-actions .wcg-secondary-button{width:100%;border-radius:18px}
.wcg-output-actions .wcg-primary-button{background:#fff;color:var(--dark)}
.wcg-ai-stack{display:grid;gap:1rem}
.wcg-ai-stack textarea{min-height:150px;resize:vertical}
.wcg-result-box{
  background:#f8fafc;border:1px solid var(--line);padding:1.25rem;border-radius:20px;color:#0f172a;line-height:1.7;white-space:pre-wrap
}
.wcg-related-tools{padding-top:2rem}
.wcg-related-tools h3{
  font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:#94a3b8;margin:0 0 1rem
}
.wcg-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.wcg-seo-content{
  max-width:860px;margin:4rem auto 0;border-top:1px solid var(--line);padding-top:3rem
}
.wcg-seo-content h2,.wcg-seo-content h3,.wcg-seo-content h4{
  font-family:"Playfair Display", Georgia, serif;margin:2rem 0 1rem;color:#0f172a
}
.wcg-seo-content h2{font-size:2.3rem;font-style:italic}
.wcg-seo-content h3{font-size:1.7rem}
.wcg-seo-content h4{font-size:1.3rem}
.wcg-seo-content p,.wcg-seo-content li{color:#475569;line-height:1.85;font-size:1.03rem}
.wcg-seo-content ul{padding-left:1.25rem}
.wcg-seo-raw{display:none}

.wcg-footer{background:var(--dark);color:#fff;padding:5rem 0 2rem;margin-top:4rem}
.wcg-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
.wcg-footer h4{margin:0 0 1rem;color:#94a3b8;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.wcg-footer-brand p,.wcg-sister-card p{color:#94a3b8;line-height:1.75}
.wcg-brand-footer .wcg-brand-icon{background:#fff;color:var(--dark)}
.wcg-socials{display:flex;gap:.75rem;flex-wrap:wrap}
.wcg-socials a,.wcg-sister-card a{
  display:inline-flex;padding:.8rem 1rem;border-radius:999px;background:#1e293b;color:#fff;font-weight:700
}
.wcg-sister-card{background:#1e293b;border:1px solid #334155;border-radius:24px;padding:1.25rem}
.wcg-footer-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-top:1.5rem;border-top:1px solid #1e293b;color:#94a3b8;font-size:.82rem}
.wcg-legal-links{display:flex;gap:1rem;flex-wrap:wrap}

@media (max-width: 1100px){
  .wcg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 900px){
  .wcg-nav{display:none}
  .wcg-mobile-toggle{display:block}
  .wcg-grid,.wcg-feature-grid,.wcg-generator-grid,.wcg-footer-grid,.wcg-related-grid{grid-template-columns:1fr}
  .wcg-field-grid{grid-template-columns:1fr}
  .wcg-footer-bottom{flex-direction:column;align-items:flex-start}
}
@media (max-width: 640px){
  .wcg-container{width:min(100% - 1rem, 1280px)}
  .wcg-hero{padding:3.5rem 0 6rem}
  .wcg-discovery{margin-top:-3rem}
  .wcg-generator-head,.wcg-generator-body{padding:1.25rem}
}

.wcg-filter-clear{display:inline-flex;padding:.9rem 1.2rem;border-radius:16px;background:transparent;border:1px dashed var(--line);font-weight:800;cursor:pointer;color:var(--muted)}
.wcg-inline-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.wcg-result-box p:first-child{margin-top:0}
.wcg-result-box p:last-child{margin-bottom:0}
.wcg-result-box ul{margin:.5rem 0 0;padding-left:1.25rem}
.wcg-qr-wrap{display:grid;gap:1rem;justify-items:start}
.wcg-qr-wrap img{width:220px;height:220px;border-radius:16px;background:#fff;border:1px solid var(--line);padding:.75rem}
.wcg-underline-cta{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
