/* A live section and a linked point curve; no image carousel or hidden panels. */
.frequency-profiles { --section-pad:70px;padding-top:8px; }
.showcase-page .frequency-profiles[id] { scroll-margin-top:10px; }
.showcase-page #frequency-explorer { scroll-margin-top:0; }
.frequency-lab { --frequency-blue:#0071e3;border:1px solid #e3e7ed;border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 12px 44px #14345a06; }
.frequency-lab-top { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;border-bottom:1px solid #e8ecf0; }
.frequency-lab-top>p { font-size:1rem;font-weight:600; }
.frequency-band-state { display:flex;align-items:center;gap:8px;font-size:.8125rem;color:#3a5875; }
.frequency-band-state::before { content:'';width:6px;height:6px;background:#0071e3;border-radius:50%;flex:none; }
.frequency-lab-body { display:grid;grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:'plot inspector' 'controls inspector'; }
.frequency-section-view { grid-area:plot;min-width:0;padding:18px 28px 0; }
.frequency-plot-title { display:flex;justify-content:space-between;gap:12px;padding-left:28px;font-size:.75rem;color:#536475; }
.frequency-plot-title>span:last-child { color:#6a7786; }
.frequency-section-canvas { display:block;width:100%;height:284px;cursor:crosshair;touch-action:pan-y;outline-offset:-3px;border-radius:6px; }
.frequency-section-canvas:focus-visible { outline:3px solid #0071e3; }
.frequency-plot-tools { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 0 28px; }
.frequency-point-shortcuts { display:flex;gap:18px;flex-wrap:wrap; }
.frequency-point-shortcuts button { display:flex;align-items:center;gap:7px;min-height:40px;padding:4px 0;font-size:.75rem;color:#41566c;background:none;border:0;cursor:pointer; }
.frequency-point-shortcuts button:hover { color:#0071e3; }
.frequency-point-mark { width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor; }
.frequency-point-shortcuts button[aria-pressed='true'] { color:#0071e3; }
.frequency-point-shortcuts button[aria-pressed='true'] .frequency-point-mark { background:#0071e3; }
.frequency-colour-key { display:flex;align-items:center;gap:8px;font-size:.6875rem;color:#65778a; }
.frequency-colour-key i { width:48px;height:5px;border-radius:4px;background:linear-gradient(90deg,#dde8f1,#238cdd); }
.frequency-controller { grid-area:controls;margin:8px 32px 0 56px;padding:17px 0 20px;border-top:1px solid #e7ecf1;min-width:0; }
.frequency-control-heading { display:flex;justify-content:space-between;gap:12px;align-items:center; }
.frequency-control-heading label { font-size:.875rem;font-weight:600; }
.frequency-control-heading output { color:#0071e3;font-size:.8125rem; }
#frequency-band { --band:18%;display:block;width:100%;height:40px;margin:4px 0 0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:ew-resize;touch-action:pan-y; }
#frequency-band::-webkit-slider-runnable-track { height:4px;border-radius:6px;background:linear-gradient(to right,#0071e3 0 var(--band),#dbe3ed var(--band) 100%); }
#frequency-band::-webkit-slider-thumb { appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border-radius:50%;background:#fff;border:1px solid #bacce0;box-shadow:0 1px 6px #123d6a26; }
#frequency-band::-moz-range-track { height:4px;border-radius:6px;background:#dbe3ed; }
#frequency-band::-moz-range-progress { height:4px;background:#0071e3;border-radius:6px; }
#frequency-band::-moz-range-thumb { width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid #bacce0;box-shadow:0 1px 6px #123d6a26; }
#frequency-band:focus-visible { outline:3px solid #0071e3;outline-offset:3px;border-radius:4px; }
.frequency-range-labels { display:flex;justify-content:space-between;font-size:.75rem;color:#4f6073; }
#frequency-help { margin-top:14px;font-size:.75rem;color:#6a7786;line-height:1.6; }
.frequency-inspector { grid-area:inspector;min-width:0;background:#f6f8fb;border-left:1px solid #e8ecf0;padding:32px 26px;display:flex;flex-direction:column; }
.frequency-small-label { font-size:.75rem;color:#657183;margin-bottom:13px; }
.frequency-inspector h3 { font-size:1.125rem;line-height:1.5;letter-spacing:0; }
.frequency-point-copy>p:last-child { margin-top:14px;font-size:.8125rem;line-height:1.8;color:#657183;min-height:46px; }
.frequency-curve-wrap { margin-top:25px; }
.frequency-curve-wrap h4 { font-size:.75rem;font-weight:500;color:#41546a;letter-spacing:0; }
.frequency-curve { width:100%;height:auto;margin-top:15px;overflow:visible; }
.frequency-curve text { fill:#63748a;font:12px var(--body); }
.frequency-curve-axis { fill:none;stroke:#bdcad7;stroke-width:1; }
.frequency-curve-grid { fill:none;stroke:#dce4ec;stroke-width:1;stroke-dasharray:3 4; }
.frequency-curve-fill { fill:#0071e310; }
.frequency-curve-line { fill:none;stroke:#0071e3;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round; }
.frequency-curve-cursor { fill:none;stroke:#809fbf;stroke-width:1;stroke-dasharray:3 4; }
.frequency-curve-dot { fill:#0071e3;stroke:#fff;stroke-width:2; }
.frequency-curve-wrap>p { font-size:.6875rem;color:#6a7786;margin-top:8px;line-height:1.6; }
.frequency-reset { display:flex;gap:7px;align-items:center;align-self:flex-start;min-height:44px;padding:8px 0;margin-top:auto;font:inherit;font-size:.8125rem;color:#355a7d;border:0;background:none;cursor:pointer; }
.frequency-reset svg { width:16px;height:16px; }
.frequency-reset:hover { color:#0071e3; }
.frequency-profile-context { display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:25px; }
.frequency-profile-context>p { max-width:710px;font-size:.75rem;line-height:1.8;color:var(--showcase-gray); }
.frequency-profile-context>.text-link { flex:none;font-size:.875rem;min-height:44px; }
@media(min-width:1440px){ .frequency-section-canvas { height:320px; }.frequency-inspector { padding:36px 30px; }.frequency-lab-body { grid-template-columns:minmax(0,1fr) 290px; } }
@media(max-width:900px){
 .frequency-lab-body { grid-template-columns:minmax(0,1fr) 230px; }
 .frequency-inspector { padding:25px 20px; }.frequency-inspector h3 { font-size:1rem; }
 .frequency-section-view { padding:25px 20px 0; }.frequency-section-canvas { height:284px; }
 .frequency-controller { margin-left:48px;margin-right:24px; }.frequency-colour-key { display:none; }
 .frequency-profile-context { display:block; }.frequency-profile-context>.text-link { margin-top:12px; }
}
@media(max-width:700px){
 .frequency-profiles { --section-pad:48px; }.frequency-profiles .showcase-heading { margin-bottom:28px; }
 .frequency-profiles .showcase-heading>p:last-child { font-size:1rem; }
 .frequency-lab { border-radius:22px; }.frequency-lab-top { padding:20px;gap:8px;align-items:flex-start;flex-direction:column; }
 .frequency-lab-top>p { font-size:.9375rem; }.frequency-band-state { font-size:.75rem; }
 .frequency-lab-body { grid-template-columns:1fr;grid-template-areas:'plot' 'controls' 'inspector'; }
 .frequency-section-view { padding:20px 14px 0; }.frequency-section-canvas { height:240px; }
 .frequency-plot-title { font-size:.75rem; }.frequency-plot-title>span:last-child { font-size:.75rem; }
 .frequency-plot-tools { margin-left:0; }.frequency-point-shortcuts { gap:18px; }.frequency-point-shortcuts button { min-height:44px;font-size:.75rem; }
 .frequency-controller { margin:3px 22px 0 42px;padding:16px 0 20px; }
 #frequency-band { height:44px; }#frequency-help { margin-top:10px;font-size:.75rem; }
 .frequency-inspector { border-left:0;border-top:1px solid #e8ecf0;padding:22px 20px 10px;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px; }
 .frequency-small-label { margin-bottom:8px; }.frequency-inspector h3 { font-size:.9375rem;line-height:1.6; }
 .frequency-point-copy>p:last-child { font-size:.8125rem;margin-top:10px;min-height:0; }
 .frequency-curve-wrap { margin-top:0; }.frequency-curve-wrap h4 { font-size:.75rem; }.frequency-curve { margin-top:8px; }
 .frequency-curve-wrap>p { font-size:.6875rem;margin-top:3px; }
 .frequency-reset { grid-column:1/-1;margin:0;font-size:.75rem; }
 .frequency-profile-context { margin-top:20px; }.frequency-profile-context>p { font-size:.75rem; }
}
@media(max-width:360px){
 .frequency-section-canvas { height:230px; }.frequency-lab-top { padding:18px; }
 .frequency-plot-title>span:last-child { display:none; }.frequency-point-shortcuts { gap:12px; }
 .frequency-inspector { padding-inline:18px;grid-template-columns:.9fr 1.1fr;gap:6px 12px; }
}
