/* "How to use this page" (assets/js/tutorial-window.js): the small video
   window in the corner, the "How it works" button it folds into, and the large
   view with the steps. Colors and type are the site's own (styles.css). */

/* ---------------------------------------------------------- small window */
.tw-mini{position:fixed;right:20px;bottom:20px;z-index:70;width:320px;border-radius:14px;overflow:hidden;
  background:var(--navy);box-shadow:0 18px 50px rgba(var(--navy-deep-rgb),.38),0 0 0 1px rgba(255,255,255,.08);
  opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease}
.tw-mini.is-in{opacity:1;transform:none}
.tw-mini-video{position:relative;background:var(--navy-deep);line-height:0}
.tw-mini video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.tw-mini.is-tall video{aspect-ratio:9/16}
.tw-grow{position:absolute;inset:0;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
.tw-grow::after{content:"Watch larger";position:absolute;left:50%;bottom:10px;transform:translateX(-50%);
  font:700 .78rem/1 var(--font-ui);color:#fff;background:rgba(var(--navy-deep-rgb),.82);padding:7px 11px;border-radius:99px;
  opacity:0;transition:opacity .2s}
.tw-grow:hover::after,.tw-grow:focus-visible::after{opacity:1}
.tw-grow:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.tw-mini-label{display:flex;align-items:center;gap:8px;margin:0;padding:9px 12px;
  font:700 .8rem/1.2 var(--font-ui);letter-spacing:.04em;color:#fff}
.tw-mini .tw-close{position:absolute;top:8px;right:8px}

/* Phones: a small portrait thumbnail, tapped to open full size. */
.tw-mini.is-tall{width:118px;right:12px;bottom:12px;border-radius:12px}
.tw-mini.is-tall .tw-mini-label{padding:7px 8px;font-size:.7rem;gap:6px;white-space:nowrap;letter-spacing:0}
.tw-mini.is-tall .tw-mini-label .tw-pill-play{width:18px;height:18px}
.tw-mini.is-tall .tw-mini-label .tw-pill-play::after{left:7px;top:4px}
.tw-mini.is-tall .tw-grow::after{content:none}
.tw-mini.is-tall .tw-close{top:5px;right:5px;width:26px;height:26px}

/* ----------------------------------------------------------- the button */
.tw-pill{position:fixed;right:16px;bottom:16px;z-index:70;display:inline-flex;align-items:center;gap:9px;
  border:0;cursor:pointer;padding:9px 16px 9px 9px;border-radius:99px;background:var(--navy);color:#fff;
  font:700 .88rem/1 var(--font-ui);box-shadow:0 10px 28px rgba(var(--navy-deep-rgb),.35),0 0 0 1px rgba(255,255,255,.1)}
.tw-pill:hover{background:var(--blue-dark)}
.tw-pill:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.tw-pill[hidden]{display:none}
.tw-pill-play{flex:none;position:relative;width:24px;height:24px;border-radius:50%;background:var(--blue)}
.tw-pill-play::after{content:"";position:absolute;left:9px;top:7px;border-style:solid;border-width:5px 0 5px 8px;
  border-color:transparent transparent transparent var(--navy)}
.tw-mini-label .tw-pill-play{width:20px;height:20px}
.tw-mini-label .tw-pill-play::after{left:8px;top:5px}

/* ---------------------------------------------------------- close (×) */
.tw-close{width:32px;height:32px;border-radius:50%;border:0;cursor:pointer;background:rgba(var(--navy-deep-rgb),.78);position:relative;flex:none}
.tw-close::before,.tw-close::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;border-radius:2px;background:#fff}
.tw-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.tw-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.tw-close:hover{background:var(--navy)}
.tw-close:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

/* ------------------------------------------------------- the large view */
html.tw-open{overflow:hidden}
.tw-dialog{width:min(1040px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;border-radius:16px;
  background:#fff;color:var(--ink);overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.tw-dialog::backdrop{background:rgba(var(--navy-deep-rgb),.78)}
.tw-dialog-head{position:relative;padding:18px 64px 14px 24px}
.tw-dialog-head h2{margin:0;font-size:1.6rem}
.tw-dialog-head .tw-close{position:absolute;top:16px;right:16px;background:var(--band)}
.tw-dialog-head .tw-close::before,.tw-dialog-head .tw-close::after{background:var(--navy)}
.tw-dialog-head .tw-close:hover{background:var(--line)}
.tw-eyebrow{margin:0 0 4px;font:700 .74rem/1.2 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-dark)}
.tw-dialog-video{background:var(--navy-deep);line-height:0}
.tw-dialog-video video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.tw-dialog-video.is-tall{display:flex;justify-content:center}
.tw-dialog-video.is-tall video{width:auto;max-width:100%;height:min(72vh,calc((100vw - 32px) * 16 / 9));aspect-ratio:9/16}
.tw-dialog-text{padding:18px 24px 22px}
.tw-steps{margin:6px 0 14px;padding-left:1.4em;columns:2;column-gap:36px;font-family:var(--font-ui);font-size:.95rem;color:var(--navy)}
.tw-steps li{break-inside:avoid;margin-bottom:6px}
.tw-help{margin:0;font-size:1rem}
@media (max-width:699px){
  .tw-dialog{width:calc(100% - 20px);max-height:calc(100% - 20px)}
  .tw-dialog-head{padding:14px 56px 10px 16px}
  .tw-dialog-head h2{font-size:1.3rem}
  .tw-dialog-head .tw-close{top:12px;right:12px}
  .tw-dialog-text{padding:14px 16px 18px}
  .tw-steps{columns:1}
}

@media (prefers-reduced-motion:reduce){.tw-mini{transition:none}}
@media print{.tw-mini,.tw-pill,.tw-dialog{display:none !important}}
