/* === TurtleLuck burger menu: bigger + jelly (load after tl-header.css) === */
:root{--tlj-ease:cubic-bezier(.33,0,.25,1);--tlj-out:cubic-bezier(.4,0,1,1)}
@supports (animation-timing-function:linear(0,1)){:root{--tlj-ease:linear(0,.25 12%,.6 28%,.86 45%,.97 62%,1)}}
/* bigger tap target + icon */
header.site .gn-menu summary{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-right:-10px;border-radius:12px}
header.site .gn-menu summary:active .tl-bars{transform:scale(.9)}
.tl-bars{width:26px;height:18px;transition:transform .2s var(--tlj-ease)}
.tl-bars i{width:26px;height:3px;border-radius:3px;transition:transform .2s var(--tlj-out),opacity .15s linear,top .2s var(--tlj-out)}
.tl-bars i:nth-child(1){top:0}.tl-bars i:nth-child(2){top:7.5px}.tl-bars i:nth-child(3){top:15px}
.gn-menu.is-open .tl-bars i:nth-child(1){top:7.5px;transform:rotate(45deg)}
.gn-menu.is-open .tl-bars i:nth-child(3){top:7.5px;transform:rotate(-45deg)}
.gn-menu.is-open .tl-bars i{transition:transform .5s cubic-bezier(.34,1.9,.5,1),opacity .15s linear,top .22s var(--tlj-ease)}
@keyframes tlj-icon{0%,100%{transform:none}25%{transform:scale(1.25,.78)}45%{transform:scale(.88,1.14)}65%{transform:scale(1.06,.95)}82%{transform:scale(.98,1.02)}}
.gn-menu.is-open .tl-bars{animation:tlj-icon .65s var(--tlj-ease) .08s both}
/* panel: solid white, roomy, jelly from the top edge */
html body header.site.gn .gn-drop{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  padding:14px 16px 28px;gap:4px;
  transform-origin:50% 0;transition:opacity .18s var(--tlj-out),transform .18s var(--tlj-out)}
html body header.site.gn .gn-menu:not(.is-open)>.gn-drop{transform:translateY(-6px) scale(.98)}
@keyframes tlj-panel{
  0%  {transform:scale(1,.55);opacity:0}
  22% {transform:scale(.97,1.08);opacity:1}
  40% {transform:scale(1.02,.94)}
  57% {transform:scale(.99,1.035)}
  73% {transform:scale(1.005,.985)}
  87% {transform:scale(1,1.005)}
  100%{transform:none;opacity:1}}
html body header.site.gn .gn-menu.is-open>.gn-drop{opacity:1;transform:none;transition:none;animation:tlj-panel .85s var(--tlj-ease) both}
/* items: large, Apple-like rows */
header.site.gn nav.gn-drop a[aria-current="page"]{color:#1e8e3e!important}
header.site.gn nav.gn-drop a:not([aria-current]){color:#1d1d1f}
header.site.gn nav.gn-drop a{display:block;font-size:36px;line-height:1.1;white-space:nowrap;font-weight:600;letter-spacing:-.02em;
  padding:14px 16px;border-radius:14px;text-decoration:none;transform-origin:16px 70%;
  opacity:0;transition:opacity .12s var(--tlj-out)}
@keyframes tlj-item{
  0%  {opacity:0;transform:translateY(22px) scale(.9,1.12)}
  35% {opacity:1;transform:translateY(-5px) scale(1.06,.93)}
  55% {transform:translateY(2px) scale(.97,1.04)}
  74% {transform:translateY(-.5px) scale(1.012,.99)}
  100%{opacity:1;transform:none}}
header.site.gn .gn-menu.is-open nav.gn-drop a{opacity:1;transform:none;transition:none;
  animation:tlj-item .7s var(--tlj-ease) calc(100ms + var(--i,0)*50ms) both}
header.site.gn nav.gn-drop a:nth-child(5){--i:4}header.site.gn nav.gn-drop a:nth-child(6){--i:5}
/* reduced motion: opacity only */
@media (prefers-reduced-motion:reduce){
  .tl-bars,.tl-bars i,header.site .gn-menu summary:active .tl-bars{animation:none!important;transition:opacity .15s linear!important}
  html body header.site.gn .gn-drop,html body header.site.gn .gn-menu>.gn-drop,header.site.gn nav.gn-drop a{animation:none!important;transform:none!important;transition:opacity .15s linear!important}}
