/*
Theme Name: October Awareness + Halloween Update Sept 10 2026
Theme URI: https://onthehookbookkeeping.com/
Author: On The Hook Bookkeeping
Description: A combined Breast Cancer Awareness and Halloween October edition with pink ribbons, pumpkins, bats, hope-and-strength accents, spooky seasonal details, and mobile-friendly styling.
Version: 1.1.0
Text Domain: oth-october-combo
*/

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--page); line-height: 1.65; }
a { color: inherit; }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.section { padding: 92px 0; position: relative; overflow: hidden; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 9999; background: #fff; color: #000; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { top: 12px; }

.holiday-ribbon {
  position: relative; z-index: 1100; min-height: 54px; display: flex; justify-content: center; align-items: center; gap: 14px;
  text-align: center; padding: 8px 18px; font-size: .9rem; border-bottom: 1px solid rgba(0,0,0,.22);
}
.holiday-title-pill {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: .58em;
  padding: 8px 16px; border-radius: 999px; font-weight: 950; text-transform: uppercase; letter-spacing: .12em; line-height: 1.15;
  white-space: nowrap; box-shadow: 0 3px 12px rgba(0,0,0,.16);
}
.theme-title-star { display: inline-block; font-size: .98em; }
.holiday-ribbon-message { line-height: 1.28; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.theme-bunting { height: 13px; display: grid; grid-template-columns: repeat(8, 1fr); overflow: hidden; }
.theme-bunting span { display: block; clip-path: polygon(0 0,100% 0,50% 100%); }
.nav-wrap { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand img { width: 132px; max-height: 76px; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: 26px; font-weight: 800; font-size: .95rem; }
.site-nav a { text-decoration: none; position: relative; }
.site-nav a:not(.nav-cta):not(.social-link)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: right .2s ease; }
.site-nav a:hover::after { right: 0; }
.nav-cta { padding: 12px 18px; border-radius: 999px; color: #fff; background: linear-gradient(135deg, var(--nav-dark), var(--accent-2)); box-shadow: 0 10px 25px rgba(0,0,0,.17); }
.social-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.site-nav .social-link {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  padding: 0 !important;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease;
}
.menu-toggle { display: none; background: transparent; border: 0; padding: 8px; }
.menu-toggle span { width: 28px; height: 3px; display: block; margin: 5px 0; background: var(--nav-dark); border-radius: 99px; }

.social-link img {
  width: 40px;
  height: 40px;
  display: block;
  object-fit: contain;
}

.social-link:hover {
  transform: scale(1.08);
}

.hero { min-height: 720px; overflow: hidden; display: flex; align-items: center; color: #fff; position: relative; isolation: isolate; }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: -1; }
.hero-pattern { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
.theme-ribbon { position: absolute; pointer-events: none; border-radius: 999px; filter: drop-shadow(0 12px 24px rgba(0,0,0,.16)); }
.hero-grid { position: relative; z-index: 3; display: grid; grid-template-columns: 1.18fr .82fr; align-items: center; gap: 62px; padding: 90px 0 110px; }
.theme-day-title { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: clamp(1rem,2vw,1.3rem); line-height: 1; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.24); }
.theme-day-title span { color: var(--highlight); font-size: 1.15em; }
.theme-badge { display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 8px 14px; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 18px; }
.eyebrow, .section-kicker, .theme-kicker { margin: 0 0 13px; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .18em; color: var(--accent); }
.hero .eyebrow { color: var(--hero-soft); }
.hero h1 { margin: 0; font-size: clamp(2.7rem, 6vw, 5.3rem); line-height: .98; letter-spacing: -.055em; max-width: 820px; }
.hero h1 span { color: var(--hero-highlight); }
.hero-lead { max-width: 720px; color: rgba(255,255,255,.84); font-size: 1.13rem; margin: 26px 0 30px; }
.hero-actions { display: flex; gap: 13px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 21px; border: 0; border-radius: 999px; font-weight: 900; text-decoration: none; cursor: pointer; font-size: .95rem; }
.button-primary { background: linear-gradient(135deg, var(--button), var(--button-dark)); color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.24); }
.button-secondary { color: #fff; border: 1px solid rgba(255,255,255,.45); background: rgba(255,255,255,.08); }
.trust-strip { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.trust-strip span { padding: 7px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.82); font-size: .8rem; }
.logo-card { position: relative; padding: 28px 24px 24px; border-radius: 32px; background: rgba(255,255,255,.97); box-shadow: 0 34px 80px rgba(0,0,0,.28); overflow: hidden; }
.logo-card img { width: min(460px, 100%); margin: auto; position: relative; z-index: 2; }
.theme-frame { border: 7px solid transparent; }
.theme-corner { position: absolute; z-index: 3; pointer-events: none; }
.logo-theme-banner { position: relative; z-index: 3; margin: 14px auto 0; padding: 9px 12px; max-width: 92%; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 10px; font-size: .72rem; font-weight: 950; letter-spacing: .10em; text-transform: uppercase; }
.theme-divider-dots { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; gap: 24px; color: rgba(255,255,255,.66); font-size: 1rem; }
.theme-divider-dots span:nth-child(3) { color: var(--highlight); font-size: 1.35rem; }

.section-heading { max-width: 760px; margin-bottom: 40px; }
.section-heading.centered { margin-left: auto; margin-right: auto; text-align: center; }
.section-heading h2, .split-heading h2, .results-copy h2, .faq-intro h2, .cert-copy h2, .contact-copy h2, .theme-feature-inner h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.08; letter-spacing: -.035em; }
.problem-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.problem-card, .service-card, .badge-card, .contact-card, details { border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.problem-card { border-radius: var(--radius); padding: 30px; position: relative; overflow: hidden; }
.problem-card::after { content: var(--card-watermark); position: absolute; right: -6px; top: -18px; font-size: 6rem; color: var(--watermark); line-height: 1; }
.icon-badge { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--nav-dark); color: #fff; font-size: .78rem; font-weight: 900; margin-bottom: 20px; box-shadow: inset 0 0 0 3px rgba(255,255,255,.16); }
.problem-card h3 { font-size: 1.22rem; line-height: 1.35; }
.problem-card p { color: var(--muted); }

.services { background: linear-gradient(180deg,var(--section-soft),#fff); }
.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: end; margin-bottom: 40px; }
.split-heading > p { color: var(--muted); margin: 0; }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.service-card { border-radius: 28px; padding: 34px; position: relative; overflow: hidden; }
.service-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 7px; background: var(--service-stripe); }
.service-card.featured { background: linear-gradient(145deg,var(--nav-dark),var(--nav-mid)); color: #fff; border-color: rgba(255,255,255,.08); }
.service-theme-corner { position: absolute; right: 18px; top: 11px; color: var(--highlight); opacity: .78; font-weight: 900; }
.service-top { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.service-kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 900; color: var(--accent); }
.featured .service-kicker { color: var(--hero-soft); }
.service-symbol { font-size: 1.4rem; font-weight: 900; color: var(--accent); }
.featured .service-symbol { color: var(--highlight); }
.service-card h3 { font-size: 1.55rem; line-height: 1.25; max-width: 520px; }
.service-card ul { list-style: none; padding: 0; margin: 24px 0 0; }
.service-card li { position: relative; padding: 11px 0 11px 24px; border-bottom: 1px solid rgba(7,26,51,.10); }
.featured li { border-color: rgba(255,255,255,.10); }
.service-card li::before { content: var(--list-mark); position: absolute; left: 0; color: var(--accent); font-size: .72rem; top: 11px; }
.featured li::before { color: var(--highlight); }

.themed-divider { min-height: 42px; display: grid; grid-template-columns: minmax(250px,34%) 1fr; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.divider-badge { display:flex; align-items:center; justify-content:center; padding: 7px 14px; text-align:center; font-size:.68rem; font-weight:950; letter-spacing:.14em; }
.divider-rail { position: relative; min-height: 42px; }

.results { background: var(--results-bg); }
.results-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: start; }
.results-copy { position: sticky; top: 150px; }
.results-copy p { color: var(--muted); }
.text-link { font-weight: 900; color: var(--accent); text-decoration: none; }
.results-list { border-top: 1px solid var(--line); }
.result-item { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.result-number { font-weight: 900; color: var(--accent); }
.result-item h3 { margin: 0 0 6px; font-size: 1.2rem; }
.result-item p { margin: 0; color: var(--muted); }

.process-line { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; position: relative; }
.process-line::before { content: ""; position: absolute; height: 2px; background: linear-gradient(90deg,var(--accent-2),var(--highlight),var(--accent)); left: 14%; right: 14%; top: 26px; z-index: 0; }
.step { position: relative; z-index: 1; text-align: center; }
.step-num { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 20px; background: #fff; border: 4px solid var(--accent-2); color: var(--accent); font-weight: 900; }
.step h3 { font-size: 1.15rem; }
.step p { color: var(--muted); }

.theme-strip { min-height: 72px; display:flex; align-items:center; justify-content:center; gap:clamp(18px,4vw,58px); overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

.theme-feature-band { position: relative; overflow: hidden; color: #fff; padding: 62px 0; }
.theme-feature-pattern { position:absolute; inset:0; pointer-events:none; }
.theme-feature-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 130px 1fr; gap: 36px; align-items: center; }
.theme-kicker { color: var(--hero-soft); }
.theme-feature-inner p { max-width: 820px; color: rgba(255,255,255,.80); }
.theme-emblem { width: 126px; min-height: 112px; display:grid; place-items:center; position:relative; }
.theme-icons { display:flex; align-items:center; gap:14px; margin-top:18px; }

.quote-band { padding: 78px 0; color: #fff; text-align: center; position: relative; overflow:hidden; }
.quote-band::before, .quote-band::after { content: var(--quote-decor); position: absolute; top: 22px; color: rgba(255,255,255,.30); letter-spacing: .35em; }
.quote-band::before { left: 5%; }
.quote-band::after { right: 5%; }
.quote-mark { font-size: 5rem; margin: 0; line-height: .5; color: var(--highlight); }
blockquote { margin: 20px auto 0; max-width: 900px; font-size: clamp(1.45rem,3vw,2.25rem); line-height: 1.32; font-weight: 800; }

.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 60px; }
.accordion { display: grid; gap: 12px; }
details { border-radius: 16px; padding: 20px 22px; box-shadow: none; }
summary { cursor: pointer; font-weight: 900; }
details p { color: var(--muted); }

.certification-section { padding: 90px 0; color: #fff; position: relative; overflow: hidden; background: linear-gradient(180deg,var(--nav-dark),var(--nav-mid)); }
.certification-section::before { content: var(--cert-watermark); position: absolute; right: -20px; bottom: -48px; font-size: 7rem; line-height: .78; letter-spacing: .02em; color: rgba(255,255,255,.035); transform: rotate(-10deg); white-space:nowrap; }
.cert-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.cert-copy p { color: rgba(255,255,255,.76); }
.section-kicker { color: var(--hero-soft); }
.cert-note { border-left: 4px solid var(--accent); padding: 12px 16px; background: rgba(255,255,255,.07); border-radius: 0 10px 10px 0; font-weight: 800; }
.badge-grid { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 20px; }
.badge-card { width: 220px; min-height: 190px; border-radius: 20px; display: grid; place-items: center; padding: 18px; border-top: 5px solid var(--accent); }
.badge-card img { width: 180px; object-fit: contain; }

.contact { background: linear-gradient(180deg,#fff,var(--section-soft)); }
.contact-card { border-radius: 30px; padding: 48px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 55px; border-top: 8px solid transparent; background: linear-gradient(#fff,#fff) padding-box, var(--contact-border) border-box; }
.contact-copy p { color: var(--muted); }
.contact-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.contact-badges span { padding: 7px 10px; border-radius: 999px; background: var(--badge-soft); font-size: .8rem; font-weight: 800; }
.contact-form { display: grid; gap: 15px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form label { display: grid; gap: 7px; font-size: .85rem; font-weight: 900; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; border: 1px solid #cfd6df; background: #fff; color: var(--ink); border-radius: 12px; padding: 13px 14px; font: inherit; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 3px solid var(--focus); border-color: var(--accent-2); }
.form-submit { justify-self: start; }
.form-note { font-size: .78rem; color: var(--muted); }

.call-button { position: fixed; right: 22px; bottom: 22px; z-index: 1200; display: flex; align-items: center; gap: 9px; padding: 14px 22px; border-radius: 999px; background: linear-gradient(135deg,var(--button),var(--button-dark)); color: #fff; font-weight: 900; text-decoration: none; box-shadow: 0 14px 34px rgba(0,0,0,.28); border: 2px solid rgba(255,255,255,.72); }
.call-button span { width: 27px; height: 27px; display: grid; place-items: center; background: var(--nav-dark); border-radius: 50%; }

.site-footer { background: var(--footer); color: #fff; padding: 0 0 24px; border-top: 7px solid var(--accent); }
.footer-theme-pattern { text-align: center; color: var(--highlight); letter-spacing: .6em; padding: 17px 15px 3px; opacity: .92; min-height: 35px; }
.footer-grid { padding: 52px 0; display: grid; grid-template-columns: 1.1fr .7fr 1fr; gap: 35px; align-items: start; }
.footer-brand img { width: 150px; filter: drop-shadow(0 8px 18px rgba(0,0,0,.25)); }
.footer-brand p, .footer-cta p { color: rgba(255,255,255,.70); }
.footer-links { display: grid; gap: 11px; }
.footer-links a, .footer-cta a { text-decoration: none; color: #fff; font-weight: 800; }
.footer-cta a { color: var(--highlight); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding-top: 22px; display: flex; justify-content: space-between; gap: 15px; flex-wrap: wrap; color: rgba(255,255,255,.60); font-size: .8rem; }
.footer-theme { color: var(--highlight); letter-spacing: .08em; text-transform: uppercase; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .hero-grid, .results-grid, .cert-wrap, .contact-card, .faq-grid, .split-heading { grid-template-columns: 1fr; }
  .hero-grid { padding: 75px 0 95px; }
  .hero { min-height: auto; }
  .hero-art { max-width: 520px; }
  .results-copy { position: static; }
  .problem-grid, .process-line { grid-template-columns: 1fr; }
  .process-line::before { display: none; }
  .theme-feature-inner { grid-template-columns: 100px 1fr; }
  .site-nav { position: absolute; display: none; top: 100%; left: 20px; right: 20px; flex-direction: column; align-items: stretch; gap: 0; padding: 14px; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 12px; }
  .site-nav .social-links { padding: 12px; }
  .menu-toggle { display: block; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .container { width: min(100% - 28px, 1160px); }
  .section { padding: 68px 0; }
  .holiday-ribbon { padding: 8px 10px 9px; font-size: .75rem; gap: 6px; flex-wrap: wrap; }
  .holiday-title-pill { max-width: 100%; font-size: .75rem; letter-spacing: .08em; padding: 7px 11px; white-space: normal; }
  .holiday-ribbon-message { width: 100%; font-size: .72rem; }
  .nav-wrap { min-height: 75px; }
  .brand img { width: 105px; }
  .hero h1 { font-size: clamp(2.5rem, 12vw, 4rem); }
  .theme-ribbon { opacity: .35; }
  .service-grid { grid-template-columns: 1fr; }
  .themed-divider { grid-template-columns: 1fr; }
  .divider-rail { min-height: 24px; }
  .form-row { grid-template-columns: 1fr; }
  .contact-card { padding: 28px 22px; }
  .badge-grid { gap: 10px; }
  .badge-card { width: 48%; min-height: 140px; padding: 10px; }
  .badge-card img { width: 130px; }
  .theme-feature-inner { grid-template-columns: 1fr; text-align: center; }
  .theme-emblem { margin: 0 auto; }
  .theme-icons { justify-content: center; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .call-button { right: 14px; bottom: 14px; padding: 12px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}


:root {
  --page:#fffaf4; --ink:#281e2e; --muted:#6d6272; --line:rgba(47,24,64,.15); --shadow:0 18px 55px rgba(40,20,58,.11); --radius:22px;
  --accent:#ef6c18; --accent-2:#6b2b84; --highlight:#ffbd52; --nav-dark:#1a1028; --nav-mid:#321742; --hero-soft:#ffd8a1; --hero-highlight:#ffbd52;
  --button:#ef6c18; --button-dark:#b8450b; --section-soft:#fff2e6; --results-bg:#fff8ef; --badge-soft:#fff1e2; --focus:rgba(239,108,24,.16);
  --footer:#12091c; --watermark:rgba(107,43,132,.045); --card-watermark:"☾"; --list-mark:"◆"; --quote-decor:"☾  ✦  ☾"; --cert-watermark:"NO TRICKS • CLEAR BOOKS";
  --service-stripe:repeating-linear-gradient(135deg,#ef6c18 0 15px,#1c1029 15px 30px); 
  --contact-border:linear-gradient(90deg,#1a1028,#ef6c18,#6b2b84); 
}
body.halloween-theme { background-color:var(--page); }
.holiday-ribbon { background:#140b20; color:#fff8ee; box-shadow:inset 0 -4px 0 #ef6c18; }
.holiday-title-pill { background:#ff9a31; color:#1a1028; border:2px solid #ffd17c; box-shadow:0 3px 14px rgba(0,0,0,.34); }
.theme-title-star { color:#341641; text-shadow:none; }
.holiday-ribbon-message { color:#ffe4bd; }
.theme-bunting { background:#140b20; }
.theme-bunting span:nth-child(4n+1){background:#ef6c18}.theme-bunting span:nth-child(4n+2){background:#6b2b84}.theme-bunting span:nth-child(4n+3){background:#1b1028}.theme-bunting span:nth-child(4n){background:#9aca3c}

.hero { background:radial-gradient(circle at 18% 18%,rgba(120,52,145,.46),transparent 34%),linear-gradient(135deg,#120b1c 0%,#291238 54%,#4d1d59 100%); }
.hero::before { background:
  radial-gradient(circle at 82% 18%,rgba(255,188,82,.18),transparent 16%),
  linear-gradient(180deg,transparent 0 76%,rgba(239,108,24,.10) 76% 77%,transparent 77%); }
.hero-pattern { opacity:.28; background:
  repeating-radial-gradient(circle at 10% 0,transparent 0 22px,rgba(255,255,255,.10) 23px 24px,transparent 25px 44px),
  repeating-conic-gradient(from 0deg at 10% 0,rgba(255,255,255,.10) 0 1deg,transparent 1deg 30deg);
  mask-image:linear-gradient(90deg,#000 0 38%,transparent 68%); }
.theme-ribbon { width:56%; height:68px; right:-12%; transform:rotate(-16deg); }
.theme-ribbon-one { top:105px; background:repeating-linear-gradient(135deg,#ef6c18 0 18px,#24122f 18px 36px); opacity:.42; }
.theme-ribbon-two { top:220px; right:-22%; background:linear-gradient(180deg,#6b2b84,#2b1739); opacity:.28; }
.theme-day-title::before { content:""; width:42px; height:13px; border-radius:3px; background:repeating-linear-gradient(135deg,#ef6c18 0 6px,#180d23 6px 12px); box-shadow:0 0 0 1px rgba(255,255,255,.2); }
.theme-badge { background:rgba(255,142,45,.13); border-color:rgba(255,181,83,.55); color:#fff3df; }

.bat-swarm { position:absolute; inset:0; pointer-events:none; z-index:1; }
.bat { position:absolute; width:18px; height:7px; background:#0b0710; border-radius:50%; opacity:.55; }
.bat::before,.bat::after { content:""; position:absolute; top:-4px; width:20px; height:15px; background:#0b0710; clip-path:polygon(0 45%,55% 0,100% 48%,58% 38%,50% 100%,40% 38%); }
.bat::before { right:8px; transform:scaleX(-1) rotate(-4deg); }
.bat::after { left:8px; transform:rotate(-4deg); }
.bat-1{right:14%;top:18%;transform:scale(1.2) rotate(-8deg)}.bat-2{right:28%;top:11%;transform:scale(.8) rotate(12deg)}.bat-3{left:8%;top:33%;transform:scale(.65) rotate(-14deg)}.bat-4{right:7%;top:42%;transform:scale(.55) rotate(9deg)}

.theme-frame { background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(135deg,#ef6c18 0 16px,#24122f 16px 32px,#6b2b84 32px 48px) border-box; box-shadow:0 30px 75px rgba(7,3,12,.42); }
.theme-frame::before { content:""; position:absolute; inset:8px; border-radius:22px; pointer-events:none; opacity:.25; background:
  repeating-radial-gradient(circle at 0 0,transparent 0 18px,#6b2b84 19px 20px,transparent 21px 36px),
  repeating-conic-gradient(from 0deg at 0 0,#6b2b84 0 1deg,transparent 1deg 30deg);
  mask-image:linear-gradient(135deg,#000 0 26%,transparent 48%); }
.theme-corner-left { left:14px; top:12px; width:70px; height:70px; border-top:2px solid #6b2b84; border-left:2px solid #6b2b84; border-radius:18px 0 0 0; }
.theme-corner-left::before,.theme-corner-left::after { content:""; position:absolute; background:#6b2b84; transform-origin:left top; }
.theme-corner-left::before{width:90px;height:1px;left:0;top:0;transform:rotate(28deg)}.theme-corner-left::after{width:1px;height:90px;left:0;top:0;transform:rotate(-28deg)}
.theme-corner-right { right:13px; bottom:11px; width:38px; height:38px; border-radius:50%; background:#ef6c18; box-shadow:inset -8px -7px 0 #ca4f0c; }
.theme-corner-right::before { content:""; position:absolute; width:7px; height:12px; background:#48692a; left:16px; top:-8px; border-radius:4px 4px 0 0; transform:rotate(8deg); }
.theme-corner-right::after { content:""; position:absolute; inset:7px 9px; border-left:2px solid rgba(66,24,10,.36); border-right:2px solid rgba(66,24,10,.36); border-radius:50%; }
.logo-theme-banner { color:#2b1736; background:linear-gradient(90deg,#fff2e2,#ffc477,#fff2e2); border:1px solid #ef9b4f; }
.problem-card::before,.service-card::after { content:""; position:absolute; width:78px; height:78px; opacity:.055; background:
  repeating-radial-gradient(circle at 0 0,transparent 0 15px,#6b2b84 16px 17px,transparent 18px 31px),
  repeating-conic-gradient(from 0deg at 0 0,#6b2b84 0 1deg,transparent 1deg 30deg); pointer-events:none; }
.problem-card::before{left:0;bottom:0;transform:rotate(90deg)}.service-card::after{right:0;bottom:0;transform:rotate(180deg)}
.service-theme-corner { font-size:1.12rem; color:#ef6c18; }

.themed-divider { background:#1a1028; border-color:#301e3f; }
.divider-badge { background:#ef6c18; color:#211027; }
.divider-rail { background:repeating-linear-gradient(135deg,#1a1028 0 18px,#ef6c18 18px 36px); }
.divider-rail::after { content:""; position:absolute; inset:10px 0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent); }

.theme-strip { background:linear-gradient(180deg,#1a1028,#261335); border-color:#3e2550; }
.mini-pumpkin { position:relative; display:inline-block; width:34px; height:28px; border-radius:50%; background:#ef6c18; box-shadow:inset 8px 0 0 rgba(255,188,82,.22),inset -8px 0 0 rgba(155,54,9,.25); }
.mini-pumpkin::before { content:""; position:absolute; width:7px; height:9px; background:#668a35; left:14px; top:-6px; border-radius:4px 4px 0 0; transform:rotate(8deg); }
.mini-pumpkin::after { content:""; position:absolute; left:8px; top:10px; width:4px; height:4px; background:#24122f; box-shadow:14px 0 0 #24122f,7px 8px 0 1px #24122f; transform:rotate(45deg); }
.mini-bat { position:relative; display:inline-block; width:17px; height:6px; background:#efe8f7; border-radius:50%; opacity:.82; }
.mini-bat::before,.mini-bat::after { content:""; position:absolute; top:-3px; width:19px; height:13px; background:#efe8f7; clip-path:polygon(0 45%,55% 0,100% 48%,58% 38%,50% 100%,40% 38%); }
.mini-bat::before{right:7px;transform:scaleX(-1)}.mini-bat::after{left:7px}
.theme-feature-band { background:linear-gradient(135deg,#140b20,#2f153d 60%,#471c4f); border-top:7px solid #ef6c18; border-bottom:7px solid #ef6c18; }
.theme-feature-pattern { opacity:.18; background:
  repeating-radial-gradient(circle at 90% 0,transparent 0 24px,rgba(255,255,255,.16) 25px 26px,transparent 27px 46px),
  repeating-conic-gradient(from 0deg at 90% 0,rgba(255,255,255,.15) 0 1deg,transparent 1deg 30deg); }
.theme-emblem { width:126px; height:112px; border-radius:26px; background:linear-gradient(145deg,#ffbd52,#ef6c18); box-shadow:0 18px 34px rgba(0,0,0,.32),inset 0 0 0 6px rgba(255,220,154,.35); }
.big-pumpkin { position:relative; display:block; width:84px; height:68px; border-radius:50%; background:#ef6c18; box-shadow:inset 18px 0 0 rgba(255,194,94,.18),inset -18px 0 0 rgba(151,53,12,.20); }
.big-pumpkin::before { content:""; position:absolute; width:14px; height:20px; background:#55752e; left:36px; top:-14px; border-radius:8px 8px 0 0; transform:rotate(8deg); }
.big-pumpkin::after { content:""; position:absolute; left:22px; top:25px; width:9px; height:9px; background:#25112f; box-shadow:31px 0 0 #25112f,15px 17px 0 3px #25112f; transform:rotate(45deg); }
.theme-icons .mini-pumpkin{transform:scale(.75)}.theme-icons .mini-bat{margin:0 8px}
.quote-band { background:linear-gradient(90deg,#6b2b84,#3d194c,#ef6c18); }
.certification-section { background:linear-gradient(180deg,#160b21,#2d1439); }
.badge-card { background:#fff; }
.contact::before { content:"☾"; position:absolute; right:3%; top:7%; color:rgba(107,43,132,.045); font-size:16rem; line-height:1; pointer-events:none; transform:rotate(-18deg); }
.site-footer { border-top-color:#ef6c18; }
.footer-theme-pattern { background:linear-gradient(90deg,#130a1d,#2a1237,#130a1d); color:#ffbd52; }

@media (max-width:680px){
  .bat-swarm{opacity:.6}
  .theme-day-title{letter-spacing:.12em}
  .theme-day-title::before{width:26px}
  .theme-strip{gap:22px}
}


/* ============================================================
   OCTOBER COMBINATION: BREAST CANCER AWARENESS + HALLOWEEN
   ============================================================ */
:root {
  --page:#fff8fb; --ink:#2b1c2c; --muted:#705f6f; --line:rgba(88,30,72,.15); --shadow:0 18px 55px rgba(55,20,56,.12);
  --accent:#e63f84; --accent-2:#6b2b84; --highlight:#ffad42; --nav-dark:#201026; --nav-mid:#4c1c54; --hero-soft:#ffd5e6; --hero-highlight:#ffb2cf;
  --button:#dc337b; --button-dark:#9b235e; --section-soft:#fff0f6; --results-bg:#fff8f2; --badge-soft:#fff0f5; --focus:rgba(230,63,132,.17);
  --footer:#160b1c; --watermark:rgba(230,63,132,.045); --card-watermark:"♥"; --list-mark:"◆"; --quote-decor:"♥  ✦  ☾"; --cert-watermark:"HOPE • STRENGTH • NO SCARES";
  --service-stripe:repeating-linear-gradient(135deg,#e63f84 0 13px,#ffad42 13px 26px,#25112f 26px 39px);
  --contact-border:linear-gradient(90deg,#e63f84,#ffad42,#6b2b84);
}
body.october-combo-theme { background-color:var(--page); }
body.october-combo-theme .holiday-ribbon { background:#1b0d22; color:#fff; box-shadow:inset 0 -4px 0 #e63f84; }
body.october-combo-theme .holiday-title-pill { background:linear-gradient(90deg,#fff5f9,#ffd4e5 55%,#ffe0b7); color:#5b1741; border:2px solid #ff91bd; box-shadow:0 3px 14px rgba(0,0,0,.34); }
body.october-combo-theme .theme-title-star { color:#e63f84; }
body.october-combo-theme .holiday-ribbon-message { color:#ffe1ed; }
body.october-combo-theme .theme-bunting { background:#1b0d22; }
body.october-combo-theme .theme-bunting span:nth-child(4n+1){background:#e63f84}
body.october-combo-theme .theme-bunting span:nth-child(4n+2){background:#ffad42}
body.october-combo-theme .theme-bunting span:nth-child(4n+3){background:#6b2b84}
body.october-combo-theme .theme-bunting span:nth-child(4n){background:#f9b4cf}

body.october-combo-theme .hero { background:radial-gradient(circle at 16% 20%,rgba(231,67,135,.30),transparent 34%),radial-gradient(circle at 82% 18%,rgba(255,159,55,.15),transparent 20%),linear-gradient(135deg,#1a0d22 0%,#431847 52%,#722253 100%); }
body.october-combo-theme .hero::before { background:radial-gradient(circle at 80% 20%,rgba(255,183,94,.12),transparent 17%),linear-gradient(180deg,transparent 0 76%,rgba(240,112,164,.09) 76% 77%,transparent 77%); }
body.october-combo-theme .hero-pattern { opacity:.24; background:repeating-radial-gradient(circle at 10% 0,transparent 0 22px,rgba(255,255,255,.10) 23px 24px,transparent 25px 44px),repeating-conic-gradient(from 0deg at 10% 0,rgba(255,255,255,.09) 0 1deg,transparent 1deg 30deg); mask-image:linear-gradient(90deg,#000 0 38%,transparent 68%); }
body.october-combo-theme .theme-ribbon-one { background:repeating-linear-gradient(135deg,#e63f84 0 18px,#ff9fc2 18px 36px,#28122f 36px 54px); opacity:.43; }
body.october-combo-theme .theme-ribbon-two { background:linear-gradient(180deg,#ffad42,#6b2b84); opacity:.25; }
body.october-combo-theme .theme-day-title::before { background:linear-gradient(90deg,#e63f84 0 45%,#ffad42 45% 70%,#25112f 70%); }
body.october-combo-theme .theme-badge { background:rgba(255,202,222,.12); border-color:rgba(255,179,209,.52); color:#fff5f8; }

/* Awareness ribbon pieces used alongside Halloween art */
.mini-awareness-ribbon { position:relative; display:inline-block; width:19px; height:25px; flex:0 0 19px; }
.mini-awareness-ribbon::before,.mini-awareness-ribbon::after { content:""; position:absolute; top:1px; width:7px; height:22px; border-radius:8px 8px 3px 3px; background:#ff9fc2; }
.mini-awareness-ribbon::before { left:4px; transform:rotate(26deg); transform-origin:top center; }
.mini-awareness-ribbon::after { right:4px; transform:rotate(-26deg); transform-origin:top center; }
.mini-awareness-ribbon.large { transform:scale(1.45); }
.awareness-ribbon-float { position:absolute; z-index:1; width:74px; height:120px; opacity:.12; transform:rotate(10deg); }
.awareness-ribbon-float::before,.awareness-ribbon-float::after { content:""; position:absolute; width:28px; height:96px; border-radius:50% 50% 12px 12px; background:#ffb5cf; top:0; }
.awareness-ribbon-float::before { left:15px; transform:rotate(24deg); transform-origin:top center; }
.awareness-ribbon-float::after { right:15px; transform:rotate(-24deg); transform-origin:top center; }
.ribbon-float-one { left:4%; bottom:70px; transform:rotate(-13deg) scale(1.45); }
.ribbon-float-two { right:8%; bottom:36px; transform:rotate(18deg) scale(.9); opacity:.08; }

body.october-combo-theme .theme-frame { background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(135deg,#e63f84 0 15px,#ffad42 15px 30px,#6b2b84 30px 45px,#26112e 45px 60px) border-box; box-shadow:0 30px 75px rgba(20,5,26,.38); }
body.october-combo-theme .theme-corner-left { border-color:#e63f84; }
body.october-combo-theme .theme-corner-left::before,body.october-combo-theme .theme-corner-left::after { background:#e63f84; }
body.october-combo-theme .theme-corner-right { background:#ff8a2b; box-shadow:inset -8px -7px 0 #c8550d; }
body.october-combo-theme .logo-theme-banner { color:#641842; background:linear-gradient(90deg,#fff2f7,#ffd3e3 50%,#ffe2b7); border:1px solid #f3a2c1; }
body.october-combo-theme .logo-theme-banner .mini-awareness-ribbon { transform:scale(.72); }
body.october-combo-theme .logo-theme-banner .mini-pumpkin { transform:scale(.72); }
body.october-combo-theme .awareness-corner { color:#e63f84; }
body.october-combo-theme .halloween-corner { color:#ff7d20; }

body.october-combo-theme .themed-divider { background:#211027; border-color:#3d1947; }
body.october-combo-theme .divider-badge { background:linear-gradient(90deg,#d93178,#e63f84); color:#fff; }
body.october-combo-theme .divider-rail { background:repeating-linear-gradient(135deg,#211027 0 18px,#ffad42 18px 36px,#e63f84 36px 54px,#fff0f6 54px 72px); }
body.october-combo-theme .theme-strip { background:linear-gradient(90deg,#23102d,#411843,#23102d); border-color:#512153; }
body.october-combo-theme .theme-strip .mini-awareness-ribbon { transform:scale(1.15); }

body.october-combo-theme .theme-feature-band { background:linear-gradient(135deg,#39132e,#701e4c 50%,#2f153d); border-top:7px solid #e63f84; border-bottom:7px solid #ffad42; }
body.october-combo-theme .theme-feature-pattern { opacity:.16; background:radial-gradient(circle,rgba(255,255,255,.48) 0 1.3px,transparent 1.9px) 0 0/28px 28px,repeating-radial-gradient(circle at 92% 0,transparent 0 24px,rgba(255,255,255,.13) 25px 26px,transparent 27px 46px); }
body.october-combo-theme .combo-emblem { overflow:visible; background:linear-gradient(145deg,#fff1f7,#ffc6dc 52%,#ffbd69); box-shadow:0 18px 34px rgba(0,0,0,.28),inset 0 0 0 6px rgba(255,255,255,.42); }
.big-awareness-ribbon { position:relative; width:58px; height:78px; display:block; transform:translateX(-20px) rotate(-7deg); z-index:2; }
.big-awareness-ribbon::before,.big-awareness-ribbon::after { content:""; position:absolute; top:3px; width:21px; height:70px; border-radius:16px 16px 5px 5px; background:linear-gradient(#ef5c99,#b92368); box-shadow:0 5px 10px rgba(90,10,48,.18); }
.big-awareness-ribbon::before { left:11px; transform:rotate(27deg); transform-origin:top center; }
.big-awareness-ribbon::after { right:11px; transform:rotate(-27deg); transform-origin:top center; }
body.october-combo-theme .combo-pumpkin { position:absolute; transform:scale(.72); right:5px; bottom:4px; z-index:1; }
body.october-combo-theme .heart-mark { color:#ffb2cf; font-size:1.15rem; }
body.october-combo-theme .theme-icons .mini-awareness-ribbon { transform:scale(.95); }
body.october-combo-theme .theme-icons .mini-pumpkin { transform:scale(.70); }

body.october-combo-theme .quote-band { background:linear-gradient(90deg,#a82462,#d43879 42%,#6b2b84 76%,#d66a1a); }
body.october-combo-theme .certification-section { background:linear-gradient(180deg,#1c0d23,#401746 62%,#511b40); }
body.october-combo-theme .contact::before { content:"♥  ☾"; right:3%; left:auto; top:8%; color:rgba(216,51,121,.045); font-size:8rem; letter-spacing:.1em; transform:rotate(-12deg); }
body.october-combo-theme .site-footer { border-top-color:#e63f84; box-shadow:inset 0 7px 0 #ffad42; }
body.october-combo-theme .footer-theme-pattern { background:linear-gradient(90deg,#160b1c,#3b173d,#160b1c); color:#ffb0ce; letter-spacing:.32em; }

@media (max-width:680px){
  body.october-combo-theme .awareness-ribbon-float{display:none}
  body.october-combo-theme .holiday-title-pill{font-size:.68rem;line-height:1.25}
  body.october-combo-theme .theme-day-title{font-size:.73rem;letter-spacing:.08em}
  body.october-combo-theme .divider-badge{font-size:.7rem;padding-left:12px;padding-right:12px;text-align:center}
  body.october-combo-theme .footer-theme-pattern{letter-spacing:.12em;font-size:.72rem}
}

/* =========================================================
   OCTOBER ART CORRECTIONS
   Proper awareness ribbon + centered jack-o'-lantern artwork
   ========================================================= */

/* Use the supplied Breast Cancer Awareness ribbon artwork throughout the October theme. */
.mini-awareness-ribbon,
.big-awareness-ribbon,
.awareness-ribbon-float {
  background-image: url("assets/awareness-ribbon.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  border: 0 !important;
  box-shadow: none !important;
}

.mini-awareness-ribbon {
  width: 22px !important;
  height: 32px !important;
  flex: 0 0 22px !important;
}

.mini-awareness-ribbon::before,
.mini-awareness-ribbon::after,
.big-awareness-ribbon::before,
.big-awareness-ribbon::after,
.awareness-ribbon-float::before,
.awareness-ribbon-float::after {
  content: none !important;
  display: none !important;
}

.mini-awareness-ribbon.large {
  transform: scale(1.35) !important;
}

.big-awareness-ribbon {
  width: 68px !important;
  height: 102px !important;
  transform: translateX(-18px) rotate(-5deg) !important;
}

.awareness-ribbon-float {
  width: 78px !important;
  height: 118px !important;
}

.ribbon-float-one {
  transform: rotate(-12deg) scale(1.35) !important;
}

.ribbon-float-two {
  transform: rotate(15deg) scale(.92) !important;
}

body.october-combo-theme .logo-theme-banner .mini-awareness-ribbon {
  transform: scale(.72) !important;
}

body.october-combo-theme .theme-strip .mini-awareness-ribbon {
  transform: scale(1.05) !important;
}

body.october-combo-theme .theme-icons .mini-awareness-ribbon {
  transform: scale(.90) !important;
}

/* Replace the old rotated-box faces with one centered, symmetrical vector. */
.mini-pumpkin,
.big-pumpkin {
  background-image: url("assets/jack-o-lantern.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.mini-pumpkin {
  width: 38px !important;
  height: 34px !important;
}

.big-pumpkin {
  width: 90px !important;
  height: 80px !important;
}

.mini-pumpkin::before,
.mini-pumpkin::after,
.big-pumpkin::before,
.big-pumpkin::after {
  content: none !important;
  display: none !important;
}

body.october-combo-theme .logo-theme-banner .mini-pumpkin {
  transform: scale(.72) !important;
}

body.october-combo-theme .theme-icons .mini-pumpkin {
  transform: scale(.68) !important;
}

body.october-combo-theme .combo-pumpkin {
  position: absolute !important;
  transform: scale(.72) !important;
  right: 3px !important;
  bottom: 2px !important;
  z-index: 1 !important;
}

/* Blog index and single-post views */
.october-blog-main { min-height: 70vh; background: var(--page); }
.october-blog-hero {
  padding: 74px 0 66px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 20%, rgba(255,173,66,.18), transparent 22%),
    radial-gradient(circle at 15% 25%, rgba(230,63,132,.28), transparent 32%),
    linear-gradient(135deg,#1a0d22,#4c1c54 58%,#722253);
  border-bottom: 7px solid #ffad42;
}
.october-blog-hero h1 { margin: 0; font-size: clamp(3rem,7vw,5.4rem); line-height: .98; letter-spacing: -.05em; }
.october-blog-hero p:last-child { max-width: 720px; margin: 20px 0 0; color: rgba(255,255,255,.82); font-size: 1.08rem; }
.october-blog-content { padding: 72px 0 96px; }
.october-post-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.october-post-card { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.october-post-image { display: block; aspect-ratio: 16/9; overflow: hidden; background: linear-gradient(135deg,#39132e,#6b2b84); }
.october-post-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.october-post-image:hover img { transform: scale(1.025); }
.october-post-body { padding: 30px; }
.october-post-meta { margin: 0 0 10px; color: #c52e70; font-size: .8rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.october-post-card h2 { margin: 0 0 14px; color: var(--ink); font-size: clamp(1.55rem,3vw,2.15rem); line-height: 1.15; }
.october-post-card h2 a { color: inherit; text-decoration: none; }
.october-post-card h2 a:hover { color: #c52e70; }
.october-post-body .text-link { color: #a82462; font-weight: 900; text-decoration: none; }
.october-pagination { margin-top: 42px; }
.october-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.october-pagination .page-numbers { padding: 8px 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; text-decoration: none; }
.october-pagination .current { color: #fff; background: #c52e70; border-color: transparent; }
.october-blog-empty { padding: 40px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.october-article-wrap { padding: 74px 0 96px; }
.october-article-container { width: min(860px,calc(100% - 40px)); }
.october-article header { margin-bottom: 36px; }
.october-article header .eyebrow { display: inline-block; color: #b62768; text-decoration: none; }
.october-article h1 { margin: 0 0 20px; color: var(--ink); font-size: clamp(2.6rem,6vw,4.8rem); line-height: 1; letter-spacing: -.045em; }
.october-article-image { margin-bottom: 38px; overflow: hidden; border-radius: 22px; box-shadow: var(--shadow); }
.october-article-content { color: var(--ink); font-size: 1.08rem; }
.october-article-content h2 { margin-top: 1.6em; font-size: clamp(1.9rem,4vw,2.8rem); }
.october-article-content h3 { margin-top: 1.5em; font-size: 1.45rem; }
.october-article-content a { color: #a82462; }
.october-article-content blockquote { margin: 1.5em 0; padding-left: 22px; border-left: 4px solid #ffad42; }

@media (max-width: 760px) {
  .october-post-grid { grid-template-columns: 1fr; }
  .october-post-body { padding: 24px; }
  .october-article-container { width: min(100% - 24px,860px); }
}
