/* Public presentation only. The private workspace keeps its own layout and tokens. */
.public-site {
  --canvas: #c5e1ed;
  --paper: #fff0aa;
  --wash: #b8d0b0;
  --line: #8ca994;
  --ink: #193329;
  --muted: #354f44;
  --green: #1c543d;
  --green-dark: #113d2e;
  --orange: #ff8347;
  --orange-ink: #983d19;
  --header-sky: #a9daf3;
  --white: #fff0aa;
  --stone: #dfd79e;
  --guide-purple: #1c543d;
  --guide-lavender: #b9d9eb;
  --guide-line: #789d90;
  --surface-blue: #b9d9eb;
  --surface-yellow: #fff0aa;
  background: var(--canvas);
  color: var(--ink);
  font: 400 1.0625rem/1.7 var(--sans);
  text-rendering: optimizeLegibility;
}
.public-site .wrap { width: min(1184px, calc(100% - clamp(2.5rem, 8vw, 6rem))); }
.public-site :is(main, section, article, aside, nav, figure, form, fieldset) { min-width: 0; }
.public-site :is(h1, h2, h3, h4) { color: inherit; font-family: var(--sans); font-weight: 650; letter-spacing: -.025em; line-height: 1.2; text-wrap: balance; }
.public-site :is(p, li, dd, a, button, summary) { overflow-wrap: anywhere; }
.public-site :is(input, select, textarea) { max-width: 100%; }
.public-site :is(.kicker, .pro-eyebrow) { color: var(--green); font-size: .8125rem; font-weight: 750; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; }
.public-site :is(.lead, .service-deck) { color: var(--muted); font-size: 1.1875rem; line-height: 1.7; }
.public-site :is(.fine, .hint, .page-meta, .help-text) { font-size: .9375rem; line-height: 1.65; }
.public-site :is(.button, .header-contact, .header-client-login, button, summary) { min-height: 44px; }
.public-site :is(.button, .header-contact) { max-width: 100%; padding: .8rem 1.15rem; border-radius: .3rem; font-size: 1rem; font-weight: 650; line-height: 1.45; text-align: center; white-space: normal; }
.public-site .button.secondary { background: transparent; color: var(--green); border: 1px solid var(--green); }
.public-site .button.secondary:hover { background: var(--wash); }
.public-site .text-link { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding-block: .5rem; font-size: 1rem; line-height: 1.5; }
.public-site :focus-visible { outline: 3px solid #883e19; outline-offset: 4px; }
.public-site :is(.button, a, summary, input, textarea, select) { transition: background-color .15s ease, border-color .15s ease, color .15s ease; }

/* Keep the established blue, framed yellow asset, and purple workspace control. */
.public-site .site-header { background: var(--header-sky); border-top: 3px solid var(--orange); border-bottom: 1px solid #8fbfd3; }
.public-site .header { min-height: 5.25rem; gap: 1rem; padding-block: .65rem; }
.public-site .brand { min-width: 0; flex: 0 1 auto; margin-right: auto; }
.public-site .brand-identity { display: block; min-width: 0; }
.public-site .brand-wordmark { width: 12.75rem; max-width: 100%; height: auto; }
.public-site .brand-identity small { display: block; font-size: .875rem; font-weight: 650; line-height: 1.4; color: var(--green-dark); }
.public-site .desktop-nav { gap: 1.15rem; font-weight: 600; }
.public-site .desktop-nav > a,
.public-site .nav-services > summary { min-height: 44px; display: flex; align-items: center; padding-block: .6rem; font-size: .9375rem; }
.public-site .header-contact { min-height: 44px; padding: .65rem .85rem; font-size: .9375rem; }
.public-site .header-client-login { min-height: 44px; padding: .65rem .85rem; background: #63358a; border-color: #63358a; color: #fff; font-size: .9375rem; font-weight: 650; }
.public-site .header-client-login:hover { background: #512770; border-color: #512770; color: #fff; }
.public-site .header-client-login:focus-visible { outline-color: #512770; }
.public-site .mobile-menu > summary { min-height: 44px; border-color: #719baf; border-radius: .25rem; padding: .5rem .7rem; font-size: .9375rem; background: #c6e6f6; }
.public-site .service-menu { left: -16rem; width: min(48rem, 78vw); min-width: 0; max-height: calc(100vh - 8rem); max-height: calc(100dvh - 8rem); overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem; border: 1px solid #b7c9bd; border-top: 3px solid var(--green); border-radius: 0 0 .4rem .4rem; background: var(--paper); box-shadow: 0 1rem 2rem #113d2e1a; color: var(--ink); }
.public-site .service-menu a { display: flex; align-items: center; min-height: 44px; padding: .55rem .65rem; font-size: .9375rem; line-height: 1.5; border-radius: .2rem; }
.public-site .service-menu a:hover { background: var(--wash); color: var(--green-dark); }
.public-site .service-menu-overview { font-weight: 700; border-bottom: 1px solid var(--line); margin-bottom: 1rem; }
.public-site .service-menu-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.public-site .service-menu-group { min-width: 0; }
.public-site .service-menu-heading { margin: 0 0 .45rem; color: var(--green); font-size: .875rem; font-weight: 750; line-height: 1.45; }
.public-site .service-menu-group ul { margin: 0; padding: 0; list-style: none; }
.public-site .service-menu-group li { margin: 0; }
.public-site .service-menu-footer { display: flex; flex-wrap: wrap; gap: .25rem 1rem; border-top: 1px solid var(--line); margin-top: 1rem; padding-top: .65rem; }
.public-site .mobile-panel { padding: 1.25rem max(1.25rem, 4vw); max-height: 72vh; max-height: 72dvh; background: var(--paper); color: var(--ink); border-bottom: 3px solid var(--green); }
.public-site .mobile-panel nav { gap: .35rem 1.25rem; }
.public-site .mobile-panel nav > a { display: flex; align-items: center; min-height: 44px; padding: .5rem; font-size: 1rem; }
.public-site .mobile-service-links { display: block; margin-top: .6rem; padding-top: .9rem; }
.public-site .mobile-service-links > .service-menu-overview { display: flex; min-height: 44px; align-items: center; }
.public-site .mobile-service-links .service-menu-groups { gap: 1rem; }
.public-site .mobile-service-links .service-menu-group a,
.public-site .mobile-service-links .service-menu-footer a { display: flex; align-items: center; min-height: 44px; padding: .5rem 0; font-size: .9375rem; line-height: 1.5; }
.public-site .mobile-service-links .service-menu-heading { font-size: .9375rem; }

/* Compact, specific introduction followed by three clear service pillars. */
.public-site .pro-hero { padding: clamp(2.5rem, 5.4vw, 4.5rem) 0; background: var(--paper); border-bottom: 1px solid var(--line); }
.public-site .pro-hero-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.public-site .pro-hero-copy { min-width: 0; }
.public-site .pro-headline { max-width: 17ch; margin: .9rem 0 1.2rem; font-size: clamp(2.5rem, 4.35vw, 4.1rem); font-weight: 650; line-height: 1.09; letter-spacing: -.04em; color: var(--green-dark); }
.public-site .pro-headline span { color: var(--green); }
.public-site .pro-lead { max-width: 37rem; margin: 0; font-size: clamp(1.125rem, 1.7vw, 1.25rem); line-height: 1.7; color: var(--ink); }
.public-site .pro-audience { max-width: 36rem; margin-top: 1rem; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.public-site .pro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem 1.5rem; margin-top: 1.65rem; }
.public-site .pro-fine { max-width: 36rem; margin-top: .9rem; color: var(--muted); font-size: .875rem; line-height: 1.65; }
.public-site .pro-brief { padding: clamp(1.35rem, 2.3vw, 2rem); background: var(--surface-yellow); border: 1px solid #c8d7c7; border-top: 3px solid var(--green); border-radius: .35rem; }
.public-site .pro-brief h2 { margin: .55rem 0 1.3rem; font-size: clamp(1.4rem, 2.2vw, 1.8rem); line-height: 1.25; }
.public-site .pro-brief-list { margin: 0; padding: 0; list-style: none; }
.public-site .pro-brief-list li { margin: 0; padding: .9rem 0; border-top: 1px solid #c9d6c9; }
.public-site .pro-brief-list li:first-child { padding-top: 0; border-top: 0; }
.public-site .pro-brief-type { display: block; margin-bottom: .25rem; color: var(--orange-ink); font-size: .75rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.public-site .pro-brief-list strong { display: block; font-size: 1rem; line-height: 1.45; font-weight: 650; }
.public-site .pro-brief-list p { margin-top: .3rem; color: var(--muted); font-size: .9375rem; line-height: 1.6; }
.public-site .pro-brief-note { margin-top: .6rem; padding-top: .9rem; border-top: 1px solid #c9d6c9; color: var(--muted); font-size: .8125rem; line-height: 1.65; }
.public-site .pro-section { padding-block: clamp(2.75rem, 5.3vw, 4.75rem); }
.public-site .pro-section-heading { max-width: 47rem; margin-bottom: 2rem; }
.public-site .pro-section-heading h2 { margin: .6rem 0 .9rem; color: var(--green-dark); font-size: clamp(1.85rem, 3vw, 2.75rem); line-height: 1.17; }
.public-site .pro-section-heading > p:not(.pro-eyebrow) { max-width: 45rem; color: var(--muted); font-size: 1.0625rem; line-height: 1.75; }
.public-site .pro-pillar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.public-site .pro-pillar { display: flex; flex-direction: column; padding: clamp(1.25rem, 2.1vw, 1.75rem); border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: .3rem; background: var(--paper); }
.public-site .pro-pillar-number { color: var(--orange-ink); font-size: .8125rem; font-weight: 750; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.public-site .pro-pillar h3 { margin: .65rem 0 .9rem; font-size: clamp(1.35rem, 2vw, 1.65rem); line-height: 1.23; }
.public-site .pro-pillar-intro { color: var(--muted); font-size: .9375rem; line-height: 1.7; }
.public-site .pro-deliverables { margin: 1.2rem 0 1rem; padding: 0; list-style: none; }
.public-site .pro-deliverables li { margin: 0; padding: .65rem 0; border-top: 1px solid var(--line); font-size: .9375rem; line-height: 1.6; }
.public-site .pro-deliverables a { display: inline-flex; align-items: center; min-height: 44px; color: var(--green-dark); font-weight: 650; }
.public-site .pro-deliverables span { display: block; color: var(--muted); }
.public-site .pro-deliverable-title > span { display: inline; }
.public-site .pro-pillar-note { margin: auto 0 .65rem; padding-top: .6rem; color: var(--muted); font-size: .875rem; line-height: 1.65; }
.public-site .pro-pillar-cta { display: inline-flex; align-items: center; min-height: 44px; align-self: flex-start; color: var(--green); font-size: .9375rem; font-weight: 700; line-height: 1.5; }
.public-site .pro-service-directory { display: flex; align-items: baseline; flex-wrap: wrap; gap: .6rem 2rem; padding-top: 1.5rem; margin-top: 1.5rem; border-top: 1px solid var(--line); }
.public-site .pro-service-directory > :is(p, div) { flex: 1 1 18rem; margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.7; }
.public-site .pro-service-directory a { min-height: 44px; display: inline-flex; align-items: center; font-size: .9375rem; }
.public-site .pro-directory-links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin: 0; padding: 0; list-style: none; }
.public-site .pro-directory-links li { margin: 0; }
.public-site .pro-evidence { background: var(--surface-blue); border-block: 1px solid var(--line); }
.public-site .pro-evidence-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.public-site .pro-evidence-card { display: flex; flex-direction: column; padding: 1.5rem; background: var(--paper); border: 1px solid #cbd8cb; border-radius: .3rem; }
.public-site .pro-evidence-label { display: block; margin-bottom: .75rem; color: var(--orange-ink); font-size: .75rem; font-weight: 750; letter-spacing: .06em; line-height: 1.5; text-transform: uppercase; }
.public-site .pro-evidence-card h3 { font-size: 1.375rem; line-height: 1.3; margin-bottom: .8rem; }
.public-site .pro-evidence-card p { color: var(--muted); font-size: .9375rem; line-height: 1.75; }
.public-site .pro-evidence-card > a { margin-top: auto; padding-top: 1rem; }
.public-site .pro-more-examples { margin-top: 1.5rem; border-top: 1px solid #bdcdbf; padding-top: .5rem; }
.public-site .pro-more-examples > summary { min-height: 44px; padding-block: .7rem; font-size: .9375rem; font-weight: 650; }
.public-site .pro-more-examples ul { columns: 2; column-gap: 3rem; margin-block: .7rem 1rem; }
.public-site .pro-more-examples li { break-inside: avoid; font-size: .9375rem; padding-bottom: .45rem; }
.public-site .pro-more-examples li a { display: inline-flex; align-items: center; min-height: 44px; }
.public-site .pro-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem; margin: 0; padding: 0; list-style: none; }
.public-site .pro-process-grid li { margin: 0; padding-top: 1rem; border-top: 2px solid var(--green); }
.public-site .pro-step-number { display: block; margin-bottom: .8rem; color: var(--orange-ink); font-size: .8125rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.public-site .pro-process-grid h3 { font-size: 1.1875rem; line-height: 1.35; margin-bottom: .65rem; }
.public-site .pro-process-grid p { color: var(--muted); font-size: .9375rem; line-height: 1.75; }
.public-site .pro-update-note { margin-top: 2rem; padding: 1rem 1.2rem; border-left: 3px solid var(--orange); background: var(--wash); color: var(--ink); font-size: .9375rem; line-height: 1.7; }
.public-site .pro-guarantee { margin-top: 1.5rem; }
.public-site .pro-guarantee .guarantee-summary { max-width: none; border: 1px solid var(--line); border-left: 3px solid var(--green); padding: 1.2rem 1.4rem; background: var(--paper); }
.public-site .pro-contact { border-top: 1px solid var(--line); background: var(--surface-yellow); }
.public-site .pro-contact-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 6rem); }
.public-site .pro-contact h2 { max-width: 24ch; margin: .7rem 0 1rem; font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.18; color: var(--green-dark); }
.public-site .pro-contact p { max-width: 43rem; }
.public-site .pro-contact-aside { align-self: start; border-left: 1px solid #c5d2c5; padding-left: 2rem; }
.public-site .pro-contact-aside h3 { font-size: 1.25rem; line-height: 1.35; }
.public-site .pro-contact-aside p { margin: .8rem 0; color: var(--muted); font-size: .9375rem; line-height: 1.7; }

/* Interior pages use quiet introductions and a consistent reading measure. */
.public-site .breadcrumb { padding-top: 1.25rem; color: var(--muted); font-size: .875rem; }
.public-site .breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.public-site .page-intro { padding: 1.6rem 0 2.25rem; margin-bottom: 2rem; background: transparent; color: var(--ink); border-bottom: 1px solid var(--line); box-shadow: none; }
.public-site .page-intro::after { width: 3rem; height: 3px; bottom: -2px; background: var(--orange); }
.public-site .page-intro h1 { max-width: 24ch; color: var(--green-dark); font-size: clamp(2.2rem, 4.2vw, 3.6rem); line-height: 1.13; letter-spacing: -.035em; }
.public-site .page-intro > p { color: var(--ink); }
.public-site .page-intro > .kicker { color: var(--green); }
.public-site .page-intro > :is(.lead, .service-deck, .page-meta, .catalog-review-note, .contact-context, .help-text) { color: var(--muted); }
.public-site .page-intro > :is(.lead, .service-deck) { max-width: 49rem; margin-top: 1.15rem; font-size: 1.1875rem; line-height: 1.7; }
.public-site .page-intro > p a:not(.button) { color: var(--green); }
.public-site .page-intro > p a:not(.button):hover { color: var(--green-dark); }
.public-site .page-intro > .text-link:hover,
.public-site .page-intro > .actions > .text-link:hover { color: var(--green-dark); }
.public-site .page-intro :focus-visible { outline-color: #883e19; }
.public-site .section { padding-block: clamp(2.5rem, 4.5vw, 4rem); }
.public-site .page-content { padding-bottom: 3.5rem; }
.public-site .content-layout { grid-template-columns: minmax(0, 1fr) minmax(14rem, 18rem); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.public-site .prose { max-width: 47rem; font-size: 1.0625rem; line-height: 1.85; }
.public-site .prose.narrow { max-width: 49rem; }
.public-site .prose h2 { margin: 2.25rem 0 .9rem; font-size: clamp(1.5rem, 2.4vw, 1.9rem); line-height: 1.3; letter-spacing: -.02em; }
.public-site .prose h2:first-child { margin-top: 0; }
.public-site .prose h3 { font-size: 1.25rem; line-height: 1.4; margin-top: 1.5rem; }
.public-site .prose p { margin: .9rem 0; }
.public-site .prose li { margin-top: .6rem; padding-left: .15rem; }
.public-site .prose .article-lead { font-size: 1.1875rem; line-height: 1.8; }
.public-site .prose section + section { margin-top: 2.25rem; padding-top: 2rem; border-color: var(--line); }
.public-site .sidebar .side-block { padding: 1.25rem; margin: 0 0 1.25rem; border: 1px solid var(--line); border-top: 3px solid var(--green); background: var(--surface-yellow); border-radius: .25rem; }
.public-site .sidebar .side-block + .side-block { margin-top: 0; padding-top: 1.25rem; }
.public-site .side-block :is(p:not(.kicker), li, a:not(.button)) { font-size: .9375rem; line-height: 1.7; }
.public-site .side-block h2 { font-size: 1.25rem; line-height: 1.35; }
.public-site .side-block ul { margin-bottom: 0; }
.public-site .side-block li a { display: inline-flex; align-items: center; min-height: 44px; }
.public-site .service-start { gap: 1.5rem; padding: 1.25rem 1.4rem !important; background: var(--surface-blue); color: var(--ink); border: 1px solid #ccdacb; border-left: 3px solid var(--orange); border-radius: .25rem; }
.public-site .offer-option { grid-template-columns: minmax(9rem, .8fr) minmax(0, 1.8fr); gap: 1.5rem; }
.public-site .offer-option strong { font-size: 1.75rem; line-height: 1.3; letter-spacing: -.025em; }
.public-site .offer-option b { font-size: 1rem; }
.public-site .offer-option span { font-size: .9375rem; }
.public-site .service-at-glance { margin-block: 1.6rem 2.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.public-site .service-at-glance h2 { font-size: 1rem; font-weight: 700; line-height: 1.4; margin-bottom: .85rem; }
.public-site .service-at-glance dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.public-site .service-at-glance dl > div { min-width: 0; }
.public-site .service-at-glance dt { color: var(--green); font-size: .8125rem; font-weight: 750; line-height: 1.5; }
.public-site .service-at-glance dd { margin: .35rem 0 0; color: var(--muted); font-size: .9375rem; line-height: 1.7; }

/* A three-pillar service index, with prices and limits kept easy to inspect. */
.public-site .catalog-jump-links { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0 0 2rem; }
.public-site .catalog-jump-links a { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem .85rem; border: 1px solid #c5d4c6; border-radius: .25rem; background: var(--paper); color: var(--green); font-size: .9375rem; font-weight: 650; line-height: 1.5; text-decoration: none; }
.public-site .catalog-jump-links a:hover { background: var(--wash); }
.public-site .catalog-pillar { position: relative; display: grid; grid-template-columns: minmax(12rem, .65fr) minmax(0, 2fr); gap: 2.5rem; padding: 2rem 0 2.5rem; border-top: 2px solid var(--green); scroll-margin-top: 1.5rem; }
.public-site .catalog-anchor-alias { position: absolute; top: 0; left: 0; width: 0; height: 0; scroll-margin-top: 1.5rem; }
.public-site .catalog-pillar-number { display: block; color: var(--orange-ink); font-size: .8125rem; font-weight: 750; letter-spacing: .08em; }
.public-site .catalog-pillar-heading h2 { font-size: 1.6rem; line-height: 1.25; margin: .65rem 0 .85rem; }
.public-site .catalog-pillar-heading p:not(.catalog-pillar-number) { color: var(--muted); font-size: .9375rem; line-height: 1.7; }
.public-site .catalog-subgroup + .catalog-subgroup { margin-top: 1.7rem; }
.public-site .catalog-subgroup > h3 { margin: 0 0 .6rem; font-size: .8125rem; font-weight: 750; line-height: 1.5; text-transform: uppercase; letter-spacing: .06em; color: var(--green); }
.public-site .catalog-row { grid-template-columns: minmax(0, 1fr) minmax(8rem, 11rem); gap: 1.25rem; padding: 1.15rem 0; border-color: var(--line); }
.public-site .catalog-row:hover { background: #a9d0df; }
.public-site .catalog-row :is(h3, h4) { margin: 0; font-size: 1.1875rem; line-height: 1.4; }
.public-site .catalog-row:hover h4 { text-decoration: underline; text-underline-offset: .2em; }
.public-site .catalog-row p { font-size: .9375rem; line-height: 1.75; }
.public-site .catalog-price { color: var(--green); font-size: 1rem; line-height: 1.55; }
.public-site .catalog-price small { font-size: .875rem; }
.public-site .catalog-bottom { padding-top: 2rem; gap: 2.5rem; }
.public-site .catalog-bottom p { font-size: 1rem; line-height: 1.7; }
.public-site .ongoing-support { padding-block: 3rem; }
.public-site .ongoing-card { border-top-width: 3px; border-radius: .25rem; background: var(--paper); padding: 1.5rem; }
.public-site .ongoing-card h3 { font-size: 1.35rem; line-height: 1.3; }
.public-site .ongoing-card :is(p, li) { font-size: .9375rem; line-height: 1.75; }

/* Contact, examples, and long-form supporting material share the same rhythm. */
.public-site .inquiry-layout { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 2.25rem; align-items: start; padding-bottom: 3rem; }
.public-site .inquiry-card { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #c7d4ca; border-top: 3px solid var(--green); border-radius: .3rem; background: var(--paper); box-shadow: 0 .4rem 1.2rem #113d2e06; }
.public-site .inquiry-card h2 { font-size: 1.65rem; line-height: 1.3; margin-bottom: .85rem; }
.public-site .inquiry-card label { font-size: 1rem; font-weight: 650; }
.public-site .inquiry-card :is(input:not([type=checkbox]), textarea) { min-height: 48px; padding: .75rem .85rem; border-color: #7f9587; border-radius: .25rem; font-size: 1rem; line-height: 1.6; }
.public-site .inquiry-card textarea { min-height: 10rem; resize: vertical; }
.public-site .inquiry-card .field { margin-block: 1.25rem; }
.public-site .inquiry-card .help-text { margin-top: .55rem; color: var(--muted); }
.public-site .inquiry-consent { padding-block: .35rem; min-height: 44px; font-size: .9375rem; }
.public-site .inquiry-side { padding: 1.5rem; background: var(--surface-blue); color: var(--ink); box-shadow: none; border: 1px solid var(--line); border-radius: .3rem; }
.public-site .inquiry-side h2 { font-size: 1.3rem; line-height: 1.35; margin-bottom: .8rem; }
.public-site .inquiry-side :is(p, li) { font-size: .9375rem; line-height: 1.75; }
.public-site .inquiry-side .help-text { color: var(--muted); }
.public-site .inquiry-side a:not(.button) { color: var(--green); }
.public-site .inquiry-side > h2:not(:first-child) { border-color: #c1d0c1; margin-top: 1.5rem; padding-top: 1.25rem; }
.public-site .inquiry-side :focus-visible { outline-color: #883e19; }
.public-site .example-directory { gap: 1.5rem; }
.public-site .example-tile { padding: 1.5rem; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: .3rem; background: var(--paper); }
.public-site .example-tile :is(h2, h3) { font-size: 1.4rem; line-height: 1.3; }
.public-site .example-tile > p:not(.kicker) { font-size: 1rem; line-height: 1.75; }
.public-site .examples-group > header h2 { font-size: 1.75rem; line-height: 1.25; }
.public-site .examples-group > header p { font-size: 1rem; }
.public-site .real-section { padding-block: 2.5rem; }
.public-site .real-section > h2 { font-size: clamp(1.65rem, 2.7vw, 2.25rem); }
.public-site .real-section p { font-size: 1rem; line-height: 1.8; }
.public-site .real-case { border-radius: .25rem; background: var(--paper); }
.public-site .real-summary { gap: 1.25rem; padding-block: 1.5rem; border-block-width: 1px; }
.public-site .real-summary strong { font-size: 1.75rem; }
.public-site .real-summary span { font-size: 1rem; line-height: 1.6; }
.public-site .case-scope-note { font-size: 1rem; line-height: 1.75; background: #f5c985; }
.public-site .article-list .journal-item { grid-template-columns: 10rem minmax(0, 1fr) 7rem; gap: .6rem 2rem; padding-block: 1.6rem; }
.public-site .article-list .journal-item h2 { font-size: 1.5rem; line-height: 1.35; }
.public-site .article-list .journal-item > p:not(.kicker) { font-size: 1rem; line-height: 1.75; }
.public-site .article-list .journal-item:hover { background: #a9d0df; }
.public-site .toc { padding-block: .8rem; margin-bottom: 2rem; }
.public-site :is(.toc summary, .faq summary) { min-height: 44px; padding-block: .7rem; font-size: 1rem; line-height: 1.5; }
.public-site .faq details { padding-block: .5rem; }
.public-site .faq p { max-width: 52rem; font-size: 1rem; line-height: 1.8; }
.public-site .guarantee-terms { margin-block: 1rem 2.5rem; padding: clamp(1.25rem, 3vw, 2rem); background: var(--surface-blue); border: 1px solid #cbd8cb; border-left: 3px solid var(--green); border-radius: .25rem; }
.public-site .guarantee-terms h2 { font-size: 1.8rem; line-height: 1.25; }
.public-site .guarantee-terms :is(p, li) { font-size: 1rem; line-height: 1.8; }
.public-site .site-help-wrap { padding-block: .25rem; }
.public-site .site-help > summary { min-height: 44px; font-size: .875rem; padding-block: .65rem; }
.public-site .context-help:not(.site-help) { background: var(--wash); }
.public-site .help-content { font-size: 1rem; line-height: 1.75; }
.public-site .closing { padding-block: 2.5rem; border-top: 3px solid var(--orange); }
.public-site .closing h2 { color: var(--paper); font-size: 2rem; }
.public-site .closing p { font-size: 1rem; }
.public-site .footer { padding-top: 3rem; background: var(--green-dark); color: var(--paper); }
.public-site .footer-inner { grid-template-columns: 1.2fr 1fr 1fr; gap: 3rem; }
.public-site .footer :is(p, li) { font-size: .9375rem; line-height: 1.75; }
.public-site .footer li a { display: inline-flex; align-items: center; min-height: 44px; }
.public-site .footer li + li { margin-top: 0; }
.public-site .footer-inner h2 { color: #ffbd96; font-size: .8125rem; letter-spacing: .08em; }
.public-site .footer-bottom { font-size: .875rem; border-color: #50715f; }
.public-site .footer-bottom > span:first-child { font-size: .9375rem; }
.public-site .footer :focus-visible { outline-color: var(--orange); }
.public-site .connection-note { font-size: .875rem; }

/* Branded screen rhythm: forest / blue / forest / yellow / blue.
   Document-preview pixels and ink-saving print styles remain untouched. */
@media screen {
  .public-site .pro-hero { background: var(--green-dark); color: var(--surface-yellow); border-bottom: 4px solid var(--orange); }
  .public-site .pro-hero-copy :is(.pro-eyebrow, .pro-headline, .pro-headline span) { color: var(--surface-yellow); }
  .public-site .pro-hero-copy :is(.pro-lead, .pro-audience, .pro-fine) { color: #d1e6e6; }
  .public-site .pro-hero-copy .pro-actions .text-link { color: var(--surface-yellow); }
  .public-site .pro-hero-copy .pro-actions .text-link:hover { color: #ffbd96; }
  .public-site .pro-hero-copy :focus-visible { outline-color: var(--orange); }
  .public-site .pro-brief { background: var(--surface-yellow); color: var(--ink); border-color: #d0b958; border-top-color: var(--orange); }
  .public-site .pro-brief :is(.pro-brief-list li, .pro-brief-note) { border-color: #cfbc74; }
  .public-site .pro-pillars { background: var(--surface-blue); }
  .public-site .pro-pillar { background: var(--surface-yellow); border-color: #a7a77a; border-top-color: var(--green); }
  .public-site .pro-pillar .pro-deliverables li { border-color: #d0bd79; }
  .public-site .pro-evidence { background: var(--green); color: var(--surface-yellow); border-color: var(--green-dark); }
  .public-site .pro-evidence > .wrap > .pro-section-heading :is(.pro-eyebrow, h2) { color: var(--surface-yellow); }
  .public-site .pro-evidence > .wrap > .pro-section-heading > p:not(.pro-eyebrow) { color: #d1e6e6; }
  .public-site .pro-evidence-card { background: var(--surface-blue); color: var(--ink); border-color: #8bb8c4; border-top: 3px solid var(--orange); }
  .public-site .pro-evidence-card :is(.text-link, a) { color: var(--green-dark); }
  .public-site .pro-more-examples { border-color: #7ea58c; }
  .public-site .pro-more-examples a { color: var(--surface-yellow); }
  .public-site .pro-more-examples :focus-visible { outline-color: var(--orange); }
  .public-site .pro-process { background: var(--surface-yellow); border-bottom: 1px solid #b7a76c; }
  .public-site .pro-update-note { background: var(--surface-blue); border-left-color: var(--orange-ink); }
  .public-site .pro-guarantee .guarantee-summary { background: #b8d0b0; border-color: #86a17c; border-left-color: var(--green); }
  .public-site .pro-contact { background: var(--surface-blue); border-top-color: #8bb8c4; }
  .public-site .pro-contact-aside { border-color: #759c91; }

  .public-site .page-intro { padding-inline: clamp(1.1rem, 2.5vw, 2rem); background: var(--surface-yellow); border: 1px solid #c3ae64; border-top: 3px solid var(--green); border-radius: .25rem; }
  .public-site .page-intro::after { left: 1.1rem; }
  .public-site :is(.service-start, .task-guide, .service-at-glance, .review-methods, .scope-before-pay, .custom-project) { background: #b8d0b0; border-color: #819c78; }
  .public-site .service-at-glance { padding: 1.25rem; border: 1px solid #819c78; border-top: 3px solid var(--green); border-radius: .25rem; }
  .public-site :is(.sidebar .side-block, .ongoing-card, .guarantee-terms, .example-tile, .contact-letter, .before-after, .real-proof) { background: var(--surface-yellow); color: var(--ink); border-color: #a6a274; border-top-color: var(--green); }
  .public-site .sidebar .side-block + .side-block { background: #b8d0b0; border-color: #819c78; }
  .public-site :is(.inquiry-card, .service-group, .intake-output, .home-hero-proof) { background: var(--surface-yellow); color: var(--ink); border-color: #a6a274; border-top-color: var(--green); }
  .public-site .inquiry-side { background: var(--green); color: var(--surface-yellow); border-color: var(--green-dark); }
  .public-site .inquiry-side :is(p, li, .help-text) { color: #d1e6e6; }
  .public-site .inquiry-side a:not(.button) { color: var(--surface-yellow); }
  .public-site .inquiry-side .button.secondary { background: var(--surface-yellow); color: var(--green-dark); border-color: var(--surface-yellow); }
  .public-site .inquiry-side .button.secondary:hover { background: #f7d777; }
  .public-site .inquiry-side > h2:not(:first-child) { border-color: #7ea58c; }
  .public-site .inquiry-side :focus-visible { outline-color: var(--orange); }
  .public-site :is(.inquiry-card input:not([type=checkbox]), .inquiry-card textarea, .field input, .field select, .field textarea, .selectable-email) { background: #c5e1ed; color: var(--ink); border-color: #63877b; }
  .public-site .field :is(input, select, textarea)[aria-invalid=true] { border: 2px solid #983d19; box-shadow: 0 0 0 1px #983d19; }
  .public-site :is(input, textarea)::placeholder { color: #485c52; opacity: 1; }
  .public-site input[type=checkbox] { accent-color: var(--green); }
  .public-site :is(.tool-controls button, .demo-scenarios button, .plain-button) { background: var(--surface-yellow); color: var(--green-dark); border-color: var(--green); }
  .public-site :is(.quote-fields fieldset, .quantity-field) { background: var(--surface-yellow); border-color: #a6a274; }
  .public-site :is(.tool-output, .comparison-teaser, .handoff-proof) { background: var(--green); color: var(--surface-yellow); }
  .public-site :is(.tool-output, .comparison-teaser, .handoff-proof) :is(.fine, .export-help, .download-feedback, .result-total-note, .result-neutral, dt) { color: #d1e6e6; }
  .public-site .tool-output .kicker { color: #ffbd96; }
  .public-site .tool-output .button-dark-outline { color: var(--surface-yellow); border-color: var(--surface-yellow); }
  .public-site .tool-output .button-dark-outline:hover { background: var(--surface-yellow); color: var(--green-dark); }
  .public-site :is(.tool-output, .closing, .method-band, .comparison-teaser, .handoff-proof) :focus-visible { outline-color: var(--orange); }
  .public-site :is(.form-error, .inquiry-card .error) { background: #f5c985; color: #65240f; border-left-color: #983d19; }
  .public-site :is(.context-help, .context-help:not(.site-help), .task-guide .context-help, .contact-letter .context-help, .site-help) { background: var(--surface-yellow); color: var(--ink); border-color: #a6a274; }
  .public-site .site-help { padding-inline: 1.1rem; border: 1px solid #a6a274; border-bottom: 3px solid var(--green); }
  .public-site .site-help > summary { color: var(--green-dark); }
  .public-site :is(.real-case, .case-added) { background: var(--surface-yellow); }
  .public-site .real-case-columns section { background: var(--surface-blue); }
  .public-site .real-case-columns section + section { background: var(--surface-yellow); border-color: #90a994; }
  .public-site :is(.real-owner-question, .case-scope-note, .home-small-cleanup) { background: #f5c985; color: var(--ink); border-color: var(--orange-ink); }
  .public-site :is(.real-mini-change > div, .case-preview, .work-card > a:first-child, .work-card.sop-card > a:first-child, .proof-image, .home-document-preview) { background: var(--surface-blue); }
  .public-site .real-mini-change > div + div { background: var(--surface-yellow); }
  .public-site :is(.prose th, .task-guide, .tool-notice) { background: #b8d0b0; color: var(--ink); }
  .public-site :is(.prose td, .case-checks tbody tr, .real-reconciliation tbody tr) { background: var(--surface-yellow); }
  .public-site :is(.case-checks, .real-reconciliation) thead { background: var(--green); color: var(--surface-yellow); }
  .public-site .purchasing-report .metric { background: var(--surface-yellow); border-color: #a6a274; }
  .public-site .purchasing-report .report-scroll-hint { background: var(--surface-yellow); }
  .public-site .home-guides { background: var(--surface-blue); border-color: #789d90; }
  .public-site :is(.home-guides .kicker, .article-list .journal-item .kicker) { color: var(--green); }
  .public-site :is(.home-guides .journal-item, .article-list .journal-item):hover { background: #a9d0df; }
  .public-site :is(.home-guides, .article-list) :focus-visible { outline-color: #883e19; }
  .public-site .footer-brand .footer-wordmark { background: transparent; }
}

@media (max-width: 1100px) {
  .public-site .desktop-nav { display: none; }
  .public-site .mobile-menu { display: block; }
  .public-site .pro-pillar-grid { gap: 1rem; }
  .public-site .pro-pillar { padding: 1.25rem; }
  .public-site .catalog-pillar { grid-template-columns: minmax(10rem, .7fr) minmax(0, 2fr); gap: 2rem; }
}
@media (max-width: 900px) {
  .public-site .content-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .public-site .prose { max-width: none; }
  .public-site .sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  .public-site .sidebar .side-block { margin: 0; }
  .public-site .pro-hero-grid { gap: 2rem; }
  .public-site .pro-headline { font-size: clamp(2.35rem, 4.65vw, 3.1rem); }
  .public-site .pro-pillar-grid { grid-template-columns: minmax(0, 1fr); }
  .public-site .pro-pillar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 0 2rem; padding: 1.5rem; }
  .public-site .pro-pillar-number,
  .public-site .pro-pillar h3,
  .public-site .pro-pillar-intro { grid-column: 1; }
  .public-site .pro-deliverables { grid-column: 2; grid-row: 1 / span 3; margin: 0; }
  .public-site .pro-pillar-note { grid-column: 1; margin-top: .8rem; }
  .public-site .pro-pillar-cta { grid-column: 2; align-self: end; }
  .public-site .pro-evidence-grid { gap: 1rem; }
  .public-site .pro-evidence-card { padding: 1.25rem; }
  .public-site .pro-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 2rem; }
  .public-site .service-at-glance dl { gap: 1rem; }
  .public-site .catalog-pillar { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .public-site .catalog-pillar-heading { max-width: 43rem; }
  .public-site .catalog-pillar-heading h2 { margin-top: .4rem; }
  .public-site .footer-inner { grid-template-columns: 1.2fr 1fr 1fr; gap: 1.5rem; }
}
@media (max-width: 720px) {
  .public-site .pro-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .public-site .pro-headline { max-width: 20ch; font-size: clamp(2.25rem, 6vw, 3rem); }
  .public-site .pro-brief { padding: 1.25rem 1.5rem; }
  .public-site .pro-brief-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
  .public-site .pro-brief-list li { padding: 0; border: 0; }
  .public-site .pro-brief-note { margin-top: 1rem; }
  .public-site .pro-evidence-grid { grid-template-columns: minmax(0, 1fr); }
  .public-site .pro-evidence-card { padding: 1.5rem; }
  .public-site .pro-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .public-site .pro-contact-aside { border-left: 0; border-top: 1px solid #c5d2c5; padding: 1.5rem 0 0; }
  .public-site .inquiry-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .public-site .inquiry-side { padding: 1.5rem; }
  .public-site .service-at-glance dl { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .public-site .service-start { display: block; }
  .public-site .service-start > .button { margin-top: 1rem; }
  .public-site .article-list .journal-item { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
  .public-site .article-list .journal-item :is(.kicker, h2, p, .read-meta) { grid-column: 1; grid-row: auto; text-align: left; }
  .public-site .mobile-service-links .service-menu-groups { grid-template-columns: minmax(0, 1fr); }
  .public-site .mobile-service-links .service-menu-group { padding-top: .75rem; border-top: 1px solid var(--line); }
  .public-site .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .public-site .footer-inner > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .public-site .wrap { width: calc(100% - 2.5rem); }
  .public-site .header { flex-wrap: wrap; gap: .55rem .75rem; padding-block: .65rem; min-height: 0; }
  .public-site .brand { flex: 1 1 calc(100% - 5.5rem); }
  .public-site .brand-wordmark { width: 11.75rem; }
  .public-site .brand-identity small { font-size: .8125rem; }
  .public-site .header-client-login,
  .public-site .header-contact { flex: 1 1 40%; min-height: 44px; padding: .55rem .65rem; font-size: .9375rem; }
  .public-site .mobile-menu { margin-left: 0; }
  .public-site .mobile-panel { padding: 1rem 1.25rem; }
  .public-site .pro-hero { padding-block: 2.25rem; }
  .public-site .pro-headline { font-size: clamp(2rem, 8.4vw, 2.7rem); line-height: 1.13; }
  .public-site .pro-lead { font-size: 1.125rem; }
  .public-site .pro-actions { gap: .6rem 1rem; margin-top: 1.25rem; }
  .public-site .pro-brief { padding: 1.2rem; }
  .public-site .pro-brief-list { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .public-site .pro-brief-list li { padding: .8rem 0; border-top: 1px solid #c9d6c9; }
  .public-site .pro-brief-list li:first-child { padding-top: 0; border: 0; }
  .public-site .pro-section { padding-block: 2.5rem; }
  .public-site .pro-section-heading { margin-bottom: 1.5rem; }
  .public-site .pro-pillar { display: flex; padding: 1.25rem; }
  .public-site .pro-pillar h3 { font-size: 1.5rem; }
  .public-site .pro-deliverables { margin-top: 1rem; }
  .public-site .pro-pillar-note { margin-top: .65rem; }
  .public-site .pro-pillar-cta { align-self: flex-start; }
  .public-site .pro-more-examples ul { columns: 1; }
  .public-site .pro-process-grid { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
  .public-site .pro-update-note { padding: 1rem; }
  .public-site .page-intro { padding-block: 1.25rem 1.75rem; margin-bottom: 1.5rem; }
  .public-site .page-intro h1 { font-size: clamp(2rem, 8.2vw, 2.6rem); line-height: 1.17; }
  .public-site .page-intro > :is(.lead, .service-deck) { font-size: 1.125rem; }
  .public-site .sidebar { grid-template-columns: minmax(0, 1fr); }
  .public-site .offer-option { display: block; }
  .public-site .offer-option strong { font-size: 1.65rem; }
  .public-site .catalog-row { grid-template-columns: minmax(0, 1fr); gap: .6rem; padding-block: 1rem; }
  .public-site .catalog-price { text-align: left; }
  .public-site .catalog-price small { display: block; margin: .3rem 0 0; }
  .public-site .catalog-jump-links { gap: .5rem; }
  .public-site .catalog-jump-links a { width: 100%; }
  .public-site .catalog-bottom { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .public-site .inquiry-side { padding: 1.25rem; }
  .public-site .example-tile { padding: 1.25rem; }
  .public-site .real-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-site .footer-bottom { flex-direction: column; }
  .public-site .closing > .wrap { align-items: flex-start; gap: 1.5rem; flex-direction: column; }
}
@media (max-width: 360px) {
  .public-site .wrap { width: calc(100% - 2rem); }
  .public-site .brand-wordmark { width: 10.75rem; }
  .public-site .brand-identity small { font-size: .75rem; }
  .public-site .pro-actions { align-items: stretch; flex-direction: column; }
  .public-site .pro-actions .button { width: 100%; }
  .public-site .pro-actions .text-link { align-self: flex-start; }
  .public-site .footer-inner { grid-template-columns: minmax(0, 1fr); }
  .public-site .footer-inner > div:first-child { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .public-site-root { scroll-behavior: auto !important; }
  .public-site,
  .public-site *,
  .public-site *::before,
  .public-site *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  .public-site { --canvas: #fff; --paper: #fff; --wash: #fff; --white: #fff; --surface-blue: #fff; --surface-yellow: #fff; --ink: #000; --muted: #222; background: #fff; color: #000; }
  .public-site :is(.pro-hero, .pro-evidence, .pro-contact, .pro-brief, .pro-pillar, .pro-evidence-card, .inquiry-side) { background: #fff; color: #000; box-shadow: none; }
  .public-site :is(.pro-pillar, .pro-evidence-card, .catalog-row, .pro-process-grid li) { break-inside: avoid; }
}
