/* Ripe Leads - shared nav for /resources/ pages.
   Extracted VERBATIM from index.html so the header is identical to the homepage.
   Loaded AFTER article.css, whose simpler header/.nav rules it must override.
   Regenerate by re-copying the matching block from index.html. */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:500;font-size:15px;padding:13px 22px;border-radius:14px;cursor:pointer;border:1.5px solid transparent;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
  .btn-primary{background:rgba(251,92,45,.82);-webkit-backdrop-filter:blur(10px) saturate(180%);backdrop-filter:blur(10px) saturate(180%);color:#fff;border-color:rgba(255,255,255,.28);box-shadow:0 6px 18px -6px rgba(251,92,45,.5),inset 0 1px 0 rgba(255,255,255,.35)}
  .btn-primary:hover{background:rgba(201,67,28,.92);transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(201,67,28,.55),inset 0 1px 0 rgba(255,255,255,.35)}
  .btn-primary:active{transform:translateY(0)}
  .btn-ghost{background:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);color:var(--ink);border-color:rgba(255,255,255,.65)}
  .btn-ghost:hover{border-color:var(--ink);background:rgba(255,255,255,.72)}
  .btn-light{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);color:var(--ink)}
  .btn-light:hover{background:#fff;transform:translateY(-1px)}
  .btn-block{width:100%}
  header{position:fixed;top:0;left:0;right:0;z-index:50;background:none;border-bottom:none;padding:calc(12px + env(safe-area-inset-top)) 16px 12px}
  section[id]{scroll-margin-top:92px}
  .nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:60px;max-width:1080px;margin:0 auto;padding:0 16px;
    background:rgba(251,247,240,.72);
    -webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
    border:1px solid rgba(255,255,255,.55);border-radius:999px;
    box-shadow:0 12px 36px -16px rgba(21,18,14,.40),inset 0 1px 0 rgba(255,255,255,.6);
    animation:navExpand 1.2s cubic-bezier(.6,0,.15,1) backwards}
  .nav-left{justify-self:start;display:flex;align-items:center;gap:22px;min-width:0;animation:navFade .5s ease 1.05s both}
  .nav-right{justify-self:end;display:flex;align-items:center;animation:navFade .5s ease .82s both}
  .logo{justify-self:center}
  .nr-phone{flex:none;display:block;max-width:24px;opacity:1;transition:max-width .35s,opacity .25s,margin .35s}
  .nr-text{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
  .logo-text{display:inline-block;white-space:nowrap;overflow:hidden;animation:navText .6s ease .5s both}
  @keyframes navExpand{from{clip-path:inset(0 calc(50% - 28px) 0 calc(50% - 28px) round 999px)}to{clip-path:inset(0 0 0 0 round 999px)}}
  @keyframes navText{from{opacity:0;max-width:0;margin-left:-5px}to{opacity:1;max-width:200px;margin-left:0}}
  @keyframes navFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .logo{display:flex;align-items:center;gap:5px;font-family:var(--display);font-weight:600;font-size:23px;letter-spacing:-0.5px}
  .nav-links{display:flex;gap:30px;align-items:center}
  .nav-links a{font-size:15px;color:var(--stone);transition:color .15s}
  .nav-links a:hover{color:var(--ink)}
  /* compact "current section" trigger + iOS-style dropdown */
  .navmenu{position:relative;display:inline-flex}
  .navmenu-cur{display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:44px;padding:0;border-radius:999px;border:1.5px solid rgba(255,255,255,.6);background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);cursor:pointer;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--ink);overflow:hidden;transition:padding .35s cubic-bezier(.2,.8,.2,1),background .3s,opacity .2s ease}
  .navmenu:hover .navmenu-cur,.navmenu:focus-within .navmenu-cur,.navmenu.open .navmenu-cur{opacity:0;pointer-events:none}
  .nm-burger{flex:none;stroke:var(--ink);max-width:24px;opacity:1;transition:max-width .35s,opacity .25s,margin .35s}
  .nm-icon{flex:none;display:flex;max-width:0;opacity:0;overflow:hidden;transition:max-width .35s,opacity .25s}
  .nm-icon svg{display:block;stroke:var(--ink)}
  .navmenu-cur #navCurrent{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
  .navmenu-cur .nmchev{flex:none;stroke:var(--coral);max-width:0;opacity:0;overflow:hidden;transition:max-width .35s,opacity .3s,transform .2s}
  .navmenu:hover .nmchev,.navmenu:focus-within .nmchev,.navmenu.open .nmchev{transform:rotate(180deg)}
  .nav-scrolled .nm-burger{max-width:0;opacity:0;margin:0}
  @media(min-width:881px){
    .nav-scrolled .navmenu-cur{padding:0 9px 0 16px}
    .nav-scrolled .navmenu-cur #navCurrent{max-width:170px;opacity:1}
    .nav-scrolled .navmenu-cur .nmchev{max-width:22px;opacity:1;margin-left:6px}
    .nav-scrolled .nav-right .btn{padding:0 24px}
    .nav-scrolled .nr-phone{max-width:0;opacity:0;margin:0}
    .nav-scrolled .nr-text{max-width:160px;opacity:1}
  }
  @media(max-width:880px){ .nav-scrolled .nm-icon{max-width:24px;opacity:1} }
  .navmenu .nav-links{position:absolute;top:50%;left:0;width:172px;height:46px;box-sizing:border-box;padding:11px 10px;display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:y mandatory;scrollbar-width:none;perspective:420px;background:rgba(251,247,240,.85);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.55);border-radius:999px;box-shadow:0 10px 28px -14px rgba(21,18,14,.4),inset 0 1px 0 rgba(255,255,255,.6);opacity:0;transform:translateY(-50%) scale(.9);transform-origin:left center;pointer-events:none;transition:opacity .2s ease,transform .26s cubic-bezier(.2,.85,.2,1)}
  .navmenu .nav-links::-webkit-scrollbar{display:none}
  .navmenu:hover .nav-links,.navmenu:focus-within .nav-links,.navmenu.open .nav-links{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto}
  .navmenu .nav-links a{display:flex;align-items:center;justify-content:center;gap:8px;scroll-snap-align:center;padding:4px 8px;font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;line-height:1.2;transition:color .18s;backface-visibility:hidden}
  /* Promote only while the menu is actually reachable: spin() rewrites transform/opacity/filter
     on scroll of .nav-links, and the list is pointer-events:none until these same states hit. */
  .navmenu:hover .nav-links a,.navmenu:focus-within .nav-links a,.navmenu.open .nav-links a{will-change:transform,opacity,filter}
  .navmenu .nav-links a svg{display:none;flex:none;stroke:currentColor}
  @media(max-width:880px){ .navmenu .nav-links{width:120px} .navmenu .nav-links a svg{display:block} .navmenu .nav-links a span{display:none} }
  .navmenu .nav-links a.is-center{color:var(--coral-deep);font-weight:700}
  .navmenu .nav-links a.active{color:var(--coral-deep);font-weight:700}
  .nav-right .btn{height:44px;min-width:44px;padding:0 11px;gap:0;border-radius:999px;justify-content:center;overflow:hidden;font-size:14px;transition:padding .35s cubic-bezier(.2,.8,.2,1),background .15s,box-shadow .15s,transform .15s}
  .menu-btn{display:none;background:none;border:1.5px solid var(--husk);border-radius:9px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
  .menu-btn svg{stroke:var(--ink)}
  .mobile-menu{display:none;margin:8px 0 0;background:rgba(251,247,240,.9);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.5);border-radius:22px;box-shadow:0 16px 40px -18px rgba(21,18,14,.4)}
  .mobile-menu.open{display:block}

  /* mobile overrides, from the homepage max-width:880px block */
  @media(max-width:880px){
    .navmenu{display:inline-flex}
    .nav-right .btn{width:44px;height:44px;min-width:0;padding:0;border-radius:50%}
    .nr-text{display:none}
    .nr-phone{display:block;max-width:24px;opacity:1}
    .menu-btn{display:none}
  }

  /* Article pages have no hero, so the fixed header needs clearance.
     The hub sets body.with-hero and keeps the nav floating over the video. */
  body:not(.with-hero){padding-top:96px}
  body:not(.with-hero) .nav{background:rgba(251,247,240,.86)}
