/* Standalone editorial guides — inherits the live Race.com.au theme. */
:root {
  --seo-ink: #102a23;
  --seo-muted: #52635d;
  --seo-green: #0b3d2e;
  --seo-green-2: #11543f;
  --seo-gold: #f4b942;
  --seo-paper: #f4f7f4;
  --seo-line: #dce7e0;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--seo-paper); color: var(--seo-ink); }
main { display: block; }
a { text-underline-offset: 3px; }
.seo-mobile-nav { background: #072a20; border-top: 1px solid rgb(255 255 255 / .12); }
.seo-mobile-nav[hidden] { display: none; }
.seo-mobile-nav > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; max-width: 80rem; margin: auto; padding: .75rem 1rem 1rem; }
.seo-mobile-nav a { border-radius: .55rem; color: #ecfdf5; font-size: .875rem; font-weight: 650; padding: .7rem .75rem; text-decoration: none; }
.seo-mobile-nav a:hover, .seo-mobile-nav a:focus-visible { background: rgb(255 255 255 / .1); color: #fcd34d; }
.seo-hero { overflow: hidden; position: relative; background: radial-gradient(circle at 85% 10%, rgb(244 185 66 / .16), transparent 30rem), linear-gradient(125deg, #072a20, #0b3d2e 62%, #11543f); color: white; }
.seo-hero::after { content: ""; position: absolute; width: 20rem; height: 20rem; right: -8rem; bottom: -13rem; border: 1px solid rgb(244 185 66 / .22); border-radius: 50%; box-shadow: 0 0 0 3rem rgb(244 185 66 / .035), 0 0 0 6rem rgb(244 185 66 / .025); pointer-events: none; }
.seo-hero-inner { max-width: 70rem; margin: auto; padding: 2.25rem 1.25rem 2.8rem; position: relative; z-index: 1; }
.seo-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 0 0 2rem; padding: 0; list-style: none; color: #b8d4c8; font-size: .8rem; }
.seo-breadcrumbs li { display: inline-flex; align-items: center; gap: .45rem; }
.seo-breadcrumbs li:not(:last-child)::after { content: "/"; color: #73a38f; }
.seo-breadcrumbs a { color: #d9eee5; }
.seo-eyebrow { margin: 0 0 .7rem; color: #f9c95e; font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.seo-hero h1 { max-width: 53rem; margin: 0; font-family: Archivo, Inter, sans-serif; font-size: clamp(2.2rem, 6vw, 4.4rem); font-weight: 900; letter-spacing: -.045em; line-height: 1.02; }
.seo-deck { max-width: 49rem; margin: 1.15rem 0 0; color: #d8e9e1; font-size: clamp(1.02rem, 2.2vw, 1.22rem); line-height: 1.65; }
.seo-meta { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: 1.35rem; color: #b8d4c8; font-size: .78rem; font-weight: 600; }
.seo-layout { display: grid; grid-template-columns: minmax(0, 1fr) 15.5rem; gap: 2rem; max-width: 70rem; margin: auto; padding: 2rem 1.25rem 3.5rem; }
.seo-article { min-width: 0; }
.seo-answer { margin: 0 0 1.5rem; border: 1px solid #cddfd4; border-left: 4px solid #16805c; border-radius: .85rem; background: #fff; box-shadow: 0 8px 30px rgb(7 42 32 / .05); padding: 1.25rem 1.35rem; }
.seo-answer strong { display: block; margin-bottom: .35rem; color: var(--seo-green); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }
.seo-answer p { margin: 0; font-size: 1.03rem; line-height: 1.7; }
.seo-section { margin-top: 1.35rem; border: 1px solid var(--seo-line); border-radius: 1rem; background: #fff; box-shadow: 0 8px 30px rgb(7 42 32 / .035); padding: clamp(1.25rem, 3vw, 2rem); scroll-margin-top: 6rem; }
.seo-section h2 { margin: 0 0 1rem; color: var(--seo-green); font-family: Archivo, Inter, sans-serif; font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 850; letter-spacing: -.025em; line-height: 1.2; }
.seo-section h3 { margin: 1.5rem 0 .55rem; color: #174c3a; font-size: 1.08rem; line-height: 1.4; }
.seo-section p { margin: .8rem 0 0; color: #334b42; line-height: 1.78; }
.seo-section ul, .seo-section ol { margin: .85rem 0 0; padding-left: 1.25rem; color: #334b42; }
.seo-section li { margin-top: .5rem; line-height: 1.7; padding-left: .2rem; }
.seo-section li::marker { color: #16805c; font-weight: 800; }
.seo-section a, .seo-article a { color: #086647; font-weight: 650; }
.seo-section a:hover, .seo-article a:hover { color: #0b3d2e; }
.seo-callout { margin-top: 1.25rem; border-radius: .75rem; background: #eef7f1; padding: 1rem 1.1rem; }
.seo-callout p { margin: 0; }
.seo-warning { background: #fff7e6; border: 1px solid #f1dfb2; }
.seo-toc { position: sticky; top: 5rem; border: 1px solid var(--seo-line); border-radius: .9rem; background: #fff; padding: 1.1rem; }
.seo-toc h2 { margin: 0 0 .75rem; color: var(--seo-green); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.seo-toc ol { margin: 0; padding: 0; list-style: none; }
.seo-toc li { border-top: 1px solid #edf2ee; }
.seo-toc a { display: block; padding: .65rem .15rem; color: #435b51; font-size: .8rem; font-weight: 600; line-height: 1.4; text-decoration: none; }
.seo-toc a:hover { color: #087551; }
.seo-table-wrap { margin-top: 1.25rem; overflow-x: auto; border: 1px solid var(--seo-line); border-radius: .75rem; }
.seo-table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: .9rem; }
.seo-table caption { padding: .85rem 1rem; background: #f2f7f3; color: #40594d; font-size: .78rem; text-align: left; }
.seo-table th { background: var(--seo-green); color: #fff; font-size: .74rem; letter-spacing: .045em; text-align: left; text-transform: uppercase; }
.seo-table th, .seo-table td { padding: .85rem 1rem; vertical-align: top; }
.seo-table td { border-top: 1px solid #e8efea; color: #334b42; line-height: 1.55; }
.seo-table tbody tr:nth-child(even) { background: #f8faf8; }
.seo-formula { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .65rem; margin-top: 1.2rem; border-radius: .85rem; background: #092f24; color: #fff; padding: 1.25rem; text-align: center; }
.seo-formula span { display: block; color: #b8d4c8; font-size: .72rem; }
.seo-formula strong { display: block; margin-top: .25rem; color: #fcd34d; font-size: 1.2rem; }
.seo-formula b { color: #8db9a6; font-size: 1.2rem; }
.seo-class-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1.2rem; }
.seo-class-card { border: 1px solid var(--seo-line); border-radius: .75rem; background: #f8fbf8; padding: 1rem; }
.seo-class-card strong { display: block; color: #0b3d2e; font-size: .95rem; }
.seo-class-card span { display: block; margin-top: .35rem; color: #53685e; font-size: .84rem; line-height: 1.55; }
.seo-gates { margin: 1.2rem 0 0; border: 1px solid var(--seo-line); border-radius: .8rem; background: #f7faf7; padding: 1rem; }
.seo-gates svg { display: block; width: 100%; height: auto; }
.seo-gates figcaption { margin-top: .7rem; color: #52675d; font-size: .8rem; line-height: 1.55; }
.seo-faq details { border-top: 1px solid var(--seo-line); }
.seo-faq details:first-of-type { border-top: 0; }
.seo-faq summary { position: relative; cursor: pointer; list-style: none; padding: 1.1rem 2rem 1.1rem 0; color: #173f31; font-weight: 750; line-height: 1.5; }
.seo-faq summary::-webkit-details-marker { display: none; }
.seo-faq summary::after { content: "+"; position: absolute; right: .25rem; top: 1rem; color: #0b6b4c; font-size: 1.25rem; }
.seo-faq details[open] summary::after { content: "−"; }
.seo-faq details p { margin: 0 0 1.1rem; }
.seo-related { margin-top: 1.5rem; }
.seo-related > h2 { margin: 0 0 .9rem; color: var(--seo-green); font-family: Archivo, Inter, sans-serif; font-size: 1.5rem; }
.seo-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.seo-related-grid a { display: flex; flex-direction: column; min-height: 9.5rem; border: 1px solid var(--seo-line); border-radius: .85rem; background: #fff; padding: 1.15rem; color: var(--seo-ink); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.seo-related-grid a:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgb(7 42 32 / .08); }
.seo-related-grid strong { color: #0b513b; line-height: 1.4; }
.seo-related-grid span { margin-top: .5rem; color: #5b6e65; font-size: .83rem; line-height: 1.55; }
.seo-related-grid i { margin-top: auto; padding-top: .7rem; color: #a76a05; font-size: .75rem; font-style: normal; font-weight: 750; }
.seo-sources { margin-top: 1.5rem; color: #64766e; font-size: .78rem; line-height: 1.65; }
.seo-sources h2 { color: #465c52; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.seo-sources ul { padding-left: 1.1rem; }
.seo-sources a { color: #48675a; }
.seo-rg { margin-top: 1.5rem; border-radius: .85rem; background: #e8efe9; padding: 1rem 1.15rem; color: #3d554a; font-size: .78rem; line-height: 1.65; }
.seo-rg p { margin: .25rem 0; }
@media (max-width: 900px) {
  .seo-layout { grid-template-columns: minmax(0, 1fr); }
  .seo-sidebar { display: none; }
}
@media (max-width: 640px) {
  .seo-hero-inner { padding: 1.5rem 1rem 2rem; }
  .seo-breadcrumbs { margin-bottom: 1.5rem; }
  .seo-layout { padding: 1rem .85rem 2.5rem; }
  .seo-answer { padding: 1rem; }
  .seo-section { border-radius: .85rem; padding: 1.15rem 1rem; }
  .seo-class-grid, .seo-related-grid { grid-template-columns: minmax(0, 1fr); }
  .seo-related-grid a { min-height: 0; }
  .seo-formula { grid-template-columns: 1fr; gap: .45rem; }
  .seo-formula b { transform: rotate(90deg); }
  .seo-meta { gap: .45rem .85rem; }
}
@media print {
  header, footer, .seo-sidebar, aside[data-ad-slot], .seo-related, .seo-rg { display: none !important; }
  .seo-hero { background: #fff; color: #000; }
  .seo-deck, .seo-meta, .seo-breadcrumbs, .seo-breadcrumbs a { color: #333; }
  .seo-layout { display: block; padding: 0; }
  .seo-section { break-inside: avoid; box-shadow: none; }
}
