/* ═══════════════════════════════════════════════
   COPYWRITING PAGE — Additional styles
   Only rules not already defined in main.css.
   Loaded exclusively on template-copywriting.php.
   Scoped to .is-copywriting-page where needed.
═══════════════════════════════════════════════ */

/* ── Section / layout utilities ──────────────── */
.section     { padding: clamp(72px,8vw,112px) 0; }
.section-alt { background: var(--mist); }
.section-dark{ background: var(--ink); }
.wrap        { width: var(--w); margin: 0 auto; }

/* ── Button variants ──────────────────────────── */
.btn-ghost {
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(255,255,255,.04); color:rgba(255,255,255,.8);
  font-family:var(--ff-body); font-size:.95rem; font-weight:500;
  padding:13px 26px; border-radius:var(--r2);
  border:1px solid rgba(255,255,255,.15);
  transition:all .25s var(--ease);
  text-decoration:none;
}
.btn-ghost:hover { border-color:rgba(255,255,255,.35); color:#fff; transform:translateY(-2px); }

.btn-out {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:var(--ink);
  font-family:var(--ff-body); font-size:.88rem; font-weight:600;
  padding:11px 22px; border-radius:var(--r2);
  border:1.5px solid var(--line2);
  transition:all .25s var(--ease);
  text-decoration:none;
}
.btn-out:hover { border-color:var(--fire); color:var(--fire); }

/* ── H1 span variants ─────────────────────────── */
.h1-dim {
  display:block; font-style:italic; font-weight:300;
  color:rgba(255,255,255,.5); margin-bottom:2px;
}
.h1-white { color:#fff; font-weight:700; }
.h1-fire  { color:var(--fire); font-weight:700; }
.h1-underline {
  display:block; color:#fff; font-weight:700;
  position:relative; padding-bottom:6px;
}
.h1-underline::after {
  content:''; position:absolute; left:0; bottom:0;
  height:3px; width:0;
  background:linear-gradient(90deg,var(--fire),transparent);
  border-radius:2px;
  transition:width 1.4s .7s var(--ease);
}
.h1-underline.drawn::after { width:100%; }

/* ── Hero ─────────────────────────────────────── */
.is-copywriting-page .hero-body {
  padding: 80px 0 72px;
  gap: 56px;
}
.admin-bar.is-copywriting-page .hero-body { padding-top: 112px; }

@media screen and (max-width: 782px) {
  .admin-bar.is-copywriting-page .hero-body { padding-top: 126px; }
}

/* Hero glow orbs */
.hero-glow {
  position:absolute; top:-80px; right:-60px;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle,rgba(240,98,12,.14) 0%,transparent 68%);
  pointer-events:none; z-index:1;
}
.hero-glow2 {
  position:absolute; bottom:-60px; left:-80px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(22,43,71,.7) 0%,transparent 70%);
  pointer-events:none; z-index:1;
}

/* Hero pill dot */
.hero-pill-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--fire); flex-shrink:0;
  animation:dotPulse 2s infinite;
}
@keyframes dotPulse {
  0%,100% { box-shadow:0 0 4px var(--fire); }
  50%     { box-shadow:0 0 12px var(--fire); }
}

/* Hero entry animations */
.is-copywriting-page .hero-pill    { opacity:0; animation:fadeUp .6s .10s var(--ease) forwards; }
.is-copywriting-page .hero-h1      { opacity:0; animation:fadeUp .7s .25s var(--ease) forwards; }
.is-copywriting-page .hero-sub     { opacity:0; animation:fadeUp .7s .40s var(--ease) forwards; color:rgba(255,255,255,.52); }
.is-copywriting-page .hero-actions { opacity:0; animation:fadeUp .7s .55s var(--ease) forwards; }
.is-copywriting-page .hero-stats   { opacity:0; animation:fadeUp .7s .75s var(--ease) forwards; }
.hero-right-col                    { opacity:0; animation:fadeIn .9s .45s var(--ease) forwards; }

@keyframes fadeUp  { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes fadeIn  { from { opacity:0; transform:scale(.97); }       to { opacity:1; transform:scale(1); } }

/* Hero stats bar */
.hero-stats {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line);
  border-top:1px solid var(--line); margin-top:48px;
}
.hero-stats .hstat { padding:24px 0; background:var(--ink); display:flex; flex-direction:column; gap:4px; }
.hero-stats .hstat-n { font-family:var(--ff-head); font-size:2.2rem; font-weight:700; letter-spacing:-.03em; color:#fff; line-height:1; }
.hero-stats .hstat-n sup { font-size:1rem; color:var(--fire); vertical-align:super; }
.hero-stats .hstat-l { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.38); font-weight:500; }

/* ── Ticker ──────────────────────────────────── */
.ticker-l,.ticker-r {
  position:absolute; top:0; width:100px; height:100%;
  z-index:2; pointer-events:none;
}
.ticker-l { left:0;  background:linear-gradient(90deg,var(--ink),transparent); }
.ticker-r { right:0; background:linear-gradient(-90deg,var(--ink),transparent); }
.ticker-track {
  display:flex; align-items:center; white-space:nowrap;
  animation:tickerRun 42s linear infinite;
  font-family:var(--ff-head); font-size:3rem; font-weight:900;
  line-height:1; letter-spacing:-.03em;
  color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.2);
  user-select:none;
}
.ticker-track span { padding:0 18px; }
.ticker-track .sp  { color:var(--fire); -webkit-text-stroke:0; font-size:.9rem; padding:0 6px; }
@keyframes tickerRun { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ── Copy Panel (Hero right column) ─────────── */
.copy-panel {
  background:#111827;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px; overflow:hidden;
  box-shadow:0 32px 70px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04);
  animation:fadeIn .9s .45s var(--ease) both;
}
.cp-topbar {
  padding:11px 16px;
  background:rgba(255,255,255,.025);
  border-bottom:1px solid rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:space-between;
}
.cp-dots { display:flex; gap:6px; }
.cp-dot  { width:9px; height:9px; border-radius:50%; }
.cp-dot-r { background:#ff5f57; }
.cp-dot-y { background:#febc2e; }
.cp-dot-g { background:#28c840; }
.cp-label {
  display:inline-flex; align-items:center; gap:6px;
  font-size:.65rem; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.45); font-weight:600;
}
.cp-live { font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.3); font-weight:500; }

/* Before / After sections */
.cp-section { padding:12px 14px 8px; }
.cp-tag {
  display:inline-block;
  font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:3px 8px; border-radius:4px; margin-bottom:8px;
}
.cp-tag-before { background:rgba(220,38,38,.18); color:#f87171; border:1px solid rgba(220,38,38,.25); }
.cp-tag-after  { background:rgba(34,197,94,.15); color:#4ade80; border:1px solid rgba(34,197,94,.25); }

.cp-box {
  padding:14px 16px; border-radius:8px;
  border-left:3px solid transparent;
}
.cp-box-before {
  background:rgba(220,38,38,.06);
  border-left-color:rgba(220,38,38,.4);
}
.cp-box-after  {
  background:rgba(34,197,94,.05);
  border-left-color:rgba(34,197,94,.4);
}
.cp-text {
  font-family:var(--ff-body); font-size:.88rem; line-height:1.55; margin:0 0 6px;
}
.cp-text-before { font-style:italic; color:rgba(255,255,255,.4); }
.cp-text-after  { font-weight:700; color:#fff; font-style:normal; }

.cp-note { font-size:.68rem; color:rgba(255,255,255,.3); font-style:italic; }
.cp-note-after { color:rgba(74,222,128,.6); }

/* Arrow between boxes */
.cp-arrow {
  display:flex; align-items:center; justify-content:center;
  padding:4px 0;
}

/* Metrics row */
.cp-metrics {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:rgba(255,255,255,.06);
  margin:8px 14px 14px;
  border-radius:8px; overflow:hidden;
}
.cp-metric {
  background:#0d1117;
  padding:12px 10px;
  display:flex; flex-direction:column; gap:6px;
  align-items:center;
}
.cp-metric-label {
  font-size:.6rem; text-transform:uppercase; letter-spacing:.08em;
  color:rgba(255,255,255,.35); font-weight:500; text-align:center;
}
.cp-metric-vals {
  display:flex; align-items:center; gap:5px;
}
.cp-val-before {
  font-size:.78rem; color:rgba(255,255,255,.3);
  text-decoration:line-through; font-weight:500;
}
.cp-val-after {
  font-size:.9rem; font-weight:700; color:#4ade80;
  font-family:var(--ff-head);
}

/* ── Why Copy Matters ─────────────────────────── */
.why-copy-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:24px; margin-top:56px;
}
.wc-card {
  background:#fff;
  border:1px solid var(--line2);
  border-radius:var(--r2);
  padding:36px 28px 28px;
  position:relative; overflow:hidden;
  transition:all .3s var(--ease);
}
.wc-card:hover {
  border-color:transparent;
  box-shadow:0 12px 40px rgba(8,17,31,.1);
  transform:translateY(-3px);
}
.wc-quote {
  font-size:4rem; font-weight:900; line-height:1;
  color:var(--fire); opacity:.08;
  position:absolute; top:14px; left:20px;
  font-family:Georgia,serif; pointer-events:none;
  user-select:none;
}
.wc-card p {
  font-family:var(--ff-body); font-size:.92rem;
  color:var(--text); line-height:1.7;
  position:relative; z-index:1; margin:0;
}

/* ── Services Grid ────────────────────────────── */
.copy-srv-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.copy-srv-card {
  background:#fff;
  border:1px solid var(--line2);
  border-radius:var(--r3);
  padding:32px 28px;
  position:relative; overflow:hidden;
  transition:all .3s var(--ease);
  border-left:3px solid transparent;
}
.copy-srv-card:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(8,17,31,.1);
  border-left-color:var(--fire);
  border-top-color:var(--line2);
  border-right-color:var(--line2);
  border-bottom-color:var(--line2);
}
.copy-srv-icon {
  width:44px; height:44px;
  background:rgba(240,98,12,.08);
  border-radius:var(--r1);
  display:flex; align-items:center; justify-content:center;
  color:var(--fire); margin-bottom:18px; flex-shrink:0;
}
.copy-srv-name {
  font-family:var(--ff-head); font-size:1.05rem; font-weight:700;
  color:var(--ink); margin:0 0 10px; letter-spacing:-.01em;
}
.copy-srv-desc {
  font-family:var(--ff-body); font-size:.875rem;
  color:var(--text2); line-height:1.65; margin:0;
}

/* ── AdSense slot wrapper ─────────────────────── */
.adslot-wrap {
  width:var(--w); margin:0 auto;
  padding:16px 0;
}

/* ── Process timeline ─────────────────────────── */
.copy-process {
  display:flex; flex-direction:column; gap:0;
  position:relative;
}
.copy-process::before {
  content:''; position:absolute; left:26px; top:32px; bottom:32px;
  width:2px; background:linear-gradient(to bottom,var(--fire),rgba(240,98,12,.08));
}
.cproc-step {
  display:flex; gap:24px; align-items:flex-start;
  padding:0 0 32px;
  position:relative;
}
.cproc-step:last-child { padding-bottom:0; }
.cproc-num {
  min-width:52px; height:52px; border-radius:50%;
  border:2px solid rgba(240,98,12,.3);
  background:var(--ink);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-head); font-size:.85rem; font-weight:700;
  color:var(--fire); letter-spacing:.04em;
  flex-shrink:0; position:relative; z-index:2;
  transition:all .3s var(--ease);
}
.cproc-step:hover .cproc-num {
  background:var(--fire); border-color:var(--fire); color:#fff;
  box-shadow:0 0 0 6px rgba(240,98,12,.15);
}
.cproc-card {
  background:#fff; border:1px solid var(--line2);
  border-radius:var(--r2); padding:24px 28px;
  flex:1; margin-top:8px;
  transition:all .3s var(--ease);
}
.cproc-step:hover .cproc-card {
  border-color:rgba(240,98,12,.25);
  box-shadow:0 8px 32px rgba(8,17,31,.08);
  transform:translateX(4px);
}
.cproc-title {
  font-family:var(--ff-head); font-size:1rem; font-weight:700;
  color:var(--ink); margin:0 0 8px; letter-spacing:-.01em;
}
.cproc-title em { font-style:italic; color:var(--fire); font-weight:600; }
.cproc-desc {
  font-family:var(--ff-body); font-size:.875rem;
  color:var(--text2); line-height:1.65; margin:0;
}

/* large decorative step number */
.cproc-step { position:relative; }

/* ── Principles (4-col dark) ─────────────────── */
.copy-principles-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.cp-principle {
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r2);
  padding:32px 24px;
  transition:all .3s var(--ease);
}
.cp-principle:hover {
  background:rgba(255,255,255,.07);
  border-color:rgba(240,98,12,.25);
  transform:translateY(-3px);
}
.cpp-icon {
  width:44px; height:44px;
  background:rgba(240,98,12,.12);
  border-radius:var(--r1);
  display:flex; align-items:center; justify-content:center;
  color:var(--fire); margin-bottom:18px;
}
.cpp-title {
  font-family:var(--ff-head); font-size:.97rem; font-weight:700;
  color:#fff; margin:0 0 10px; letter-spacing:-.01em;
}
.cpp-desc {
  font-family:var(--ff-body); font-size:.85rem;
  color:rgba(255,255,255,.5); line-height:1.65; margin:0;
}

/* ── Result callouts ─────────────────────────── */
.copy-results-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.cresult-card {
  background:#fff;
  border:1px solid var(--line2);
  border-left:4px solid var(--fire);
  border-radius:var(--r2);
  padding:32px 28px;
  position:relative; overflow:hidden;
  transition:all .3s var(--ease);
}
.cresult-card:hover {
  box-shadow:0 16px 48px rgba(8,17,31,.1);
  transform:translateY(-4px);
}
.cresult-quote {
  font-size:3.5rem; font-weight:900; line-height:1;
  color:var(--fire); opacity:.15;
  position:absolute; top:12px; right:20px;
  font-family:Georgia,serif; pointer-events:none;
  user-select:none;
}
.cresult-text {
  font-family:var(--ff-body); font-size:.9rem;
  color:var(--text); line-height:1.7; margin:0 0 20px;
  position:relative; z-index:1;
}
.cresult-metric {
  color:var(--fire); font-weight:700;
}
.cresult-tag {
  display:inline-block;
  font-size:.65rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  background:rgba(240,98,12,.08); color:var(--fire);
  padding:4px 10px; border-radius:4px;
  border:1px solid rgba(240,98,12,.18);
}

/* ── CTA fire section ─────────────────────────── */
.cta-fire {
  background:var(--fire);
  position:relative; overflow:hidden;
}
.cta-fire::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 0%,rgba(255,255,255,.12),transparent);
  pointer-events:none;
}
.cta-fire .section-h { color:#fff; }
.btn-cta-white {
  display:inline-flex; align-items:center; gap:9px;
  background:#fff; color:var(--fire);
  font-family:var(--ff-body); font-size:1rem; font-weight:700;
  padding:15px 32px; border-radius:var(--r2);
  border:2px solid transparent;
  transition:all .25s var(--ease);
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.btn-cta-white:hover {
  background:var(--ink); color:#fff;
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(0,0,0,.3);
}

/* ── FAQ layout ──────────────────────────────── */
.faq-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:start;
}
.faq-list { display:flex; flex-direction:column; gap:8px; margin-top:40px; }

/* ── Scroll-reveal ───────────────────────────── */
.reveal {
  opacity:0; transform:translateY(20px);
  transition:opacity .55s var(--ease), transform .55s var(--ease);
}
.reveal.reveal-d1 { transition-delay:.12s; }
.reveal.reveal-d2 { transition-delay:.24s; }
.reveal.revealed  { opacity:1; transform:none; }

/* ── Reduced motion ──────────────────────────── */
@media (prefers-reduced-motion:reduce) {
  .is-copywriting-page .hero-pill,
  .is-copywriting-page .hero-h1,
  .is-copywriting-page .hero-sub,
  .is-copywriting-page .hero-actions,
  .is-copywriting-page .hero-stats,
  .hero-right-col,
  .copy-panel,
  .reveal {
    opacity:1; animation:none; transform:none; transition:none;
  }
  .hero-pill-dot,
  .ticker-track { animation:none; }
  .h1-underline::after { width:100%; transition:none; }
}

/* ── Responsive ──────────────────────────────── */

/* 1100px: principles 2-col */
@media (max-width:1100px) {
  .copy-principles-grid { grid-template-columns:repeat(2,1fr); }
}

/* 960px: hero stacks */
@media (max-width:960px) {
  .is-copywriting-page .hero-body { grid-template-columns:1fr; padding-top:110px; }
  .hero-right-col { display:none !important; }
  .why-copy-grid  { grid-template-columns:1fr; gap:16px; }
  .copy-results-grid { grid-template-columns:1fr; gap:16px; }
  .faq-grid { grid-template-columns:1fr; gap:48px; }
  .faq-list { margin-top:0; }
}

/* 768px: services & other grids 1-col */
@media (max-width:768px) {
  .is-copywriting-page .hero-body { padding-top:90px; }
  .copy-srv-grid { grid-template-columns:1fr; }
  .copy-principles-grid { grid-template-columns:1fr; }
  .hero-stats { grid-template-columns:1fr; }
  .hero-stats .hstat { border-bottom:1px solid var(--line); }
}

/* 540px: tweaks */
@media (max-width:540px) {
  .why-copy-grid { grid-template-columns:1fr; }
  .copy-results-grid { grid-template-columns:1fr; }
  .cp-metrics { grid-template-columns:1fr; }
  .btn-cta-white { width:100%; justify-content:center; }
}
