.fw-site {
    --fw-ink: #272420;
    --fw-muted: #625b52;
    --fw-red: #b61925;
    --fw-red-dark: #94131c;
    --fw-cream: #f6f3ed;
    --fw-line: #ded7cd;
    --fw-white: #fff;
    --fw-radius: 18px;
    max-width: 1180px;
    margin: 0 auto 28px;
    color: var(--fw-ink);
    font: 400 16px/1.55 'Open Sans', system-ui, sans-serif;
}

.fw-site *, .fw-site *::before, .fw-site *::after { box-sizing: border-box; }
.fw-site [hidden] { display: none !important; }
.fw-site :where(h1,h2,h3,h4,h5,p,figure) { margin: 0; }
.fw-site :where(h1,h2,h3,h4,h5) { color: var(--fw-ink); overflow-wrap: anywhere; }
.fw-site h1, .fw-site h2 { font-family: 'Bebas Neue', 'Arial Narrow', 'Open Sans', sans-serif; font-weight: 500; }
.fw-site h1 { font-size: clamp(36px, 5vw, 68px); line-height: 1.03; letter-spacing: .012em; }
.fw-site h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.12; }
.fw-site h3 { font-size: 21px; line-height: 1.25; font-weight: 700; }
.fw-site h4 { font-size: 17px; line-height: 1.3; font-weight: 700; }
.fw-site h5 { font-size: 16px; line-height: 1.3; font-weight: 700; }
.fw-site p { margin-top: .55em; }
.fw-site img { display: block; max-width: 100%; }
.fw-site :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #005d7a; outline-offset: 3px; }
.fw-site :where([id]) { scroll-margin-top: 120px; }
.fw-site .fw-kicker { color: var(--fw-red-dark); font-size: 12px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.fw-site .fw-link { display: inline-block; color: var(--fw-red-dark); text-decoration: underline; text-underline-offset: .18em; font-weight: 700; }
.fw-site .fw-link:hover { color: var(--fw-ink); }
.fw-site .fw-btn {
    display: inline-flex; justify-content: center; align-items: center;
    min-height: 44px; max-width: 100%; padding: 9px 16px;
    border: 1px solid var(--fw-red); border-radius: 8px;
    background: var(--fw-red); color: #fff; font: inherit; font-weight: 700;
    line-height: 1.25; text-align: center; text-decoration: none; cursor: pointer;
}
.fw-site .fw-btn:hover { background: var(--fw-red-dark); color: #fff; }
.fw-site .fw-btn-light { background: #fff; border-color: var(--fw-line); color: var(--fw-ink); }
.fw-site .fw-btn-light:hover { background: var(--fw-cream); border-color: #a69683; color: var(--fw-ink); }
.fw-site :is(.fw-actions,.fw-inline-links) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 18px; }

.fw-site .fw-nav {
    grid-area: 1 / 1; align-self: start; z-index: 2; display: flex;
    flex-wrap: wrap; gap: 1px 8px; width: min(calc(100% - 28px),1110px);
    margin: clamp(11px,2vw,22px) auto 0; padding: 3px 9px;
    border: 1px solid #fff; border-radius: 10px; background: #fcfaf7f7;
    box-shadow: 0 3px 14px #25221d26;
}
.fw-site .fw-nav-link { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 9px 5px; border-bottom: 3px solid transparent; color: var(--fw-ink); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.fw-site .fw-nav-link:hover, .fw-site .fw-nav-link[aria-current=page] { color: var(--fw-red-dark); border-bottom-color: var(--fw-red); }
.fw-site .fw-mood-hero { display: grid; grid-template-rows: auto minmax(0,1fr); grid-template-columns: minmax(0,1fr); position: relative; isolation: isolate; overflow: hidden; margin-top: 8px; min-height: clamp(380px,49svh,555px); border-radius: var(--fw-radius); background: #dfd4c5; }
.fw-site .fw-mood-hero-hub { min-height: clamp(460px,62svh,680px); }
.fw-site .fw-mood-media { grid-area: 1 / 1 / 3 / 2; position: relative; min-width: 0; }
.fw-site .fw-mood-media picture { position: absolute; inset: 0; display: block; overflow: hidden; }
.fw-site .fw-mood-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fw-site .fw-mood-inner { grid-area: 2 / 1; position: relative; display: flex; align-items: end; min-width: 0; width: min(100%,1180px); margin: auto auto 0; padding: clamp(14px,3.2vw,40px); pointer-events: none; }
.fw-site .fw-hero-content { width: min(100%,515px); padding: clamp(20px,3.1vw,37px); border-radius: 14px; background: #fcfaf5; box-shadow: 0 14px 38px #27242026; pointer-events: auto; }
.fw-site .fw-mood-hero-hub .fw-hero-content { width: min(100%,530px); }
.fw-site .fw-mood-hero h1 { margin: 0; }
.fw-site .fw-deck { color: var(--fw-ink); font-weight: 700; font-size: clamp(17px,1.6vw,21px); line-height: 1.35; }
.fw-site .fw-intro { max-width: 50ch; color: var(--fw-muted); }
.fw-site .fw-mood-credit { position: absolute; z-index: 1; top: 8px; right: 8px; max-width: calc(100% - 16px); padding: 3px 7px; border-radius: 4px; color: #fff; background: #272420ed; font-size: 11px; line-height: 1.4; }
.fw-site .fw-mood-credit a { color: inherit; }
.fw-site .fw-mood-hero > .fw-mood-credit { top: auto; bottom: 9px; }
@media (min-width: 1000px) {
    .fw-site .fw-mood-hero-product .fw-mood-media picture { left: 43%; }
}
@media (min-width: 1250px) {
    .fw-site .fw-mood-hero {
        margin-top: 0;
        margin-inline: calc((100% - var(--fw-page-width, calc(100vw - 24px))) / 2);
        border-radius: 0;
    }
}
@media (prefers-reduced-motion: no-preference) {
    .fw-site .fw-mood-media img { animation: fw-mood-settle 850ms cubic-bezier(.24,.65,.29,1) both; }
    @keyframes fw-mood-settle { from { transform: scale(1.034); } to { transform: scale(1); } }
}

.fw-site .fw-section { margin-top: clamp(25px,4vw,44px); }
.fw-site .fw-section > h2 { margin-bottom: 14px; }
.fw-site .fw-grid { display: grid; gap: 14px; }
.fw-site .fw-project-grid,.fw-site .fw-shortcuts { grid-template-columns: repeat(4,minmax(0,1fr)); }
.fw-site .fw-card { min-width: 0; padding: 18px; border-radius: 12px; border: 1px solid var(--fw-line); background: #fff; }
.fw-site .fw-project { min-width: 0; overflow: hidden; border: 1px solid var(--fw-line); border-radius: 12px; background: #fff; }
.fw-site .fw-project-media { position: relative; overflow: hidden; background: var(--fw-cream); }
.fw-site .fw-project-image { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.fw-site .fw-project-content { padding: 13px 15px 16px; }
.fw-site .fw-project-content h3 { font-size: 18px; }
.fw-site .fw-project-content p { color: var(--fw-muted); font-size: 15px; }
.fw-site .fw-project-content .fw-link { text-decoration: none; }
.fw-site .fw-project-content .fw-link:hover { text-decoration: underline; }
.fw-site .fw-shortcut { display: flex; align-items: center; justify-content: space-between; min-height: 49px; padding: 10px 12px; background: var(--fw-cream); color: var(--fw-ink); border-radius: 8px; border: 1px solid var(--fw-line); font-weight: 700; text-decoration: none; }
.fw-site .fw-shortcut::after { content: '›'; margin-left: 6px; color: var(--fw-red-dark); font-size: 20px; }
.fw-site .fw-shortcut:hover { text-decoration: underline; }
.fw-site .fw-feature { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: stretch; overflow: hidden; border: 1px solid #dfcec0; background: #f1e8dc; border-radius: var(--fw-radius); }
.fw-site .fw-feature .fw-project-image { width: 100%; height: 100%; aspect-ratio: 16/8; }
.fw-site .fw-feature-content { align-self: center; padding: clamp(18px,3.6vw,33px); }
.fw-site .fw-feature-content .fw-btn { margin-top: 15px; }

.fw-site .fw-showcase-grid { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 15px; }
.fw-site .fw-showcase-card { display: grid; grid-template-rows: auto 1fr; gap: 11px; overflow: hidden; min-width: 0; border: 1px solid var(--fw-line); border-radius: 10px; background: #fff; }
.fw-site .fw-showcase-card > div { display: flex; flex-direction: column; align-items: start; padding: 0 14px 15px; }
.fw-site .fw-showcase-card img { width: 100%; height: auto; padding: 8px; aspect-ratio: 4/2.7; border-bottom: 1px solid var(--fw-line); }
.fw-site .fw-showcase-card h3 { font-size: 18px; }
.fw-site .fw-showcase-card p { color: var(--fw-muted); font-size: 15px; }
.fw-site .fw-showcase-card small { margin: 5px 0 10px; color: var(--fw-muted); }
.fw-site .fw-showcase-card .fw-link { margin-top: auto; }

.fw-site .fw-editorial { padding-top: clamp(17px,3vw,30px); border-top: 1px solid var(--fw-line); }
.fw-site .fw-editorial :is(p,ul,ol) { max-width: 74ch; }
.fw-site .fw-editorial-intro { color: var(--fw-muted); font-size: clamp(17px,1.65vw,20px); }
.fw-site .fw-editorial-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.fw-site .fw-editorial-card { min-width: 0; padding: clamp(13px,2.3vw,20px); border: 1px solid var(--fw-line); border-radius: 10px; background: #fff; }
.fw-site .fw-editorial > :is(h3,h4) { margin-top: 19px; }
.fw-site .fw-editorial-figure { margin: 16px 0; padding: clamp(8px,2vw,16px); border-radius: 10px; background: var(--fw-cream); }
.fw-site .fw-editorial-figure svg { display: block; width: min(100%,740px); height: auto; margin-inline: auto; }
.fw-site .fw-editorial-figure figcaption { max-width: 72ch; margin: 6px auto 0; color: var(--fw-muted); font-size: 14px; }
.fw-site .fw-editorial-table { width: 100%; margin: 15px 0; border-collapse: collapse; overflow-wrap: anywhere; }
.fw-site .fw-editorial-table :is(th,td) { padding: 7px clamp(5px,1vw,12px); vertical-align: top; text-align: left; border-bottom: 1px solid var(--fw-line); }
.fw-site .fw-editorial-table th { background: var(--fw-cream); }
.fw-site .fw-editorial-table caption { text-align: left; color: var(--fw-muted); }
.fw-site .fw-editorial-note { margin: 12px 0; padding: 11px 14px; border-left: 3px solid #996e49; background: var(--fw-cream); }
.fw-site .fw-editorial-sources { margin-top: 16px; font-size: 14px; }
.fw-site .fw-advisor-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 19px; margin-bottom: 10px; }
.fw-site .fw-screening form { margin-top: 14px; padding: clamp(14px,2.8vw,24px); border: 1px solid var(--fw-line); border-radius: 10px; background: var(--fw-cream); }
.fw-site .fw-screening-inputs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px 13px; margin-bottom: 15px; }
.fw-site .fw-screening-inputs label { display: grid; align-content: end; min-width: 0; gap: 5px; }
.fw-site .fw-screening-result { margin-top: 13px; padding: 15px; border-left: 4px solid var(--fw-red); background: #f3eee6; }
.fw-site .fw-screening-result li + li { margin-top: .4em; }
.fw-site .fw-feature .fw-btn { margin-top: 14px; }
.fw-site .fw-feature > div { display: flow-root; }
.fw-site .fw-contact { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; margin-top: 46px; padding: clamp(19px,4vw,32px); background: #2f2924; color: #fff; border-radius: var(--fw-radius); }
.fw-site .fw-contact h2,.fw-site .fw-contact .fw-kicker,.fw-site .fw-contact .fw-link { color: #fff; }
.fw-site .fw-contact .fw-actions { margin: 0; }
.fw-site .fw-checklist { padding: clamp(19px,4vw,29px); background: var(--fw-cream); border: 1px solid var(--fw-line); border-radius: var(--fw-radius); }
.fw-site .fw-checklist ul,.fw-site .fw-requirements { padding-left: 1.3em; margin: 12px 0 15px; }
.fw-site .fw-checklist li,.fw-site .fw-requirements li { padding: 3px 0; }

.fw-site .fw-advisor { padding: clamp(18px,3vw,30px); border: 1px solid var(--fw-line); border-radius: var(--fw-radius); background: var(--fw-cream); }
.fw-site .fw-advisor .fw-kicker { margin-top: 0; }
.fw-site .fw-advisor fieldset { min-width: 0; margin: 9px 0 0; padding: 0; border: 0; }
.fw-site .fw-advisor legend { width: auto; margin: 0 0 10px; padding: 0; color: var(--fw-ink); border: 0; font: 700 clamp(20px,2.1vw,26px)/1.25 'Open Sans',system-ui,sans-serif; }
.fw-site .fw-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.fw-site .fw-option { display: flex; gap: 10px; align-items: flex-start; min-height: 65px; margin: 0; padding: 11px; color: var(--fw-ink); background: #fff; border: 1px solid var(--fw-line); border-radius: 8px; cursor: pointer; }
.fw-site .fw-option:has(input:checked) { border-color: var(--fw-red); box-shadow: inset 0 0 0 1px var(--fw-red); }
.fw-site .fw-option strong,.fw-site .fw-option small { display: block; }
.fw-site .fw-option small { font-size: 14px; color: var(--fw-muted); }
.fw-site input[type=radio],.fw-site input[type=checkbox] { accent-color: var(--fw-red); width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; }
.fw-site .fw-edit { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; justify-content: space-between; padding: 10px 14px; background: var(--fw-cream); border-radius: 8px; }
.fw-site .fw-edit p { margin-top: 0; }
.fw-site .fw-case { margin-top: 24px; }
.fw-site .fw-case-header { padding: clamp(18px,3vw,28px); border-radius: 12px; border-left: 4px solid var(--fw-red); background: var(--fw-cream); }
.fw-site .fw-case-header p { max-width: 70ch; }
.fw-site .fw-case-header .fw-kicker { margin-top: 0; }
.fw-site .fw-case-header ul { margin-bottom: 0; }
.fw-site .fw-case + .fw-case { margin-top: 38px; padding-top: 25px; border-top: 1px solid var(--fw-line); }

.fw-site .fw-process { margin-top: 22px; padding: clamp(14px,3vw,22px); border: 1px solid var(--fw-line); border-radius: 12px; }
.fw-site .fw-process-title p { margin-top: 3px; color: var(--fw-muted); }
.fw-site .fw-process-steps { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.fw-site .fw-process-steps button { min-height: 44px; padding: 8px 11px; border: 1px solid var(--fw-line); border-radius: 7px; color: var(--fw-ink); background: #fff; font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.fw-site .fw-process-steps button span { margin-right: 7px; color: var(--fw-red-dark); font-weight: 700; }
.fw-site .fw-process-steps button[aria-pressed=true] { border-color: var(--fw-red); color: #fff; background: var(--fw-red); }
.fw-site .fw-process-steps button[aria-pressed=true] span { color: #fff; }
.fw-site .fw-process-layout { display: grid; grid-template-columns: minmax(0,1.38fr) minmax(0,1fr); gap: 18px; margin-top: 10px; align-items: start; }
.fw-site .fw-scene { display: block; width: 100%; height: auto; }
.fw-site .fw-scene .fw-svg-fill,.fw-site .fw-scene .fw-svg-face { stroke: #887a6a; stroke-width: 1.35; stroke-linejoin: round; }
.fw-site .fw-scene .fw-svg-face { filter: brightness(.96); }
.fw-site .fw-scene .fw-svg-label path,.fw-site .fw-scene .fw-svg-label circle { stroke: #796b5d; stroke-width: 1.35; fill: none; }
.fw-site .fw-scene .fw-svg-label text { fill: #372c24; font: 600 15px 'Open Sans',sans-serif; }
.fw-site .fw-scene g.is-active .fw-svg-fill,.fw-site .fw-scene g.is-active .fw-svg-face,.fw-site .fw-scene g.fw-active .fw-svg-fill,.fw-site .fw-scene g.fw-active .fw-svg-face { stroke: var(--fw-red); stroke-width: 3; }
.fw-site .fw-scene g.is-active :is(text,path),.fw-site .fw-scene g.fw-active :is(text,path) { paint-order: stroke; }
.fw-site .fw-scene g.fw-svg-label:is(.is-active,.fw-active) text { fill: var(--fw-red-dark); font-weight: 700; }
.fw-site .fw-process figcaption,.fw-site .fw-level-diagram figcaption { margin: 6px 0 0; color: var(--fw-muted); font-size: 13px; }
.fw-site .fw-process-detail { padding: 14px; border-radius: 8px; background: var(--fw-cream); }
.fw-site .fw-step-product { display: flex; gap: 10px; align-items: center; padding-top: 12px; }
.fw-site .fw-step-product .fw-product-photo { width: 64px; }
.fw-site .fw-step-product p { font-size: 14px; }
.fw-site :is(.fw-step-fallback,.fw-amount,.fw-list) { margin-top: 15px; padding: 12px 14px; background: var(--fw-cream); border-radius: 8px; }
.fw-site summary { cursor: pointer; font-weight: 700; min-height: 24px; }
.fw-site .fw-step-fallback li { margin-top: 10px; }

.fw-site .fw-materials { margin-top: 23px; }
.fw-site .fw-materials h4 { margin: 17px 0 7px; }
.fw-site .fw-item { display: grid; grid-template-columns: clamp(94px,10vw,132px) minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 11px 0; border-bottom: 1px solid var(--fw-line); }
.fw-site .fw-item p { margin-top: 4px; font-size: 14px; }
.fw-site .fw-item small { color: var(--fw-muted); font-size: 13px; }
.fw-site .fw-product-photo { aspect-ratio: 300/230; object-fit: contain; border-radius: 6px; background: #fff; }
.fw-site .fw-item-actions { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; justify-content: flex-end; }
.fw-site :is(.fw-item-choice,.fw-item-quantity) { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 13px; color: var(--fw-ink); }
.fw-site :is(input[type=number],select,textarea) { min-height: 44px; max-width: 100%; padding: 7px; border: 1px solid #a49b8f; border-radius: 6px; color: var(--fw-ink); background: #fff; font: inherit; }
.fw-site .fw-item-quantity input { width: 65px; }
.fw-site .fw-list label,.fw-site .fw-list textarea { display: block; width: 100%; margin-top: 7px; }
.fw-site .fw-list button { margin-top: 8px; }
.fw-site .fw-list p:empty,.fw-site .fw-amount-output:empty { display: none; }
.fw-site .fw-input-row,.fw-site .fw-level-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-top: 12px; }
.fw-site .fw-input-row label,.fw-site .fw-level-controls label { display: grid; gap: 3px; max-width: 100%; color: var(--fw-ink); }
.fw-site .fw-amount-output { display: block; margin-top: 9px; font-weight: 700; }
.fw-site .fw-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 13px; padding-top: 11px; font-size: 14px; }
.fw-site .fw-sources > span { font-weight: 700; }

.fw-site .fw-level-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 13px; }
.fw-site .fw-level-controls { padding: 12px; border: 1px solid var(--fw-line); border-radius: 9px; background: var(--fw-cream); }
.fw-site .fw-level-controls [role=status] { flex: 1 0 100%; margin: 0; }
.fw-site .fw-level-diagram { margin-top: 13px; }
.fw-site .fw-level-diagram svg { display: block; width: 100%; height: auto; }
.fw-site .fw-level-product { display: grid; grid-template-columns: clamp(92px,9vw,116px) minmax(0,1fr); align-items: center; gap: 11px; padding: 10px 0; border-bottom: 1px solid var(--fw-line); }
.fw-site .fw-level-product img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; }
.fw-site .fw-level-product p { font-size: 14px; margin: 3px 0 0; }
.fw-site .fw-level-product a + a { margin-left: 8px; }
.fw-site .fw-level-product:is(.is-out-of-range,.is-outside,.fw-outside) { border-left: 3px solid #ac731d; padding-left: 7px; }
.fw-site .fw-note { margin-top: 11px; padding: 9px 11px; background: var(--fw-cream); border-left: 3px solid #a06f3e; }

@media (max-width: 950px) {
    .fw-site .fw-project-grid,.fw-site .fw-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .fw-site .fw-item-actions { justify-content: flex-start; }
    .fw-site .fw-contact { grid-template-columns: minmax(0,1fr); }
    .fw-site .fw-screening-inputs { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 640px) {
    .fw-site :is(.fw-process-layout,.fw-level-grid,.fw-feature,.fw-editorial-grid) { grid-template-columns: minmax(0,1fr); }
    .fw-site .fw-mood-hero { min-height: 0; grid-template-rows: auto minmax(92px,1fr) auto; }
    .fw-site .fw-mood-media { min-height: clamp(170px,48vw,220px); }
    .fw-site .fw-mood-inner { grid-area: 3 / 1; display: block; width: 100%; padding: 0; }
    .fw-site .fw-mood-inner .fw-hero-content { width: 100%; border-radius: 0; box-shadow: none; }
    .fw-site .fw-mood-hero > .fw-mood-credit { grid-area: 2 / 1; align-self: end; justify-self: end; position: relative; margin: 0 8px 7px; right: auto; bottom: auto; }
    .fw-site .fw-showcase-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    .fw-site .fw-showcase-card > div { padding-inline: 9px; }
    .fw-site .fw-nav { gap: 0 3px; width: calc(100% - 14px); margin-top: 7px; padding: 1px 4px; }
    .fw-site .fw-nav-link { padding: 4px 6px 2px; font-size: 13px; }
    .fw-site .fw-options { grid-template-columns: minmax(0,1fr); }
    .fw-site .fw-item { grid-template-columns: 88px minmax(0,1fr); }
    .fw-site .fw-item-actions { grid-column: 1/-1; }
    .fw-site .fw-scene .fw-svg-label text { font-size: 20px; }
}
@media (max-width: 370px) {
    .fw-site .fw-project-grid,.fw-site .fw-shortcuts { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .fw-site *, .fw-site *::before, .fw-site *::after { animation-duration: 0s !important; transition-duration: 0s !important; }
}

.fw-site .fw-checklist-project {
    padding: clamp(15px, 3vw, 29px);
    border: 1px solid var(--fw-line);
    border-radius: 13px;
    background: var(--fw-cream);
}
.fw-site .fw-checklist-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px 25px; }
.fw-site .fw-checklist-logo { width: min(165px, 29%); height: auto; flex: none; }
.fw-site .fw-checklist-count { margin-top: 14px; color: var(--fw-muted); font-weight: 700; }
.fw-site .fw-checklist-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 17px; margin-top: 12px; }
.fw-site .fw-checklist-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.fw-site .fw-checklist-group legend { margin-bottom: 5px; font-size: 1rem; font-weight: 700; }
.fw-site .fw-checklist-item { display: flex; align-items: flex-start; gap: 9px; min-height: 44px; padding: 7px 0; margin: 0; cursor: pointer; font-weight: 400; }
.fw-site .fw-checklist-notes { margin-top: 14px; }
.fw-site .fw-checklist-notes label, .fw-site .fw-checklist-notes textarea { display: block; width: 100%; }
.fw-site .fw-checklist-notes textarea { margin-top: 5px; resize: vertical; }
.fw-site .fw-checklist-summary { margin-top: 15px; padding: 12px 14px; border-left: 3px solid var(--fw-red); background: #fff; }
.fw-site .fw-checklist-summary h4 { margin-top: 8px; }
.fw-site .fw-checklist-summary ul { margin-bottom: 0; }
.fw-site .fw-checklist-error { color: var(--fw-red-dark); }
.fw-checklist-print-contact, .fw-print-sheet { display: none; }

@media (max-width: 640px) {
    .fw-site .fw-checklist-header { flex-wrap: wrap; }
    .fw-site .fw-checklist-logo { width: 126px; }
    .fw-site .fw-checklist-groups { grid-template-columns: minmax(0, 1fr); }
}

@media print {
    @page fw-projektcheckliste { size: A4; margin: 15mm; }

    body.fw-checklist-print > :not(.fw-print-sheet) { display: none !important; }
    body.fw-checklist-print {
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        overflow: visible !important;
        background: #fff !important;
    }
    body.fw-checklist-print > .fw-print-sheet {
        display: block !important;
        position: static !important;
        page: fw-projektcheckliste;
        color: #202020;
        font: 10pt/1.4 Arial, sans-serif;
    }
    .fw-print-sheet .fw-checklist-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 6mm; margin-bottom: 5mm; break-inside: avoid; }
    .fw-print-sheet .fw-checklist-header h2 { margin: 0 0 2mm; font: 700 16pt/1.2 Arial, sans-serif; }
    .fw-print-sheet .fw-checklist-header p { margin: 0; }
    .fw-print-sheet .fw-checklist-logo { width: 42mm; height: auto; flex: none; }
    .fw-print-sheet .fw-checklist-count { margin: 0 0 4mm; font-weight: 700; }
    .fw-print-sheet .fw-checklist-group { min-width: 0; margin: 0 0 4mm; padding: 0; border: 0; break-inside: avoid; }
    .fw-print-sheet .fw-checklist-group legend { padding: 0; margin: 0 0 1mm; font-weight: 700; }
    .fw-print-sheet .fw-checklist-item { display: flex; align-items: flex-start; gap: 2.2mm; margin: 0; padding: 0.9mm 0; font-weight: 400; }
    .fw-print-sheet .fw-print-box {
        display: inline-block;
        width: 3.8mm;
        height: 3.8mm;
        flex: 0 0 3.8mm;
        border: 0.3mm solid currentColor;
        box-sizing: border-box;
        font: 700 9pt/3.1mm "DejaVu Sans", Arial, sans-serif;
        text-align: center;
    }
    .fw-print-sheet .fw-checklist-notes { margin: 3mm 0; padding-top: 3mm; border-top: 0.3mm solid #aaa; }
    .fw-print-sheet .fw-checklist-notes p { margin: 1mm 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
    .fw-print-sheet .fw-checklist-summary { margin: 4mm 0 2mm; padding-top: 3mm; border-top: 0.3mm solid #aaa; }
    .fw-print-sheet .fw-checklist-summary h3 { margin: 0 0 2mm; font: 700 12pt/1.25 Arial, sans-serif; break-after: avoid; }
    .fw-print-sheet .fw-checklist-summary h4 { margin: 2mm 0 1mm; font: 700 10pt/1.3 Arial, sans-serif; break-after: avoid; }
    .fw-print-sheet .fw-checklist-summary ul { margin: 0 0 2mm; padding-left: 4mm; }
    .fw-print-sheet .fw-checklist-summary li { break-inside: avoid; overflow-wrap: anywhere; }
    .fw-print-sheet .fw-checklist-print-contact { display: block; padding-top: 3mm; border-top: 0.3mm solid #aaa; font-size: 8.5pt; overflow-wrap: anywhere; }
}
