/* ==========================================================================
   The expanding detail panel, shared by the home bento cards and the pricing
   plan cards. Opened with :target (a card links to #p-<name>), so it works with
   JavaScript off. Split out of bento.css on 2026-09-22 so pricing.html can use
   it without the whole bento grid.
   ========================================================================== */
/* ---- the panel --------------------------------------------------------- */
/* visibility rather than display, so opening can actually transition. display:none
   cannot animate; this fades the scrim and lifts the card, with no @keyframes. */
.panel{position:fixed;inset:0;z-index:60;overflow-y:auto;background:rgba(2,37,79,.38);
  padding:24px;visibility:hidden;opacity:0;pointer-events:none;
  transition:opacity .18s ease,visibility 0s linear .18s}
.panel:target{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .18s ease}
.panel-scrim{position:fixed;inset:0;display:block}
.panel-in{position:relative;z-index:1;max-width:1040px;margin:0 auto;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:40px;
  transform:translateY(10px);transition:transform .22s ease}
.panel:target .panel-in{transform:none}
.panel-x{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:6px;
  border:1px solid var(--line);background:var(--white);color:var(--navy);
  display:grid;place-items:center;font:400 19px/1 var(--ui)}
.panel-x:hover{background:var(--cloud);text-decoration:none}
.panel-hd{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:start;padding-right:44px}
.panel-hd h2{font:500 30px/1.15 var(--display)}
.panel-hd .lead{margin-top:12px}
.panel-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.panel-list{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.panel-list div{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--ink)}
.panel-list .ico{width:15px;height:15px;flex:0 0 auto;margin-top:3px;display:block}
.panel-body{margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}
.panel-body h4{margin:0 0 14px;font:600 15px var(--ui);color:var(--navy)}
.panel-shot{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:28px}
.panel-shot img{display:block;width:100%;height:auto}

/* the journey band reused inside a panel: boxed, not full bleed */
.journey.panel-band{padding:26px;border-radius:8px}
.journey.panel-band .stages{margin-top:0;grid-auto-columns:minmax(106px,1fr)}   /* the panel is narrower than the page band, so all eight stages still fit */

@media (prefers-reduced-motion:reduce){ .panel,.panel-in{transition:none;transform:none} }
@media (max-width:991px){ .panel-hd{grid-template-columns:1fr;gap:20px} .panel-in{padding:28px} }
@media (max-width:767px){ .panel:target{padding:12px} .panel-hd h2{font-size:25px} }
