/* FansFlex v8.2. Targeted first-reference fidelity and accessible functioning dialogs.
   No rasterized screenshot is used as a webpage. Layout and controls remain real HTML. */
.ff82-dialog{--ff82-gold:#e3bb6f;background:linear-gradient(150deg,#0e2638,#071421 66%);border:1px solid #b9915766;border-radius:17px;color:#f7f9fb;box-shadow:0 28px 85px #010911c9, inset 0 1px #ffffff18;width:min(900px,calc(100vw - 34px));max-width:900px;max-height:min(90vh,850px);padding:0;position:fixed;margin:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.ff82-dialog::backdrop{background:rgba(2,10,17,.83);backdrop-filter:blur(7px)}
.ff82-dialog[open]{animation:ff82-enter .15s ease both}
.ff82-dialog[hidden],.ff82-tour-slide[hidden]{display:none!important}
.ff82-dialog-is-open{overflow:hidden}
.ff82-dialog :is(a,button):focus-visible{outline:3px solid #ffdb8b;outline-offset:3px}
.ff82-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;border-bottom:1px solid #ffffff29}
.ff82-dialog-header img{width:146px;height:auto;object-fit:contain}
.ff82-dialog-close{display:grid;place-items:center;width:39px;height:39px;border:1px solid #ffffff5e;border-radius:50%;color:#fff;background:transparent;cursor:pointer}
.ff82-dialog-close span{font-size:28px;line-height:1}
.ff82-tour-heading{padding:24px 32px 12px}
.ff82-dialog h2,.ff82-dialog h3{color:#f6f8fa;margin:0}
.ff82-dialog h2{font:700 clamp(28px,3vw,40px)/1.08 Georgia,serif;letter-spacing:-.02em}
.ff82-dialog p{color:#cbd7e0;line-height:1.52}
.ff82-tour-heading p{margin:10px 0 0;font-size:14px}
.ff82-tour-heading .ffm-overline{color:#e6c68c;font-size:10px;letter-spacing:.25em;display:block;margin-bottom:9px}
.ff82-tour-slides{padding:8px 32px}
.ff82-tour-slide{display:grid;grid-template-columns:55% 45%;align-items:center;gap:14px;min-height:295px}
.ff82-tour-image{background:#112e45;border:1px solid #53708a66;border-radius:13px;overflow:hidden;height:280px;display:grid;place-items:center}
.ff82-tour-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.ff82-tour-copy{padding:14px 22px 14px 14px}
.ff82-tour-copy small{display:block;color:#e6c68c;letter-spacing:.17em;font-size:11px;text-transform:uppercase;margin-bottom:14px}
.ff82-tour-copy h3{font:700 clamp(25px,2.5vw,32px)/1.08 Georgia,serif;letter-spacing:-.02em}
.ff82-tour-copy p{font-size:14px;margin:16px 0}
.ff82-tour-copy a{display:inline-flex;gap:8px;align-items:center;color:#f5d18e;font-weight:700;font-size:13px;text-decoration:none}
.ff82-tour-copy a:hover{color:white}
.ff82-tour-controls{padding:20px 32px 24px;display:flex;gap:18px;align-items:center;justify-content:space-between}
.ff82-tour-controls>span{color:#c9d6e1;font-size:12px;font-variant-numeric:tabular-nums}
.ff82-tour-dots{display:flex;align-items:center;justify-content:center;gap:10px}
.ff82-tour-dots button{width:9px;height:9px;border:0;background:#8194a4;border-radius:50%;padding:0;cursor:pointer}
.ff82-tour-dots button.is-active{background:#dfb66b;box-shadow:0 0 0 4px #e2be7144}
.ff82-tour-arrows{display:flex;gap:8px}
.ff82-tour-arrows button{width:41px;height:41px;border-radius:12px;background:#1c3a51;color:#fff;border:1px solid #688397;display:grid;place-items:center;cursor:pointer}
.ff82-tour-arrows button:disabled{opacity:.35;cursor:default}
.ff82-tour-arrows span{font-size:21px;line-height:1}
.ff82-pricing{padding-bottom:30px}
.ff82-pricing>.ffm-overline,.ff82-pricing>h2,.ff82-pricing>p,.ff82-pricing-cards,.ff82-pricing-actions{margin-left:32px;margin-right:32px}
.ff82-pricing>.ffm-overline{display:block;margin-top:27px;color:#dfbd7f}
.ff82-pricing>h2{margin-top:10px}
.ff82-pricing>p{font-size:15px;margin-top:14px;max-width:740px}
.ff82-pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:27px}
.ff82-pricing-cards>div{border:1px solid #49637c88;background:#102b40;padding:20px;border-radius:13px;display:flex;flex-direction:column;gap:10px}
.ff82-pricing-cards img{width:30px;height:30px;object-fit:contain}
.ff82-pricing-cards strong{font-size:15px}
.ff82-pricing-cards small{color:#b7c8d4;line-height:1.5}
.ff82-pricing-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:25px}
.ff82-pricing-actions>a:not(.ffm-button){font-size:14px;color:#e5c181}
@keyframes ff82-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.ff82-dialog[open]{animation:none}}
@media(max-width:650px){
  .ff82-dialog{border-radius:12px;max-height:94vh}
  .ff82-dialog-header{padding:11px 16px}
  .ff82-dialog-header img{width:122px}
  .ff82-tour-heading{padding:20px 18px 9px}
  .ff82-tour-slides{padding:4px 18px}
  .ff82-tour-slide{grid-template-columns:1fr;gap:0}
  .ff82-tour-image{height:170px}
  .ff82-tour-copy{padding:18px 4px}
  .ff82-tour-copy h3{font-size:25px}
  .ff82-tour-copy p{font-size:13px}
  .ff82-tour-controls{padding:14px 18px 18px}
  .ff82-pricing>.ffm-overline,.ff82-pricing>h2,.ff82-pricing>p,.ff82-pricing-cards,.ff82-pricing-actions{margin-left:19px;margin-right:19px}
  .ff82-pricing-cards{grid-template-columns:1fr;gap:9px}
  .ff82-pricing-cards>div{padding:15px}
  .ff82-pricing-actions{margin-top:18px}
}
/* First reference uses somewhat larger supporting labels and more readable footers.
   Preserve the exact previous section heights and media breakpoints. */
@media(min-width:1200px){
 .ffm-hero-photo{filter:brightness(1.095) saturate(1.04)}
 .ffm-benefit p{font-size:12px;line-height:1.27}
 .ffm-benefit h2{font-size:16px}
 .ffm-step p{font-size:12px}
 .ffm-story p{font-size:13px;line-height:1.27}
}
/* Use reference-aligned carousel arrows: previous/next flank cards; dots below. */
.ffm-stories .ffm-container{position:relative}
.ffm-story-controls{position:relative;justify-content:center}
.ffm-story-controls>.ffm-story-prev,.ffm-story-controls>.ffm-story-next{position:absolute;bottom:calc(70px + 100%);z-index:2;width:35px;height:35px;box-shadow:0 2px 10px #53687a25}
.ffm-story-controls>.ffm-story-prev{left:-13px}
.ffm-story-controls>.ffm-story-next{right:-13px}
@media(max-width:680px){.ffm-story-controls>.ffm-story-prev,.ffm-story-controls>.ffm-story-next{bottom:calc(65px + 100%);width:33px;height:33px;left:0}.ffm-story-controls>.ffm-story-next{left:auto;right:0}}
