/* RT1: shared website identities, native disclosure and scroll-snap carousel. */
.tools-menu{position:relative;flex-shrink:0}
.tools-menu summary{display:flex;align-items:center;gap:6px;min-height:44px;list-style:none;color:var(--muted);font-size:14px;border-radius:4px}
.tools-menu summary::-webkit-details-marker{display:none}
.tools-menu summary>.external-icon{width:14px;height:14px}
.tools-menu[open] summary,.tools-menu summary:hover{color:var(--mint)}
.tools-menu[open] summary>.external-icon{transform:rotate(180deg)}
.tools-menu-panel{position:absolute;top:calc(100% + 12px);right:0;width:300px;max-height:calc(100dvh - 150px);overflow-y:auto;padding:10px;background:var(--surface);border:1px solid var(--control);border-radius:8px;box-shadow:0 16px 44px #0006;z-index:40}
.site-header nav .tools-menu-panel a{justify-content:flex-start;gap:12px;min-height:58px;padding:10px;border-radius:4px;text-align:left;color:var(--text);font-size:14px;line-height:1.5}
.tools-menu-panel a:hover{background:var(--raised)}
.tools-menu-panel img{width:28px;height:28px;object-fit:contain;flex-shrink:0;border-radius:5px}
.tools-menu-panel a:focus-visible{outline-offset:1px}
.recommendations{padding-block:92px 72px}
.recommendations-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.recommendations-heading h2{font-size:36px;margin-top:14px}
.carousel-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.carousel-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:9px;border:1px solid var(--control);border-radius:5px;background:transparent;font-size:13px;line-height:1.5}
.carousel-controls button:hover{background:var(--raised);color:var(--mint)}
.recommendations-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-padding-inline:8px;padding:8px;margin:-8px;scrollbar-width:thin;scrollbar-color:var(--control) transparent}
.recommendation-card{flex:0 0 calc((100% - 20px)/2);min-width:0;scroll-snap-align:start;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.recommendation-card>a{display:flex;flex-direction:column;align-items:flex-start;height:100%;min-height:234px;padding:28px;border-radius:8px}
.recommendation-card:hover{border-color:var(--control)}
.recommendation-identity{display:flex;align-items:center;gap:18px}
.recommendation-identity img{width:52px;height:52px;object-fit:contain;border-radius:8px;flex-shrink:0}
.recommendation-identity h3{font-size:22px;overflow-wrap:anywhere}
.recommendation-card p{margin-block:18px;color:var(--muted);font-size:15px;line-height:1.8}
.recommendation-visit{display:flex;align-items:center;gap:10px;margin-top:auto;color:var(--mint);font-size:14px;font-weight:600;min-height:30px}
.carousel-position{margin-top:18px;color:var(--muted);font-size:12px}
@media(max-width:1150px){.site-header nav{gap:16px}.header-inner{gap:20px}.header-tools{gap:14px}}
@media(max-width:960px){.site-header nav{gap:12px}.header-inner{gap:16px}.recommendation-card>a{padding:22px}.recommendation-identity{gap:12px}.recommendation-identity h3{font-size:20px}}
@media(max-width:700px){.site-header nav{position:relative;gap:4px}.tools-menu{position:static}.tools-menu summary{font-size:13px}.tools-menu-panel{right:0;top:calc(100% + 8px);width:min(300px,100%)}.site-header nav .tools-menu-panel a{justify-content:flex-start;font-size:14px;min-height:58px}.recommendations{padding-block:68px 48px}.recommendations-heading{display:block;margin-bottom:20px}.recommendations-heading h2{font-size:30px}.carousel-controls{margin-top:24px;justify-content:flex-end}.recommendation-card{flex-basis:100%}.recommendation-card>a{min-height:238px}.recommendation-identity h3{font-size:21px}.carousel-position{margin-top:14px}}
