.wave-workspace{padding:118px 5vw 72px;max-width:1380px;margin:auto}
.wave-workspace-intro{max-width:840px;margin-bottom:32px}
.wave-workspace-intro h1{font-size:clamp(34px,4.5vw,64px);line-height:1.06}
.wave-workspace-intro p:not(.eyebrow){font-size:18px;line-height:1.6;max-width:700px;margin:20px 0 0}
.wave-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0 0 36px}
.wave-progress li{border-top:2px solid var(--line);padding-top:12px;font-size:14px;line-height:1.5;color:var(--muted)}
.wave-progress li[aria-current=step]{border-color:var(--green);color:var(--green);font-weight:600}
.wave-progress strong{display:block;font-size:20px;font-weight:450;margin-bottom:4px}
.wave-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:6vw;align-items:start}
.wave-form{min-width:0}
.wave-step{border:0;padding:0;margin:0;min-width:0}
.wave-step legend{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin-bottom:16px;padding:0}
.wave-step>p{font-size:16px;line-height:1.6;color:var(--muted);max-width:720px;margin:0 0 24px}
.wave-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.wave-fields label{display:flex;flex-direction:column;gap:9px;font-size:16px;line-height:1.45;min-width:0}
.wave-fields .full{grid-column:1/-1}
.wave-form input:not([type=radio]):not([type=checkbox]),.wave-form textarea,.wave-form select{display:block;width:100%;border:1px solid #9ba99e;border-radius:6px;background:#fffef9;color:var(--ink);padding:13px 14px;font:inherit;font-size:16px;line-height:1.5;min-height:48px}
.wave-form textarea{resize:vertical;min-height:102px}
.wave-form input[type=file]{font-size:14px!important;padding:10px!important}
.wave-form input::file-selector-button{border:0;border-radius:4px;background:var(--green);color:var(--white);padding:10px 12px;margin-right:10px;font:inherit;cursor:pointer}
.wave-fields small,.wave-helper{font-size:14px;line-height:1.6;color:var(--muted);font-weight:400}
.wave-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.wave-direction{display:block;position:relative;border:1px solid var(--line);padding:22px 16px;border-radius:6px;cursor:pointer;background:#f9f8f3}
.wave-direction:has(input:checked){border-color:var(--green);outline:1px solid var(--green);background:#eef2e8}
.wave-direction input{width:18px;height:18px;accent-color:var(--green);margin:0 0 18px}
.wave-direction strong{display:block;font-size:18px;line-height:1.3;font-weight:500;margin-bottom:10px}
.wave-direction span{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
.wave-swatches{display:flex!important;gap:7px;margin:20px 0 0}
.wave-swatches i{width:26px;height:26px;border-radius:50%;border:1px solid #0002;background:var(--swatch)}
.wave-sidebar{border-top:1px solid var(--line);padding-top:22px}
.wave-sidebar h2{font-size:25px;line-height:1.2;margin-bottom:18px}
.wave-sidebar ol{padding-left:20px;font-size:16px;line-height:1.7;margin:0 0 24px}
.wave-sidebar p,.wave-sidebar a{font-size:14px;line-height:1.6}
.wave-sidebar a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.wave-reference{margin:0 0 20px}
.wave-reference img{max-height:280px;width:auto;max-width:100%;border-radius:5px;object-fit:contain}
.wave-reference figcaption{font-size:14px;color:var(--muted);line-height:1.5;margin-top:10px;overflow-wrap:anywhere}
.wave-reference button{background:transparent;border:0;padding:10px 0;min-height:44px;text-decoration:underline;color:var(--green);font:inherit;font-size:14px}
.wave-control-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 16px}
.wave-control-row button{min-height:48px}
.wave-button-secondary{border:1px solid var(--line);background:transparent;color:var(--green);border-radius:99px;padding:12px 22px;font:inherit;font-size:16px}
.wave-status{font-size:14px;line-height:1.6;min-height:24px;margin:12px 0;color:var(--green)}
.wave-status[role=alert]{color:#9a2c21}
.wave-local-actions{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:24px}
.wave-local-actions button{background:transparent;border:0;padding:12px 0;color:var(--green);font:inherit;font-size:14px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.wave-scenes{display:grid;gap:20px}
.wave-scene{padding-top:18px;border-top:1px solid var(--line)}
.wave-scene h3{font-size:20px;font-weight:500;margin:0 0 10px;line-height:1.4}
.wave-scene p{font-size:14px;line-height:1.6;margin:0 0 14px;color:var(--muted)}
.wave-check{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.5;margin:14px 0}
.wave-check input{width:20px;height:20px;flex-shrink:0;margin:2px 0;accent-color:var(--green)}
.wave-output{border-top:1px solid var(--line);padding-top:36px;margin-top:48px}
.wave-output:focus{outline:0}
.wave-output-heading{display:flex;gap:24px;justify-content:space-between;align-items:end;flex-wrap:wrap;margin-bottom:26px}
.wave-output h2{font-size:clamp(30px,4vw,52px);overflow-wrap:anywhere}
.wave-report-section{padding:24px 0;border-top:1px solid var(--line);break-inside:avoid}
.wave-report-section h3{font-size:23px;font-weight:500;letter-spacing:-.02em;margin:0 0 18px}
.wave-report-section p,.wave-report-section li{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.wave-report-section p{white-space:pre-line;margin:0 0 12px}
.wave-report-section dl{display:grid;grid-template-columns:160px 1fr;gap:14px 28px;margin:0;font-size:16px;line-height:1.6}
.wave-report-section dt{color:var(--muted)}
.wave-report-section dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.wave-report-photo{max-height:420px;max-width:100%;object-fit:contain;margin:20px 0}
.wave-report-scenes{list-style:none;margin:0;padding:0}
.wave-report-scenes li{border-top:1px solid var(--line);padding:20px 0;break-inside:avoid}
.wave-report-scenes strong{display:block;font-weight:500;font-size:18px;margin-bottom:8px}
.wave-result-actions{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;margin:24px 0}
.wave-result-actions button,.wave-result-actions a{min-height:48px;font-size:16px}
.wave-review-checks{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:16px;line-height:1.6}
.wave-review-checks li{border-top:1px solid var(--line);padding-top:14px}
.wave-print-meta{display:none}
@media(max-width:960px){.wave-form-layout{grid-template-columns:1fr}.wave-sidebar{display:none}.wave-workspace{padding-top:104px}.wave-directions{grid-template-columns:1fr}.wave-direction{padding:18px 20px;display:grid;grid-template-columns:24px 1fr;gap:0 12px}.wave-direction input{grid-row:1/4;margin:2px 0}.wave-direction strong,.wave-direction span{grid-column:2}.wave-swatches{margin-top:14px}}
@media(max-width:600px){.wave-workspace{padding:96px 22px 48px}.wave-workspace-intro h1{font-size:36px}.wave-workspace-intro p:not(.eyebrow){font-size:16px}.wave-progress{gap:8px;margin-bottom:28px}.wave-progress li{font-size:12px}.wave-progress strong{font-size:18px}.wave-fields{grid-template-columns:1fr;gap:22px}.wave-step legend{font-size:26px}.wave-control-row .pill{font-size:16px;padding-inline:22px}.wave-report-section dl{grid-template-columns:1fr;gap:4px}.wave-report-section dd{margin-bottom:12px}.wave-review-checks{grid-template-columns:1fr}.wave-result-actions{align-items:stretch}.wave-result-actions>*{flex:1 1 190px;justify-content:center}.wave-output-heading h2{font-size:32px}.wave-local-actions{gap:8px 22px}}
@media print{body.wave-studio-page{background:white;color:#182d25}.wave-studio-page .site-header,.wave-studio-page .site-footer,.wave-studio-page .skip-link,.wave-studio-page .wave-workspace-intro,.wave-studio-page .wave-progress,.wave-studio-page .wave-form-layout,.wave-studio-page .wave-result-actions,.wave-studio-page .wave-output-heading>p,.wave-studio-page .wave-output>p.wave-helper{display:none!important}.wave-workspace{padding:0;max-width:none}.wave-output{margin:0;padding:0;border:0}.wave-output h2{font-size:30px}.wave-print-meta{display:block;font-size:12px;margin-bottom:22px}.wave-report-section{padding:15px 0;break-inside:auto}.wave-report-section h3{font-size:18px;break-after:avoid}.wave-report-section p,.wave-report-section li,.wave-report-section dl{font-size:11px;line-height:1.5}.wave-report-photo{max-height:230px}.wave-report-scenes li{break-inside:avoid}.wave-output-heading{margin-bottom:18px}.wave-studio-page dialog{display:none!important}@page{size:A4;margin:16mm}}
