/* Tools hub, 2026-10-20. Page styles are scoped; shared rules accommodate the new menu item. */
.desktop-nav { gap:clamp(16px,1.65vw,30px); }
.desktop-nav a { white-space:nowrap; }
.mobile-menu nav a[aria-current="page"] strong { color:var(--lime); }
.mobile-menu { overflow-y:auto; }
@media (min-width:1101px) and (max-width:1280px) {
    .site-header__inner { gap:20px; }
    .site-brand { width:190px; }
    .desktop-nav { gap:17px; }
    .social-switch { padding-inline:12px; gap:10px; }
}
@media (max-width:1100px) and (max-height:800px) {
    .mobile-menu { align-content:start; padding-top:calc(var(--header-h) + 18px); }
    .mobile-menu nav { margin:0 auto; }
    .mobile-menu nav a { padding:9px 0; }
    .mobile-menu nav strong { font-size:clamp(25px,5.3vh,38px); }
    .mobile-menu__foot { margin-top:24px; }
}
.tools-hub { padding-top:calc(var(--header-h) + clamp(48px,6vw,96px)); padding-bottom:90px; }
.tools-intro { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:70px; padding-bottom:clamp(48px,6vw,90px); }
.tools-intro h1 { margin:0; font-size:clamp(56px,6.5vw,104px); line-height:.94; letter-spacing:-.055em; font-weight:590; }
.tools-intro h1 em { color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.tools-intro__aside { max-width:480px; padding-bottom:4px; justify-self:end; }
.tools-intro__aside p { margin:0 0 24px; color:#b3b8b3; font-size:clamp(17px,1.4vw,21px); line-height:1.65; }
.tools-jump { display:inline-flex; gap:24px; align-items:center; color:var(--lime); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:6px 0; }
.tools-jump span { font-size:20px; font-weight:400; }
.tools-section { scroll-margin-top:110px; }
.tools-section__head { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:24px; padding-top:22px; border-top:1px solid var(--line); }
.tools-section__head h2 { margin:0; font-size:14px; line-height:1.5; font-weight:600; }
.tools-section__head > span { color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.tool-card { position:relative; isolation:isolate; min-width:0; display:flex; flex-direction:column; padding:clamp(26px,3vw,48px); background:linear-gradient(135deg,#141916,#0b0e0c); border:1px solid var(--line); transition:border-color .25s; }
.tool-card:hover,.tool-card:focus-within { border-color:rgba(157,209,38,.45); }
.tool-card__top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; color:var(--lime); }
.tool-card__top > span { font-size:10px; font-weight:650; letter-spacing:.13em; text-transform:uppercase; }
.tool-card svg,.tool-internal svg { width:32px; height:32px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.tool-card h3 { margin:0 0 8px; font-size:clamp(31px,3vw,46px); line-height:1.1; font-weight:550; letter-spacing:-.04em; }
.tool-card p { margin:0 0 22px; max-width:550px; color:#aeb6af; font-size:15px; line-height:1.7; }
.tool-card .tool-card__lead { margin-bottom:16px; color:var(--white); font-size:16px; }
.tool-card .tool-card__note { padding-left:15px; border-left:1px solid rgba(157,209,38,.55); font-size:13px; }
.tool-card__bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }
.tool-open { display:inline-flex; gap:24px; align-items:center; min-height:44px; font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
/* Stretch the real link over its card; retain native keyboard/new-tab behaviour. */
.tool-open::after { content:""; position:absolute; inset:0; z-index:1; cursor:pointer; }
.tool-open > span { color:var(--lime); font-size:21px; font-weight:400; transition:transform .2s; }
.tool-card:hover .tool-open,.tool-open:focus-visible { color:var(--lime); }
.tool-card:hover .tool-open > span,.tool-open:focus-visible > span { transform:translate(2px,-2px); }
.tool-card__meta { color:var(--muted); font-size:11px; }
.tool-card--meet { border-color:rgba(157,209,38,.35); }
.tool-invite { margin:0 0 22px; padding:18px 20px; background:rgba(157,209,38,.075); border-left:2px solid var(--lime); }
.tool-invite strong { display:block; color:var(--lime-bright); font-size:14px; line-height:1.6; font-weight:600; }
.tool-invite p { margin:8px 0 0; font-size:13px; color:#bfc7bb; }
.tool-host { position:relative; z-index:2; display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#b3b9b1; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.tool-host:hover { color:var(--lime); }
.tools-internal { margin-top:64px; }
.tool-internal { display:flex; align-items:center; gap:23px; min-width:0; padding:28px 32px; border:1px solid var(--line); background:#0d100e; transition:border-color .25s; }
.tool-internal:hover { border-color:rgba(157,209,38,.5); }
.tool-internal svg { color:#919b8a; width:28px; height:28px; }
.tool-internal strong { display:block; font-size:20px; font-weight:550; letter-spacing:-.02em; }
.tool-internal small { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.tool-internal b { margin-left:auto; font-size:22px; font-weight:400; color:var(--lime); }
.tools-access-note { margin:18px 0 0; color:var(--muted); font-size:12px; }
.tools-help { display:grid; grid-template-columns:.6fr 1fr auto; align-items:center; gap:35px; margin-top:64px; padding-top:28px; border-top:1px solid var(--line); }
.tools-help > span { color:var(--white); font-size:16px; }
.tools-help p { max-width:510px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.tools-help a { display:inline-flex; align-items:center; gap:15px; min-height:44px; color:var(--lime); font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.tools-hub a:focus-visible,.site-header a:focus-visible,.mobile-menu a:focus-visible { outline:2px solid var(--lime); outline-offset:6px; }
.tools-hub .tool-open:focus-visible { outline:none; }
.tool-open:focus-visible::after { outline:2px solid var(--lime); outline-offset:4px; }
@media (max-width:800px) {
    .tools-intro { grid-template-columns:1fr; gap:30px; }
    .tools-intro__aside { justify-self:start; max-width:540px; }
    .tools-help { grid-template-columns:1fr; gap:15px; }
}
@media (max-width:640px) {
    .tools-hub { padding-top:calc(var(--header-h) + 40px); padding-bottom:60px; }
    .tools-intro { padding-bottom:40px; gap:24px; }
    .tools-intro h1 { font-size:clamp(45px,10vw,64px); }
    .tools-intro__aside p { font-size:16px; margin-bottom:12px; }
    .tools-section__head { align-items:flex-start; flex-direction:column; gap:6px; }
    .tools-section__head > span { font-size:9px; }
    .tools-grid { grid-template-columns:1fr; gap:16px; }
    .tool-card { padding:26px 24px; }
    .tool-card__top { margin-bottom:23px; }
    .tool-card__top > span { font-size:9px; }
    .tool-card__bottom { gap:8px 16px; }
    .tool-invite { padding:16px; }
    .tools-internal { margin-top:42px; }
    .tool-internal { padding:24px; gap:18px; }
    .tools-help { margin-top:42px; }
}
@media (prefers-reduced-motion:reduce) {
    .tool-card,.tool-internal,.tool-open > span { transition:none; }
}
