/* WHISKAVIA Group B — immersive, accessible instruments on the existing canvas.
   One stylesheet, no overrides against retired template layers. */
.tools-hero{background:linear-gradient(110deg,#f7f3ec 0%,#edf3f1 100%);border-bottom:1px solid #e1e1d9}
.tools-hero h1{max-width:1100px}
.tools-hero p{max-width:790px}
.tools-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:11px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid #e0dbd2}
.tools-tabs a{font:700 11px/1.35 system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:#31515c;border:1px solid #cdd5d1;background:#f9faf6;padding:12px 15px;transition:background .2s,border-color .2s}
.tools-tabs a:hover,.tools-tabs a:focus-visible{background:#e3eee9;border-color:#839e99}
.tools-shell{padding-top:clamp(30px,4.5vw,65px);padding-bottom:clamp(65px,8vw,125px);color:#2d454e}
.tools-intro{max-width:950px;margin-bottom:34px}
.tools-intro h2{font:400 clamp(38px,5vw,78px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.045em;color:#223c48;margin:13px 0 18px}
.tools-intro p:last-child{font:400 15px/1.8 system-ui,sans-serif;color:#617277;max-width:850px}
.tools-two-glasses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.tools-glass{min-width:0;background:linear-gradient(135deg,#fbfaf6,#f0f3ee);border:1px solid #dddcd4;padding:clamp(22px,3vw,40px)}
.tools-glass:nth-child(2){background:linear-gradient(135deg,#f9f7f2,#edf2f3)}
.tools-glass-heading{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.tools-glass-heading h2{font:400 clamp(27px,3vw,44px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:0;color:#28404a}
.tools-glass-number{display:inline-flex;align-items:center;justify-content:center;width:47px;height:47px;border-radius:50%;background:#e9ded0;color:#806044;border:1px solid #d0bca4;font:500 13px/1 system-ui,sans-serif}
.tools-label{display:block;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#52656b;margin-bottom:19px}
.tools-label input,.tools-label select,.tools-label textarea{display:block;appearance:auto;width:100%;max-width:100%;box-sizing:border-box;border:1px solid #c7d1cf;border-radius:2px;background:#fffcf8;color:#24404c;font:400 15px/1.6 system-ui,sans-serif;letter-spacing:normal;text-transform:none;padding:12px;margin-top:9px}
.tools-label textarea{resize:vertical;min-height:103px}
.tools-label input:focus,.tools-label select:focus,.tools-label textarea:focus,.tools-event-filter select:focus{outline:2px solid #658b94;outline-offset:2px}
.tools-terms{display:grid;gap:15px;margin:10px 0 28px}
.sensory-family{border:0;padding:0;margin:0;min-width:0}
.sensory-family legend{font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#866d53;padding:0;margin-bottom:9px}
.sensory-chip-row{display:flex;flex-wrap:wrap;gap:7px}
.sensory-chip{font:500 12px/1.35 system-ui,sans-serif;color:#3f5960;background:#fff;border:1px solid #c9d3cd;padding:9px 12px;cursor:pointer;border-radius:20px;transition:background .16s,border-color .16s}
.sensory-chip[aria-pressed="true"]{background:#31545c;color:#fff;border-color:#31545c}
.sensory-chip:focus-visible{outline:2px solid #a77f50;outline-offset:2px}
.tools-results{background:#ecf1ee;border:1px solid #cfded6;padding:clamp(23px,3vw,40px);margin-top:22px}
.tools-results .eyebrow{margin:0 0 15px}
.sensory-comparison-row{display:grid;grid-template-columns:minmax(100px,.65fr) repeat(3,minmax(0,1fr));gap:18px;padding:19px 0;border-top:1px solid #cfd8d3}
.sensory-comparison-row h3{font:400 23px/1.2 Georgia,serif;margin:0}
.sensory-comp-item strong{font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.06em;color:#698184;text-transform:uppercase}
.sensory-comp-item p{font:400 13px/1.6 system-ui,sans-serif;margin:6px 0 0}
.tools-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.tools-actions button{font:700 12px/1.4 system-ui,sans-serif;border:1px solid #31545c;background:#31545c;color:#fff;padding:12px 17px;cursor:pointer;transition:background .16s}
.tools-actions button:hover{background:#203941}
.tools-actions .tools-secondary{background:transparent;color:#35555f}
.tools-actions .tools-secondary:hover{background:#d7e4dd}
.tools-note{color:#68787c;font:400 12px/1.8 system-ui,sans-serif;margin:20px 0 0;max-width:1000px}
.tools-note a,.journey-stop-links a{color:#315f70;text-decoration:underline;text-underline-offset:3px}
.journey-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:20px;align-items:start}
.journey-picker,.journey-route{border:1px solid #d8d9d2;padding:24px;background:#f9faf7;min-width:0}
.journey-route{background:#f0f3f0}
.journey-choices{max-height:570px;overflow-y:auto;scrollbar-color:#b3bfb8 #edf2ed;padding-right:6px}
.journey-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #dde3dc}
.journey-choice>div{min-width:0}
.journey-choice strong,.journey-stop-desc strong{display:block;color:#304750;font:600 13px/1.5 system-ui,sans-serif}
.journey-choice span,.journey-stop-desc>span{display:block;color:#738184;font:400 11px/1.6 system-ui,sans-serif;margin-top:3px}
.journey-choice button{flex-shrink:0;border:1px solid #92a49d;background:#edf5ef;color:#34555a;font:700 11px/1.35 system-ui,sans-serif;cursor:pointer;padding:10px 12px}
.journey-choice button:disabled{opacity:.4;cursor:not-allowed}
.journey-stops{list-style:none;padding:0;margin:0;min-height:80px}
.journey-stop{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #d9dfd8;padding:13px 0}
.journey-empty{font:400 13px/1.7 system-ui,sans-serif;color:#66797d;padding:15px 0}
.journey-stop-number{font:400 23px/1 Georgia,serif;color:#ad8259;min-width:29px}
.journey-stop-desc{flex:1;min-width:0}
.journey-stop-links{display:flex;gap:9px;flex-wrap:wrap;margin:7px 0 0}
.journey-stop-links a{font:500 10px/1.4 system-ui,sans-serif}
.journey-stop-controls{display:flex;gap:4px;align-items:center}
.journey-icon-button{width:28px;height:30px;border:1px solid #c1d1c7;color:#36565c;background:#fff;cursor:pointer}
.journey-icon-button:disabled{opacity:.3;cursor:default}
.journey-summary{font:400 13px/1.7 system-ui,sans-serif;padding:20px 0;color:#485d64}
.journey-summary>strong{display:block;font:500 22px/1.3 Georgia,serif;color:#355363;margin:0 0 15px}
.journey-distance-label{font-weight:700;color:#526a6a;margin:0 0 12px}
.journey-segment{padding:5px 0;margin:0}
.journey-total{border-top:1px solid #cbd4cf;padding:12px 0;margin-top:12px;font-weight:700}
.journey-feedback{font-weight:600;color:#3d7372}
.journey-map-frame{background:#d9e7e6;border:1px solid #cbd6d1;margin-top:22px;overflow:hidden}
.journey-map-frame svg{width:100%;height:auto;max-height:600px;display:block}
.journey-ocean{fill:#d7e5e7}
.journey-map-land{fill:#aabdb1;stroke:#f2f6f0;stroke-width:.5}
.journey-map-line{stroke:#9b6547;stroke-width:2.3;stroke-dasharray:8 6;stroke-linecap:round;fill:none}
.journey-map-dot{fill:#9f6f48;stroke:#fff9ee;stroke-width:2}
.journey-map-number{fill:#263e4a;font:700 16px/1 system-ui,sans-serif;stroke:#fff;stroke-width:2;paint-order:stroke}
.tools-event-filter{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px;font:600 12px/1.5 system-ui,sans-serif}
.tools-event-filter label{display:flex;flex-direction:column;gap:8px;color:#526468}
.tools-event-filter select{border:1px solid #bdcdc7;background:#fff;color:#36545b;padding:11px 13px;min-width:210px}
.tools-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tools-event{background:#f7f7f1;border:1px solid #dfddd3;min-width:0;padding:clamp(25px,3vw,38px)}
.tools-event[hidden]{display:none!important}
.tools-event-meta{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;color:#9b7350;text-transform:uppercase;letter-spacing:.07em;font:700 11px/1.5 system-ui,sans-serif}
.tools-event h2{font:400 clamp(28px,3vw,45px)/1.06 Georgia,serif;letter-spacing:-.04em;color:#28414d;margin:19px 0}
.tools-event p{font:400 13px/1.8 system-ui,sans-serif;color:#576d70}
.tools-event .tools-event-place{font-weight:700;color:#425d61}
.tools-event-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}
.tools-event-actions>a,.tools-event-actions>button{font:700 11px/1.4 system-ui,sans-serif;color:#fff;background:#31545c;border:1px solid #31545c;padding:12px 14px;text-decoration:none;cursor:pointer}
.tools-event-actions>button{background:transparent;color:#31545c}
.tools-event-actions>a:hover,.tools-event-actions>button:hover{background:#203941;color:#fff}
@media(max-width:1100px){.tools-two-glasses{grid-template-columns:1fr}.tools-glass{padding:25px}.journey-layout{grid-template-columns:1fr}}
@media(max-width:750px){.tools-tabs{gap:7px;padding:16px 0}.tools-tabs a{font-size:10px;padding:10px 11px}.tools-events-grid{grid-template-columns:1fr}.tools-shell{padding-top:35px}.tools-event{padding:24px}.sensory-comparison-row{grid-template-columns:1fr 1fr;gap:11px}.sensory-comparison-row h3{grid-column:1/-1}.tools-actions button{flex:1 1 auto}.journey-stop-controls{gap:2px}}
@media(max-width:440px){.tools-glass{padding:16px}.journey-picker,.journey-route{padding:16px}.journey-stop{gap:7px}.journey-stop-controls{flex-direction:column}.tools-event-filter{align-items:stretch;flex-direction:column}.tools-event-filter select{width:100%}.sensory-chip{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.sensory-chip,.tools-actions button,.tools-tabs a{transition:none}}
