:root {
  --navy: #0a274f;
  --blue: #173d68;
  --gold: #b68c2f;
  --gold-dark: #79601d;
  --ink: #263647;
  --muted: #526477;
  --line: #dce3ea;
  --paper: #ffffff;
  --wash: #f6f8fb;
  --warm: #fbf9f2;
  --gutter: clamp(20px, 3.8vw, 96px);
  color-scheme: light;
  font-synthesis: none;
  scroll-behavior: smooth;
  scroll-padding-top: 106px;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.65 "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button, .button { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: default; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--gold-dark); outline-offset: 5px; }
::selection { background: #f1deb0; color: var(--navy); }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { color: var(--navy); }
h1, h2 { font-weight: 750; letter-spacing: -.045em; line-height: 1.08; text-wrap: balance; }
h3 { line-height: 1.22; font-weight: 700; letter-spacing: -.022em; }
p + p { margin-top: 1em; }
.wrap { width: 100%; padding-inline: var(--gutter); }
.eyebrow { font-size: 12px; line-height: 1.6; letter-spacing: .14em; font-weight: 750; text-transform: uppercase; color: var(--gold-dark); }
.small { font-size: 14px; line-height: 1.6; color: var(--muted); }
.skip { position: fixed; inset: 10px auto auto 16px; padding: 10px 16px; background: var(--navy); color: white; z-index: 99; transform: translateY(-160%); }
.skip:focus { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* The page is additive. All content and assets live within /services/. */
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.header-inner { display: flex; align-items: center; gap: 30px; min-height: 94px; }
.brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; flex-shrink: 0; }
.brand img { width: 70px; height: auto; }
.brand-name { font-size: 18px; line-height: 1.2; font-weight: 750; letter-spacing: .1em; color: var(--navy); }
.brand-role { display: block; margin-top: 6px; font-size: 10px; font-weight: 600; letter-spacing: .115em; color: var(--muted); text-transform: uppercase; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(16px, 2.2vw, 38px); }
.site-nav a { font-size: 14px; font-weight: 650; text-decoration: none; padding-block: 10px; border-bottom: 2px solid transparent; }
.site-nav a:hover { border-color: var(--gold); }
.site-nav .nav-contact { padding: 11px 19px; border: 1px solid var(--navy); }
.site-nav .nav-contact:hover { background: var(--navy); color: white; }
.menu-toggle { display: none; background: white; color: var(--navy); border: 1px solid var(--line); border-radius: 0; min-height: 44px; padding: 8px 13px; font-weight: 650; }

.hero { position: relative; isolation: isolate; padding-top: clamp(45px, 5.2vw, 84px); }
.hero::before { content: ""; position: absolute; top: 0; right: 0; width: 44%; height: 100%; z-index: -1; background-image: linear-gradient(#e8edf350 1px, transparent 1px), linear-gradient(90deg,#e8edf350 1px,transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to left,black, transparent); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: clamp(24px, 5vw, 94px); align-items: center; }
.hero-copy { padding-bottom: 52px; }
.hero-kicker { display: flex; gap: 12px; align-items: center; }
.hero-kicker::before { content: ""; width: 30px; height: 2px; background: var(--gold); }
h1 { font-size: clamp(49px, 5.9vw, 110px); margin-block: 24px 24px; }
h1 span { display: block; }
h1 .accent { color: var(--blue); }
.hero-lead { font-size: clamp(17px, 1.42vw, 22px); line-height: 1.58; max-width: 43em; color: #344b63; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 29px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 21px; padding: 12px 21px; font-weight: 650; font-size: 15px; line-height: 1.4; border: 1px solid var(--navy); background: var(--navy); color: white; text-decoration: none; border-radius: 0; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.button:hover { background: #163d68; box-shadow: 0 6px 18px #0a274f16; transform: translateY(-1px); }
.button.secondary { background: white; color: var(--navy); border-color: #c3cdd7; }
.button.secondary:hover { border-color: var(--navy); background: var(--wash); }
.button .arrow { font-size: 20px; line-height: 1; font-weight: 400; }
.hero-location { margin-top: 20px; font-size: 13px; color: var(--muted); }
.hero-emblem { position: relative; padding: 34px 0 43px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.emblem-meta { display: flex; width: 100%; justify-content: space-between; gap: 10px; color: #6b7887; font-size: 10px; letter-spacing: .14em; line-height: 1.7; text-transform: uppercase; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.hero-emblem img { width: min(100%, 490px); margin-block: 38px 34px; mix-blend-mode: multiply; }
.emblem-signature { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line); }
.emblem-signature strong { color: var(--navy); display: block; font-size: 14px; line-height: 1.5; letter-spacing: .02em; }
.emblem-signature span { color: var(--muted); font-size: 12px; }
.motion-toggle { color: var(--muted); background: white; border: 1px solid var(--line); padding: 8px 10px; font-size: 11px; min-height: 40px; line-height: 1.3; }
.signal-line { position: relative; height: 3px; width: 100%; overflow: hidden; background: var(--navy); }
.signal-line::after { content: ""; position: absolute; height: 3px; width: 170px; background: linear-gradient(90deg,transparent,var(--gold),#e8d080,var(--gold),transparent); left: -170px; animation: signal 11s ease-in-out infinite; }
@keyframes signal { 0%,8% { left: -170px; } 80%,100% { left: 100%; } }
.range { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.range-item { padding: 24px 0; }
.range-item + .range-item { padding-left: 23px; border-left: 1px solid var(--line); }
.range strong { display: block; font-size: 14px; color: var(--navy); font-weight: 750; }
.range span { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); }

.section { padding-block: clamp(62px, 6vw, 100px); }
.section-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; align-items: end; margin-bottom: 37px; }
.section-head h2 { font-size: clamp(34px, 3.45vw, 61px); margin-top: 13px; }
.section-head > p { font-size: 17px; line-height: 1.65; color: var(--muted); max-width: 40em; }
.services-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 1px solid var(--line); }
.service { display: flex; flex-direction: column; padding: clamp(24px,2.2vw,38px); position: relative; min-width: 0; }
.service:not(:nth-child(3n)) { border-right: 1px solid var(--line); }
.service:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
.service::before { content: ""; position: absolute; top: -1px; left: 24px; right: 24px; height: 3px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .24s ease; }
.service:hover::before { transform: scaleX(1); }
.service-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 25px; }
.ordinal { color: var(--gold-dark); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.service-icon { height: 30px; width: 30px; border: 1px solid #c5d0dc; display: inline-grid; place-items: center; font-size: 15px; color: var(--navy); }
.service h3 { font-size: clamp(21px,1.6vw,28px); margin-bottom: 13px; }
.service > p { color: var(--muted); font-size: 15px; line-height: 1.65; }
.service .outcome { margin-top: auto; padding-top: 20px; font-size: 13px; line-height: 1.5; color: var(--navy); font-weight: 600; }
.outcome::before { content: ""; display: block; width: 26px; height: 2px; margin-bottom: 13px; background: var(--gold); }
.engagement-band { margin-top: 25px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; background: var(--wash); padding: 27px 30px; border-left: 3px solid var(--gold); }
.engagement-band h3 { font-size: 16px; margin-bottom: 7px; }
.engagement-band p { font-size: 14px; color: var(--muted); line-height: 1.5; }
.scope-note { margin-top: 20px; font-size: 13px; color: var(--muted); }

.work-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(180deg,#f9fafc 0%,white 64%); }
.projects-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.project { min-width: 0; padding: clamp(25px,2.4vw,42px); background: white; border: 1px solid var(--line); box-shadow: 0 6px 24px #16325104; }
.project-top { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 24px; }
.project .category { font-size: 11px; font-weight: 700; color: var(--gold-dark); letter-spacing: .11em; line-height: 1.5; text-transform: uppercase; }
.project h3 { font-size: clamp(24px,2.2vw,37px); margin-bottom: 13px; }
.project p { font-size: 16px; color: var(--muted); line-height: 1.7; }
.project-evidence { margin-top: 24px; padding-top: 15px; border-top: 1px solid var(--line); }
.project-evidence strong { font-size: 10px; text-transform: uppercase; letter-spacing: .14em; color: var(--gold-dark); display: block; margin-bottom: 5px; }
.project-evidence span { font-size: 13px; color: var(--navy); display: block; line-height: 1.6; }
.status { display: inline-block; font-size: 10px; padding: 4px 8px; font-weight: 650; color: var(--gold-dark); border: 1px solid #d9c796; background: var(--warm); white-space: nowrap; }
.project:last-child { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: 40px; }
.project:last-child .project-top { margin-bottom: 17px; }
.project:last-child .project-evidence { margin-top: 18px; }
.work-links { margin-top: 28px; display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.text-link { font-size: 14px; font-weight: 650; }

.ownership { display: grid; grid-template-columns: .43fr 1fr; gap: clamp(30px,5vw,85px); padding-bottom: 47px; border-bottom: 1px solid var(--line); margin-bottom: 45px; }
.ownership h2 { font-size: clamp(33px,3.2vw,57px); margin-top: 12px; }
.ownership-copy { padding-top: 6px; }
.ownership-copy .ownership-statement { font-size: clamp(20px,2vw,31px); line-height: 1.5; letter-spacing: -.015em; color: var(--navy); font-weight: 600; }
.ownership-copy .small { margin-top: 18px; }
.steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; padding: 0; list-style: none; margin: 0; }
.steps li { border-top: 2px solid var(--gold); padding-top: 16px; }
.steps h3 { font-size: 20px; margin-block: 15px 12px; }
.steps p { font-size: 15px; color: var(--muted); }
.foundation { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(32px,7vw,120px); margin-top: 70px; padding-top: 46px; border-top: 1px solid var(--line); align-items: start; }
.foundation h3 { font-size: clamp(31px,3vw,49px); letter-spacing: -.045em; line-height: 1.15; margin-top: 13px; }
.foundation > div > p { color: var(--muted); }
.foundation > div > p:first-child { font-size: 17px; }
.experience-line { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.experience-line span { padding: 6px 11px; color: var(--navy); background: var(--wash); font-size: 12px; }

.contact-section { border-top: 1px solid var(--line); background: linear-gradient(115deg, #fbf9f3 0%,#ffffff 55%); }
.contact-grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(36px,7vw,125px); align-items: start; }
.contact-copy h2 { font-size: clamp(42px,4.5vw,75px); margin-block: 15px 25px; }
.contact-copy > p:not(.eyebrow) { font-size: 17px; color: var(--muted); }
.email-link { display: inline-block; margin-block: 24px 16px; font-size: clamp(18px,2vw,29px); font-weight: 650; color: var(--navy); overflow-wrap: anywhere; }
.contact-copy .small { margin-top: 15px; font-size: 14px !important; }
.contact-copy .download-link { display: inline-flex; margin-top: 26px; align-items: center; gap: 13px; font-size: 14px; font-weight: 650; }
.brief-tool { border: 1px solid var(--line); border-top: 3px solid var(--gold); background: white; padding: clamp(23px,3vw,42px); }
.brief-tool h3 { font-size: 25px; margin-bottom: 10px; }
.brief-tool > .small { margin-bottom: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field { margin-bottom: 17px; min-width: 0; }
label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 650; color: var(--navy); line-height: 1.5; }
label span { color: var(--muted); font-weight: 400; }
input, select, textarea { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid #bac6d2; border-radius: 0; color: var(--ink); background: white; line-height: 1.5; font-size: 16px; }
select { min-height: 46px; }
textarea { resize: vertical; min-height: 98px; }
input:hover, textarea:hover, select:hover { border-color: var(--navy); }
input::placeholder, textarea::placeholder { color: #637488; opacity: 1; }
.privacy-note { font-size: 12px; color: var(--muted); line-height: 1.6; margin-top: 13px; }
.brief-tool .actions { margin-top: 19px; }
.prepared { margin-top: 25px; border-top: 1px solid var(--line); padding-top: 22px; }
.prepared textarea { min-height: 240px; font-size: 13px; background: var(--wash); }
.prepared .button { font-size: 13px; min-height: 44px; padding: 10px 14px; }
.live-status { color: var(--navy); font-size: 13px; margin-top: 12px; min-height: 1.65em; }
.faq { margin-top: 49px; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.faq details { border-top: 1px solid var(--line); padding-top: 15px; }
.faq summary { font-size: 15px; font-weight: 650; color: var(--navy); cursor: pointer; padding: 8px 0; }
.faq p { font-size: 14px; color: var(--muted); margin-top: 11px; max-width: 58em; }
.site-footer { background: white; border-top: 1px solid var(--line); }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 32px; }
.footer-top .brand img { width: 52px; }
.footer-top .brand-name { font-size: 14px; }
.footer-top .brand-role { font-size: 9px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 25px; }
.footer-links a { font-size: 13px; text-decoration: none; padding-block: 9px; }
.footer-links a:hover { text-decoration: underline; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 16px 25px; border-top: 1px solid var(--line); font-size: 11px; color: var(--muted); }

[data-motion="off"] *, [data-motion="off"] *::before, [data-motion="off"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (min-width: 1850px) {
  .hero-grid { grid-template-columns: 1.15fr .85fr; }
  .hero-emblem img { width: min(80%,580px); }
}
@media (max-width: 1100px) {
  .header-inner { gap: 18px; }
  .brand img { width: 59px; }
  .brand-name { font-size: 16px; }
  .brand-role { font-size: 9px; }
  .site-nav { gap: 18px; }
  .site-nav a { font-size: 13px; }
  .hero-grid { gap: 28px; grid-template-columns: 1.2fr .8fr; }
  h1 { font-size: clamp(48px,6.4vw,77px); }
  .hero-emblem img { margin-block: 38px 25px; }
  .emblem-signature { grid-template-columns: 1fr; }
  .motion-toggle { justify-self: start; }
  .range-item + .range-item { padding-left: 15px; }
  .services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service:not(:nth-child(3n)) { border-right: 0; }
  .service:nth-child(-n+3) { border-bottom: 0; }
  .service:nth-child(odd) { border-right: 1px solid var(--line); }
  .service:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .section-head { grid-template-columns: 1fr 1fr; }
  .steps { gap: 20px; }
  .contact-grid { gap: 40px; }
}
@media (max-width: 780px) {
  :root { scroll-padding-top: 96px; }
  .header-inner { min-height: 79px; flex-wrap: wrap; gap: 0; padding-block: 10px; }
  .brand img { width: 56px; }
  .brand-name { font-size: 15px; }
  .brand-role { font-size: 8px; }
  .site-nav { width: 100%; margin-left: 0; margin-top: 12px; gap: 12px 23px; flex-wrap: wrap; }
  .site-nav .nav-contact { border: 0; padding: 10px 0; }
  .js .menu-toggle { display: inline-block; margin-left: auto; }
  .js .site-nav { display: none; }
  .js .site-nav.is-open { display: flex; padding-top: 12px; border-top: 1px solid var(--line); }
  .hero-grid { grid-template-columns: 1fr; gap: 0; }
  .hero-copy { padding-bottom: 24px; }
  .hero-kicker { font-size: 10px; }
  h1 { font-size: clamp(48px,9vw,73px); margin-top: 21px; }
  .hero-lead { font-size: 18px; }
  .hero-emblem { display: grid; grid-template-columns: 145px 1fr; column-gap: 32px; padding: 17px 0 29px; }
  .hero-emblem .emblem-meta { display: none; }
  .hero-emblem img { width: 145px; margin: 0; }
  .emblem-signature { grid-template-columns: 1fr; border-top: 0; padding-top: 0; gap: 10px; }
  .emblem-signature strong { font-size: 13px; }
  .emblem-signature span { font-size: 11px; }
  .motion-toggle { font-size: 10px; }
  .range { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .range-item { padding: 16px 0; }
  .range-item + .range-item { padding-left: 15px; }
  .range-item:nth-child(4) { border-left: 0; padding-left: 0; }
  .range-item:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .range-item:nth-child(5) { grid-column: span 2; }
  .range strong { font-size: 12px; }
  .range span { font-size: 11px; }
  .section-head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 26px; }
  .section-head > p { font-size: 16px; }
  .service { padding: 25px; }
  .service h3 { font-size: 22px; }
  .service-top { margin-bottom: 20px; }
  .engagement-band { padding: 24px; gap: 24px; grid-template-columns: 1fr; }
  .projects-grid { grid-template-columns: 1fr; }
  .project:last-child { grid-template-columns: 1fr; gap: 0; }
  .project h3 { font-size: 29px; }
  .project:last-child .project-top { margin-bottom: 24px; }
  .project-top { gap: 12px; }
  .ownership { grid-template-columns: 1fr; gap: 25px; }
  .ownership-copy .ownership-statement { font-size: 22px; }
  .steps { grid-template-columns: 1fr 1fr; gap: 34px 28px; }
  .foundation { grid-template-columns: 1fr; gap: 25px; margin-top: 48px; padding-top: 37px; }
  .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .contact-copy h2 { font-size: clamp(41px,7.8vw,59px); }
  .email-link { font-size: 24px; }
  .faq { grid-template-columns: 1fr; gap: 18px; margin-top: 36px; }
  .footer-top { flex-direction: column; align-items: flex-start; gap: 23px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 500px) {
  .brand { gap: 9px; }
  .brand img { width: 47px; }
  .brand-name { font-size: 13px; }
  .brand-role { font-size: 7px; margin-top: 4px; }
  .menu-toggle { font-size: 12px; padding: 8px 10px; }
  .hero { padding-top: 37px; }
  .hero-kicker { letter-spacing: .09em; }
  .hero-kicker::before { width: 20px; }
  h1 { font-size: clamp(42px,10vw,53px); letter-spacing: -.05em; }
  .hero-lead { font-size: 16px; }
  .actions { gap: 10px; }
  .hero-copy .button { flex-grow: 1; font-size: 13px; padding: 11px 13px; gap: 10px; }
  .hero-location { font-size: 12px; }
  .hero-emblem { grid-template-columns: 115px 1fr; column-gap: 21px; }
  .hero-emblem img { width: 115px; }
  .emblem-signature strong { font-size: 12px; }
  .emblem-signature span { display: none; }
  .services-grid { grid-template-columns: 1fr; }
  .service:nth-child(odd) { border-right: 0; }
  .service:nth-child(-n+5) { border-bottom: 1px solid var(--line); }
  .service h3 { font-size: 24px; }
  .service > p { font-size: 15px; }
  .service .outcome { padding-top: 17px; }
  .project { padding: 25px; }
  .project h3 { font-size: 27px; }
  .project p { font-size: 15px; }
  .project .category { font-size: 10px; }
  .project-top { flex-wrap: wrap; }
  .steps { grid-template-columns: 1fr; gap: 27px; }
  .steps h3 { font-size: 22px; margin-top: 10px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .brief-tool .button { width: 100%; }
  .footer-links { gap: 20px; }
}
@media print {
  :root { --gutter: 0; }
  body { font-size: 10pt; color: black; }
  .site-header { position: static; border: 0; }
  .site-nav, .menu-toggle, .motion-toggle, .signal-line, .actions, .brief-tool, .faq, .footer-links { display: none !important; }
  .header-inner { min-height: 55px; }
  .hero { padding-top: 10px; }
  .hero::before { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { padding-bottom: 10px; }
  .hero-emblem { display: none; }
  h1 { font-size: 30pt; margin-block: 10px; }
  h1 span { display: inline; }
  .hero-lead, .section-head > p { font-size: 11pt; }
  .section { padding-block: 22px; }
  .section-head { display: block; margin-bottom: 15px; }
  .section-head h2 { font-size: 24pt; margin-bottom: 10px; }
  .service, .project { break-inside: avoid; padding: 15px; box-shadow: none; }
  .service h3, .project h3 { font-size: 14pt; }
  .service > p, .project p { font-size: 10pt; }
  .service .outcome { font-size: 9pt; }
  .ownership, .foundation, .contact-grid { display: block; }
  .ownership-copy { margin-top: 15px; }
  .ownership-copy .ownership-statement { font-size: 13pt; }
  .foundation { margin-top: 25px; }
  .foundation > div { margin-top: 15px; }
  .range, .engagement-band, .services-grid, .projects-grid { break-inside: auto; }
  .contact-copy h2 { font-size: 25pt; }
  .site-footer { margin-top: 20px; }
  .footer-bottom { font-size: 8pt; }
  a { color: black; }
  @page { size: letter; margin: .55in; }
}


/* Sales pass: scoped to this standalone professional page. */
.wrap{max-width:1512px;margin-inline:auto}
.site-header .wrap{max-width:1512px}
.hero{padding-top:clamp(40px,5vw,74px)}
.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:clamp(28px,4.6vw,76px)}
h1{font-size:clamp(48px,6.1vw,94px);margin-block:22px}
.hero-copy{padding-bottom:44px}
.hero-lead{font-size:clamp(17px,1.4vw,21px);max-width:40em}
.hero-sublead{font-size:15px;line-height:1.65;color:var(--muted);max-width:43em;margin-top:17px}
.hero-sublead strong{color:var(--navy);font-weight:650}
.hero-assurance{font-size:12px;line-height:1.6;color:var(--navy);margin-top:18px}
.hero-location{margin-top:8px}
.hero-emblem img{max-width:370px;margin-block:24px}
.hero-emblem{padding-top:14px;padding-bottom:32px}
.site-nav .nav-contact{background:var(--navy);color:#fff;border-color:var(--navy)}
.site-nav .nav-contact:hover{background:var(--blue)}
.engagements-section{padding-bottom:58px}
.engagement-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.engagement-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);padding:clamp(25px,2.2vw,36px);background:white;border-top:3px solid var(--gold)}
.engagement-card.featured{background:var(--navy);border-color:var(--navy);border-top-color:var(--gold)}
.engagement-label{display:block;color:var(--gold-dark);text-transform:uppercase;font-size:11px;font-weight:750;letter-spacing:.095em;line-height:1.6;margin-bottom:20px}
.engagement-card h3{font-size:clamp(26px,2.4vw,35px);line-height:1.14;letter-spacing:-.035em;margin-bottom:18px}
.engagement-pain{font-size:15px;color:var(--muted);line-height:1.65}
.engagement-deliverable{font-size:14px;line-height:1.65;margin-top:22px;margin-bottom:25px;padding-top:18px;border-top:1px solid var(--line)}
.engagement-deliverable strong{display:block;margin-bottom:6px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark)}
.engagement-card .button{margin-top:auto;font-size:13px;padding:12px 14px;justify-content:space-between;gap:12px;background:white;color:var(--navy);min-height:48px}
.engagement-card .button:hover{background:var(--wash)}
.engagement-card.featured h3{color:white}
.engagement-card.featured .engagement-label,.engagement-card.featured .engagement-deliverable strong{color:#e6cc82}
.engagement-card.featured p{color:#e2eaf3}
.engagement-card.featured .engagement-deliverable{border-color:#59708b}
.engagement-card.featured .button{background:#ecd59a;color:var(--navy);border-color:#ecd59a}
.engagement-card.featured .button:hover{background:#f4e5bf}
.engagement-bottom{font-size:14px;color:var(--muted);margin-top:23px}
.engagement-bottom a{font-weight:650}
#services{padding-top:42px}
.service .service-top{margin-bottom:18px}
.service h3{font-size:clamp(22px,1.8vw,29px)}
.service .service-pain{font-weight:650;color:var(--navy);font-size:14px;line-height:1.5;margin:14px 0 10px}
.service p:not(.outcome):not(.service-pain){font-size:15px;line-height:1.65;margin:0 0 22px}
.service .outcome{font-size:14px;line-height:1.6;margin-top:auto;padding-top:14px}
.service .outcome::before{margin-bottom:12px}
.deliverable-label{display:block;color:var(--gold-dark);font-weight:750;font-size:10px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 0 0;font-size:13px;font-weight:700;margin-top:15px;text-decoration:none}
.service-cta:hover{text-decoration:underline}
.conversion-band{background:var(--navy);padding-block:47px;border-bottom:3px solid var(--gold)}
.conversion-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:center;gap:45px}
.conversion-band .eyebrow{color:#e6cc82}
.conversion-band h2{color:white;font-size:clamp(29px,3vw,45px);margin-block:10px 17px}
.conversion-band p:not(.eyebrow){color:#dde7f1;max-width:44em;font-size:15px}
.conversion-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.conversion-actions .button{background:#ecd59a;color:var(--navy);border-color:#ecd59a;font-size:14px}
.conversion-actions>a:not(.button){color:#e2eaf3;font-size:13px;min-height:44px;display:inline-flex;align-items:center}
.work-section .project{box-shadow:none}
.project .project-evidence{margin-top:18px}
.contact-copy .contact-fast{margin:7px 0 22px}
.contact-fast .button{font-size:15px}
.next-step-note{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;max-width:37em}
.next-step-note h3{font-size:19px;margin-bottom:10px}
.next-step-note p{font-size:14px;color:var(--muted)}
.contact-section .email-link{margin-block:21px 13px}
.contact-section .faq{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-section .faq summary{min-height:48px}
.brief-tool .prepared textarea{line-height:1.7;min-height:280px}
.brief-tool .prepared .actions{gap:10px}
.professional-boundary{font-size:12px;line-height:1.7;color:var(--muted);padding-bottom:22px;border-top:1px solid var(--line);padding-top:18px}
.professional-boundary a{display:inline-block;min-height:44px;padding-top:10px;margin-right:20px}
@media(min-width:1600px){h1{font-size:98px}}
@media(max-width:1100px){.site-nav{gap:16px}.site-nav .nav-contact{padding:10px 12px}.engagement-cards{gap:15px}.engagement-card{padding:24px}.engagement-card h3{font-size:28px}.engagement-label{font-size:10px}.engagement-card .button{font-size:12px}.hero-grid{grid-template-columns:1.2fr .8fr;gap:30px}.hero-emblem img{max-width:300px}}
@media(max-width:900px){.engagement-cards{grid-template-columns:1fr}.engagement-card{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);column-gap:30px;row-gap:0}.engagement-label{grid-column:1/-1;margin-bottom:15px}.engagement-card h3{grid-column:1;margin-bottom:16px}.engagement-pain{grid-column:2;grid-row:2/span 2}.engagement-deliverable{grid-column:2;margin-top:10px;margin-bottom:4px}.engagement-card .button{grid-column:1;grid-row:3/5;align-self:start;margin-top:0}.conversion-inner{grid-template-columns:1fr}.conversion-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:15px}.hero-sublead{font-size:14px}}
@media(max-width:780px){.site-nav .nav-contact{padding:12px 16px;border:1px solid var(--navy)}.hero-grid{grid-template-columns:1fr}.hero-emblem{padding:0 0 28px}.hero-emblem img{max-width:150px;margin-block:0}.hero-copy{padding-bottom:32px}.hero-sublead{max-width:46em}.hero-assurance{font-size:12px}.conversion-inner{gap:24px}.contact-section .faq{grid-template-columns:1fr}.contact-copy .email-link{font-size:clamp(17px,4.8vw,25px)}}
@media(max-width:540px){.engagement-card{display:flex;padding:27px}.engagement-card h3{font-size:30px}.engagement-label{font-size:11px;margin-bottom:15px}.engagement-pain{font-size:15px}.engagement-deliverable{margin-top:21px;margin-bottom:23px}.engagement-card .button{margin-top:auto;width:100%;font-size:14px}.engagement-bottom{font-size:13px}.hero-sublead{font-size:14px}.hero-assurance{max-width:25em;line-height:1.8}.hero-emblem img{max-width:115px}.hero-emblem{padding-bottom:27px}.hero-kicker{font-size:10px}.hero-kicker::before{width:14px;flex-shrink:0}h1{font-size:clamp(43px,10.5vw,56px)}.service h3{font-size:25px}.conversion-band{padding-block:34px}.conversion-actions{align-items:stretch;flex-direction:column;gap:5px}.conversion-actions .button{justify-content:space-between}.prepared .actions{align-items:stretch}.prepared .actions>*{flex:1 1 auto}.footer-bottom{font-size:11px}}
@media(max-width:360px){:root{--gutter:18px}.brand-name{font-size:12px}.brand-role{font-size:6.5px}.brand img{width:42px}.brand{gap:8px}.hero-kicker{letter-spacing:.06em}h1{font-size:42px}.hero-emblem{column-gap:12px}.hero-emblem img{max-width:96px}.hero-emblem{grid-template-columns:96px 1fr}.emblem-signature strong{font-size:12px}.service{padding:24px}.button{gap:12px}.hero-copy .button{font-size:13px}.hero-assurance{font-size:11px}}
@media print{.site-header{position:static}.menu-toggle,.motion-toggle,.brief-tool,.signal-line{display:none!important}.section{padding-block:25px}.hero{padding-top:20px}.hero-grid{grid-template-columns:1.5fr 1fr}h1{font-size:46px}.engagement-cards{display:block}.engagement-card{break-inside:avoid;margin-bottom:12px;display:block}.engagement-card .button{margin-top:15px}.project,.service,.steps li{break-inside:avoid}.conversion-band{background:white;border:1px solid var(--line)}.conversion-band h2,.conversion-band p,.conversion-band a{color:var(--navy)!important}.actions a{box-shadow:none}}

.r11-detail h1{font-size:clamp(38px,5.5vw,78px)}.r11-detail .hero-lead{max-width:48em}.r11-detail .hero{padding-bottom:48px}.r11-detail .service{min-width:0}.r11-detail .section{scroll-margin-top:110px}.r11-breadcrumb{font-size:14px;margin-bottom:22px}.r11-related{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}

/* R9 — restrained usability layer. Cinematic composition and game canvases stay under their existing controllers. */
:root{--r9-ink:#10283a;--r9-paper:#faf7f0;--r9-gold:#e8bc6b;--r9-rule:#dcd8cf}
html{scroll-padding-top:120px}
body.jt-polished-r9{overflow-wrap:break-word}
body.jt-polished-r9 :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #c48d35;outline-offset:4px}
body.jt-polished-r9 :where(a,button){touch-action:manipulation}
body.jt-polished-r9 :where(button,input,select,textarea){font:inherit}
body.jt-polished-r9 main :where(img){max-width:100%}
body.jt-polished-r9 main :where(article,.card,.panel,.paper-card,.a-book,.jtbf-book){min-width:0}
body.jt-polished-r9 :where(.v39-skip,.skip-link,.a-skip){z-index:10010!important}
body.jt-polished-r9 :where(.v39-explore,.a-menu) summary{min-height:44px;align-content:center;cursor:pointer}
body.jt-polished-r9 :where(.v39-mega,.a-menu-panel){overscroll-behavior:contain}
body.jt-polished-r9 .v39-mega a{padding-block:8px;line-height:1.45}
body.jt-polished-r9 .v39-mega h2{line-height:1.2}
body.jt-polished-r9 :where(.v39-search-link,.ar5-author-entry){min-height:44px;align-content:center}
body.jt-polished-r9 :where(.jtbf-actions,.a-actions,.jr-buttons){gap:12px}
body.jt-polished-r9 :where(.jtbf-actions,.a-actions,.jr-buttons) a{min-height:44px;align-content:center;white-space:normal}
body.jt-polished-r9 .jtbf-card{display:flex;flex-direction:column;min-width:0}
body.jt-polished-r9 .jtbf-card .jtbf-actions{margin-top:auto;padding-top:12px}
body.jt-polished-r9 :where(.jtbf-intro,.jtbf-note){max-width:72ch}
body.jt-polished-r9 .jtbf-title{overflow-wrap:normal;text-wrap:balance}
body.jt-polished-r9 main :where(.page-jump-nav,.page-jump-links){row-gap:10px}
body.jt-polished-r9 main :where(.page-jump-nav,.page-jump-links) a{display:inline-flex;align-items:center;min-height:40px}
.r9-table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:14px 0}
.r9-table-scroll table{margin:0;max-width:none}
.r9-table-scroll:focus-visible{outline:3px solid #c48d35;outline-offset:3px}
.r9-archive-notice{max-width:1160px;margin:22px auto;padding:16px 22px;border-left:4px solid #aa7934;background:#fff8e8;color:#3d321e;font:400 15px/1.65 system-ui,sans-serif}
.r9-archive-notice a{color:#154c65;font-weight:700;text-decoration:underline}
.r9-tech{padding:52px clamp(20px,4.5vw,72px);background:#0e2737;color:#f6f3eb;border-block:1px solid #2b4250;isolation:isolate}
.r9-tech__inner{max-width:1260px;margin:auto;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:40px;align-items:center}
.r9-tech .r9-eyebrow{font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#ebc580;margin:0 0 12px}
.r9-tech h2{font:700 clamp(27px,3.6vw,46px)/1.15 system-ui,sans-serif;letter-spacing:-.025em;text-wrap:balance;color:#fff;margin:0 0 16px}
.r9-tech p{font:400 16px/1.75 system-ui,sans-serif;color:#dfebf0;max-width:66ch;margin:0 0 14px}
.r9-tech .r9-tech__note{font-size:12px;color:#bfced6;margin:16px 0 0}
.r9-tech__actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.r9-tech__actions a{display:block;border:1px solid #718795;border-radius:5px;padding:14px 20px;font:650 15px/1.4 system-ui,sans-serif;color:#fff;text-decoration:none;text-align:center;min-height:48px}
.r9-tech__actions a:first-child{background:#f3e1bd;border-color:#f3e1bd;color:#112b3d}
.r9-tech__actions a:hover{filter:brightness(1.08);text-decoration:underline;text-underline-offset:4px}
.r9-footer{display:block;clear:both;padding:30px clamp(20px,4vw,64px);background:#081b28;color:#d2dee5;border-top:1px solid #2d4451;font:400 13px/1.65 system-ui,sans-serif}
.r9-footer__inner{max-width:1260px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.r9-footer__brand{font-weight:750;color:#fff;margin:0}
.r9-footer__copy{display:block;font-size:12px;color:#bfcdd6;font-weight:400;margin-top:3px}
.r9-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center}
.r9-footer a,.r9-footer button{font:600 13px/1.5 system-ui,sans-serif;color:#e8eff4;display:inline-flex;align-items:center;min-height:44px;background:none;border:0;padding:4px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.r9-footer a:hover,.r9-footer button:hover{color:#f4cf88}
.r9-policy{background:var(--r9-paper);color:var(--r9-ink);padding:clamp(35px,5vw,76px) 22px;font:400 17px/1.8 system-ui,sans-serif}
.r9-policy__shell{max-width:1000px;margin:auto}
.r9-policy .r9-eyebrow{font:750 11px/1.5 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#586873;margin:0 0 14px}
.r9-policy h1{font:750 clamp(34px,4.7vw,58px)/1.1 system-ui,sans-serif;letter-spacing:-.035em;text-wrap:balance;max-width:20ch;color:#10283a;margin:0 0 22px}
.r9-policy h2{font:720 clamp(23px,2.6vw,31px)/1.25 system-ui,sans-serif;margin:35px 0 12px;color:#10283a}
.r9-policy h3{font:700 20px/1.3 system-ui,sans-serif;color:#10283a;margin:23px 0 10px}
.r9-policy p,.r9-policy ul{max-width:79ch;margin:0 0 18px}
.r9-policy ul{padding-left:24px}
.r9-policy a{color:#125570;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.r9-policy .r9-policy__lead{font-size:19px;line-height:1.65;color:#38515f}
.r9-policy .r9-policy__notice{border-left:4px solid #b48a43;padding:18px 22px;background:#f0eadc;margin:25px 0}
.r9-policy .r9-policy__nav{display:flex;flex-wrap:wrap;gap:8px 20px;border-block:1px solid var(--r9-rule);padding:16px 0;margin:28px 0}
.r9-policy .r9-policy__nav a{font-size:14px;min-height:36px;align-content:center}
.r9-policy .r9-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.r9-policy .r9-contact-card{padding:24px;border:1px solid var(--r9-rule);border-radius:8px;background:#fff}
.r9-policy .r9-contact-card h2{font-size:24px;margin-top:0}
.r9-policy .r9-contact-card p{font-size:15px}
.r9-policy button{padding:12px 18px;border:1px solid #17445b;border-radius:4px;background:#102d41;color:#fff;font-weight:650;cursor:pointer;min-height:46px}
.r9-consent-banner{position:fixed;bottom:18px;left:18px;width:min(430px,calc(100vw - 36px));z-index:9500;background:#fffdf8;color:#183244;border:1px solid #b9c5cb;border-radius:10px;box-shadow:0 14px 60px #0004;padding:20px;font:400 14px/1.6 system-ui,sans-serif}
.r9-consent-banner[hidden]{display:none!important}
.r9-consent-banner h2{margin:0 0 6px;font:750 17px/1.3 system-ui,sans-serif;color:#183244}
.r9-consent-banner p{margin:0 0 12px;font:400 13px/1.55 system-ui,sans-serif;color:#344e5d}
.r9-consent-actions{display:flex;gap:10px;flex-wrap:wrap}
.r9-consent-actions button{flex:1;min-height:44px;padding:10px 14px;background:#fff;color:#17374a;border:1px solid #577285;border-radius:4px;font:650 13px/1.35 system-ui,sans-serif;cursor:pointer}
.r9-consent-actions button:hover{background:#eaf1f4}
.r9-consent-banner a{color:#1b5773;font-size:12px;text-decoration:underline;display:inline-block;margin-top:10px}
.r9-privacy-dialog{max-width:520px;width:calc(100vw - 40px);max-height:85svh;overflow:auto;background:#fffdf8;color:#173448;border:1px solid #839aaa;border-radius:10px;padding:28px;font:400 15px/1.7 system-ui,sans-serif;box-shadow:0 22px 80px #0005;z-index:11000}
.r9-privacy-dialog::backdrop{background:#041523a8}
.r9-privacy-dialog h2{font:750 26px/1.2 system-ui,sans-serif;color:#173448;margin:0 0 18px}
.r9-privacy-dialog p{font:400 15px/1.7 system-ui,sans-serif;color:#2e4b5d;margin:0 0 14px}
.r9-privacy-dialog .r9-close{display:block;margin:20px 0 0 auto;border:0;background:none;text-decoration:underline;font:650 14px/1.4 system-ui,sans-serif;color:#173448;padding:10px;min-height:42px;cursor:pointer}
.r9-privacy-dialog a{color:#15506e}
@media(max-width:700px){
 html{scroll-padding-top:102px}
 body.jt-polished-r9 .v39-mega{max-height:75svh;overflow-y:auto}
 .r9-tech__inner,.r9-policy .r9-contact-grid{grid-template-columns:1fr;gap:24px}
 .r9-tech{padding-block:36px}.r9-tech h2{font-size:29px}
 .r9-footer__inner{display:block}.r9-footer nav{margin-top:16px;gap:3px 18px}
 .r9-policy{padding:36px 20px;font-size:16px}.r9-policy h1{font-size:35px}
 .r9-consent-banner{bottom:10px;left:10px;width:calc(100vw - 20px);padding:15px}
 body.jt-polished-r9 .hd149-flagship-strip{margin:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body.jt-polished-r9 :where(.r9-tech,.r9-footer,.jtbf-card,.a-book){animation:none!important;transition:none!important}}
@media print{.r9-footer,.r9-tech,.r9-consent-banner,.r9-privacy-dialog,.hd149-flagship-strip{display:none!important}.r9-table-scroll{overflow:visible}.r9-policy{background:white;color:#111;padding:0}.r9-policy a{color:#111}}

body.jt-polished-r9 .jtv4-scene-fallback .jtv4-family-purpose{font:700 clamp(16px,2vw,26px)/1.4 system-ui,sans-serif;color:#f4d6a0;max-width:28ch;margin:17px 0;text-transform:none;letter-spacing:.02em}
body.jt-polished-r9 .jtbf-book .jtbf-copy{min-width:0}
body.jt-polished-r9 .jtbf-book .jtbf-amazon{min-height:44px;align-content:center}


body.r12-page.r12-services .r12-persistence{font:650 clamp(24px,3vw,40px)/1.2 'Segoe UI',Arial,sans-serif;letter-spacing:-.03em;color:#0a274f;border-left:4px solid #b68c2f;padding:5px 0 5px 20px;margin:26px 0}
body.r12-page.r12-services .r12-project-story{margin-top:22px;display:grid;gap:16px;font-size:14px;line-height:1.75;border-top:1px solid #c8d3db;padding-top:18px;color:#344b60}
body.r12-page.r12-services .r12-project-story div{display:block}body.r12-page.r12-services .r12-project-story dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#79601d;font-weight:750;margin-bottom:5px}body.r12-page.r12-services .r12-project-story dd{margin:0}body.r12-page.r12-services .r12-completion-note{background:#f4f6f8;border-left:3px solid #b68c2f;padding:20px;margin-top:24px;color:#344b60}
body.r12-page.r12-services .r12-header__inner{font-family:'Segoe UI',Arial,sans-serif}body.r12-page.r12-services .r12-brand strong{letter-spacing:.03em;font-family:'Segoe UI',Arial,sans-serif;font-size:22px}
@media(max-width:780px){body.r12-page.r12-services .r12-brand small{display:none}}


/* Defined native component boundaries, shared by embedded and standalone games. */
body.r12-page .r12-skip,body.r12-page .r12-skip:focus{background:#172c3c!important;color:#fff8e9!important}
body.r12-page .r12-page-outline{background:#f3eee2;color:#203e4e;padding:16px 20px}
body.r12-page .r12-page-outline :is(summary,a){color:#234f64!important;background:transparent!important}
body.r12-page :is(.ta-btn.primary,.ta-controls button.primary,.v80-btn.primary,.psg65-button.primary){background:#a52a35!important;border-color:#b7464b!important;color:#fff8eb!important}
body.r12-page :is(.v55-source-game-links,.v58-rally-source-links) a{color:#f4e5b7!important;background:#173d4d!important;border:1px solid #9ab4ba}
body.r12-page .v86-context-link{background:#eee5d3;color:#3f4c53}
body.r12-page .v86-context-link strong{color:#3f4c53!important}
body.r12-page .v86-context-link a{color:#21566c!important}
body.r12-page :is(.ta-section,.ta-card,.ta-panel){color:#f7f2e9}
body.r12-page :is(.ta-section,.ta-card,.ta-panel) :is(h2,h3){color:#f7f2e9!important}
body.r12-page .ta-panel>a{color:#e9c78b!important}
body.r12-page .ta-seal strong{color:#fff4d6!important}
body.r12-page .r12-content :is(.nmh-strip,.v80-slate,.v82-slate){background:#102b3b;color:#edf1e7}
body.r12-page .r12-content :is(.nmh-strip,.v80-slate,.v82-slate) :is(h2,h3,p,strong,blockquote,.v82-trial-lines span){color:#edf1e7!important}
body.r12-page .r12-content :is(.nmh-strip,.v80-slate,.v82-slate) .v80-kicker{color:#e8c189!important}
body.r12-page .r12-content :is(.nmh-strip,.v80-slate,.v82-slate) .v80-btn:not(.primary){background:#e6c188!important;color:#233b49!important}
body.r12-page .r12-content .v80-bookmark{background:#eee6d6;color:#263f4e}
body.r12-page .r12-content .v80-bookmark :is(h2,p,strong){color:#263f4e!important}
body.r12-page .r12-content .v80-bookmark .v80-btn:not(.primary){background:#173f50!important;color:#fff4df!important}
body.r12-books .v84-hero{background:#f4f1eb;color:#213e4f}
body.r12-books .v84-hero :is(.v84-title,.r12-book-section-title){color:#213e4f}
body.r12-books .v84-hero .v84-kicker{color:#76521b}
body.r12-books .v84-hero figcaption{color:#3c5362}
body.r12-books .v84-card .v84-kicker{color:#edc77b}
body.r12-books .a-bookmark-art{min-width:0;max-width:100%;margin-inline:0}
body.r12-books .a-bookmark-art img{max-width:100%;height:auto;display:block}
body.r12-books .a-bookmark-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:800px){body.r12-books .a-bookmark-grid{grid-template-columns:minmax(0,1fr)}}
body.r12-services .actions a:not(.button){background:transparent!important;color:#174c66!important}
body.r12-reading-page .am-mini-stat :is(strong,span){color:#fff0d0!important}
body.r12-page :is(.ds52-section,.ds52-console){background:#102d38;color:#f3ecdd}
body.r12-page .ds52-sign{background:#f0d28c!important;color:#563112!important}
body.r12-page .ds52-sign :is(strong,span){color:#563112!important}
body.r12-page .ds52-record-link{color:#fff0c8!important}
body.r12-reading-page .am-satire-section a{color:#fff0c8!important}
body.r12-interactive .arcade-zone{background:#122e3c;color:#f1eee2}
body.r12-interactive .arcade-zone :is(.arcade-zone-head h2,.arcade-zone-head p,.arcade-game-head h3,.arcade-game-intro,.arcade-game-number,.arcade-zone-badge){color:#f2eddf!important;background:transparent!important}
body.r12-interactive .arcade-zone .arcade-game{background:#173848;color:#f2eddf}
body.r12-interactive .arcade-boundary-mini{background:#e9e4d8;color:#2c4654;padding:12px}
body.r12-interactive .arcade-boundary-mini :is(summary,p){color:#2c4654!important}
body.r12-interactive .arcade-ringmaster-copy{background:#102b39;color:#f2eddf}
body.r12-interactive .arcade-ringmaster-copy :is(strong,span){color:#f2eddf!important}
body.r12-interactive .v60r-arcade-direct-link a{color:#eed39a!important}
body.r12-interactive .time-action.remedy{background:#196440!important;color:#fff8e8!important}
/* Readable variants for paper panels and native editorial cabinets. */
body.r12-page .r12-content .ta-paper{background:#e9d7ac!important;color:#352310!important}
body.r12-page .r12-content .ta-paper :is(h2,h3,p,a){color:#352310!important}
body.r12-page .r12-content .ta-paper .ta-seal{background:#102c3a!important;color:#fff0d3!important}
body.r12-page .r12-content .ta-paper .ta-seal strong{color:#fff0d3!important}
body.r12-books .v84-card.paper .v84-kicker{color:#705019}
body.r12-books .a-seals .ta-seal{background:#163747;color:#fff0d3}
body.r12-page :is(.v84-skip,.ta-skip,.a-skip){background:#172c3c!important;color:#fff8e9!important}
body.r12-services .conversion-band .actions a:not(.button){color:#fff3d9!important}
body.r12-page .ds52{background:#102d38!important;color:#f3ecdd!important}
body.r12-page .ds52 .ds52-console{background:#123541!important;color:#f3ecdd!important}
body.r12-page .ds52 .ds52-utility button{background:#163d4b!important;color:#fff3dd!important}
body.r12-page .ds52 :is(.ds52-assist,.ds52-bottom-line a,.ds52-permalink){color:#ffedc1!important}
body.r12-page :is(.bp53-embed,.v55-source-game-section){background:#142f3d!important;color:#f0ece0!important}
body.r12-page :is(.bp53-embed,.v55-source-game-section) :is(h2,h3,p,strong){color:#f0ece0!important}
body.r12-page .bp53-embed-card{background:#183a4a!important;color:#f0ece0!important}
body.r12-page .bp53-embed-boundary{background:#e8dfcd!important;color:#304956!important}
body.r12-page .bp53-embed-boundary strong{color:#304956!important}
body.r12-interactive .nmh-strip .nmh-title{color:#fff0d3!important}
body.r12-interactive .hs-token{background:#e9e2d5!important;color:#294453!important}
body.r12-interactive .arcade-zone .arcade-game{background:#173848!important;color:#f2eddf!important}
body.r12-interactive .arcade-zone .arcade-game .dunk-caption{color:#f2eddf!important}
body.r12-interactive .arcade-zone .time-display span{color:#f2eddf!important}
#r12-site-footer{background:#132b37!important;color:#e9ece4!important}
/* Explicit foregrounds for the remaining small-label and paper variants. */
body.r12-campaign .j96-step{background:#ebe7de!important;color:#263e4a!important}
body.r12-campaign .j96-step :is(small,strong,p){color:#263e4a!important}
body.r12-campaign .j97-step-initiative :is(.j97-number,.j97-caption){color:#fff4e1!important}
body.r12-page .ds52 .ds52-header{background:#102d38!important;color:#f3ecdd!important}
body.r12-page .r12-content .ta-paper a.ta-btn.primary{color:#fff8eb!important}
body.r12-books .a-seals .ta-seal span{color:#e5e6d9!important}
body.r12-interactive .arcade-zone .time-dial span{color:#314b59!important}
body.r12-page.r12-reading-page main.r12-content .pac-hero .breadcrumbs{color:#f0e7d2!important}
body.r12-page.r12-reading-page main.r12-content .pac-section-head p{color:#344f5e!important}
body.r12-page.r12-campaign .j96-step.jtv3-initiative-step{background:#172c3c!important;color:#fff3dc!important}
body.r12-page.r12-campaign .j96-step.jtv3-initiative-step :is(small,strong,p){color:#fff3dc!important}
body.r12-page.r12-campaign.jt-visual-r3 .j97-journey a.j97-step-initiative :is(.j97-number,.j97-caption){color:#fff4e1!important}
body.r12-page.r12-evidence main.r12-content .library-hero .breadcrumbs span{color:#f0e7d2!important}
/* Dynamic cabinet UI: pair each text/control palette with an opaque surface. */
body.r12-page :is(.v58r-overlay-card button,.soj78-button.primary){background:#9f2d40!important;border-color:#c3636f!important;color:#fff7e8!important}
body.r12-page .v58r-overlay-card small{color:#d0dedc!important}
body.r12-reading-page .am-wheel-labels span{background:#741b2d!important;color:#fff5df!important;border-radius:4px;padding:2px 4px}
body.r12-page :is(.v56-primary,.v56-control-primary,.v56-stamp-button){background:#a32b3b!important;border-color:#cc6772!important;color:#fff8e9!important}
body.r12-page .v56-control-primary span{color:#fff8e9!important}
body.r12-page .v56-stat{background:#102b3b!important;color:#fff4db!important}
body.r12-page .v56-stat :is(span,small){color:#d4dfe1!important}
body.r12-page .v56-console{background:#102b3b!important;color:#f4eddd!important}
body.r12-page :is(.v56-privacy-note,.v56-key-help){color:#d4dfe1!important}
body.r12-page .v56-toolbar button{background:#173d4d!important;color:#fff4de!important;border-color:#749da8!important}
body.r12-page .v56-boundary a{color:#ffe5af!important}
body.r12-page .v56-york-building :is(span,small){background:#102d3b!important;color:#f9f1dd!important;padding:3px 5px}
body.r12-page .v56-window-number{color:#fff1d5!important;opacity:1!important}
body.r12-page .v56-cause-machine small{color:#5b3c33!important}
body.r12-page .bo54-game{background:#102a3b!important;color:#fff2dc!important}
body.r12-page .bo54-game :is(.bo54-sign,.bo54-stat,.bo54-load-title,.bo54-cycle-step,.bo54-overlay-card,.bo54-legend,.bo54-boundary){background:#143848!important;color:#fff2dc!important}
body.r12-page .bo54-game :is(.bo54-sign,.bo54-stat,.bo54-load-title,.bo54-cycle-step,.bo54-overlay-card,.bo54-legend,.bo54-boundary) :is(p,span,strong,small,h4){color:#fff2dc!important}
body.r12-page .bo54-game .bo54-legend-row{background:#143848!important;color:#e2e8df!important}
body.r12-page .bo54-game .bo54-legend-row :is(span,strong){color:#e2e8df!important}
body.r12-page .bo54-game .bo54-key{background:#153948!important;color:#e2e8df!important}
body.r12-page .bo54-game .bo54-washer-label{background:#173748!important;color:#fff3dc!important;padding:4px}
body.r12-page .bo54-game .bo54-boundary a{color:#ffe0a5!important}
body.r12-page .r12-skip{width:max-content!important;max-width:calc(100% - 40px)!important;height:auto!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important}
body.r12-page .v56-service-window{background:#173451!important;color:#fff1d5!important;border-color:#86a3ac!important}
body.r12-page .v56-service-window :is(strong,span){color:#fff1d5!important}
body.r12-page .v56-service-window.is-selected{background:#234957!important;border-color:#e0b56f!important}
body.r12-page .v56-cause-machine small{background:#eee4d4!important;color:#5b3c33!important;padding:3px}
body.r12-page :is(.v58r-stat strong,.v56-cause-machine strong){font-size:clamp(12px,3vw,18px)!important;line-height:1.3!important;letter-spacing:0!important}
/* Read complete sections without the legacy 800px offscreen placeholders.
   This also makes fragment destinations, no-script reading and print reliable. */
body.r12-page main section{content-visibility:visible!important;contain-intrinsic-size:none!important}

.r12-services [data-r12-reveal="visible"]{opacity:1!important;visibility:visible!important;transform:none!important}
