:root{--paper:#f8f9f8;--surface:#fff;--surface2:#eef3f6;--ink:#0e2742;--muted:#496078;--line:#d8e0e6;--gold:#c7a24b;--gold-ink:#826017;--gold-edge:#977532;--gold-fill:#f6efdf;--diagram-ink:#4a6983;--diagram-fill:#e8f0f5;--link:#315f7e;--button-ink:#102a42;color-scheme:light}
html[data-theme=dark]{--paper:#071a2c;--surface:#0a2239;--surface2:#0d2945;--ink:#f5f7fb;--muted:#b9c5d0;--line:#21425f;--gold:#c7a24b;--gold-ink:#d8b665;--gold-edge:#a88d51;--gold-fill:#243447;--diagram-ink:#7394ae;--diagram-fill:#12334e;--link:#b8d5ea;color-scheme:dark}
/* Script-free dark theme, 2026-09-12: public-theme.js used to stamp data-theme on <html>;
   under script-src 'none' the same tokens come straight from the media query. The attribute
   selector above is retained so an explicit choice would still take precedence. */
@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--paper:#071a2c;--surface:#0a2239;--surface2:#0d2945;--ink:#f5f7fb;--muted:#b9c5d0;--line:#21425f;--gold:#c7a24b;--gold-ink:#d8b665;--gold-edge:#a88d51;--gold-fill:#243447;--diagram-ink:#7394ae;--diagram-fill:#12334e;--link:#b8d5ea;color-scheme:dark}}

.cw-header,.cw-footer{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.5}.cw-header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.cw-header-inner,.cw-footer-inner{max-width:1180px;width:calc(100% - 56px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.cw-header-inner{min-height:80px}.cw-brand{display:inline-flex;align-items:center;gap:7px;font-size:24px;font-weight:850;letter-spacing:-1px;white-space:nowrap;text-decoration:none!important;color:var(--ink)!important;flex-shrink:0}.cw-wordmark-gold{color:var(--gold-ink)}.cw-mark{display:inline-block;width:29px;height:27px;}.cw-primary{display:flex;align-items:center;gap:20px;margin-left:auto;background:none;border:0;padding:0;font-size:13px}.cw-primary a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none;white-space:nowrap}.cw-primary a:hover,.cw-primary a[aria-current=page]{color:var(--gold-ink)}.cw-primary .cw-contact{background:var(--gold);color:var(--button-ink);font-weight:700;padding:10px 15px}.cw-controls{display:flex;align-items:center;gap:10px}.cw-menu{display:none;min-height:44px;padding:8px 10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.cw-header :focus-visible,.cw-footer :focus-visible{outline:3px solid var(--gold-ink);outline-offset:4px}.cw-footer{padding:36px 0;border-top:1px solid var(--line);display:block;max-width:none;width:auto;margin:0}.cw-footer-inner{align-items:start}.cw-footer p{font-size:12px;line-height:1.7;max-width:540px;color:var(--muted);margin:18px 0 0}.cw-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 24px;max-width:500px;padding:0;background:none;border:0}.cw-footer nav a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;color:var(--muted);letter-spacing:normal;text-decoration:none;margin:0;font-weight:400}.cw-footer nav a:hover{color:var(--gold-ink);text-decoration:underline}.cw-footer .consultant-footer-link{flex-basis:100%;justify-content:flex-end}.method-nav{background:var(--surface2);border-bottom:1px solid var(--line);font:13px Arial,Helvetica,sans-serif;color:var(--muted);padding:12px max(28px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:24px;flex-wrap:wrap}.method-nav>span{color:var(--gold-ink);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.method-nav a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;color:var(--muted)}.method-nav a[aria-current=page]{color:var(--ink);border-bottom:1px solid var(--gold-edge)}
@media(max-width:1160px){.cw-header-inner{gap:18px}.cw-primary{gap:13px}.cw-brand{font-size:22px}.cw-primary a{font-size:12px}}
@media(max-width:1050px){.cw-header-inner{min-height:72px}.cw-controls{margin-left:auto}.cw-menu{display:block}.cw-primary{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:18px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 25px #0002}.cw-primary.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}.cw-primary a{font-size:14px}.method-nav{gap:8px 24px}.method-nav>span{flex-basis:100%}}
@media(max-width:600px){.cw-header-inner,.cw-footer-inner{width:calc(100% - 28px);gap:12px}.cw-brand{font-size:20px}.cw-mark{width:24px;height:24px}.cw-controls{gap:8px}.cw-menu{font-size:12px}.cw-footer-inner{flex-direction:column;gap:24px}.cw-footer nav{justify-content:flex-start;gap:0 20px}.cw-footer .consultant-footer-link{justify-content:flex-start}.method-nav{padding:12px 14px;gap:4px 20px}}
@media(max-width:360px){.cw-brand{font-size:18px}.cw-mark{width:20px;height:22px}.cw-header-inner{gap:8px}.cw-controls{gap:6px}.cw-menu{padding:8px}}

/* Keep section targets clear of the persistent shared navigation. */
html{scroll-padding-top:96px}main [id]{scroll-margin-top:16px}
@media(max-width:1050px){html{scroll-padding-top:88px}}

/* Logo paints follow the adjacent wordmark in either appearance. */
.cw-brand{--mark-ring:var(--ink);--mark-gold:var(--gold-ink)}.cw-mark svg{display:block;width:100%;height:100%}

/* One type family and paired text/surface tokens across the public site. */
@font-face{font-family:Roobert;src:local("Roobert-Regular"),local("Roobert"),url(./fonts/Roobert-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Roobert;src:local("Roobert-SemiBold"),local("Roobert SemiBold"),url(./fonts/Roobert-SemiBold.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Roobert;src:local("Roobert-Bold"),local("Roobert Bold"),url(./fonts/Roobert-Bold.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--brand-font:"Roobert","Aptos","Segoe UI",Arial,sans-serif;--sans:var(--brand-font);--serif:var(--brand-font)}
body,button,input,select,textarea,.cw-header,.cw-footer,body h1,body h2,body h3,.workshop-promise strong,.quote{font-family:var(--brand-font)}
body h1,body h2,body h3{letter-spacing:-.035em}
body h1{font-weight:600}body h2,body h3{font-weight:600}
body{--sans:var(--brand-font);--serif:var(--brand-font)}
.compact-section{padding:64px max(var(--pad),calc((100vw - 1180px)/2))}
.compact-section>h2{max-width:940px}.compact-section>p{max-width:900px;color:var(--muted);font-size:17px;line-height:1.7}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0}
.summary-grid article{min-width:0;border-top:2px solid var(--gold-edge);padding-top:20px}
.summary-grid h3{font-size:22px;margin:0 0 12px;color:var(--ink)}.summary-grid p{font-size:16px;line-height:1.7;color:var(--muted)}
.summary-grid a,.summary-list a{color:var(--link);text-decoration:underline}
.summary-list{padding-left:24px;max-width:950px;color:var(--muted);font-size:17px;line-height:1.7}.summary-list li{padding:8px 0}.summary-list strong{color:var(--ink)}
.consumption-list{margin:32px 0}.consumption-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;border-top:1px solid var(--line);padding:24px 0}.consumption-list dt{font-size:20px;font-weight:600;color:var(--ink)}.consumption-list dd{margin:0;font-size:17px;line-height:1.7;color:var(--muted)}
@media(max-width:700px){.compact-section{padding:42px 20px}.summary-grid{grid-template-columns:minmax(0,1fr);gap:16px}.consumption-list>div{grid-template-columns:minmax(0,1fr);gap:8px}}

.cw-primary a{font-size:14px}.cw-footer nav a,.cw-footer p{font-size:14px}.cw-header-inner{gap:20px}.cw-primary{gap:15px}

.role-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin:28px 0;background:var(--surface)}
.role-table{width:100%;min-width:740px;border-collapse:collapse;text-align:left;font-size:16px;line-height:1.6;color:var(--ink)}
.role-table caption{text-align:left;padding:18px;background:var(--surface2);font-weight:600}
.role-table th,.role-table td{padding:18px;vertical-align:top;border-bottom:1px solid var(--line);color:var(--ink)}
.role-table thead th{background:var(--surface2)}.role-table tbody th{width:22%}.role-table td{width:39%;color:var(--muted)}
.role-table-wrap:focus-visible{outline:3px solid var(--gold-ink);outline-offset:4px}
.handoff-list{padding-left:24px;max-width:1000px}.handoff-list li{padding:12px 0 16px 12px;border-bottom:1px solid var(--line)}.handoff-list h3{font-size:22px;margin:0 0 10px}.handoff-list p{font-size:17px;line-height:1.7;color:var(--muted);margin:0}
.compact-section .reference-note{font-size:14px;line-height:1.65}.reference-note a{color:var(--link);text-decoration:underline}

.role-table thead th{font:600 14px/1.5 var(--brand-font);letter-spacing:0;text-transform:none}

/* Script-free shell, 2026-09-12. The destination Worker serves script-src 'none', so the menu is a
   checkbox with sibling selectors instead of a click handler. These rules mirror .cw-primary.is-open
   exactly — same display, same grid, same geometry — so the reviewed layout is unchanged. */
.cw-nav-toggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cw-menu{-webkit-user-select:none;user-select:none}
.cw-menu-close{display:none}
.cw-nav-toggle:checked~.cw-controls .cw-menu .cw-menu-open{display:none}
.cw-nav-toggle:checked~.cw-controls .cw-menu .cw-menu-close{display:inline}
.cw-nav-toggle:focus-visible~.cw-controls .cw-menu{outline:3px solid var(--gold-ink);outline-offset:2px}
@media(max-width:1050px){
  .cw-nav-toggle:checked~.cw-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}
}
