/* Campaign actions and click-to-load tutorial. */
.fct-v2 .nav__contact { display:flex; align-items:center; gap:11px; padding:7px 12px; border:1px solid rgba(255,255,255,.22); border-radius:12px; color:#fff; background:rgba(255,255,255,.07); text-decoration:none; transition:background .2s,border-color .2s; }
.fct-v2 .nav__contact > .i:first-child { color:#ffbc79; width:20px; height:20px; flex:none; }
.fct-v2 .nav__contact small { display:block; margin-bottom:2px; color:#cadce4; font-size:9px; line-height:1.2; }
.fct-v2 .nav__contact strong { display:block; font-size:12px; font-weight:700; line-height:1.3; }
.fct-v2 .nav__contact:hover { background:rgba(255,255,255,.15); border-color:rgba(255,178,91,.7); }
.fct-v2 .nav__contact:focus-visible { outline:3px solid #ffb25b; outline-offset:3px; }
.fct-v2 .hero__copy { display:flex; flex-direction:column; align-self:stretch; }
.fct-v2 .hero__actions { margin-top:0; padding-top:clamp(32px,5svh,56px); padding-bottom:12px; gap:22px; }
.fct-v2 .balance { max-width:100%; }
.fct-v2 .balance__pill > a { min-width:0; }
.fct-v2 .hero__guide-link { padding-block:12px; }
.fct-v2 .hero__scroll { transition:color .24s ease,border-color .24s ease,background-color .24s ease,box-shadow .24s ease; }
.fct-v2 .hero__scroll:is(:hover,:focus-visible) { color:#ffb25b; border-color:rgba(255,178,91,.85); background:rgba(242,138,30,.12); box-shadow:0 0 20px rgba(242,138,30,.24),inset 0 0 12px rgba(242,138,30,.08); animation-play-state:paused; }
.fct-v2 .hero__scroll:is(:hover,:focus-visible) .i { filter:drop-shadow(0 0 5px rgba(255,178,91,.55)); }
.fct-v2 .hero__scroll:focus-visible { outline:2px solid #ffb25b; outline-offset:4px; }
.fct-to-top-marker { position:absolute; top:0; left:0; width:1px; height:4px; pointer-events:none; }
.fct-to-top { position:fixed; z-index:25; right:max(clamp(16px,3vw,26px),env(safe-area-inset-right)); bottom:max(clamp(16px,3vw,26px),env(safe-area-inset-bottom)); width:44px; height:44px; padding:0; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:rgba(255,255,255,.8); background:rgba(11,42,58,.94); box-shadow:0 4px 16px rgba(11,42,58,.16); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .24s ease,visibility .24s ease,transform .24s ease,color .24s ease,border-color .24s ease,background-color .24s ease,box-shadow .24s ease; }
.fct-to-top[hidden] { display:none; }
.fct-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.fct-to-top .i { transform:rotate(180deg); }
.fct-to-top:is(:hover,:focus-visible) { color:#ffb25b; border-color:rgba(255,178,91,.85); background:rgba(40,48,49,.97); box-shadow:0 0 20px rgba(242,138,30,.24),inset 0 0 12px rgba(242,138,30,.08); }
.fct-to-top:is(:hover,:focus-visible) .i { filter:drop-shadow(0 0 5px rgba(255,178,91,.55)); }
.fct-to-top:focus-visible { outline:2px solid #ffb25b; outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { .fct-to-top { transition:none; } }
@media (prefers-reduced-transparency:reduce) { .fct-to-top { background:#0b2a3a; backdrop-filter:none; -webkit-backdrop-filter:none; } }
@media print { .fct-to-top { display:none; } }
.fct-v2 .portal-link__label { display:block; min-width:0; line-height:1.45; }
.fct-v2 .portal-link__label strong { display:block; font-weight:800; }
.fct-v2 .fct-path__head { flex-wrap:wrap; }
.fct-v2 .fct-path__head > div { flex:1 1 230px; min-width:0; }
.fct-v2 .fct-path__portal { flex:0 1 218px; max-width:100%; white-space:normal; line-height:1.45; font-size:11px; }
.fct-v2 .fct-path__portal > .i,.fct-v2 .balance__panel a > .i,.fct-v2 .v2-contact-card__portal > .i { flex:none; }
.fct-v2 .v2-contact-card__portal { text-align:center; }
.fct-v2 .v2-contact__in > * { min-width:0; }
.fct-v2 .v2-contact-card__email { overflow-wrap:anywhere; }
.fct-v2 .fct-path__video { display:block; margin-top:14px; padding:14px 0 0; text-align:center; }
.fct-v2 .fct-path__video button { display:flex; flex-direction:row; align-items:center; justify-content:center; gap:10px; width:100%; padding:5px 7px; border-radius:12px; color:var(--navy); background:transparent; font-family:var(--f-display); font-size:13px; line-height:1.4; font-weight:800; text-align:left; cursor:pointer; }
.fct-path__play { display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:50%; color:#fff; background:linear-gradient(145deg,#1295aa,#08677b); border:1px solid rgba(255,255,255,.7); box-shadow:0 5px 12px -6px rgba(7,99,118,.45),0 0 0 4px rgba(17,142,162,.07); transition:transform .24s,box-shadow .24s; }
.fct-v2 .fct-path__video button .i { width:22px; height:22px; margin-left:2px; fill:currentColor; stroke-width:1.25; }
.fct-v2 .fct-path__video button:hover .fct-path__play { transform:translateY(-2px); box-shadow:0 9px 20px -9px rgba(7,99,118,.5),0 0 0 6px rgba(17,142,162,.09); }
.fct-v2 .fct-path__video button:focus-visible { outline:3px solid #f69738; outline-offset:4px; }
.fct-v2 .fct-path__video p { margin:6px auto 0; max-width:24em; color:var(--ink-2); font-size:11px; line-height:1.5; }
html.fct-tutorial-open { overflow:hidden; }
.fct-tutorial { width:min(960px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid #dce9ed; border-radius:20px; background:#f7fbfc; color:var(--navy); box-shadow:0 30px 100px rgba(0,20,30,.3); overflow:auto; overscroll-behavior:contain; }
.fct-tutorial::backdrop { background:rgba(6,26,38,.72); backdrop-filter:blur(5px); }
.fct-tutorial__inner { padding:16px; }
.fct-tutorial__head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:12px; }
.fct-tutorial__head p { margin:0 0 6px; font-family:var(--f-mono); font-size:10px; letter-spacing:.06em; color:var(--teal-ink); text-transform:uppercase; }
.fct-tutorial__head h2 { margin:0; font-family:var(--f-display); font-size:clamp(19px,2.4vw,27px); line-height:1.3; font-weight:800; letter-spacing:-.025em; }
.fct-tutorial__close { flex:none; display:grid; place-items:center; width:40px; height:40px; border:1px solid #d2e3e9; border-radius:50%; background:#fff; color:var(--navy); cursor:pointer; }
.fct-tutorial__close:hover { background:#e8f4f7; }
.fct-tutorial__close:focus-visible { outline:3px solid #ef9435; outline-offset:3px; }
.fct-tutorial__screen { position:relative; overflow:hidden; border-radius:14px; background:#0b2a3a; }
.fct-tutorial video { display:block; width:100%; aspect-ratio:16/9; max-height:calc(100dvh - 240px); object-fit:contain; background:#0b2a3a; }
.fct-tutorial__email { position:absolute; z-index:2; display:block; border-radius:999px; cursor:pointer; -webkit-tap-highlight-color:rgba(255,174,73,.25); }
.fct-tutorial__email:hover { background:rgba(255,255,255,.08); box-shadow:0 0 0 2px rgba(255,207,146,.9),0 0 18px rgba(255,162,54,.25); }
.fct-tutorial__email:focus-visible { outline:3px solid #fff; outline-offset:4px; box-shadow:0 0 0 7px rgba(255,162,54,.5); }
.fct-tutorial__email[hidden],.fct-tutorial__fullscreen[hidden] { display:none; }
.fct-tutorial__fullscreen { position:absolute; z-index:3; top:10px; right:10px; display:grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; background:rgba(6,30,43,.72); cursor:pointer; }
.fct-tutorial__fullscreen .i { width:17px; height:17px; }
.fct-tutorial__fullscreen:hover { background:#087b91; }
.fct-tutorial__fullscreen:focus-visible { outline:3px solid #ffb25b; outline-offset:3px; }
.fct-tutorial__screen:fullscreen { width:100%; height:100%; border-radius:0; }
.fct-tutorial__screen:fullscreen video { height:100%; max-height:none; aspect-ratio:auto; }
.fct-tutorial__screen.has-fullscreen-control video::-webkit-media-controls-fullscreen-button { display:none; }
.fct-tutorial__footer { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:14px 2px 0; }
.fct-tutorial__footer p { flex:1; margin:0; font-size:13px; line-height:1.6; color:var(--ink-2); }
.fct-tutorial__contacts { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:none; padding:11px 16px; border:1px solid #c6dfe5; border-radius:999px; color:var(--teal-ink); background:#fff; font-size:12px; line-height:1.4; font-weight:800; text-decoration:none; }
.fct-tutorial__contacts:hover { background:#e7f3f6; border-color:#91bfcb; }
.fct-tutorial__contacts:focus-visible { outline:3px solid #ef9435; outline-offset:3px; }
.fct-tutorial__inner > p { margin:14px 2px 0; font-size:13px; line-height:1.6; color:var(--ink-2); }
.fct-tutorial__error { padding:12px; border-radius:8px; background:#fff0df; }
@media (min-width:1021px) and (max-height:760px) {
  .fct-v2 .hero__actions { padding-top:28px; padding-bottom:0; }
}
@media (max-width:1020px) {
  .fct-v2 .hero__actions { margin-top:0; padding-top:32px; padding-bottom:0; }
  .fct-v2 .v2-contact__in { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:700px) {
  .fct-v2 .fct-path__video { margin-top:10px; padding-top:0; }
  .fct-v2 .fct-path__video button { gap:10px; width:auto; margin-inline:auto; }
  .fct-tutorial__footer { flex-wrap:wrap; gap:12px; }
  .fct-tutorial__footer p { flex-basis:100%; font-size:12px; }
  .fct-tutorial__contacts { margin-left:auto; padding:9px 14px; }
}
@media (max-width:640px) {
  .fct-v2 .fct-path__head > div,.fct-v2 .fct-path__portal { flex-basis:auto; }
  .fct-v2 .nav__contact { padding:6px 8px; gap:7px; }
  .fct-v2 .nav__contact > .i:first-child { width:16px; height:16px; }
  .fct-v2 .nav__contact > .i:last-child { display:none; }
  .fct-v2 .nav__contact small { font-size:8px; }
  .fct-v2 .nav__contact strong { font-size:10px; }
  .fct-v2 .hero__actions { gap:8px 20px; padding-top:28px; }
  .fct-v2 .balance__pill > a { padding:9px 10px; font-size:13px; }
  .fct-v2 .balance__pill > a strong { max-width:23em; }
  .fct-v2 .balance__help { width:34px; height:34px; }
  .fct-v2 .v2-contact-card__email { min-height:62px; padding:6px 7px 6px 15px; gap:9px; font-size:clamp(14px,3.9vw,19px); }
  .fct-v2 .v2-contact-card__email > .i { width:20px; height:20px; }
  .fct-v2 .v2-contact-card__send { width:44px; height:44px; }
  .fct-tutorial { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:18px; }
  .fct-tutorial__inner { padding:14px; }
  .fct-tutorial__head { gap:10px; }
  .fct-tutorial__head p { font-size:8px; }
  .fct-tutorial__close { width:36px; height:36px; }
  .fct-tutorial__inner > p { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .fct-v2 .nav__contact,.fct-path__play,.fct-v2 .hero__scroll { transition:none; }
  .fct-v2 .fct-path__video button:hover .fct-path__play { transform:none; }
}
/* The hero grows with the available canvas, without leaving the copy at the top. */
.fct-v2 .hero__title em { display:block; }
.fct-v2 .hero__sub { margin-bottom:0; }
.fct-v2 .hero__description { max-width:650px; margin:16px 0 0; color:rgba(255,255,255,.8); font-size:clamp(14px,1.05vw,18px); line-height:1.6; }
.fct-v2 .hero__term { margin:14px 0 0; color:#fff; font-size:clamp(14px,1.05vw,17px); font-weight:700; line-height:1.5; }
@media (min-width:1021px) {
  .fct-v2 .hero__copy { align-self:center; padding-top:0; }
  .fct-v2 .hero__title { font-size:clamp(44px,min(4.2vw,7.4svh),80px); }
  .fct-v2 .hero__sub { max-width:720px; font-size:clamp(18px,1.3vw,25px); line-height:1.4; margin-top:20px; }
  .fct-v2 .hero__in { padding-block:clamp(28px,4svh,48px) clamp(56px,6svh,72px); }
  .fct-v2 .hero__actions { padding-top:clamp(26px,3.2svh,36px); padding-bottom:0; }
}
@media (min-width:1600px) and (min-height:840px) {
  .fct-v2 { --fct-viewport-cap:960px; }
  .fct-v2 .hero__description { max-width:740px; }
}
@media (max-width:640px) {
  .fct-v2 .hero__sub { font-size:18px; line-height:1.45; }
  .fct-v2 .hero__description { margin-top:14px; font-size:14px; }
}
/* A usable player in short laptop windows and mobile landscape. */
@media (max-height:600px) and (orientation:landscape) {
  .fct-tutorial { width:min(820px,calc(100vw - 24px)); max-height:calc(100dvh - 16px); }
  .fct-tutorial__inner { padding:10px; }
  .fct-tutorial__head { margin-bottom:8px; }
  .fct-tutorial__head p { display:none; }
  .fct-tutorial__head h2 { font-size:17px; }
  .fct-tutorial video { max-height:calc(100dvh - 150px); }
  .fct-tutorial__footer { margin-top:8px; gap:10px; flex-wrap:nowrap; }
  .fct-tutorial__footer p { flex:1; font-size:11px; line-height:1.4; }
  .fct-tutorial__contacts { padding:8px 10px; font-size:11px; }
}
