

/* ===== Combined styles for seo-writing-tool ===== */

.tool-wrap { max-width: 860px; margin: 0 auto; padding: 0 24px; }
  .tool-card { background: #fff; border: 1px solid #e0e0e0; padding: 48px; margin-top: 48px; }
  .tool-label { font-size: 10px; font-weight: 700; letter-spacing: 0.25em; text-transform: uppercase; color: #888; margin-bottom: 10px; display: block; }
  .tool-input { width: 100%; padding: 16px 20px; font-size: 16px; font-family: 'Figtree', sans-serif; border: 1.5px solid #e0e0e0; background: #fff; color: #000; outline: none; transition: border-color 0.2s; box-sizing: border-box; }
  .tool-input:focus { border-color: #000; }
  .tool-select { width: 100%; padding: 16px 20px; font-size: 14px; font-family: 'Figtree', sans-serif; border: 1.5px solid #e0e0e0; background: #fff; color: #000; outline: none; appearance: none; cursor: pointer; transition: border-color 0.2s; box-sizing: border-box; }
  .tool-select:focus { border-color: #000; }
  .tool-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
  .tool-btn { width: 100%; margin-top: 24px; padding: 18px; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; background: #000; color: #fff; border: none; cursor: pointer; font-family: 'Figtree', sans-serif; transition: opacity 0.2s; }
  .tool-btn:hover { opacity: 0.8; }
  .tool-btn:disabled { opacity: 0.4; cursor: not-allowed; }
  .tool-output { margin-top: 48px; display: none; }
  .tool-output.visible { display: block; }
  .output-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
  .output-title { font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: #888; }
  .copy-btn { font-size: 10px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; background: none; border: 1.5px solid #000; padding: 10px 20px; cursor: pointer; font-family: 'Figtree', sans-serif; transition: all 0.2s; }
  .copy-btn:hover { background: #000; color: #fff; }
  .output-content { background: var(--cream); padding: 40px; font-size: 15px; line-height: 1.8; color: #222; white-space: pre-wrap; font-family: 'Figtree', sans-serif; border: 1px solid #e0e0e0; min-height: 200px; }
  .output-content h1, .output-content h2, .output-content h3 { font-weight: 900; text-transform: uppercase; margin: 24px 0 12px; line-height: 1.1; }
  .output-content h1 { font-size: 28px; }
  .output-content h2 { font-size: 20px; }
  .output-content h3 { font-size: 16px; }
  .loading-bar { height: 2px; background: #e0e0e0; margin-top: 24px; display: none; overflow: hidden; }
  .loading-bar.active { display: block; }
  .loading-bar-fill { height: 100%; background: #000; width: 0%; animation: loadpulse 2s ease-in-out infinite; }
  @keyframes loadpulse { 0%{width:0%} 50%{width:70%} 100%{width:95%} }
  .status-text { font-size: 12px; color: #888; letter-spacing: 0.05em; margin-top: 10px; min-height: 18px; text-align: center; }
  .field-group { margin-top: 20px; }
  .word-count { font-size: 11px; color: #888; margin-top: 8px; text-align: right; }
  .upsell { background: #000; color: #fff; padding: 36px 40px; margin-top: 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
  .upsell-text h3 { font-size: 18px; font-weight: 900; text-transform: uppercase; margin-bottom: 6px; }
  .upsell-text p { font-size: 13px; color: #aaa; }
  .upsell-btn { font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; color: #000; background: #fff; padding: 14px 28px; white-space: nowrap; transition: opacity 0.2s; }
  .upsell-btn:hover { opacity: 0.85; }
  .uses-remaining { font-size: 11px; color: #888; text-align: center; margin-top: 12px; letter-spacing: 0.05em; }
  @media(max-width:700px) {
    .tool-card { padding: 28px 20px; }
    .tool-row { grid-template-columns: 1fr; }
    .output-content { padding: 24px 16px; }
    .upsell { flex-direction: column; align-items: flex-start; }
  }

/* hp-hero (polished — v334) */
.hp-hero{background:#f7f7f5;display:flex;flex-direction:column;justify-content:center;padding:0;position:relative;overflow:hidden;border-bottom:1px solid #e8e6e0}
.hp-hero-inner{max-width:980px;margin:0 auto;width:100%;padding:var(--space-section-lg) var(--space-gutter) 80px;position:relative;z-index:2;text-align:center}
.hp-hero-ghost{position:absolute;font-size:280px;right:-40px;bottom:-60px;opacity:0.04;pointer-events:none;line-height:1;z-index:1;font-weight:900}
.hp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:0.32em;text-transform:uppercase;color:#15803d;margin-bottom:28px;opacity:0;animation:fadeUp 0.8s 0.15s forwards;background:rgba(34,197,94,0.08);padding:7px 14px;border:1px solid rgba(34,197,94,0.2)}
.hp-eyebrow::before{content:"";width:6px;height:6px;background:#22c55e;border-radius:50%;animation:swtPulse 2s ease-in-out infinite}
@keyframes swtPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.85)}}
.hp-title{font-size:clamp(42px,6vw,76px);font-weight:900;line-height:0.98;color:var(--ink-90);margin:0 auto;max-width:880px;opacity:0;animation:fadeUp 0.8s 0.3s forwards;letter-spacing:-0.022em;text-transform:uppercase}
.hp-sub-headline{font-size:clamp(24px,3.4vw,44px);font-weight:400;color:#888;font-style:italic;line-height:1.15;letter-spacing:-0.015em;margin:14px auto 0;max-width:880px;opacity:0;animation:fadeUp 0.8s 0.45s forwards}
.hp-trust-bar{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;margin-top:32px;font-size:11px;color:#888;letter-spacing:0.08em;opacity:0;animation:fadeUp 0.8s 0.75s forwards}
.hp-trust-bar span{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.hp-trust-bar svg{width:14px;height:14px;color:#22c55e;flex-shrink:0}
.hp-form-label{font-size:13px;color:#666;margin-bottom:14px;letter-spacing:0;font-weight:400;opacity:0;animation:fadeUp 0.8s 0.55s forwards}
.hp-form-row{display:flex;gap:0;border:1.5px solid #d4d2cc;background:#fff;max-width:560px;margin:0 auto;transition:border-color 0.2s;opacity:0;animation:fadeUp 0.8s 0.65s forwards}
.hp-form-row:focus-within{border-color:var(--ink-90)}
.hp-form-input{flex:1;padding:18px 20px;font-size:15px;font-family:'Figtree',sans-serif;background:transparent;border:none;color:var(--ink-90);outline:none;min-width:0}
.hp-form-input::placeholder{color:#999}
.hp-form-btn{padding:18px 28px;font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;font-family:'Figtree',sans-serif;background:var(--ink-90);color:#fff;border:none;cursor:pointer;white-space:nowrap;transition:opacity 0.2s;flex-shrink:0}
.hp-form-btn:hover{opacity:0.85}
.hp-microcopy{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:#666;margin-top:18px;opacity:0;animation:fadeUp 0.8s 0.75s forwards}
.hp-microcopy svg{flex-shrink:0}
.hp-search-coverage{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;animation:fadeUp 0.8s 0.85s forwards}
.hp-search-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-90);background:#fff;border:1.5px solid var(--ink-90);padding:7px 14px;border-radius:999px}
.hp-search-pill::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
.hp-search-detail{font-size:11px;color:#888;letter-spacing:0.02em}
#auditMsg{font-size:11px;color:#666;margin-top:8px;min-height:16px;letter-spacing:0.04em;text-align:center;max-width:560px;margin-left:auto;margin-right:auto}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
@media(max-width:768px){
  .hp-hero-inner{padding:88px 24px 64px}
  .hp-hero-ghost{font-size:180px;right:-30px;bottom:-40px}
  .hp-form-row{flex-direction:column;border:none;background:transparent;gap:10px}
  .hp-form-input{border:1.5px solid #d4d2cc;background:#fff;padding:16px 18px;font-size:16px}
  .hp-form-input:focus{border-color:var(--ink-90)}
  .hp-form-btn{padding:16px 28px;font-size:11px}
  .hp-eyebrow{font-size:10px;letter-spacing:0.28em}
  .hp-form-label{font-size:12px}
  .hp-microcopy{font-size:12px}
  .hp-trust-bar{gap:20px}
  .hp-search-pill{font-size:10px;padding:6px 12px;letter-spacing:0.12em}
}

.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; background: none; border: none; }
.hamburger span { display: block; width: 22px; height: 2px; background: #fff; transition: all 0.3s; }
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #000; z-index: 999; flex-direction: column; align-items: center; justify-content: center; gap: 36px; }
.mobile-menu.open { display: flex; }
.mobile-menu a { font-size: 22px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; color: #fff; transition: color 0.2s; }
.mobile-menu a:hover { color: #888; }
.mobile-menu .mob-cta { font-size: 12px; font-weight: 600; letter-spacing: 0.2em; color: #000; background: #fff; padding: 16px 36px; margin-top: 16px; }
.mobile-menu-close { position: absolute; top: 20px; right: 20px; background: none; border: none; cursor: pointer; padding: 4px; }
.mobile-menu-close span { display: block; width: 24px; height: 2px; background: #fff; }
.mobile-menu-close span:first-child { transform: rotate(45deg) translateY(1px); }
.mobile-menu-close span:last-child { transform: rotate(-45deg) translateY(-1px); }
@media (max-width: 900px) { .nav-links { display: none !important; } .hamburger { display: flex !important; } }

  .kw-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 10px; }
  .kw-btn { font-size: 12px; font-weight: 600; font-family: 'Figtree', sans-serif; text-align: left; padding: 12px 16px; border: 1.5px solid #e0e0e0; background: #fff; color: #333; cursor: pointer; transition: all 0.2s; line-height: 1.4; }
  .kw-btn:hover { border-color: #000; color: #000; background: #f9f9f9; }
  .kw-btn.selected { background: #000; color: #fff; border-color: #000; }
  @media(max-width:600px) { .kw-grid { grid-template-columns: 1fr; } }

/* Footer collapse: pure-CSS desktop expand, mobile collapse via <details> native */
.footer-col summary{list-style:none;display:block}
.footer-col summary::-webkit-details-marker{display:none}
@media(min-width:769px){
  details.footer-col > summary{list-style:none;cursor:default;pointer-events:none;margin-bottom:18px}
  details.footer-col > summary::-webkit-details-marker{display:none}
  details.footer-col > summary::marker{display:none;content:""}
  details.footer-col > *:not(summary){display:block !important}
}
@media(max-width:900px){
  .footer-columns{grid-template-columns:1fr !important;gap:0 !important;padding:32px 24px 0 !important}
  .footer-col{border-top:1px solid #1a1a1a;padding:0 !important}
  .footer-col summary{cursor:pointer;padding:18px 36px 18px 0 !important;position:relative;margin-bottom:0 !important;transition:color 0.2s}
  .footer-col summary:hover{color:#fff !important}
  .footer-col summary::after{content:"+";display:block;position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:300;color:#fff;line-height:1}
  .footer-col[open] summary::after{content:"−"}
  .footer-col > a{padding-bottom:14px !important}
  .footer-col[open] > a:last-of-type{padding-bottom:18px !important}
}

/* ═══ GENERATION CONCIERGE MODAL ═══ */
.gen-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:#000}
.gen-modal.active{display:flex}
.gen-modal.closing{animation:genClose 0.7s cubic-bezier(0.16,1,0.3,1) forwards}
@keyframes genClose{from{opacity:1}to{opacity:0;visibility:hidden}}

.gen-bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0a1628 0%,#000 70%);opacity:0;animation:genBgIn 1s ease forwards;z-index:1}
.gen-modal.phase-reveal .gen-bg{background:radial-gradient(ellipse at center,#fff 0%,#f4f4f2 100%);transition:background 1.2s cubic-bezier(0.65,0,0.35,1)}
@keyframes genBgIn{from{opacity:0}to{opacity:1}}

.gen-shimmer{position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(34,197,94,0.04) 50%,transparent 70%);background-size:300% 300%;animation:genShimmer 6s ease-in-out infinite;z-index:2;pointer-events:none}
.gen-modal.phase-reveal .gen-shimmer{display:none}
@keyframes genShimmer{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}

.gen-inner{position:relative;z-index:5;max-width:680px;width:100%;text-align:center;padding:48px 24px}

.gen-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.32em;text-transform:uppercase;color:#888;margin-bottom:32px;opacity:0;animation:genFadeUp 0.8s 0.2s forwards;font-family:'Figtree',sans-serif}
.gen-modal.phase-reveal .gen-eyebrow{color:#666;animation:none;opacity:1;transition:color 1.2s}

.gen-keyword{font-size:clamp(28px,4.5vw,52px);font-weight:400;line-height:1.1;letter-spacing:-0.01em;color:#fff;margin-bottom:48px;font-family:'Georgia','Playfair Display',serif;font-style:italic;min-height:60px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;transition:all 1.2s cubic-bezier(0.65,0,0.35,1);word-break:break-word}
.gen-keyword .letter{display:inline-block;opacity:0;transform:translateY(8px);transition:none;white-space:pre}
.gen-keyword .letter.in{opacity:1;transform:translateY(0);transition:opacity 0.4s, transform 0.4s}
.gen-modal.phase-reveal .gen-keyword{color:#0a0a0a;font-family:'Figtree',sans-serif;font-style:normal;font-weight:900;text-transform:uppercase;font-size:clamp(24px,3.6vw,40px)}

.gen-stats{display:flex;flex-direction:column;gap:14px;max-width:520px;margin:0 auto;text-align:left;opacity:0;transition:opacity 1.2s}
.gen-modal.phase-analysis .gen-stats,.gen-modal.phase-pre-reveal .gen-stats{opacity:1}
.gen-modal.phase-reveal .gen-stats{opacity:0;pointer-events:none}

.gen-stat{display:flex;align-items:center;gap:16px;padding:14px 20px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:8px;opacity:0;transform:translateX(-12px);transition:all 0.5s cubic-bezier(0.65,0,0.35,1);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.gen-stat.in{opacity:1;transform:translateX(0)}
.gen-stat.done{border-color:rgba(34,197,94,0.3);background:rgba(34,197,94,0.04)}

.gen-stat-icon{width:28px;height:28px;border-radius:50%;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}
.gen-stat-icon::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(34,197,94,0.4);opacity:0;animation:genPing 1.6s ease-out infinite}
.gen-stat.done .gen-stat-icon::after{display:none}
.gen-stat.done .gen-stat-icon{background:#22c55e;border-color:#22c55e}
.gen-stat-icon svg{width:13px;height:13px;color:#22c55e;transition:color 0.3s}
.gen-stat.done .gen-stat-icon svg{color:#000}
@keyframes genPing{0%{opacity:0.6;transform:scale(0.95)}80%,100%{opacity:0;transform:scale(1.4)}}

.gen-stat-text{font-size:13px;color:#aaa;font-weight:500;letter-spacing:0.01em;line-height:1.4;font-family:'Figtree',sans-serif;flex:1}
.gen-stat.done .gen-stat-text{color:#fff}
.gen-stat-num{font-family:'JetBrains Mono','SF Mono','Menlo',monospace;color:#22c55e;font-weight:700;letter-spacing:0;display:inline-block;min-width:36px;text-align:left}

.gen-meta{font-family:'JetBrains Mono','SF Mono','Menlo',monospace;font-size:11px;font-weight:700;letter-spacing:0.18em;color:#22c55e;text-transform:uppercase;margin-bottom:32px;opacity:0;transition:opacity 0.6s 0.3s}
.gen-modal.phase-analysis .gen-meta{opacity:1}
.gen-modal.phase-reveal .gen-meta{color:#666;opacity:0.7}

.gen-welcome{font-size:clamp(18px,2.2vw,26px);font-weight:400;color:#0a0a0a;line-height:1.4;letter-spacing:-0.01em;margin-top:24px;font-family:'Figtree',sans-serif;font-style:italic;opacity:0;transition:opacity 1.2s 0.4s}
.gen-modal.phase-reveal .gen-welcome{opacity:1}
.gen-welcome em{font-style:normal;font-weight:800;letter-spacing:-0.01em}

.gen-cta{display:none;margin-top:32px;opacity:0;transition:opacity 1s 0.8s}
.gen-modal.phase-reveal .gen-cta{display:inline-block;opacity:1}
.gen-btn{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;color:#fff;background:#0a0a0a;padding:18px 32px;font-family:'Figtree',sans-serif;border:none;cursor:pointer;transition:all 0.3s cubic-bezier(0.65,0,0.35,1);position:relative;overflow:hidden}
.gen-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(34,197,94,0.2),transparent);transform:translateX(-100%);transition:transform 0.6s}
.gen-btn:hover::before{transform:translateX(100%)}
.gen-btn:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(0,0,0,0.2)}
.gen-btn-arrow{display:inline-block;transition:transform 0.3s}
.gen-btn:hover .gen-btn-arrow{transform:translateX(4px)}

@keyframes genFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:640px){
  .gen-inner{padding:32px 16px}
  .gen-keyword{font-size:clamp(22px,7vw,36px);margin-bottom:32px;min-height:48px}
  .gen-stat{padding:12px 16px;gap:12px}
  .gen-stat-text{font-size:12px}
  .gen-welcome{font-size:16px}
  .gen-btn{font-size:10px;padding:16px 26px;letter-spacing:0.2em}
}

/* SERP mockups during analysis */
.gen-serp-strip{margin-top:24px;max-width:520px;margin-left:auto;margin-right:auto;text-align:left;opacity:0;transition:opacity 0.5s}
.gen-modal.phase-analysis .gen-serp-strip{opacity:0.85}
.gen-modal.phase-reveal .gen-serp-strip{display:none}
.gen-serp-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:6px;padding:12px 14px;margin-bottom:8px;font-family:'Figtree',sans-serif;opacity:0;transform:translateY(6px);transition:opacity 0.5s, transform 0.5s, max-height 0.5s;overflow:hidden;max-height:0}
.gen-serp-card.in{opacity:1;transform:translateY(0);max-height:80px}
.gen-serp-card.out{opacity:0;transform:translateY(-4px);max-height:0;padding-top:0;padding-bottom:0;margin-bottom:0;border-color:transparent}
.gen-serp-url{font-family:'JetBrains Mono','SF Mono','Menlo',monospace;font-size:9px;color:#666;letter-spacing:0.04em;margin-bottom:3px}
.gen-serp-title{font-size:12px;font-weight:600;color:#aaa;line-height:1.3;margin-bottom:3px}
.gen-serp-snippet{font-size:10px;color:#555;line-height:1.4}

/* Working title preview */
.gen-preview{display:none;margin-top:18px;padding:10px 14px;background:rgba(34,197,94,0.06);border:1px solid rgba(34,197,94,0.2);border-radius:6px;max-width:520px;margin-left:auto;margin-right:auto;text-align:left;opacity:0;transition:opacity 0.6s, transform 0.6s;transform:translateY(4px);font-family:'Figtree',sans-serif}
.gen-preview.show{display:block;opacity:1;transform:translateY(0)}
.gen-preview-label{font-size:9px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:#22c55e;margin-bottom:4px}
.gen-preview-title{font-size:13px;color:#fff;font-style:italic;line-height:1.35}

/* Word counter mode for stat 4 */
.gen-stat-text .gen-word-count{font-family:'JetBrains Mono','SF Mono','Menlo',monospace;color:#22c55e;font-weight:700;display:inline-block;min-width:48px;text-align:left}

/* FAQ — collapsible editorial pattern, matching homepage hp-faq */
.swt-faq-list{margin-top:8px}
.swt-faq-item{border-bottom:1px solid #e0e0e0}
.swt-faq-item summary{list-style:none;cursor:pointer;padding:28px 56px 28px 0;position:relative;font-size:17px;font-weight:700;color:#000;line-height:1.4;transition:color 0.2s;letter-spacing:-0.005em}
.swt-faq-item summary::-webkit-details-marker{display:none}
.swt-faq-item summary:hover{color:#444}
.swt-faq-item summary::after{content:"+";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:300;color:#000;line-height:1;transition:color 0.2s}
.swt-faq-item[open] summary::after{content:"\2212";color:#888}
.swt-faq-a{padding:0 56px 28px 0;font-size:15px;line-height:1.75;color:#444}
.swt-faq-a p{margin:0}
@media(max-width:768px){
  .swt-faq-item summary{font-size:15px;padding:22px 44px 22px 0}
  .swt-faq-item summary::after{font-size:24px;right:6px}
  .swt-faq-a{padding:0 44px 22px 0;font-size:14px}
}

@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.4)}}
.kw-overuse{background:rgba(244,114,182,0.18);padding:1px 3px;border-radius:2px;}
.long-sentence{background:rgba(251,191,36,0.14);padding:1px 3px;border-radius:2px;}

/* Hide scrollbar on the tab bar but keep horizontal scrolling */
.tab-bar::-webkit-scrollbar{display:none}

/* === Wide desktop: more breathing room for sidebar === */
@media(min-width:1200px){
  .score-grid{grid-template-columns:1fr 400px!important}
}

/* === Small desktop / large tablet (1024px and below): collapse sidebar BELOW editor === */
@media(max-width:1024px){
  .score-grid{grid-template-columns:1fr!important}
  .score-sidebar{position:static!important;top:auto!important}
  /* On tablet, show sidebar in a horizontal layout above findings */
  .score-sidebar{flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:24px!important}
  .score-sidebar > div:first-child{flex:0 0 auto;border-bottom:none!important;padding-bottom:0!important;border-right:1px solid #1e1e1e!important;padding-right:24px!important;text-align:left!important}
  .score-sidebar svg#scoreRadar{width:180px!important;height:180px!important}
  #scoreChips{flex:1 1 280px}
  .score-stats{flex:1 1 100%;border-top:1px solid #1e1e1e}
}

/* === Tablet (768px and below): editor padding tighter, textarea shorter === */
@media(max-width:768px){
  .score-editor{padding:24px!important}
  .score-textarea{min-height:360px!important}
  .score-findings{grid-template-columns:1fr 1fr!important}
}

/* === Phone (640px and below): everything stacks, font-size 16px on inputs to prevent iOS zoom === */
@media(max-width:640px){
  /* Generator panel inputs (existing) */
  #keyword,#industry,#tone{font-size:16px!important}
  /* Score panel inputs */
  #scoreKeyword,#scoreTitle,#scoreContent{font-size:16px!important}
  /* Generator panel grid */
  #generatorPanel div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  /* Generator panel padding adjustments */
  #generatorPanel{padding:24px!important}
  /* Output card padding */
  #outputContent{padding:24px 20px!important}
  /* Upsell stack */
  #toolOutput div[style*="padding:32px 40px"]{flex-direction:column!important;align-items:flex-start!important}
  /* Generator progress steps wrap */
  #progressWrap > div:first-child{flex-wrap:wrap!important;gap:8px!important}
  
  /* Score panel mobile-specific */
  .score-editor{padding:20px!important}
  .score-textarea{min-height:300px!important;padding:14px!important;font-size:16px!important}
  .score-sidebar{flex-direction:column!important;padding:20px!important;gap:18px!important}
  .score-sidebar > div:first-child{border-right:none!important;border-bottom:1px solid #1e1e1e!important;padding-right:0!important;padding-bottom:18px!important;text-align:center!important;width:100%!important}
  .score-sidebar svg#scoreRadar{width:200px!important;height:200px!important}
  #scoreChips{grid-template-columns:1fr 1fr!important;width:100%}
  .score-stats{font-size:11px!important;justify-content:flex-start!important;gap:14px!important}
  .score-findings{grid-template-columns:1fr!important;gap:8px!important}
  .score-findings > div{padding:20px!important}
  
  /* Tab bar — tighter padding so 6 tabs feel less cramped on phone */
  .tab-bar .tool-tab{padding:14px 18px!important;font-size:9px!important;letter-spacing:0.16em!important}
}

/* === Tiny phones (380px and below): even tighter === */
@media(max-width:380px){
  .score-textarea{min-height:240px!important}
  #scoreOverall{font-size:36px!important}
  .score-sidebar svg#scoreRadar{width:170px!important;height:170px!important}
  #scoreChips{grid-template-columns:1fr!important}
}

@media(max-width:900px){
  .footer-bar{flex-direction:column !important;align-items:flex-start !important;padding:24px 20px !important;}
  .footer-bar .footer-icons{flex-wrap:wrap;gap:16px !important;}
  .footer-columns{grid-template-columns:1fr !important;gap:32px !important;padding:40px 20px 0 !important;}
}

@keyframes ctapulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.6;transform:scale(1.3)}}
@media(max-width:600px){
  #stickyCta .cta-label{display:none}
  #ctaSubtext{display:none}
}
/* ===== PREMIUM POLISH LAYER ===== */
/* Refined easing curves throughout */

/* Generator panel: refined shadow that responds to focus */
#generatorPanel,#scorePanel .score-editor,#scorePanel .score-sidebar{
  transition:box-shadow 0.5s cubic-bezier(0.16,1,0.3,1),transform 0.4s cubic-bezier(0.16,1,0.3,1)!important;
  will-change:box-shadow,transform;
}
#generatorPanel:focus-within{
  box-shadow:0 1px 2px rgba(0,0,0,0.04),0 12px 32px rgba(0,0,0,0.06),0 24px 64px rgba(0,0,0,0.04);
}
#generatorPanel.submitting{
  transform:scale(0.985);opacity:0.65;pointer-events:none;
  transition:transform 0.55s cubic-bezier(0.32,0,0.67,0),opacity 0.4s ease-out!important;
}

/* Input fields: subtle letter-spacing shift on focus (Linear-style) */
#keyword,#scoreKeyword,#scoreTitle,.tool-input{
  transition:border-color 0.3s cubic-bezier(0.16,1,0.3,1),letter-spacing 0.3s ease,box-shadow 0.3s cubic-bezier(0.16,1,0.3,1)!important;
}
#keyword:focus,#scoreKeyword:focus,#scoreTitle:focus,.tool-input:focus{
  letter-spacing:0.005em;
  box-shadow:0 1px 2px rgba(0,0,0,0.04),0 4px 12px rgba(0,0,0,0.04);
}

/* Selects: same focus polish */
#industry,#tone,.tool-select{
  transition:border-color 0.3s cubic-bezier(0.16,1,0.3,1),box-shadow 0.3s cubic-bezier(0.16,1,0.3,1)!important;
}
#industry:focus,#tone:focus,.tool-select:focus{
  border-color:#000!important;
  box-shadow:0 1px 2px rgba(0,0,0,0.04),0 4px 12px rgba(0,0,0,0.04);
}

/* Generate button: layered hover with motion */
#generateBtn,.tool-btn{
  position:relative;overflow:hidden;
  transition:transform 0.3s cubic-bezier(0.16,1,0.3,1),box-shadow 0.3s cubic-bezier(0.16,1,0.3,1),background-color 0.25s ease!important;
}
#generateBtn::before,.tool-btn::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.08) 0%,transparent 50%);
  opacity:0;transition:opacity 0.35s ease;pointer-events:none;
}
#generateBtn:hover,.tool-btn:hover{
  opacity:1!important;background:#1a1a1a!important;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,0.18),0 1px 3px rgba(0,0,0,0.08);
}
#generateBtn:hover::before,.tool-btn:hover::before{opacity:1}
#generateBtn:active,.tool-btn:active{transform:translateY(0);transition-duration:0.1s}
#generateBtn:disabled,.tool-btn:disabled{opacity:0.5;transform:none;box-shadow:none}

/* Copy button: refined hover */
#copyBtn,.copy-btn{
  transition:border-color 0.25s cubic-bezier(0.16,1,0.3,1),color 0.25s ease,background-color 0.25s ease,transform 0.25s cubic-bezier(0.16,1,0.3,1)!important;
}
#copyBtn:hover,.copy-btn:hover{transform:translateY(-1px)}

/* Keyword suggestion buttons (kw-btn): polish hover */
.kw-btn{transition:border-color 0.25s ease,color 0.25s ease,background-color 0.25s ease,transform 0.25s cubic-bezier(0.16,1,0.3,1)!important}
.kw-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.04)}

/* Tab interactions: smoother active state */
.tool-tab{transition:color 0.3s cubic-bezier(0.16,1,0.3,1),border-bottom-color 0.3s cubic-bezier(0.16,1,0.3,1)!important}

/* Progress dots: smoother color transitions */
[id^="step"][id$="-dot"]{transition:background 0.5s cubic-bezier(0.16,1,0.3,1),transform 0.4s cubic-bezier(0.16,1,0.3,1)!important}
[id^="step"][id$="-label"]{transition:color 0.5s cubic-bezier(0.16,1,0.3,1)!important}

/* Score chips: subtle hover */
.score-chip{transition:border-color 0.25s ease,background-color 0.25s ease,transform 0.25s cubic-bezier(0.16,1,0.3,1)!important}
.score-chip:hover{transform:translateY(-1px)}

/* Findings cards: refined entrance + hover */
.score-findings>div{transition:box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.4s cubic-bezier(0.16,1,0.3,1)!important}
.score-findings>div:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.06),0 2px 4px rgba(0,0,0,0.03)}

/* Output content: smoother reveal when populated */
#toolOutput{transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1)}
#outputContent:not(:empty){animation:outputReveal 0.7s cubic-bezier(0.16,1,0.3,1)}
@keyframes outputReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Tab descriptions: smooth swap on tab change */
#tabDescription{transition:opacity 0.3s ease}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
  #generatorPanel,#keyword,#generateBtn,#copyBtn,.kw-btn,.score-chip,.score-findings>div,.tool-btn,.tool-input,.tool-select,.copy-btn{
    transition:none!important;
  }
  #generateBtn:hover,.tool-btn:hover,#copyBtn:hover,.copy-btn:hover,.kw-btn:hover,.score-chip:hover,.score-findings>div:hover{
    transform:none!important;
  }
  #outputContent:not(:empty){animation:none}
}

/* ───── POLISH v334: swt-steps + swt-compound grids ───── */
.swt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:48px 0 0;background:#ececec;border:1px solid #ececec}
.swt-step{background:#fff;padding:40px 32px;display:flex;flex-direction:column;gap:14px;transition:background 0.2s}
.swt-step:hover{background:#fcfcfa}
.swt-step-num{font-size:11px;font-weight:700;letter-spacing:0.28em;color:#22c55e;font-family:'JetBrains Mono','SF Mono',monospace}
.swt-step-title{font-size:18px;font-weight:900;color:#000;line-height:1.2;text-transform:uppercase;letter-spacing:-0.005em}
.swt-step-desc{font-size:14px;line-height:1.65;color:#555}

.swt-compound{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:#e0ddd6;border:1px solid #e0ddd6}
.swt-compound-card{background:#fff;padding:40px 36px;display:flex;flex-direction:column;gap:14px;transition:background 0.2s}
.swt-compound-card:hover{background:#fcfcfa}
.swt-compound-card--accent{background:#0a0a0a;color:#fff}
.swt-compound-card--accent:hover{background:#111}
.swt-compound-num{font-size:11px;font-weight:700;letter-spacing:0.28em;color:#22c55e;font-family:'JetBrains Mono','SF Mono',monospace}
.swt-compound-num--accent{font-size:32px;color:#22c55e;letter-spacing:0;font-family:'Figtree',sans-serif;line-height:1;font-weight:900}
.swt-compound-title{font-size:18px;font-weight:900;line-height:1.2;text-transform:uppercase;letter-spacing:-0.005em;color:#000}
.swt-compound-card--accent .swt-compound-title{color:#fff}
.swt-compound-desc{font-size:14px;line-height:1.7;color:#555}
.swt-compound-card--accent .swt-compound-desc{color:#aaa}

@media(max-width:768px){
  .swt-steps{grid-template-columns:1fr}
  .swt-step{padding:28px 24px}
  .swt-compound{grid-template-columns:1fr}
  .swt-compound-card{padding:30px 24px}
}
