.link-menu { --menu-coral:#ff795f; --menu-lilac:#b9a4ff; --menu-lime:#c8ff3d; --menu-sky:#69d7ff; background:var(--cream); color:var(--ink); }
.challenge-announcement { display:flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 20px; background:var(--pink); color:var(--ink); font-size:14px; font-weight:600; line-height:1.4; text-decoration:none; }
.challenge-announcement:hover { text-decoration:underline; text-underline-offset:3px; }
.challenge-announcement:focus-visible { outline:3px solid var(--ink); outline-offset:-5px; }
.menu-shell { width:min(100% - 40px,560px); margin-inline:auto; }
.menu-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; border-bottom:1px solid var(--line); }
.menu-header .wordmark { font-size:28px; }
.menu-home { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:14px; font-weight:600; text-decoration:none; }
.menu-title { margin:28px 0 24px; font:700 clamp(38px,8vw,48px)/.99 "Bricolage Grotesque",sans-serif; letter-spacing:-.055em; }
.menu-links { display:grid; gap:10px; }
.menu-links a { text-decoration:none; border-radius:16px; }
.menu-feature { display:block; padding:23px 24px 22px; border:1px solid var(--ink); border-top:6px solid var(--pink); background:var(--ink); color:white; }
.menu-feature h2 { margin:0; font:700 clamp(26px,5.9vw,34px)/1.05 "Bricolage Grotesque",sans-serif; letter-spacing:-.035em; }
.menu-feature p { margin:12px 0 14px; font-size:16px; line-height:1.35; color:#eee9f6; }
.menu-feature-cta { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#ff83bf; font-size:16px; font-weight:600; }
.menu-feature-cta > span { font-size:26px; line-height:1; }
.menu-row { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:78px; padding:14px 18px; border:1px solid var(--ink); color:var(--ink); transition:box-shadow 150ms ease,transform 150ms ease; }
.menu-row > span:first-child { min-width:0; }
.menu-row strong { display:block; font:700 20px/1.15 "Bricolage Grotesque",sans-serif; letter-spacing:-.025em; }
.menu-detail { display:block; margin-top:5px; font-size:14px; line-height:1.35; color:#35313d; }
.menu-arrow { flex:0 0 22px; font-size:25px; line-height:1; }
.menu-coral { background:var(--menu-coral); }
.menu-lilac { background:var(--menu-lilac); }
.menu-lime { background:var(--menu-lime); }
.menu-sky { background:var(--menu-sky); }
.menu-paper { background:white; }
.menu-row:hover { box-shadow:3px 3px 0 var(--ink); transform:translate(-1px,-1px); }
.menu-feature:hover { box-shadow:3px 3px 0 var(--menu-lilac); }
.menu-links a:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.menu-feature:focus-visible { outline-color:var(--pink)!important; }
.menu-footer { margin-top:28px; padding:16px 0 24px; border-top:1px solid var(--line); }
.menu-footer-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0 20px; }
.menu-socials { display:flex; justify-content:center; flex-wrap:wrap; gap:0 14px; }
.menu-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; line-height:1.3; text-underline-offset:4px; }
.menu-socials a { font-weight:600; text-decoration:none; }
.menu-build-link { gap:6px; }
.menu-footer p { margin:9px 0 0; color:var(--smoke); text-align:center; font-size:13px; line-height:1.5; }
@media(min-width:640px) { .menu-shell { padding-top:12px; } }
@media(max-width:359px) { .menu-shell { width:calc(100% - 32px); } .menu-row { padding-inline:15px; } .menu-row strong { font-size:18px; } }
@media(prefers-reduced-motion:reduce) { .menu-row { transition:none; } .menu-row:hover { transform:none; } }
