/* Aarketing editorial system — glossary hub + reusable glossary/blog article shell.
   Complements existing /assets/css/styles.css; does not alter shared nav or footer.
   Version: 20261112a */

.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
[data-glossary-hub], [data-editorial-article] { min-width:0; }
[data-glossary-hub] *, [data-editorial-article] * { min-width:0; }
[data-glossary-hub] a:focus-visible, [data-glossary-hub] button:focus-visible, [data-glossary-hub] input:focus-visible,
[data-editorial-article] a:focus-visible, [data-editorial-article] button:focus-visible, [data-editorial-article] summary:focus-visible, [data-editorial-article] [tabindex]:focus-visible { outline:3px solid hsl(var(--primary)); outline-offset:3px; }

/* Hero: consistent with existing soft-gradient service-page language, editorial scale. */
.editorial-hero { position:relative; overflow:hidden; background:radial-gradient(ellipse 45% 90% at 94% 26%,hsla(var(--accent),.13),transparent 70%), radial-gradient(ellipse 48% 90% at -8% 80%,hsla(var(--primary),.12),transparent 74%), linear-gradient(180deg,hsl(var(--bg)),hsl(var(--bg-muted))); padding:9rem 0 4.4rem; }
.editorial-hero::after {content:"";position:absolute;inset:auto -9% -130px auto;width:430px;height:250px;background:linear-gradient(135deg,hsla(var(--primary),.05),hsla(var(--accent),.07));border-radius:55% 50% 0 0;transform:rotate(-16deg);pointer-events:none;}
.editorial-hero-inner { position:relative; z-index:1; }
.editorial-hero .breadcrumbs { position:relative; width:100%; max-width:none; margin:0 0 2.4rem; text-align:center; }
.editorial-hero .breadcrumbs ol { justify-content:center; margin-left:auto; margin-right:auto; }
.editorial-hero h1 { font-size:clamp(2.65rem,4.35vw,3.75rem);font-weight:800;letter-spacing:-.04em;line-height:1.11;max-width:960px;margin:0 0 1.25rem;color:hsl(var(--foreground)); }
.editorial-hero-intro {max-width:760px;font-size:clamp(1.04rem,1.5vw,1.2rem);line-height:1.7;color:hsl(var(--muted));margin:0;}
.editorial-article-hero {padding-bottom:3.7rem;}
.editorial-article-hero h1 {max-width:980px;}
.editorial-article-hero .editorial-hero-intro {max-width:760px;color:hsl(var(--foreground));}
.editorial-article-meta {display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin-top:1.6rem;font-size:.83rem;font-weight:600;color:hsl(var(--muted));}
.editorial-article-meta > span {display:inline-flex;align-items:center;gap:.45rem;}
.editorial-article-meta svg {color:hsl(var(--primary));}
.editorial-meta-separator {opacity:.4;}

/* Glossary hub — compact search, alphabet navigation and balanced term cards. */
.editorial-hub-hero { text-align:center; padding-bottom:4.1rem; }
.editorial-hub-hero .breadcrumbs ol {justify-content:center;}
.editorial-hub-hero .breadcrumbs { margin-bottom:2.8rem; }
.editorial-hub-hero h1 { margin:0 auto 1.1rem; max-width:1040px; }
.editorial-hub-hero .editorial-hero-intro { margin:0 auto; max-width:760px; }
.glossary-search { display:flex;align-items:center;gap:1rem;margin:2.2rem auto 0;width:100%;max-width:610px;min-height:56px;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--card));padding:.35rem 1.35rem;box-shadow:0 8px 22px rgba(19,48,87,.055);transition:border-color .2s,box-shadow .2s; }
.glossary-search:focus-within {border-color:hsl(var(--primary));box-shadow:0 0 0 4px hsla(var(--primary),.09);}
.glossary-search svg {flex:0 0 auto;color:hsl(var(--muted));}
.glossary-search input {border:0;outline:0;width:100%;font:inherit;font-size:1rem;background:transparent;color:hsl(var(--foreground));padding:.6rem 0;min-width:0;}
.glossary-search input::placeholder {color:hsl(var(--muted));opacity:.8;}
.glossary-search-clear {font:inherit;font-size:.78rem;color:hsl(var(--primary));background:transparent;border:0;cursor:pointer;padding:.5rem;}
.glossary-index-section {padding:2.5rem 0 5rem;}
.glossary-alphabet {display:grid;grid-template-columns:repeat(26,minmax(0,1fr));gap:3px;padding:10px;overflow-x:auto;scrollbar-width:thin;border:1px solid hsl(var(--border));border-radius:13px;background:hsl(var(--bg-muted));}
.glossary-letter {display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:38px;border-radius:7px;border:0;background:transparent;font:inherit;font-weight:600;font-size:.86rem;text-decoration:none;}
.glossary-letter.is-available {color:hsl(var(--primary));cursor:pointer;}
.glossary-letter.is-available:hover,.glossary-letter.is-available.is-selected {background:hsl(var(--primary));color:white;}
.glossary-letter.is-unavailable,.glossary-letter:disabled {color:hsl(var(--muted));opacity:.48;cursor:not-allowed;}
.editorial-index-heading {margin:4.6rem auto 2.5rem;}
.editorial-index-heading h2 {font-weight:800;letter-spacing:-.03em;}
.editorial-index-heading p {font-size:1rem;line-height:1.65;}
.glossary-entry-list {display:flex;flex-direction:column;gap:2.2rem;}
.glossary-letter-group {scroll-margin-top:125px;}
.glossary-letter-title {font-size:1.35rem;color:hsl(var(--foreground));margin-bottom:1.1rem;}
.glossary-card-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
.glossary-entry-list.is-sparse .glossary-card-grid {grid-template-columns:repeat(var(--sparse-columns,1),minmax(0,350px));justify-content:center;}
.glossary-entry-list.is-sparse .glossary-letter-title {display:none;}
.glossary-term-card {padding:1.9rem;min-height:246px;}
.glossary-card-icon {display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:11px;background:hsla(var(--primary),.09);color:hsl(var(--primary));margin-bottom:1.15rem;}
.glossary-term-card h4 {font-size:1.37rem;line-height:1.3;font-weight:750;letter-spacing:-.02em;margin-bottom:.7rem;}
.glossary-term-card h4 a:hover {color:hsl(var(--primary));}
.glossary-term-card > p {font-size:.92rem;line-height:1.65;color:hsl(var(--muted));margin-bottom:1.4rem;flex:1;}
.glossary-card-link {align-self:flex-start;margin-top:auto;}
.glossary-card-link span {font-size:1.1rem;margin-left:.3rem;}
.glossary-no-results {text-align:center;padding:2.5rem 1rem;border:1px dashed hsl(var(--border));border-radius:1rem;color:hsl(var(--muted));}
.glossary-start-card {margin:5.7rem auto 0;max-width:1050px;text-align:center;padding:2.85rem 2rem;border-radius:1.25rem;background:linear-gradient(120deg,hsla(var(--primary),.07),hsl(var(--bg-muted)),hsla(var(--accent),.06));}
.glossary-start-card h2 {font-size:clamp(1.6rem,3vw,2.25rem);letter-spacing:-.03em;font-weight:800;margin-bottom:.7rem;}
.glossary-start-card p {max-width:590px;margin:0 auto 1.4rem;color:hsl(var(--muted));line-height:1.7;}
.glossary-start-link {background:white;gap:.7rem;box-shadow:0 7px 20px rgba(16,36,56,.05);}

/* Reusable article layout: left TOC / ~700px reading column / right CTA. */
.editorial-layout {display:grid;grid-template-columns:184px minmax(0,1fr) 210px;gap:24px;padding-top:3.4rem;padding-bottom:5.5rem;align-items:stretch;}
.editorial-toc-rail,.editorial-right-rail {min-width:0;}
.editorial-sticky {position:sticky;top:110px;max-height:calc(100vh - 135px);}
.editorial-toc-rail .editorial-sticky {overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;padding-bottom:1.1rem;}
.editorial-toc-rail h2 {font-size:.69rem;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:hsl(var(--muted));margin:0 0 1rem .8rem;}
.editorial-toc-links {display:flex;flex-direction:column;align-items:stretch;border-left:1px solid hsl(var(--border));}
.editorial-toc-link {display:block;padding:.47rem .66rem .47rem .75rem;border-left:3px solid transparent;margin-left:-2px;font-size:.72rem;font-weight:550;line-height:1.45;color:hsl(var(--muted));border-radius:0 7px 7px 0;word-wrap:break-word;text-decoration:none;transition:color .16s,background .16s,border-color .16s;}
.editorial-toc-link:hover {color:hsl(var(--primary));background:hsla(var(--primary),.045);}
.editorial-toc-link.is-active {border-left-color:hsl(var(--primary));color:hsl(var(--primary));background:hsla(var(--primary),.09);font-weight:750;}
.editorial-toc-link.is-faq-question {padding-left:1.22rem;font-size:.68rem;}
.editorial-content-column {max-width:720px;width:100%;justify-self:center;}
.editorial-article-body {font-size:1.02rem;line-height:1.76;color:hsl(var(--foreground));}
.editorial-article-body p {margin:0 0 1.15rem;}
.editorial-article-body a:not(.btn) {color:hsl(var(--primary));font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.editorial-article-body a:hover {text-decoration-thickness:2px;}
.editorial-article-body h2 {font-size:clamp(1.65rem,2.7vw,1.93rem);line-height:1.28;font-weight:800;letter-spacing:-.025em;color:hsl(var(--foreground));margin:0 0 1.05rem;}
.editorial-article-body h3 {font-size:1.2rem;line-height:1.4;font-weight:750;letter-spacing:-.015em;color:hsl(var(--foreground));margin:1.85rem 0 .6rem;}
.editorial-article-body :is(h2,h3,[id].editorial-faq) {scroll-margin-top:120px;}
.editorial-article-lead {font-size:1.04rem;padding-bottom:.8rem;border-bottom:1px solid hsl(var(--border));margin-bottom:2.3rem;}
.editorial-section {margin:0 0 3.4rem;}
.editorial-section:not(:first-child) {padding-top:.4rem;}
.editorial-section :is(ul,ol) {padding-left:1.5rem;margin:.35rem 0 1.35rem;}
.editorial-section ul {list-style:disc;}
.editorial-section ol {list-style:decimal;}
.editorial-section li {padding-left:.2rem;margin:.48rem 0;}
.editorial-section ul li::marker {color:hsl(var(--primary));}
.editorial-section ol li::marker {color:hsl(var(--primary));font-weight:700;}
.editorial-discipline {border-left:3px solid hsla(var(--primary),.55);padding:.1rem 0 .25rem 1.3rem;margin:1.7rem 0 2rem;}
.editorial-discipline:nth-of-type(2n) {border-left-color:hsla(var(--accent),.62);}
.editorial-discipline > h3 {margin-top:.1rem;}
.editorial-steps {display:flex;flex-direction:column;gap:.65rem;margin-top:1.6rem;}
.editorial-step {display:flex;align-items:flex-start;gap:1.25rem;padding:1.2rem 1.25rem;border:1px solid hsl(var(--border));border-radius:1rem;background:hsl(var(--card));box-shadow:0 8px 20px rgba(16,36,56,.035);}
.editorial-step-number {display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;color:hsl(var(--primary));background:hsla(var(--primary),.1);font-weight:800;font-size:.86rem;}
.editorial-step h3 {margin:0 0 .4rem;font-size:1.05rem;}
.editorial-step p {font-size:.92rem;margin:0 0 .6rem;line-height:1.68;}
.editorial-step p:last-child {margin-bottom:0;}
.editorial-callout {display:flex;align-items:flex-start;gap:1rem;border-radius:1rem;padding:1.25rem 1.35rem;background:hsla(var(--primary),.075);margin:1.85rem 0 1.5rem;}
.editorial-callout-icon {display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:hsla(var(--primary),.12);color:hsl(var(--primary));font-size:1.25rem;font-weight:800;}
.editorial-callout strong {display:block;font-size:.91rem;margin-bottom:.32rem;color:hsl(var(--foreground));}
.editorial-callout p {font-size:.91rem;line-height:1.62;margin:0 0 .6rem;}
.editorial-callout p:last-child {margin-bottom:0;}
.editorial-key-takeaway {background:linear-gradient(110deg,hsla(var(--accent),.10),hsla(var(--primary),.06));}
.editorial-key-takeaway .editorial-callout-icon {background:hsla(var(--accent),.13);color:hsl(var(--accent));}
.editorial-summary {background:linear-gradient(110deg,hsla(var(--primary),.09),hsla(var(--accent),.055));}
.editorial-table-wrap {overflow-x:auto;max-width:100%;border:1px solid hsl(var(--border));border-radius:.88rem;margin:1.6rem 0;scrollbar-width:thin;}
.editorial-comparison-table {width:100%;min-width:440px;border-collapse:collapse;font-size:.9rem;line-height:1.6;}
.editorial-comparison-table th {text-align:left;background:hsla(var(--primary),.095);color:hsl(var(--foreground));font-weight:750;}
.editorial-comparison-table th:nth-child(2) {background:hsla(var(--accent),.10);}
.editorial-comparison-table :is(th,td) {padding:.86rem 1rem;border-bottom:1px solid hsl(var(--border));vertical-align:top;width:50%;}
.editorial-comparison-table tr:last-child td {border-bottom:0;}
.editorial-comparison-table td+td {border-left:1px solid hsl(var(--border));}
.editorial-beginner-list {display:flex;flex-direction:column;gap:1.35rem;margin:1.5rem 0;}
.editorial-beginner-list > div {display:flex;align-items:flex-start;gap:1rem;}
.editorial-beginner-list > div > span {display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:hsla(var(--accent),.15);color:hsl(var(--accent));font-weight:800;font-size:.85rem;}
.editorial-beginner-list h3 {margin:0 0 .5rem;font-size:1.08rem;}
.editorial-beginner-list p {font-size:.96rem;line-height:1.7;}

/* Right sticky card; same site palette and existing contact modal hook. */
.editorial-cta-card {position:relative;overflow:hidden;border:1px solid hsl(var(--border));border-radius:1rem;padding:1.45rem 1.3rem;background:linear-gradient(145deg,hsla(var(--primary),.07),hsl(var(--card)) 55%,hsla(var(--accent),.06));box-shadow:0 10px 28px rgba(16,36,56,.07);}
.editorial-cta-card::before {content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--accent)));}
.editorial-cta-card h2 {font-size:1.32rem;line-height:1.25;font-weight:800;letter-spacing:-.025em;color:hsl(var(--foreground));margin:.55rem 0 .75rem;}
.editorial-cta-card p {font-size:.81rem;line-height:1.6;color:hsl(var(--muted));margin:0 0 1.3rem;}
.editorial-cta-button {width:100%;display:flex;justify-content:center;text-align:center;font-size:.86rem;padding:.75rem 1rem;border-radius:999px;}
.editorial-right-rail .editorial-sticky {height:fit-content;}

/* Accessible disclosure FAQ — semantic <details><summary> supported without JS. */
.editorial-faq-section {margin-bottom:0;}
.editorial-faq-list {display:flex;flex-direction:column;gap:.7rem;margin-top:1.5rem;}
.editorial-faq {border:1px solid hsl(var(--border));border-radius:.88rem;background:hsl(var(--card));box-shadow:0 5px 15px rgba(18,45,73,.028);overflow:hidden;}
.editorial-faq summary {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;cursor:pointer;list-style:none;}
.editorial-faq summary::-webkit-details-marker {display:none;}
.editorial-faq summary::marker {content:"";}
.editorial-faq summary h3 {font-size:.95rem;letter-spacing:0;line-height:1.5;margin:0;font-weight:700;}
.editorial-faq[open] {border-color:hsla(var(--primary),.4);background:linear-gradient(180deg,hsla(var(--primary),.025),#fff 90%);}
.editorial-faq[open] summary h3 {color:hsl(var(--primary));}
.editorial-faq-plus {width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;border-radius:50%;background:hsla(var(--primary),.08);color:hsl(var(--primary));}
.editorial-faq-plus::after {content:"+";font-size:1.1rem;font-weight:650;line-height:1;}
.editorial-faq[open] .editorial-faq-plus::after {content:"−";}
.editorial-faq-answer {border-top:1px solid hsl(var(--border));padding:1rem 1.2rem 1.15rem;}
.editorial-faq-answer p {font-size:.92rem;line-height:1.72;margin:0 0 .75rem;}
.editorial-faq-answer p:last-child {margin:0;}

/* Mobile TOC and inline CTA appear at or below 1024px only. */
.editorial-mobile-contents,.editorial-mobile-cta {display:none;}
@media (max-width:1150px) {
  .editorial-layout {grid-template-columns:160px minmax(0,1fr) 185px;gap:18px;}
  .editorial-toc-link {font-size:.69rem;}
  .editorial-cta-card {padding:1.2rem 1rem;}
}
@media (max-width:1024px) {
  .editorial-layout {grid-template-columns:minmax(0,1fr);padding-top:2.25rem;padding-bottom:4.5rem;}
  .editorial-toc-rail,.editorial-right-rail {display:none;}
  .editorial-content-column {max-width:720px;margin:0 auto;}
  .editorial-mobile-contents {display:block;margin:0 0 2rem;border:1px solid hsl(var(--border));border-radius:.9rem;background:hsl(var(--card));box-shadow:0 5px 18px rgba(16,36,56,.035);}
  .editorial-mobile-contents-toggle {display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1rem 1.2rem;background:transparent;border:0;border-radius:.9rem;text-align:left;font:inherit;font-weight:750;font-size:.95rem;color:hsl(var(--foreground));cursor:pointer;}
  .editorial-mobile-contents-toggle svg {transition:transform .2s;}
  .editorial-mobile-contents-toggle[aria-expanded="true"] svg {transform:rotate(180deg);}
  .editorial-mobile-contents nav {display:flex;flex-direction:column;gap:.2rem;padding:.3rem .6rem 1rem;border-top:1px solid hsl(var(--border));max-height:55vh;overflow:auto;}
  .editorial-mobile-contents nav[hidden] {display:none;}
  .editorial-mobile-contents .editorial-toc-link {font-size:.84rem;padding:.64rem .75rem;}
  .editorial-mobile-contents .editorial-toc-link.is-faq-question {padding-left:1.5rem;font-size:.78rem;}
  .editorial-mobile-cta {display:block;margin:2.5rem 0 3rem;}
  .editorial-mobile-cta .editorial-cta-card {padding:1.4rem 1.5rem;}
  .editorial-mobile-cta .editorial-cta-card h2 {font-size:1.45rem;}
  .editorial-mobile-cta .editorial-cta-card p {font-size:.92rem;}
  .editorial-mobile-cta .editorial-cta-button {max-width:260px;}
  .glossary-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .glossary-entry-list.is-sparse .glossary-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .glossary-entry-list.is-sparse[data-count="1"] .glossary-card-grid {grid-template-columns:minmax(0,350px);}
}
@media (max-width:680px) {
  .editorial-hero {padding:7.4rem 0 3.25rem;}
  .editorial-hero::after {width:260px;height:170px;bottom:-125px;}
  .editorial-hero .breadcrumbs {margin-bottom:1.7rem;}
  .editorial-hero h1 {font-size:clamp(2.05rem,7.8vw,2.75rem);line-height:1.17;letter-spacing:-.035em;}
  .editorial-hero-intro {font-size:.985rem;line-height:1.7;}
  .editorial-article-meta {margin-top:1.3rem;font-size:.75rem;gap:.55rem;}
  .editorial-layout {padding-top:1.6rem;padding-bottom:3.5rem;}
  .editorial-article-body {font-size:1rem;line-height:1.76;}
  .editorial-article-body h2 {font-size:1.54rem;}
  .editorial-article-body h3 {font-size:1.13rem;}
  .editorial-section {margin-bottom:2.75rem;}
  .editorial-article-lead {font-size:1rem;}
  .editorial-step {gap:.8rem;padding:1.05rem;}
  .editorial-step-number {flex-basis:32px;width:32px;height:32px;font-size:.75rem;}
  .editorial-callout {padding:1rem;gap:.8rem;}
  .editorial-faq summary {padding:.95rem 1rem;}
  .editorial-faq-answer {padding:1rem;}
  .editorial-hub-hero {padding-bottom:3.3rem;}
  .glossary-search {min-height:52px;}
  .glossary-alphabet {grid-template-columns:repeat(26,36px);gap:0;}
  .glossary-letter {min-height:36px;}
  .editorial-index-heading {margin:3.1rem auto 2rem;}
  .glossary-card-grid,.glossary-entry-list.is-sparse .glossary-card-grid {grid-template-columns:minmax(0,1fr);}
  .glossary-term-card {min-height:0;padding:1.5rem;}
  .glossary-start-card {margin-top:3rem;padding:2rem 1.25rem;}
  .glossary-index-section {padding-bottom:3.5rem;}
  .editorial-mobile-cta .editorial-cta-button {max-width:none;}
}
@media (prefers-reduced-motion:reduce) {
  .editorial-toc-link, .glossary-search, .editorial-mobile-contents-toggle svg {transition:none !important;}
}
