.banner-root,.banner-root *,.banner-root :before,.banner-root :after{box-sizing:border-box}.banner-root{z-index:1000;color:var(--ink);font-family:var(--font-body);-webkit-overflow-scrolling:touch;background:#14110ea6;justify-content:center;align-items:flex-start;padding:16px;animation:.18s cubic-bezier(.22,.61,.36,1) banner-backdrop-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@media (min-width:1024px){.banner-root{padding:32px}}@keyframes banner-backdrop-fade{0%{background:#14110e00}to{background:#14110ea6}}.banner-frame{background:var(--cream);border-radius:20px;flex-direction:column;gap:12px;width:100%;max-width:100%;margin:auto;padding:16px;animation:.22s cubic-bezier(.22,.61,.36,1) banner-modal-rise;display:flex;overflow:visible;box-shadow:0 24px 60px -20px #14110e73,0 8px 24px -12px #14110e4d}@media (min-width:1024px){.banner-frame{gap:22px;width:80vw;max-width:80vw;max-height:92vh;padding:30px 34px;overflow-y:auto}.banner-root .banner-cta-row{align-items:center}}@keyframes banner-modal-rise{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.banner-root .banner-panels{flex-direction:column;gap:10px;min-height:0;display:flex}@media (min-width:1024px){.banner-root .banner-panels{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:16px;display:grid}}.banner-root .banner-caption-row{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:0;padding:0 2px;display:flex}.banner-root .banner-caption{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:20px;font-weight:500;line-height:1.2}@media (min-width:1024px){.banner-root .banner-caption{font-size:22px}}.banner-root .banner-close{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s cubic-bezier(.22,.61,.36,1),border-color .14s cubic-bezier(.22,.61,.36,1);display:inline-flex}.banner-root .banner-close:hover{background:var(--paper);border-color:var(--ink-soft)}.banner-root .banner-panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 1px 0 0 var(--line) inset, 0 12px 28px -20px #2a25212e;border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.banner-root .banner-panel-img{background:var(--cream);flex-shrink:0;justify-content:center;align-items:center;width:100%;height:120px;display:flex;position:relative;overflow:hidden}@media (min-width:1024px){.banner-root .banner-panel-img{height:130px}}.banner-root .banner-panel-img.framed{border-bottom:1px solid var(--line)}.banner-root .banner-panel-img>svg,.banner-root .banner-panel-img>.banner-panel-photo{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.banner-root .banner-panel-img.crop-left>.banner-panel-photo--cover-left{object-fit:cover;object-position:left center}.banner-root .banner-panel:nth-of-type(3) .banner-panel-img>svg{width:100%;max-width:220px;height:100%}.banner-root .banner-panel-body{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:14px 16px 16px;display:flex}@media (min-width:1024px){.banner-root .banner-panel-body{gap:12px;padding:16px 18px 18px}}.banner-root .banner-headline{font-family:var(--font-body);letter-spacing:0;color:var(--ink);text-wrap:pretty;margin:0;font-size:15px;font-weight:500;line-height:1.45}@media (min-width:1024px){.banner-root .banner-headline{font-size:14.5px}}.banner-root .banner-body{font-family:var(--font-body);color:var(--ink);text-wrap:pretty;margin:0;font-size:14.5px;font-weight:500;line-height:1.45}@media (min-width:1024px){.banner-root .banner-body{font-size:13.5px;line-height:1.5}}.banner-root .banner-chain{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:grid}.banner-root .banner-chain-step{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.banner-root .banner-chain-dot{background:var(--green-tint);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.banner-root .banner-chain-label{font-family:var(--font-body);color:var(--ink);letter-spacing:0;text-wrap:balance;max-width:10ch;font-size:11.5px;font-weight:500;line-height:1.3}@media (min-width:1024px){.banner-root .banner-chain-label{max-width:9ch;font-size:11px}}.banner-root .banner-chain-rule{background:var(--line);width:100%;min-width:8px;height:1px;margin-top:-14px}.banner-root .banner-cta-row{flex-direction:column;align-items:stretch;margin-top:auto;padding-top:4px;display:flex}.banner-root .banner-cta-primary{background:var(--green);height:44px;color:var(--paper);font-family:var(--font-body);letter-spacing:0;cursor:pointer;border:none;border-radius:12px;width:100%;padding:0 16px;font-size:14.5px;font-weight:600;transition:background .14s cubic-bezier(.22,.61,.36,1),transform .14s cubic-bezier(.22,.61,.36,1)}.banner-root .banner-cta-primary:hover{background:var(--green-deep)}.banner-root .banner-cta-primary:active{transform:scale(.98)}@media (min-width:1024px){.banner-root .banner-caption{font-size:27px}.banner-root .banner-panel-img{height:240px}.banner-root .banner-panel:nth-of-type(3) .banner-panel-img>svg{max-width:300px}.banner-root .banner-panel-body{gap:14px;padding:22px 24px 24px}.banner-root .banner-headline{font-size:20px;line-height:1.5}.banner-root .banner-body{font-size:16.5px;line-height:1.6}.banner-root .banner-chain-dot{width:36px;height:36px}.banner-root .banner-chain-label{max-width:13ch;font-size:13.5px}.banner-root .banner-cta-primary{width:auto;min-width:360px;height:56px;padding:0 52px;font-size:16.5px}}