@font-face{font-family:"Roboto Condensed";src:url("../fonts/roboto-condensed-600-normal-v1.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Roboto Condensed";src:url("../fonts/roboto-condensed-700-normal-v1.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-400-normal-v1.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-400-italic-v1.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-600-normal-v1.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-700-normal-v1.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono-500-normal-v1.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{--bwb-graphite:#172027;--bwb-blue:#174A5C;--bwb-oxide:#B6462B;--bwb-signal:#F2C14E;--bwb-surface:#F7F4EC;--bwb-white:#FFFFFF;--bwb-rule:#c9c6bd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bwb-surface);color:var(--bwb-graphite);font-family:"Source Sans 3",Arial,sans-serif;font-size:18px;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif;font-weight:700}a{color:var(--bwb-blue)}img{height:auto;max-width:100%}.bwb-wrap{margin:auto;max-width:1180px;padding:0 24px}.bwb-wrap--narrow{max-width:820px}.bwb-skip{left:-9999px;position:absolute}.bwb-skip:focus{background:var(--bwb-signal);left:8px;padding:8px;top:8px;z-index:20}.bwb-header{background:var(--bwb-white);border-bottom:1px solid var(--bwb-graphite)}.bwb-header__row{align-items:center;display:grid;gap:22px;grid-template-columns:264px minmax(0,1fr);min-height:70px}.bwb-logo img{display:block}.bwb-logo__mark{display:none}.bwb-nav-panel{align-items:center;display:grid;gap:22px;grid-template-columns:minmax(240px,1fr) auto;min-width:0}.bwb-header-search,.bwb-hero-search div,.bwb-archive-search{display:flex}.bwb-header-search input,.bwb-hero-search input,.bwb-archive-search input{border:1px solid var(--bwb-graphite);font:inherit;min-width:0;padding:8px 12px;width:100%}button,.bwb-button{background:var(--bwb-blue);border:0;color:var(--bwb-white);cursor:pointer;display:inline-block;font:inherit;font-weight:700;padding:9px 16px;text-decoration:none}.bwb-nav__list{display:flex;gap:18px;list-style:none;margin:0;padding:0}.bwb-nav a{font-weight:700;text-decoration:none}.bwb-hero{border-bottom:1px solid var(--bwb-rule);padding:52px 0 42px}.bwb-hero h1{font-size:clamp(2.25rem,5vw,4rem);letter-spacing:-.035em;line-height:1.02;margin:.15em 0;max-width:950px}.bwb-hero>div>p{max-width:760px}.bwb-kicker,.bwb-card__meta{color:var(--bwb-oxide);font-family:"IBM Plex Mono",Consolas,monospace;font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.bwb-hero-search{max-width:700px}.bwb-hero-search label{display:block;font-weight:700;margin-bottom:6px}.bwb-workflow-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.bwb-workflow-index a{border:1px solid var(--bwb-blue);font-weight:600;padding:5px 12px;text-decoration:none}.bwb-section{padding:52px 0}.bwb-section--white{background:var(--bwb-white);border-bottom:1px solid var(--bwb-rule);border-top:1px solid var(--bwb-rule)}.bwb-section-head{align-items:baseline;display:flex;justify-content:space-between}.bwb-category-list{border-top:1px solid var(--bwb-graphite)}.bwb-category-list a{align-items:baseline;border-bottom:1px solid var(--bwb-rule);display:grid;gap:20px;grid-template-columns:180px 1fr;padding:14px 0;text-decoration:none}.bwb-card-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.bwb-card{border-top:4px solid var(--bwb-blue);background:var(--bwb-surface);padding:16px}.bwb-card img{aspect-ratio:16/10;object-fit:cover}.bwb-card h3{margin:.2em 0}.bwb-card h3 a{text-decoration:none}.bwb-gallery{background:var(--bwb-graphite);padding:28px 0}.bwb-gallery__grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.bwb-gallery figure{margin:0}.bwb-centered-cta{text-align:center;margin:28px}.bwb-prose h2{border-bottom:1px solid var(--bwb-rule);padding-bottom:6px}.bwb-attribution{border-left:5px solid var(--bwb-signal);margin:40px 0;padding:8px 20px}.bwb-profile{border-top:1px solid var(--bwb-rule);display:grid;gap:30px;grid-template-columns:1fr auto;padding:28px 0}.bwb-breadcrumbs{display:flex;font-size:.9rem;gap:8px;margin-bottom:25px}.bwb-footer{background:var(--bwb-blue);color:var(--bwb-white);padding:38px 0}.bwb-footer a{color:var(--bwb-white)}.bwb-footer ul{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0}.bwb-footer__brand{font-size:1.4rem;font-weight:700}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;width:1px}
.bwb-workbook-page h1{font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.025em;line-height:1.08;margin:.2em 0 .45em}.bwb-workbook-meta{align-items:center;color:#4d555a;display:flex;flex-wrap:wrap;font-size:.92rem;gap:6px 0;margin:-4px 0 20px}.bwb-workbook-meta span{align-items:center;display:inline-flex}.bwb-workbook-meta span+span::before{color:var(--bwb-rule);content:"•";margin:0 9px}.bwb-workbook-meta a{font-weight:600;text-underline-offset:2px}.bwb-workbook-content-section{margin:40px 0}.bwb-workbook-content-section>h2{margin-bottom:18px}.bwb-workbook-list,.bwb-generated-steps{padding-left:1.35em}.bwb-workbook-list li,.bwb-generated-steps li{margin:.65em 0}.bwb-workbook-list li>strong{display:block}.bwb-faq{border-bottom:1px solid var(--bwb-rule);padding:14px 0}.bwb-faq summary{color:var(--bwb-blue);cursor:pointer;font-weight:700}.bwb-faq summary+div{padding-top:8px}.bwb-attribution{display:grid;gap:24px}.bwb-attribution__person+.bwb-attribution__person{border-top:1px solid var(--bwb-rule);padding-top:20px}.bwb-attribution__person p{margin:.3em 0}.bwb-attribution__name{font-size:1.12rem;font-weight:700}.bwb-attribution__role{font-weight:700}.bwb-attribution__bio{max-width:68ch}
@media(max-width:900px){.bwb-header__row{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding-bottom:14px;padding-top:14px}.bwb-logo{grid-column:1;grid-row:1;justify-self:start}.bwb-logo__wordmark{display:none}.bwb-logo__mark{display:block}.bwb-nav-panel{gap:14px;grid-column:1/-1;grid-row:2;grid-template-columns:1fr;width:100%}.bwb-card-grid{grid-template-columns:1fr}.bwb-gallery__grid{grid-template-columns:1fr}.bwb-category-list a{grid-template-columns:1fr;gap:3px}.bwb-hero{padding:35px 0}.bwb-section{padding:36px 0}}
.bwb-institutional{overflow-wrap:anywhere}.bwb-institutional-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.bwb-button--secondary{background:transparent;border:2px solid var(--bwb-blue);color:var(--bwb-blue)}.bwb-institutional-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.bwb-institutional-card{background:var(--bwb-white);border-top:4px solid var(--bwb-blue);padding:22px}.bwb-institutional-card h2,.bwb-institutional-card h3{margin-top:0}.bwb-method-list{counter-reset:bwb-step;display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.bwb-method-list li{border-top:1px solid var(--bwb-rule);min-width:0;padding-top:16px}.bwb-method-list li::before{color:var(--bwb-oxide);content:counter(bwb-step,decimal-leading-zero);counter-increment:bwb-step;display:block;font-size:.82rem;font-weight:700;letter-spacing:.08em;margin-bottom:6px}.bwb-scope-grid{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.bwb-team-list{display:grid;gap:24px;margin-top:24px}.bwb-contact-layout{display:grid;gap:32px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.bwb-contact-layout>*{min-width:0}.bwb-contact-panel,.bwb-contact-aside{background:var(--bwb-white);border-top:4px solid var(--bwb-blue);padding:24px}.bwb-contact-form{display:grid;gap:18px}.bwb-form-field label{display:block;font-weight:700;margin-bottom:6px}.bwb-form-field input,.bwb-form-field select,.bwb-form-field textarea{background:var(--bwb-white);border:1px solid var(--bwb-graphite);border-radius:0;color:var(--bwb-graphite);font:inherit;max-width:100%;padding:10px 12px;width:100%}.bwb-form-field textarea{min-height:12rem;resize:vertical}.bwb-form-help{font-size:.9rem;margin:.35rem 0 0}.bwb-checkbox{align-items:start;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr)}.bwb-checkbox input{height:1.15rem;margin:.25rem 0 0;width:1.15rem}.bwb-contact-form__trap{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}.bwb-form-notice{background:var(--bwb-white);border-left:5px solid var(--bwb-blue);margin:0 0 24px;padding:14px 18px}.bwb-form-notice--error{border-left-color:var(--bwb-oxide)}.bwb-form-notice--limit{border-left-color:var(--bwb-signal)}.bwb-required{color:var(--bwb-oxide)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--bwb-graphite);outline-offset:3px;box-shadow:0 0 0 5px var(--bwb-signal)}.bwb-footer a:focus-visible,.bwb-gallery a:focus-visible{outline-color:var(--bwb-signal);box-shadow:0 0 0 5px var(--bwb-graphite)}
@media(max-width:900px){.bwb-institutional-grid,.bwb-method-list,.bwb-scope-grid,.bwb-contact-layout{grid-template-columns:1fr}.bwb-institutional-hero__actions{align-items:stretch;flex-direction:column}.bwb-institutional-hero__actions .bwb-button{text-align:center;width:100%}.bwb-contact-panel,.bwb-contact-aside{padding:18px}}
.bwb-nav-toggle{display:none}.bwb-archive-intro{max-width:70ch}.bwb-card-grid--archive{margin-top:28px}.bwb-empty-state{border-top:1px solid var(--bwb-rule);margin-top:28px;padding-top:24px}.bwb-card__image-link{display:block}.bwb-card--page{border-top-color:var(--bwb-oxide)}
@media(max-width:900px){.bwb-profile{grid-template-columns:1fr}.bwb-profile img{grid-row:1;max-width:180px}.bwb-js .bwb-nav-toggle{align-items:center;display:inline-flex;grid-column:2;grid-row:1;justify-content:center;justify-self:end;min-height:44px}.bwb-js .bwb-nav-panel{display:none}.bwb-js .bwb-nav-panel.is-open{display:grid}.bwb-nav__list{align-items:stretch;flex-direction:column;gap:0}.bwb-nav__list a{align-items:center;display:flex;min-height:44px;padding:8px 0}.bwb-nav{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
