/* Events intro and discovery only. The App owns event registration. */
body.ffe-direction{--home-paper:#FFFFFF;--home-ink:#0B0B0B;--home-muted:#606060;--home-line:#E2E4E7;--home-soft:#F7F8F9;--home-red:#E8201A;--home-red-dark:#C91B16;--home-sans:Inter,"Helvetica Neue","Segoe UI",Arial,sans-serif;--home-max:1240px;--home-gutter:clamp(22px,5.2vw,88px);--nav-h:88px;--sans:var(--home-sans);--ink:var(--home-ink);--muted:var(--home-muted);--line:var(--home-line);--red:var(--home-red);--soft:var(--home-soft);margin:0;background:#fff;color:var(--home-ink);font:400 16px/1.6 var(--home-sans);-webkit-font-smoothing:antialiased}
.ffe-direction *,.ffe-direction *::before,.ffe-direction *::after{box-sizing:border-box}
.ffe-direction :is(h1,h2,h3,h4,p,figure,ul,ol){margin:0}
.ffe-direction a{color:inherit;text-decoration:none;touch-action:manipulation}
.ffe-direction :is(button,input){font:inherit;touch-action:manipulation}
.ffe-direction img,.ffe-direction svg{display:block;max-width:100%}
.ffe-direction [hidden]{display:none!important}
.ffe-direction :where(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid var(--home-red-dark);outline-offset:4px}
.ffe-direction ::selection{background:var(--home-red);color:#fff}
.ffe-direction .ff-skip-link{position:fixed;top:-120px;left:16px;z-index:1100;padding:12px 20px;background:var(--home-ink);color:#fff}
.ffe-direction .ff-skip-link:focus{top:12px}
.ffe-direction #main-content{width:100%;max-width:none;margin:0;padding:0}
.ffe-direction #main-content [id]{scroll-margin-top:calc(var(--nav-h) + 24px)}
.ffe-direction .ffe-shell{width:min(var(--home-max),calc(100% - 2 * var(--home-gutter)));margin-inline:auto}
.ffe-direction .ffe-eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.ffe-direction .ffe-eyebrow::before{content:"";width:22px;height:2px;background:var(--home-red);flex:0 0 22px}
.ffe-direction .ffe-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin-top:28px}
.ffe-direction .ff-btn{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:48px;padding:13px 19px;border:1px solid #C9CDD2;border-radius:8px;background:#fff;color:var(--home-ink);font-size:13px;font-weight:550;line-height:1.5;text-align:center;box-shadow:none;cursor:pointer;transition:background-color .15s,border-color .15s}
.ffe-direction .ff-btn:hover{background:var(--home-soft);border-color:var(--home-ink)}
.ffe-direction .ff-btn-red{background:var(--home-red);border-color:var(--home-red);color:#fff}
.ffe-direction .ff-btn-red:hover{background:var(--home-red-dark);border-color:var(--home-red-dark)}
.ffe-direction .ff-btn[aria-disabled="true"]{cursor:default;background:var(--home-soft);color:var(--home-muted)}
.ffe-direction .ffe-text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:13px;font-weight:550;text-decoration:underline;text-underline-offset:5px}
.ffe-direction .ffe-text-link span{color:var(--home-red-dark);font-size:16px}
.ffe-direction .ffe-text-link:hover{color:var(--home-red-dark)}
.ffe-direction .site-header{background:#fff!important;border-bottom-color:var(--home-line)!important;backdrop-filter:none!important}
.ffe-direction .site-header .nav-wrap{width:min(var(--home-max),calc(100% - 2 * var(--home-gutter)))!important;max-width:none!important;padding:0!important;gap:26px!important}
.ffe-direction .site-header .brand{width:196px!important;max-width:196px!important;flex-basis:196px!important}
.ffe-direction .site-header .brand img{max-width:196px!important}
.ffe-direction .site-header .nav-links{gap:10px!important}
.ffe-direction .site-header .nav-links>a,.ffe-direction .site-header .nav-links>.nav-dropdown>button{min-height:44px!important;padding:0 8px!important;font-size:12px!important;font-weight:500!important;border-radius:4px!important}
.ffe-direction .site-header .nav-links>a.active{border-color:transparent!important;background:transparent!important}
.ffe-direction .site-header .nav-search-icon{width:40px!important;min-width:40px!important;flex-basis:40px!important;padding:0!important}
.ffe-direction .site-header .nav-dropdown-menu{border-radius:12px!important;padding:10px!important;box-shadow:0 16px 40px #0B0B0B12!important}
.ffe-direction .site-header .nav-dropdown-menu a{min-height:44px!important;font-size:12px!important}
.ffe-direction .site-header .hamburger{width:44px;height:44px;justify-content:center;align-items:center}
.ffe-direction footer.site-footer{display:grid;grid-template-columns:1.4fr repeat(3,1fr)!important;width:min(var(--home-max),calc(100% - 2 * var(--home-gutter)))!important;max-width:none!important;margin:auto;padding:42px 0 54px!important;border-top:1px solid var(--home-line);gap:40px!important;font-size:12px}
.ffe-direction .footer-brand img{width:158px;margin-bottom:17px}
.ffe-direction .footer-brand p{max-width:260px;font-size:13px;margin-bottom:12px}
.ffe-direction .site-footer h3{font-size:10px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:14px;color:var(--home-muted)}
.ffe-direction .site-footer .footer-col a{display:block;padding-block:4px;font-size:12px!important;overflow-wrap:anywhere}
.ffe-direction .site-footer .footer-col a:hover{text-decoration:underline;text-underline-offset:4px}
.ffe-direction .site-footer .footer-legal{opacity:1!important;font-size:10.5px!important;color:var(--home-muted)}
.ffe-direction .site-footer .footer-quiet-link{opacity:1!important}
.ffe-direction .ffe-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(34px,5.5vw,80px);align-items:center;padding-block:70px 62px}
.ffe-direction .ffe-hero-copy{min-width:0}
.ffe-direction h1{font-size:clamp(46px,5vw,69px);font-weight:600;line-height:1.06;letter-spacing:-.055em;text-wrap:balance;margin-top:22px}
.ffe-direction .ffe-lead{font-size:16px;line-height:1.8;color:var(--home-muted);margin-top:23px;max-width:600px}
.ffe-direction .ffe-note{font-size:11.5px;color:var(--home-muted);margin-top:18px;max-width:450px}
.ffe-direction .ffe-hero-photo img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;border-radius:8px}
.ffe-direction .ffe-hero-photo figcaption{font-size:11px;color:var(--home-muted);margin-top:13px}
.ffe-direction h2{font-size:clamp(32px,3.5vw,45px);font-weight:550;line-height:1.13;letter-spacing:-.043em;text-wrap:balance}
.ffe-direction .ffe-section-head{display:grid;grid-template-columns:1fr;align-items:end;gap:0;margin-bottom:30px}
.ffe-direction .ffe-section-head h2{margin-top:20px}
.ffe-direction .ffe-section-head p{font-size:14px;line-height:1.85;color:var(--home-muted);max-width:500px}
.ffe-direction .ffe-section-head p+p{margin-top:14px}
.ffe-direction .ffe-list-section{padding-block:46px 58px;border-top:1px solid var(--home-line)}
.ffe-direction .ffe-events-heading{margin-bottom:28px}
.ffe-direction .ff-embed-shell,.ffe-direction .ff-embed-placeholder{padding:0;border:0;border-radius:0;background:transparent;min-height:0}
.ffe-direction .ff-event-cards{min-width:0}
.ffe-direction .ff-event-group+ .ff-event-group,.ffe-direction .ff-events-notice+ .ff-event-group{margin-top:36px}
.ffe-direction .ff-event-group>h3{font-size:19px;font-weight:550;letter-spacing:-.02em;line-height:1.4;margin:0 0 18px}
.ffe-direction .ff-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}
.ffe-direction .ff-event-card{display:flex;flex-direction:column;min-width:0;padding:26px 28px;border:1px solid var(--home-line);border-radius:8px;background:#fff}
.ffe-direction .ff-event-card h4{font-size:24px;font-weight:550;line-height:1.25;letter-spacing:-.03em;overflow-wrap:anywhere;margin:0 0 16px}
.ffe-direction .ff-event-date{font-size:11.5px;line-height:1.6;color:var(--home-muted);margin:0 0 16px}
.ffe-direction .ff-event-summary{font-size:14px;line-height:1.75;color:var(--home-muted);margin:0 0 16px;overflow-wrap:anywhere}
.ffe-direction .ff-event-meta{display:flex;flex-wrap:wrap;gap:5px 16px;font-size:12px;line-height:1.7;color:var(--home-muted);margin:0 0 14px}
.ffe-direction .ff-event-card-actions{margin-top:auto;padding-top:6px}
.ffe-direction .ff-event-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;font-weight:550;text-decoration:underline;text-underline-offset:5px}
.ffe-direction .ff-event-link>span{color:var(--home-red-dark);font-size:16px;text-decoration:none}
.ffe-direction .ff-event-link:hover{color:var(--home-red-dark)}
.ffe-direction .ff-event-closed{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--home-muted)}
.ffe-direction .ff-events-notice{display:flex;justify-content:space-between;align-items:center;gap:12px 28px;padding:19px 24px;background:var(--home-soft);border-radius:6px}
.ffe-direction .ff-events-notice>p,.ffe-direction p.ff-events-notice{font-size:14px;line-height:1.7;color:var(--home-muted)}
.ffe-direction .ff-events-notice>.ff-event-link{flex:none}
.ffe-direction .ff-inline-newsletter{max-width:500px;margin-top:23px}
.ffe-direction .ff-inline-newsletter-label{display:block;font-size:12px;font-weight:550;margin-bottom:8px}
.ffe-direction .ff-inline-newsletter-row{display:flex;gap:10px;align-items:stretch}
.ffe-direction .ff-inline-newsletter-input{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #B9BDC2;border-radius:6px;background:#fff;color:var(--home-ink);font-size:16px}
.ffe-direction .ff-inline-newsletter-note{font-size:11px!important}
.ffe-direction .ff-embed-placeholder .ff-consent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.ffe-direction .ffe-atmosphere{background:var(--home-ink);color:#fff;padding-block:65px 62px}
.ffe-direction .ffe-atmosphere .ffe-section-head{margin-bottom:32px}
.ffe-direction .ffe-atmosphere .ffe-section-head p{color:#C8C8C8}
.ffe-direction .ffe-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ffe-direction .ffe-photo-grid img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;border-radius:4px}
.ffe-direction .ffe-photo-grid figcaption{font-size:11px;line-height:1.7;color:#C8C8C8;margin-top:11px}
.ffe-direction .ffe-next{padding-block:70px 67px}
.ffe-direction .ffe-next h2{margin-top:20px}
.ffe-direction .ffe-next>p{font-size:15px;line-height:1.8;color:var(--home-muted);max-width:640px;margin-top:19px}
.ffe-direction .ffe-next .ffe-practical{font-size:12px;margin-top:31px;max-width:none}
@media(max-width:1100px){.ffe-direction .ffe-hero-photo img{aspect-ratio:1}}
@media(max-width:900px){.ffe-direction .ffe-hero{grid-template-columns:1fr;padding-block:50px;gap:32px}.ffe-direction .ffe-hero-copy{max-width:700px}.ffe-direction h1{font-size:clamp(44px,7vw,62px);max-width:700px}.ffe-direction .ffe-hero-photo img{aspect-ratio:1.9;max-height:390px}.ffe-direction .ffe-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ffe-direction footer.site-footer{grid-template-columns:1.3fr 1fr!important;gap:30px!important}}
@media(max-width:639px){body.ffe-direction{--nav-h:76px;--home-gutter:22px}.ffe-direction .site-header .brand,.ffe-direction .site-header .brand img{width:162px!important;max-width:162px!important;flex-basis:162px!important}.ffe-direction .ffe-hero{padding-block:37px 42px;gap:26px}.ffe-direction h1{font-size:43px;line-height:1.08;letter-spacing:-.047em}.ffe-direction .ffe-lead{font-size:15px;line-height:1.8;margin-top:21px}.ffe-direction .ffe-hero-photo img{aspect-ratio:1.5}.ffe-direction .ffe-eyebrow{font-size:10px}.ffe-direction .ffe-actions{gap:9px 17px;margin-top:22px}.ffe-direction .ff-btn{font-size:12px;padding:12px 15px}.ffe-direction h2{font-size:32px}.ffe-direction .ffe-list-section{padding-block:34px 39px}.ffe-direction .ff-event-list{grid-template-columns:1fr;gap:16px}.ffe-direction .ff-event-card{padding:23px 22px}.ffe-direction .ff-event-card h4{font-size:23px}.ffe-direction .ff-events-notice{align-items:flex-start;flex-direction:column;gap:6px;padding:18px 20px}.ffe-direction .ff-event-group+ .ff-event-group,.ffe-direction .ff-events-notice+ .ff-event-group{margin-top:28px}.ffe-direction .ff-inline-newsletter-row{flex-direction:column}.ffe-direction .ffe-atmosphere{padding-block:41px}.ffe-direction .ffe-photo-grid{gap:18px 12px}.ffe-direction .ffe-photo-grid img{aspect-ratio:1.25}.ffe-direction .ffe-next{padding-block:44px 46px}.ffe-direction footer.site-footer{grid-template-columns:1fr 1fr!important;gap:27px!important;padding-block:32px 42px!important}.ffe-direction .footer-brand{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.ffe-direction *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.ffe-direction .ff-event-card,.ffe-direction .ff-events-notice,.ffe-direction .ff-btn{border:1px solid CanvasText}.ffe-direction .ff-event-link{color:LinkText}}
@media print{body.ffe-direction{font-size:11pt;background:#fff;color:#000;--home-gutter:0px;--home-max:100%}.ffe-direction .site-header,.ffe-direction .ffe-actions,.ffe-direction .ff-inline-newsletter,.ffe-direction #ff-newsletter-launcher,.ffe-direction #ff-fluxy-launcher{display:none!important}.ffe-direction .ffe-shell{width:100%}.ffe-direction .ffe-hero,.ffe-direction .ffe-section-head{display:block}.ffe-direction .ffe-hero{padding-block:0 20px}.ffe-direction h1{font-size:30pt}.ffe-direction h2{font-size:23pt}.ffe-direction .ffe-hero-photo{display:none}.ffe-direction .ffe-list-section,.ffe-direction .ffe-next{padding-block:20px}.ffe-direction .ffe-atmosphere{background:#fff;color:#000;padding-block:20px;border-block:1px solid #999}.ffe-direction .ffe-photo-grid figcaption{color:#333}.ffe-direction .ff-event-card,.ffe-direction figure{break-inside:avoid}.ffe-direction .ff-event-group>h3{break-after:avoid}.ffe-direction .ff-event-list{grid-template-columns:1fr}.ffe-direction .ffe-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ffe-direction footer.site-footer{grid-template-columns:repeat(4,minmax(0,1fr));font-size:9pt}.ffe-direction h2,.ffe-direction h3{break-after:avoid}.ffe-direction .ff-event-card-actions a::after{content:" (" attr(href) ")";font-size:8pt;overflow-wrap:anywhere}}

/* Reuse the approved homepage widget treatment; no shared runtime is changed. */
.ffe-direction .ffni { left: auto; right: 24px; bottom: 24px; width: 376px; max-width: calc(100vw - 48px); max-height: calc(100vh - 110px); max-height: calc(100dvh - 110px); padding: 24px; border: 1px solid var(--home-line); border-radius: 12px; background: #fff; color: var(--home-ink); font-family: var(--home-sans); box-shadow: 0 10px 32px #0B0B0B12; animation-name: none; }
.ffe-direction .ffni.ffni-lifted { bottom: calc(82px + env(safe-area-inset-bottom,0px)); }
.ffe-direction .ffni-close { top: 10px; right: 10px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--home-muted); font: 400 23px/1 var(--home-sans); }
.ffe-direction .ffni-close:hover { background: var(--home-soft); color: var(--home-ink); }
.ffe-direction .ffni-kicker { margin: 0 36px 12px 0; color: var(--home-red-dark); font: 600 10px/1.5 var(--home-sans); letter-spacing: .09em; }
.ffe-direction .ffni-title { margin: 0 22px 10px 0; color: var(--home-ink); font: 600 20px/1.25 var(--home-sans); letter-spacing: -.035em; }
.ffe-direction .ffni-body { margin: 0 0 20px; color: var(--home-muted); font: 400 13px/1.65 var(--home-sans); }
.ffe-direction .ffni-label { margin: 0 0 7px; color: var(--home-ink); font: 500 12px/1.5 var(--home-sans); }
.ffe-direction .ffni-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.ffe-direction .ffni-input { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #C9CDD2; border-radius: 8px; background: #fff; color: var(--home-ink); font: 400 16px/1.4 var(--home-sans); box-shadow: none; }
.ffe-direction .ffni-submit { min-height: 46px; padding: 10px 16px; border: 1px solid var(--home-red-dark); border-radius: 8px; background: var(--home-red-dark); color: #fff; font: 600 13px/1.4 var(--home-sans); box-shadow: none; }
.ffe-direction .ffni-submit:hover { background: #AB1713; border-color: #AB1713; }
.ffe-direction .ffni-submit:disabled { opacity: .65; cursor: wait; }
.ffe-direction .ffni-helper,
.ffe-direction .ffni-links { margin: 12px 0 0; color: var(--home-muted); font: 400 11.5px/1.6 var(--home-sans); }
.ffe-direction .ffni-links a { color: var(--home-muted); text-decoration: underline; text-underline-offset: 3px; }
.ffe-direction .ffni-error { margin: 10px 0 0; color: var(--home-red-dark); font: 500 12px/1.6 var(--home-sans); }
.ffe-direction .ffni-error:empty { display: none; }
.ffe-direction .ffni-input:focus-visible { border-color: var(--home-red-dark); outline: 1px solid var(--home-red-dark); outline-offset: 0; box-shadow: none; }
.ffe-direction .ffni :where(button,a,.ffni-done):focus-visible { outline: 2px solid var(--home-red-dark); outline-offset: 3px; }
.ffe-direction .ffni-input[aria-invalid="true"] { border-color: var(--home-red-dark); }
/* Opening Fluxy never discards an in-progress newsletter address. Suspend its
   presentation while the real panel is open; the existing card resumes on close. */
.ffe-direction:has(.ff-fluxi-panel.is-open) .ffni { display: none !important; }

.ffe-direction .ff-fluxi-launcher { right: 24px; bottom: calc(24px + env(safe-area-inset-bottom,0px)); min-height: 44px; padding: 0 14px 0 9px; border: 1px solid var(--home-line); border-radius: 10px; background: #fff; color: var(--home-ink); font: 550 13px/1.4 var(--home-sans); box-shadow: none; backdrop-filter: none; gap: 9px; }
.ffe-direction .ff-fluxi-launcher:hover { background: var(--home-soft); color: var(--home-ink); transform: none; box-shadow: none; }
.ffe-direction .ff-fluxi-launcher-mark { box-shadow: none !important; filter: none !important; width: 24px; height: 24px; border-radius: 5px; background: var(--home-red-dark); color: #fff; font: 650 12px/1 var(--home-sans); }
.ffe-direction .ff-fluxi-panel { right: 24px; bottom: calc(82px + env(safe-area-inset-bottom,0px)); width: min(420px,calc(100vw - 48px)); max-height: min(640px,calc(100vh - 110px)); max-height: min(640px,calc(100dvh - 110px)); border: 1px solid var(--home-line); border-radius: 12px; background: #fff; color: var(--home-ink); font-family: var(--home-sans); box-shadow: 0 12px 36px #0B0B0B14; }
.ffe-direction .ff-fluxi-panel.is-open { grid-template-rows: auto minmax(0,1fr) auto; }
.ffe-direction .ff-fluxi-head { padding: 20px; align-items: flex-start; gap: 12px; background: #fff; color: var(--home-ink); border-bottom: 1px solid var(--home-line); }
.ffe-direction .ff-fluxi-head strong { font: 600 16px/1.4 var(--home-sans); letter-spacing: -.025em; }
.ffe-direction .ff-fluxi-head strong::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 8px; margin-bottom: 2px; border-radius: 1px; background: var(--home-red); }
.ffe-direction .ff-fluxi-head span { margin-top: 7px; color: var(--home-muted); font: 400 12px/1.6 var(--home-sans); }
.ffe-direction .ff-fluxi-close { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--home-muted); }
.ffe-direction .ff-fluxi-close:hover { background: var(--home-soft); color: var(--home-ink); }
.ffe-direction .ff-fluxi-messages { min-height: 0; max-height: 360px; padding: 20px; gap: 18px; background: #fff; overflow-y: auto; overscroll-behavior: contain; }
.ffe-direction .ff-fluxi-msg { font: 400 14px/1.65 var(--home-sans); border-radius: 8px; overflow-wrap: anywhere; }
.ffe-direction .ff-fluxi-msg.bot { padding: 0; border: 0; background: #fff; color: var(--home-ink); box-shadow: none; }
.ffe-direction .ff-fluxi-msg.user { margin-left: 28px; padding: 12px 14px; border: 1px solid var(--home-line); background: var(--home-soft); color: var(--home-ink); }
.ffe-direction .ff-fluxi-cta,
.ffe-direction .ff-fluxi-account-gate { padding: 14px; border: 1px solid var(--home-line); border-radius: 8px; background: #fff; box-shadow: none; }
.ffe-direction .ff-fluxi-cta strong,
.ffe-direction .ff-fluxi-account-gate strong { font-weight: 600; }
.ffe-direction .ff-fluxi-form { grid-template-columns: minmax(0,1fr) 46px; gap: 10px; padding: 16px; border-top: 1px solid var(--home-line); background: #fff; }
.ffe-direction .ff-fluxi-form textarea { width: 100%; min-width: 0; min-height: 48px; max-height: 112px; padding: 12px; border: 1px solid #C9CDD2; border-radius: 8px; background: #fff; color: var(--home-ink); font: 400 16px/1.45 var(--home-sans); box-shadow: none; }
.ffe-direction .ff-fluxi-form textarea:focus,
.ffe-direction .ff-fluxi-signin-form input:focus { border-color: var(--home-red-dark); outline: 1px solid var(--home-red-dark); outline-offset: 0; box-shadow: none; }
.ffe-direction .ff-fluxi-send { width: 46px; height: 48px; align-self: end; border: 0; border-radius: 8px; background: var(--home-red-dark); color: #fff; box-shadow: none; }
.ffe-direction .ff-fluxi-send:hover { background: #AB1713; transform: none; }
.ffe-direction .ff-fluxi-send:disabled { opacity: .6; cursor: wait; }
.ffe-direction .ff-fluxi-panel :where(button,a):focus-visible,
.ffe-direction .ff-fluxi-launcher:focus-visible { outline: 2px solid var(--home-red-dark); outline-offset: 3px; }
.ffe-direction .ff-fluxi-head .ff-fluxi-identity { color: var(--home-muted); }
.ffe-direction .ff-fluxi-identity button { min-height: 32px; border: 1px solid #C9CDD2; border-radius: 6px; background: #fff; color: var(--home-ink); font: 500 11px/1.5 var(--home-sans); }
.ffe-direction .ff-fluxi-signin-google,
.ffe-direction .ff-fluxi-signin-form button[type="submit"],
.ffe-direction .ff-fluxi-account-actions a { min-height: 44px; border-radius: 8px; background: var(--home-red-dark); border-color: var(--home-red-dark); color: #fff; font-weight: 600 !important; }
.ffe-direction .ff-fluxi-account-actions a + a,
.ffe-direction .ff-fluxi-account-actions.is-secondary a { background: #fff; color: var(--home-ink); border-color: #C9CDD2; }
.ffe-direction .ff-fluxi-signin-modes button { border-radius: 6px; font-weight: 500 !important; }
.ffe-direction .ff-fluxi-signin-form input { min-height: 44px; border-radius: 8px; font-size: 16px; }
.ffe-direction .ff-fluxi-signin-link { color: var(--home-red-dark); }

@media (max-width: 639px) {
  .ffe-direction .ffni,
  .ffe-direction .ffni.ffni-lifted { left: 12px; right: 12px; width: auto; max-width: none; bottom: calc(72px + env(safe-area-inset-bottom,0px)); max-height: calc(100vh - 96px); max-height: calc(100dvh - 96px); padding: 22px 20px; }
  .ffe-direction .ff-fluxi-launcher { right: 12px; bottom: calc(14px + env(safe-area-inset-bottom,0px)); width: 44px; padding: 0; justify-content: center; }
  .ffe-direction .ff-fluxi-panel { right: 12px; bottom: calc(72px + env(safe-area-inset-bottom,0px)); width: calc(100vw - 24px); max-height: calc(100vh - 96px); max-height: calc(100dvh - 96px); }
  .ffe-direction .ff-fluxi-head { padding: 16px; }
  .ffe-direction .ff-fluxi-messages { padding: 16px; }
  .ffe-direction .ff-fluxi-form { padding: 12px; }
}
@media (max-width: 360px) {
  .ffe-direction .ffni-row { grid-template-columns: minmax(0,1fr); }
  .ffe-direction .ffni-submit { width: 100%; }
}


/* The shared anti-bot binding mounts inside the real newsletter form row. */
.ffe-direction .ffni-input { grid-column: 1; grid-row: 1; }
.ffe-direction .ffni-submit { grid-column: 2; grid-row: 1; }
.ffe-direction .ffni-row > [data-ff-turnstile-widget] { grid-column: 1 / -1; grid-row: 2; justify-self: center; min-width: 0; }
@media (max-width: 360px) {
  .ffe-direction .ffni-submit { grid-column: 1; grid-row: 2; }
  .ffe-direction .ffni-row > [data-ff-turnstile-widget] { grid-row: 3; }
}



/* Final PDF polish: no floating accessibility shortcuts or Fluxy controls on paper.
   The skip link remains keyboard-accessible in the browser, and Fluxy remains live. */
.ffe-direction .ff-event-card-past .ff-event-meta{margin-bottom:0}
.ffe-direction .footer-brand img{box-shadow:none!important;filter:none!important}
@media print{
  .ffe-direction .ff-skip-link,
  .ffe-direction .ff-fluxi-launcher,
  .ffe-direction .ff-fluxi-panel,
  .ffe-direction .ff-fluxi-launcher-mark,
  .ffe-direction .ff-fluxi-overlay,
  .ffe-direction #ff-fluxy-launcher{display:none!important}
  .ffe-direction .ff-event-card-past .ff-event-meta{margin-bottom:0}
}
