:root{--wp--preset--color--navy:#0E2A4F;--wp--preset--color--navy-deep:#0A1E38;--wp--preset--color--text:#1B2A3F;--wp--preset--color--muted:#51627A;--wp--preset--color--line:#DCE3EC;--wp--preset--color--sky:#F3F6FA;--wp--preset--color--white:#FFFFFF;--wp--preset--font-family--serif:Cinzel, 'Times New Roman', Georgia, serif;--wp--preset--font-family--sans:Montserrat, 'Helvetica Neue', Helvetica, Arial, sans-serif;}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#fff;color:#1B2A3F;font-family:var(--wp--preset--font-family--sans);font-size:.9375rem;line-height:1.65}
h1,h2{font-family:var(--wp--preset--font-family--serif);font-weight:500;line-height:1.15;color:#0E2A4F}
h1{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.4rem)} h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
h3{font-family:var(--wp--preset--font-family--sans);font-size:1.0625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.35;color:#0E2A4F}
h4{font-family:var(--wp--preset--font-family--sans);font-size:.875rem;font-weight:600;line-height:1.35;color:#0E2A4F}
a{color:#0E2A4F} figure{margin:0} img{max-width:100%}
.wp-block-group > *, .wp-block-column > *{margin-top:0;margin-bottom:0}
.wp-block-group > * + *, .wp-block-column > * + *{margin-top:1.25rem}
.pv-constrained > *{max-width:1240px;margin-left:auto!important;margin-right:auto!important}
.wp-block-columns{display:flex;gap:2em;flex-wrap:nowrap;align-items:normal}
.wp-block-column{flex:1 1 0;min-width:0}
.wp-block-column[style*="flex-basis"]{flex-grow:0}
@media (max-width:781px){.wp-block-columns{flex-wrap:wrap}.wp-block-column{flex-basis:100%!important}}
.wp-block-buttons{display:flex;gap:.75rem;flex-wrap:wrap}
.wp-block-button__link{display:inline-block;background:#0E2A4F;color:#fff;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;padding:.85rem 1.3rem;text-decoration:none}
.pv-nav{display:flex;gap:2rem;font-size:.85rem;font-weight:500;align-items:center}
.pv-nav a{text-decoration:none;color:#0E2A4F}
.pv-dd{position:relative}.pv-menu{display:none;position:absolute;top:100%;left:-1rem;background:#fff;border:1px solid #DCE3EC;box-shadow:0 10px 24px rgba(14,42,79,.12);padding:.4rem 0;min-width:260px;z-index:30}
.pv-dd:hover .pv-menu,.pv-dd:focus-within .pv-menu{display:block}.pv-menu a{display:block;padding:.55rem 1rem}.pv-menu a:hover{background:#F3F6FA}
.pv-li{display:grid;place-items:center;width:26px;height:26px;background:#fff;color:#0A1E38!important;font-weight:700;font-size:.85rem;text-decoration:none;border-radius:3px}
.pv-grid > *{margin:0!important}
@media (max-width:900px){.pv-nav{gap:1rem;flex-wrap:wrap;font-size:.8rem}}


:root{ --fra-pad: clamp(18px, 4vw, 40px); --fra-navy:#0E2A4F; --fra-deep:#0A1E38; --fra-line:#DCE3EC; --fra-sky:#F3F6FA; --fra-muted:#51627A; }
body{ -webkit-font-smoothing:antialiased; }
h1,h2{ text-transform:uppercase; letter-spacing:.01em; }
:where(a):focus-visible{ outline:2px solid #6FA3D8; outline-offset:2px; }
.fra-section.fra-section > *, .fra-card.fra-card > *, .fra-item.fra-item > *, .fra-capitem.fra-capitem > *, .fra-contact-card.fra-contact-card > *{ margin-block:0; }
.fra-section{ padding: clamp(40px, 5.5vw, 72px) var(--fra-pad); margin-block:0 !important; }
.fra-section + .fra-section{ margin-top:0 !important; }
main > .wp-block-post-content > .fra-section, main > .fra-section{ margin-top:0 !important; }

/* Buttons: the mockup's square, uppercase buttons with a trailing arrow */
.wp-block-button__link::after{ content:"\2192"; margin-left:.9em; font-size:1.1em; }
.wp-block-button__link{ border:1px solid var(--fra-navy); transition:background .15s, color .15s; }
.wp-block-button__link:hover{ background:var(--fra-deep); }
.wp-block-button.is-style-outline > .wp-block-button__link{ background:transparent; color:var(--fra-navy); border:1px solid var(--fra-navy); padding:.85rem 1.3rem; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover{ background:var(--fra-navy); color:#fff; }

/* Small uppercase labels, as in the mockup */
.fra-label{ font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--fra-navy); }
.fra-regions{ font-size:.82rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.fra-regions .dot, .fra-ci .dot{ margin:0 .55em; opacity:.8; }

/* Header */
.fra-header{ background:#fff; padding:.8rem var(--fra-pad); gap:1.5rem; border-bottom:1px solid var(--fra-line); position:relative; z-index:20; }
.fra-logo{ margin:0; flex:none; }
.fra-logo img{ width:clamp(230px, 24vw, 335px); height:auto; display:block; }
.fra-nav{ font-size:.85rem; font-weight:500; gap:2rem; }
.fra-nav a{ text-decoration:none; color:var(--fra-navy); }
.fra-nav .wp-block-navigation-item__content:hover{ text-decoration:underline; text-underline-offset:6px; }
.fra-nav .wp-block-navigation__submenu-container{ border:1px solid var(--fra-line) !important; box-shadow:0 10px 24px rgba(14,42,79,.12); padding:.4rem 0; min-width:260px !important; }
.fra-nav .wp-block-navigation__submenu-container a{ padding:.55rem 1rem !important; }
.fra-phones{ gap:.1rem !important; flex:none; }
.fra-phones.fra-phones > *{ margin-block:0; }
.fra-phones p{ font-weight:600; font-size:.95rem; }
.fra-phones a{ text-decoration:none; color:var(--fra-navy); }

/* Icon lines used for phones and addresses */
.fra-ci{ padding-left:1.9rem; background-repeat:no-repeat; background-size:18px 18px; background-position:0 .15em; }
.fra-ci.phone{ background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMEUyQTRGIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTYuOXYzYTIgMiAwIDAgMS0yLjIgMiAxOS44IDE5LjggMCAwIDEtOC42LTMuMSAxOS41IDE5LjUgMCAwIDEtNi02QTE5LjggMTkuOCAwIDAgMSAyLjEgNC4yIDIgMiAwIDAgMSA0LjEgMmgzYTIgMiAwIDAgMSAyIDEuN2MuMSAxIC40IDEuOS43IDIuOGEyIDIgMCAwIDEtLjUgMi4xTDguMSA5LjlhMTYgMTYgMCAwIDAgNiA2bDEuMy0xLjNhMiAyIDAgMCAxIDIuMS0uNGMuOS4zIDEuOC42IDIuOC43YTIgMiAwIDAgMSAxLjcgMnoiLz48L3N2Zz4="); }
.fra-ci.mobile{ background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMEUyQTRGIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI3IiB5PSIyIiB3aWR0aD0iMTAiIGhlaWdodD0iMjAiIHJ4PSIyIi8+PHBhdGggZD0iTTExIDE4aDIiLz48L3N2Zz4="); }
.fra-ci.pin{ background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMEUyQTRGIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMjFzLTctNi4yLTctMTFhNyA3IDAgMCAxIDE0IDBjMCA0LjgtNyAxMS03IDExeiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjIuNSIvPjwvc3ZnPg=="); }
.fra-ci.globe{ background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMEUyQTRGIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PHBhdGggZD0iTTMgMTJoMTgiLz48cGF0aCBkPSJNMTIgM2ExNCAxNCAwIDAgMSAwIDE4Ii8+PHBhdGggZD0iTTEyIDNhMTQgMTQgMCAwIDAgMCAxOCIvPjwvc3ZnPg=="); }
.fra-ci a{ color:inherit; text-decoration:none; }

/* Hero */
.fra-hero{ position:relative; background-color:var(--fra-deep); color:#fff; padding:clamp(56px,7vw,96px) var(--fra-pad) clamp(64px,8vw,104px); margin:0 !important; overflow:hidden; }
.fra-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,30,56,.97) 0%, rgba(10,30,56,.88) 38%, rgba(10,30,56,.35) 66%, rgba(10,30,56,.05) 100%); }
.fra-hero > *{ position:relative; }
.fra-hero-inner > *{ margin-block:0 !important; }
.fra-hero .fra-label{ color:#fff; font-size:.8rem; }
.fra-hero h1{ color:#fff; margin-top:.9rem !important; max-width:min(100%, 12.5em); line-height:1.08; }
.fra-hero .fra-regions{ margin-top:1rem !important; color:#fff; }
.fra-hero-text{ margin-top:1.2rem !important; max-width:44ch; color:#E1E8F1; font-size:1rem; }
.fra-hero .wp-block-buttons{ margin-top:1.8rem !important; gap:1rem; }
.fra-hero .wp-block-button__link{ border-color:rgba(255,255,255,.75); }
.fra-hero .wp-block-button.is-style-outline > .wp-block-button__link{ color:#fff; border-color:rgba(255,255,255,.75); }
.fra-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover{ background:#fff; color:var(--fra-navy); }
.fra-motto{ position:absolute !important; right:var(--fra-pad); bottom:1rem; margin:0 !important; font-size:.8rem; font-weight:500; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.6); }

/* Service cards */
.fra-cards-sec{ background:var(--fra-sky); }
.fra-cards{ gap:1.1rem !important; }
.fra-card{ background:#fff; border:1px solid var(--fra-line); box-shadow:0 2px 10px rgba(14,42,79,.06); padding-bottom:1.1rem; display:flex; flex-direction:column; }
.fra-card-img{ margin:0 !important; }
.fra-card-img img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.fra-card .fra-ico{ margin:-23px 0 0 14px !important; position:relative; }
.fra-card h3{ font-size:.82rem; margin:.8rem 14px 0 !important; }
.fra-card p{ font-size:.8rem; color:var(--fra-muted); margin:.5rem 14px 0 !important; }
.fra-card .fra-link{ margin-top:auto !important; padding-top:.9rem; }
.fra-link a{ font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--fra-navy); text-decoration:none; }
.fra-link a::after{ content:"\2192"; margin-left:.7em; }

/* Round icons */
.fra-ico{ width:46px; height:46px; border-radius:50%; background:var(--fra-navy); border:3px solid #fff; display:grid !important; place-items:center; flex:none; margin:0; }
.fra-ico img{ width:21px; height:21px; display:block; }
.fra-ico.sm{ width:42px; height:42px; border:0; }
.fra-ico.sm img{ width:19px; height:19px; }
.fra-ico.ring{ width:38px; height:38px; background:transparent; border:1.5px solid rgba(255,255,255,.7); }
.fra-ico.ring img{ width:18px; height:18px; }

/* Split section with capability panel */
.fra-split{ gap:clamp(24px,4vw,48px) !important; align-items:center; }
.fra-split h2{ margin-top:.8rem; font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.2; }
.fra-split p:not(.fra-label){ margin-top:1.1rem; }
.fra-split .wp-block-buttons{ margin-top:1.6rem; }
.fra-cap-cols{ gap:0 !important; align-items:stretch !important; margin:0 !important; }
.fra-cap-cols > .wp-block-column{ margin:0 !important; }
.fra-cap-img{ margin:0; height:100%; }
.fra-cap-img img{ width:100%; height:100%; min-height:320px; object-fit:cover; object-position:30% 50%; display:block; }
.fra-cap-panel{ background:var(--fra-navy); color:#fff; padding:1.5rem 1.4rem; height:100%; }
.fra-cap-panel > *{ margin-block:0 !important; }
.fra-cap-panel h3{ color:#fff; font-family:var(--wp--preset--font-family--serif); font-weight:500; font-size:.95rem; margin-bottom:1rem !important; }
.fra-capitem{ display:flex; gap:.9rem; align-items:flex-start; padding:.55rem 0; }
.fra-capitem h4{ color:#fff; font-size:.82rem; margin:.2rem 0 0 !important; }
.fra-capitem p{ color:#B9C8DA; font-size:.75rem; margin:.1rem 0 0 !important; }

/* Numbered service list and "includes" lists */
.fra-rule{ display:flex; align-items:center; gap:1rem; font-family:var(--wp--preset--font-family--serif) !important; font-weight:500 !important; font-size:1.05rem !important; margin-bottom:1.6rem !important; }
.fra-rule::after{ content:""; flex:1; border-top:1px solid var(--fra-line); }
.fra-items{ gap:1.5rem 1.8rem !important; }
.fra-item{ display:flex; gap:.85rem; align-items:flex-start; }
.fra-item:not(:has(p)){ align-items:center; }
.fra-item h4{ color:var(--fra-navy); font-size:.8rem; margin:.25rem 0 0 !important; }
.fra-item p{ color:var(--fra-muted); font-size:.76rem; line-height:1.5; margin:.25rem 0 0 !important; }
.fra-item .fra-ico img[src*="check"]{ width:22px; height:22px; }
.fra-items-sec{ padding-top:clamp(24px,3vw,40px); }

/* Service tab strip */
.fra-tabs-sec{ padding:0 var(--fra-pad); background:#fff; margin:0 !important; }
.fra-tabs{ gap:0 !important; border:1px solid var(--fra-line); border-top:0; }
.fra-tab{ margin:0 !important; border-right:1px solid var(--fra-line); }
.fra-tab:last-child{ border-right:0; }
.fra-tab a{ display:flex; flex-direction:column; align-items:center; gap:.45rem; padding:1rem .6rem; text-align:center; text-decoration:none; color:var(--fra-navy); font-size:.74rem; font-weight:600; line-height:1.3; height:100%; border-bottom:3px solid transparent; }
.fra-tab a:hover{ background:var(--fra-sky); }
.fra-tab.is-current a{ background:var(--fra-sky); border-bottom-color:var(--fra-navy); }
.fra-tab-ico{ width:28px; height:28px; }

/* Intro block on service pages */
.fra-intro{ align-items:center !important; gap:clamp(24px,4vw,56px) !important; }
.fra-intro h2{ font-size:clamp(1.4rem,2.4vw,1.8rem); line-height:1.2; }
.fra-intro p{ margin-top:1rem; }
.fra-intro .wp-block-buttons{ margin-top:1.5rem; }
.fra-sec-img{ margin:0; }
.fra-sec-img img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }

/* Contact band */
.fra-cta-sec{ padding-top:clamp(24px,3vw,40px); }
.fra-cta-cols{ gap:1.2rem !important; align-items:stretch !important; }
.fra-cta-band{ background-image:url('../images/cta-band.jpg'); background-size:cover; background-position:center; position:relative; background-color:var(--fra-navy); padding:2.2rem 2rem; height:100%; min-height:210px; display:flex; flex-direction:column; justify-content:center; }
.fra-cta-band::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,30,56,.96) 0%, rgba(10,30,56,.8) 45%, rgba(10,30,56,.1) 100%); }
.fra-cta-band > *{ position:relative; margin-block:0 !important; }
.fra-cta-band h2{ color:#fff; font-size:clamp(1.2rem,2vw,1.5rem); }
.fra-cta-band p{ color:#E1E8F1; margin-top:.6rem !important; }
.fra-cta-band .wp-block-buttons{ margin-top:1.4rem !important; }
.fra-cta-band .wp-block-button.is-style-outline > .wp-block-button__link{ color:#fff; border-color:#fff; }
.fra-cta-band .wp-block-button.is-style-outline > .wp-block-button__link:hover{ background:#fff; color:var(--fra-navy); }
.fra-contact-card{ background:var(--fra-sky); border:1px solid var(--fra-line); padding:1.6rem 1.5rem; height:100%; display:flex; flex-direction:column; gap:.7rem; justify-content:center; }
.fra-contact-card p{ color:var(--fra-navy); font-size:.9rem; }
.fra-contact-card .fra-ci.phone, .fra-contact-card .fra-ci.mobile{ font-weight:600; font-size:1rem; }
.fra-contact-card .fra-ci.globe{ font-size:.78rem; }
.fra-ci.email{ background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMEUyQTRGIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIxLjUiLz48cGF0aCBkPSJNMy41IDZsOC41IDcgOC41LTciLz48L3N2Zz4="); font-weight:600; }


/* Footer */
.fra-footer{ background:var(--fra-deep); color:#B9C8DA; padding:2.4rem var(--fra-pad) 1.6rem; }
.fra-footer > *{ margin-block:0 !important; }
.fra-foot-top{ align-items:center !important; }
.fra-footer .fra-logo img{ width:270px; }
.fra-footnav{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem 1.8rem; font-size:.8rem; }
.fra-footnav a{ color:#fff; text-decoration:none; }
.fra-footnav a:hover{ text-decoration:underline; }
.fra-foot-bottom{ margin-top:1.4rem !important; padding-top:1.2rem; border-top:1px solid rgba(185,200,218,.2); align-items:center; }
.fra-foot-tag{ font-size:.8rem; color:#DCE5EE; }
.fra-foot-tag .sep{ margin:0 .8em; opacity:.6; }
.fra-social .wp-block-social-link{ background:transparent !important; color:#fff !important; }
.fra-legal{ margin-top:.8rem !important; font-size:.72rem; color:#7F94AB; }

/* Placeholders to replace, generic pages, blog */
.fra-trust-h{ font-family:var(--wp--preset--font-family--serif); text-transform:uppercase; font-weight:500; font-size:clamp(1.15rem,1rem + .5vw,1.4rem); color:var(--fra-navy); margin-top:1.8rem !important; padding-top:1.4rem; border-top:1px solid var(--fra-line); }
.fra-coreg{ font-size:.82rem; color:var(--fra-muted); }


/* Waiting list */
.pv-nav a.pv-cta{ background:var(--fra-navy); color:#fff; padding:.55rem .9rem; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.pv-nav a.pv-cta:hover{ background:var(--fra-deep); }
.fra-wl-cols{ align-items:flex-start !important; }
.fra-form{ display:grid; gap:1.1rem; }
.fra-form > *{ margin:0 !important; }
.fra-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr)); gap:1.1rem; }
.fra-form label{ display:grid; gap:.4rem; font-size:.78rem; font-weight:600; letter-spacing:.04em; color:var(--fra-navy); }
.fra-form input:not([type=checkbox]),.fra-form select,.fra-form textarea{ font:inherit; font-size:.95rem; font-weight:400; letter-spacing:0; color:#1B2A3F; background:#fff; border:1px solid #C5D0DD; border-radius:0; padding:.75rem .85rem; width:100%; }
.fra-form input:focus,.fra-form select:focus,.fra-form textarea:focus{ outline:2px solid #6FA3D8; outline-offset:0; border-color:var(--fra-navy); }
.fra-form fieldset{ border:1px solid var(--fra-line); padding:1rem 1.1rem 1.1rem; }
.fra-form legend{ font-size:.78rem; font-weight:600; letter-spacing:.04em; color:var(--fra-navy); padding:0 .35rem; }
.fra-checks{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr)); gap:.6rem 1rem; }
.fra-checks label,.fra-consent{ display:flex !important; align-items:flex-start; gap:.6rem !important; font-weight:400 !important; letter-spacing:0 !important; font-size:.88rem !important; color:#1B2A3F !important; }
.fra-form input[type=checkbox]{ width:1.05rem; height:1.05rem; margin:.15rem 0 0; accent-color:var(--fra-navy); flex:none; }
.fra-form .is-bad{ border-color:#B3261E !important; }
.fra-form-err{ color:#B3261E; font-size:.88rem; }
.fra-form button{ cursor:pointer; font-family:inherit; }
.fra-form-ok{ border:1px solid var(--fra-line); background:var(--fra-sky); padding:1.5rem; }
.fra-form-ok > *{ margin:0 0 .6rem !important; }

/* Send us a message */
.fra-msg-card{ background:#fff; border:1px solid var(--fra-line); border-top:3px solid var(--fra-navy); box-shadow:0 18px 40px rgba(14,42,79,.08); padding:clamp(20px,3vw,36px); }
.fra-msg-card > *{ margin:0 !important; }
.fra-msg-card > * + *{ margin-top:.9rem !important; }
.fra-msg-card h3{ font-family:var(--wp--preset--font-family--serif); text-transform:uppercase; font-weight:500; font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem); letter-spacing:.01em; }
.fra-msg-intro{ color:var(--fra-muted); font-size:.92rem; }
.fra-msg-card .fra-form{ margin-top:1.5rem !important; }
.fra-urg{ border:0 !important; padding:0 !important; margin:0; display:grid; gap:.4rem; }
.fra-urg legend{ padding:0 !important; margin-bottom:.4rem; }
.fra-seg{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #C5D0DD; }
.fra-seg label{ display:block !important; position:relative; }
.fra-seg input{ position:absolute; opacity:0; inset:0; margin:0 !important; width:100% !important; height:100% !important; cursor:pointer; }
.fra-seg span{ display:grid; place-items:center; min-height:2.85rem; padding:0 .4rem; font-size:.78rem; font-weight:600; letter-spacing:.03em; color:var(--fra-navy); border-left:1px solid #C5D0DD; text-align:center; }
.fra-seg label:first-child span{ border-left:0; }
.fra-seg input:checked + span{ background:var(--fra-navy); color:#fff; }
.fra-seg input[value="Urgent"]:checked + span{ background:#9C2B23; }
.fra-seg input:focus-visible + span{ outline:2px solid #6FA3D8; outline-offset:-2px; }
.fra-urgent-note{ background:#FBEDEC; border-left:3px solid #9C2B23; padding:.7rem .9rem; font-size:.88rem; color:#5E1A15; }
.fra-urgent-note a{ color:#5E1A15; font-weight:700; }
/* What you receive + how we work */
.fra-deliv-sec{ background:#fff; border-top:1px solid var(--fra-line); }
.fra-deliv{ gap:clamp(24px,4vw,56px) !important; }
.fra-ticks{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(17rem,100%),1fr)); gap:.9rem 1.75rem; }
.fra-ticks li{ position:relative; padding:0 0 .9rem 2rem; border-bottom:1px solid var(--fra-line); font-size:.92rem; line-height:1.5; }
.fra-ticks li::before{ content:""; position:absolute; left:0; top:.15em; width:1.15rem; height:1.15rem; border-radius:50%; background:var(--fra-navy); -webkit-mask:none; }
.fra-ticks li::after{ content:""; position:absolute; left:.38rem; top:.36em; width:.3rem; height:.55rem; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.fra-ticks strong{ color:var(--fra-navy); font-weight:600; }
.fra-steps-sec{ background:var(--fra-deep); color:#C9D6E6; }
.fra-steps-sec h2,.fra-steps-sec h4,.fra-steps-sec .fra-label{ color:#fff; }
.fra-steps-sec .fra-steps-intro > p:last-child{ max-width:640px; }
.fra-steps.fra-steps > *{ margin:0 !important; }
.fra-steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr)); gap:1.25rem; margin-top:2rem !important; counter-reset:step; }
.fra-step{ border-top:2px solid rgba(255,255,255,.35); padding-top:1.1rem; counter-increment:step; }
.fra-step::before{ content:"0" counter(step); display:block; font-family:var(--wp--preset--font-family--serif); font-size:1.9rem; color:#fff; line-height:1; margin-bottom:.8rem; }
.fra-step h4{ margin:0 0 .45rem; text-transform:uppercase; letter-spacing:.06em; font-size:.82rem; }
.fra-step p{ margin:0; font-size:.9rem; line-height:1.6; }
.fra-placeholder{ border:2px dashed #C0337A; background:rgba(192,51,122,.05); color:#9C1F5E; padding:.9rem 1.1rem; font-size:.9rem; }
.fra-pagehead{ background:var(--fra-deep); padding:clamp(48px,6vw,80px) var(--fra-pad); margin:0 !important; }
.fra-pagehead h1{ color:#fff; margin:0; }
.fra-pagehead .fra-date{ color:#B9C8DA; }
.fra-content{ padding:clamp(40px,5vw,72px) var(--fra-pad); }
.fra-posts .wp-block-post{ padding-block:1.4rem; border-bottom:1px solid var(--fra-line); }
.fra-posts .wp-block-post-title{ font-size:1.3rem; }
.fra-posts .wp-block-post-title a{ text-decoration:none; }

@media (max-width:1020px){
  .fra-header{ flex-wrap:wrap !important; }
  .fra-phones{ display:none !important; }
}
@media (max-width:781px){
  .fra-hero::before{ background:linear-gradient(180deg, rgba(10,30,56,.75), rgba(10,30,56,.95)); }
  .fra-motto{ position:static !important; margin-top:2rem !important; }
  .fra-tab{ border-bottom:1px solid var(--fra-line); }
  .fra-footnav{ justify-content:flex-start; }
}

/* SEO content sections: about text and FAQs */
.fra-about-sec{ background:var(--fra-sky); }
.fra-about, .fra-faq{ gap:clamp(24px,4vw,56px) !important; }
.fra-about h2, .fra-faq h2{ font-size:clamp(1.3rem,2.2vw,1.7rem); line-height:1.2; }
.fra-about p + p{ margin-top:1rem !important; }
.fra-about a{ font-weight:600; }
.fra-faq-sec{ background:#fff; }
.fra-faq .wp-block-details{ border-bottom:1px solid var(--fra-line); padding:1rem 0; margin:0 !important; }
.fra-faq .wp-block-details:first-child{ border-top:1px solid var(--fra-line); }
.fra-faq summary{ cursor:pointer; font-weight:600; color:var(--fra-navy); list-style:none; display:flex; justify-content:space-between; gap:1rem; }
.fra-faq summary::-webkit-details-marker{ display:none; }
.fra-faq summary::after{ content:"+"; font-size:1.3rem; line-height:1; }
.fra-faq details[open] summary::after{ content:"\2212"; }
.fra-faq details p{ margin-top:.7rem !important; color:var(--fra-muted); }
.fra-foot-about{ margin-top:1rem !important; font-size:.78rem; color:#9FB2C7; max-width:36ch; }
.fra-footer .fra-foot-top{ align-items:flex-start !important; }
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
/* ---- WordPress theme additions ---- */
.fra-skip{ position:absolute; left:-9999px; top:0; background:#fff; color:var(--fra-navy); padding:.6rem 1rem; z-index:100; }
.fra-skip:focus{ left:1rem; top:1rem; }
.fra-site-header{ position:relative; z-index:40; }
.fra-burger{ display:none; background:none; border:0; padding:.6rem; cursor:pointer; }
.fra-burger span{ display:block; width:24px; height:2px; background:var(--fra-navy); margin:5px 0; transition:transform .2s, opacity .2s; }
@media (max-width:1020px){
  .fra-header{ flex-wrap:wrap !important; }
  .fra-burger{ display:block; order:2; margin-left:auto !important; }
  .fra-header .fra-phones{ order:5; width:100%; gap:1.4rem; }
  .fra-site-header.is-open .fra-phones{ display:flex !important; padding:.4rem 0 1rem; }
  .fra-header .fra-phones > *{ margin:0 !important; }
  .pv-nav{ order:4; display:none; width:100%; flex-direction:column; align-items:stretch; gap:0; padding:.5rem 0 1rem; border-top:1px solid var(--fra-line); }
  .fra-site-header.is-open .pv-nav{ display:flex; }
  .pv-nav > a,.pv-dd > a{ display:block; padding:.75rem 0; border-bottom:1px solid var(--fra-line); }
  .pv-dd .pv-menu{ display:block; position:static; border:0; box-shadow:none; padding:0 0 .4rem 1rem; min-width:0; }
  .pv-nav a.pv-cta{ margin-top:.9rem; text-align:center; padding:.9rem; }
  .fra-site-header.is-open .fra-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .fra-site-header.is-open .fra-burger span:nth-child(2){ opacity:0; }
  .fra-site-header.is-open .fra-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}
.fra-form-ok{ margin-top:0 !important; }
.fra-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.fra-content-default{ max-width:860px; margin:0 auto; padding:clamp(40px,6vw,80px) var(--fra-pad); }
.fra-404{ text-align:center; }
body.admin-bar .fra-site-header{ top:0; }

/* v1.0.1 */
.screen-reader-text{ border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute !important; word-wrap:normal !important; }
.wp-block-button__link,.wp-element-button,.wp-block-button .wp-block-button__link,.is-style-outline .wp-block-button__link{ border-radius:0 !important; }

/* ---- v1.1 Insights (blog) ---- */
.fra-hero--short{ padding-top:clamp(48px,6vw,80px); padding-bottom:clamp(52px,6vw,84px); }
.fra-hero--post{ padding-top:clamp(56px,7vw,96px); padding-bottom:clamp(56px,7vw,96px); }
.fra-hero--post h1{ max-width:min(100%, 20em); font-size:clamp(1.9rem, 1.3rem + 2.2vw, 3rem); }
.fra-hero .fra-label a{ color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); }
.fra-hero .fra-label a:hover{ border-bottom-color:#fff; }
.fra-posts-sec{ padding-top:clamp(40px,6vw,72px); padding-bottom:clamp(40px,6vw,72px); }
.fra-posts{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(20rem,100%),1fr)); gap:1.75rem; }
.fra-post-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--fra-line); }
.fra-post-img{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--fra-sky); }
.fra-post-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.fra-post-card:hover .fra-post-img img{ transform:scale(1.03); }
@media (prefers-reduced-motion: reduce){ .fra-post-img img{ transition:none; } .fra-post-card:hover .fra-post-img img{ transform:none; } }
.fra-post-body{ display:flex; flex-direction:column; flex:1; padding:1.4rem 1.5rem 1.5rem; }
.fra-post-body > *{ margin:0; }
.fra-post-meta{ display:flex; flex-wrap:wrap; gap:.4rem .9rem; font-size:.78rem; color:var(--fra-muted); }
.fra-post-cat{ font-weight:600; color:var(--fra-navy); }
.fra-post-title{ margin-top:.7rem !important; font-family:var(--wp--preset--font-family--serif); font-weight:500; font-size:1.25rem; line-height:1.25; }
.fra-post-title a{ color:var(--fra-navy); text-decoration:none; }
.fra-post-title a:hover{ text-decoration:underline; text-underline-offset:3px; }
.fra-post-excerpt{ margin-top:.7rem !important; color:#3A4658; font-size:.93rem; line-height:1.6; }
.fra-posts-empty{ max-width:640px; padding:2.5rem; border:1px dashed var(--fra-line); background:#fff; }
.fra-posts-empty h2{ margin-top:0; font-family:var(--wp--preset--font-family--serif); font-weight:500; }
.fra-pagination{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-top:2.5rem !important; }
.fra-pagination .page-numbers{ display:inline-block; padding:.55rem .9rem; border:1px solid var(--fra-line); color:var(--fra-navy); text-decoration:none; font-size:.88rem; background:#fff; }
.fra-pagination .page-numbers.current{ background:var(--fra-navy); color:#fff; border-color:var(--fra-navy); }
.fra-more-sec{ background:var(--fra-sky); }

/* Article body */
.fra-article-sec{ padding-top:clamp(40px,6vw,72px); padding-bottom:clamp(24px,4vw,48px); }
.fra-article{ max-width:720px !important; font-size:1.05rem; line-height:1.75; color:#1B2A3F; }
.fra-article > *{ margin-top:0; margin-bottom:1.25em; }
.fra-article h2{ font-family:var(--wp--preset--font-family--serif); font-weight:500; color:var(--fra-navy); font-size:1.6rem; line-height:1.25; margin-top:2em; }
.fra-article h3{ color:var(--fra-navy); font-size:1.15rem; font-weight:700; margin-top:1.8em; }
.fra-article a{ color:var(--fra-navy); text-decoration:underline; text-underline-offset:3px; }
.fra-article ul,.fra-article ol{ padding-left:1.3em; }
.fra-article li{ margin-bottom:.45em; }
.fra-article blockquote{ margin:1.8em 0; padding:.2em 0 .2em 1.3em; border-left:3px solid var(--fra-navy); font-size:1.12rem; color:var(--fra-navy); }
.fra-article img{ max-width:100%; height:auto; }
.fra-article figure{ margin:2em 0; }
.fra-article figcaption{ font-size:.85rem; color:var(--fra-muted); margin-top:.5em; }
.fra-article .alignwide{ max-width:none; margin-left:calc(50% - min(45vw, 560px)); margin-right:calc(50% - min(45vw, 560px)); }
.fra-article table{ width:100%; border-collapse:collapse; font-size:.95rem; }
.fra-article th,.fra-article td{ border:1px solid var(--fra-line); padding:.6em .8em; text-align:left; }
.fra-article-back{ margin-top:2.5em !important; padding-top:1.5em; border-top:1px solid var(--fra-line); font-size:.9rem; font-weight:600; }

/* ---- v1.1.1 home banner video ---- */
.fra-hero.has-video > .fra-hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 50%; z-index:0; max-width:none !important; margin:0 !important; }
.fra-hero.has-video::before{ z-index:1; }
.fra-hero.has-video > *:not(.fra-hero-video){ position:relative; z-index:2; }
@media (prefers-reduced-motion: reduce){ .fra-hero.has-video > .fra-hero-video{ display:none; } }

/* ---- v1.2 24-hour concierge line, larger mobile logo ---- */
.fra-ci-label{ display:block; font-size:.64rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--fra-muted); line-height:1.3; margin-bottom:.1rem; }
.fra-ci.fra-concierge{ background-position:0 70%; }
.fra-header .fra-phones .fra-concierge a{ font-size:1.05rem; }
.fra-contact-card .fra-ci.fra-concierge a{ font-size:1.1rem; }
@media (max-width:1020px){
  .fra-logo img{ width:min(72vw, calc(100vw - 118px), 297px); }
  .fra-header{ padding-top:14px !important; padding-bottom:14px !important; }
}

/* ---- v1.2.2 mobile concierge bar ---- */
.fra-topbar{ display:none; }
@media (max-width:1020px){
  .fra-topbar{ display:flex; align-items:center; justify-content:center; gap:.55rem; background:var(--fra-navy); color:#fff; text-decoration:none; padding:.55rem 1rem; font-size:.85rem; line-height:1.2; }
  .fra-topbar svg{ flex:none; }
  .fra-topbar-label{ font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.85; }
  .fra-topbar strong{ font-weight:700; letter-spacing:.02em; }
  .fra-topbar:active{ background:var(--fra-deep); }
}
/* v1.2.3: keep the menu on one line on smaller laptops with the larger logo */
@media (min-width:1021px) and (max-width:1240px){
  .pv-nav{ gap:1.15rem; }
  .fra-header{ gap:1rem !important; }
  .fra-header .fra-phones .fra-concierge a{ font-size:.98rem; }
  .pv-nav a, .pv-nav a.pv-cta{ white-space:nowrap; }
}
@media (min-width:1021px) and (max-width:1100px){
  .fra-logo img{ width:220px; }
  .pv-nav{ gap:.9rem; }
  .pv-nav a.pv-cta{ padding:.55rem .7rem; }
}

/* ---- v1.2.6 floating call button ---- */
.fra-callfab{ position:fixed; right:calc(18px + env(safe-area-inset-right,0px)); bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:60; display:flex; align-items:center; gap:.7rem; padding:.55rem 1.2rem .55rem .55rem; background:var(--fra-navy); color:#fff; text-decoration:none; border-radius:999px; box-shadow:0 10px 28px rgba(10,30,56,.35); border:1px solid rgba(255,255,255,.18); transition:transform .2s ease, background .2s ease; }
.fra-callfab:hover{ background:var(--fra-deep); transform:translateY(-2px); color:#fff; }
.fra-callfab:focus-visible{ outline:3px solid #6FA3D8; outline-offset:3px; }
.fra-callfab-ico{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--fra-navy); flex:none; }
.fra-callfab-text{ display:flex; flex-direction:column; line-height:1.15; }
.fra-callfab-label{ font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.8; }
.fra-callfab-num{ font-size:1rem; font-weight:700; letter-spacing:.02em; }
@media (max-width:600px){
  .fra-callfab{ right:calc(14px + env(safe-area-inset-right,0px)); bottom:calc(14px + env(safe-area-inset-bottom,0px)); padding:.45rem 1rem .45rem .45rem; gap:.55rem; }
  .fra-callfab-ico{ width:40px; height:40px; }
  .fra-callfab-label{ display:none; }
  .fra-callfab-num::before{ content:"Call "; font-weight:600; }
}
.fra-site-header.is-open ~ .fra-callfab, body.fra-menu-open .fra-callfab{ display:none; }
@media (prefers-reduced-motion: reduce){ .fra-callfab{ transition:none; } .fra-callfab:hover{ transform:none; } }
@media print{ .fra-callfab{ display:none; } }

/* ---- v1.3.1 service page sections ---- */
.fra-trust-sec{ padding-top:0 !important; padding-bottom:0 !important; background:var(--fra-sky); }
.fra-trust{ list-style:none; margin:0 !important; padding:1.4rem 0 !important; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr)); gap:1rem 1.5rem; }
.fra-trust li{ display:flex; align-items:flex-start; gap:.8rem; color:var(--fra-navy); }
.fra-trust svg{ flex:none; margin-top:.1rem; }
.fra-trust span{ display:flex; flex-direction:column; font-size:.85rem; line-height:1.45; color:#3A4658; }
.fra-trust strong{ font-size:.92rem; color:var(--fra-navy); }
.fra-aud-sec h2,.fra-svc-sec h2,.fra-why-sec h2,.fra-types-sec h2{ margin-top:.4rem !important; }
.fra-aud{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr)); gap:1.25rem; margin-top:1.8rem !important; }
.fra-aud-card{ background:#fff; border:1px solid var(--fra-line); border-top:3px solid var(--fra-navy); padding:1.4rem 1.4rem 1.5rem; }
.fra-aud-card > *{ margin:0; }
.fra-aud-card h3{ font-size:1rem; font-weight:700; color:var(--fra-navy); margin-bottom:.55rem; }
.fra-aud-card p{ font-size:.92rem; line-height:1.6; color:#3A4658; }
.fra-aud-card a{ color:var(--fra-navy); }
.fra-why-sec{ background:var(--fra-sky); }
.fra-svc-intro{ color:#3A4658; }
.fra-svc{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr)); gap:2rem 3rem; margin-top:1.8rem !important; }
.fra-svc-col h3{ font-family:var(--wp--preset--font-family--serif); font-weight:500; color:var(--fra-navy); font-size:1.3rem; text-transform:uppercase; margin:0 0 1.1rem; }
.fra-svc .fra-ticks{ grid-template-columns:1fr; }
.fra-types{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr)); gap:0; margin-top:1.8rem !important; border-top:1px solid var(--fra-line); border-left:1px solid var(--fra-line); }
.fra-types > div{ padding:1.2rem 1.3rem; border-right:1px solid var(--fra-line); border-bottom:1px solid var(--fra-line); background:#fff; }
.fra-types h3{ margin:0 0 .35rem; font-size:.95rem; font-weight:700; color:var(--fra-navy); }
.fra-types p{ margin:0; font-size:.88rem; line-height:1.5; color:#3A4658; }
.fra-cover-sec{ background:var(--fra-sky); }
.fra-cover{ align-items:flex-start !important; }
.fra-airports{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(12rem,100%),1fr)); gap:.6rem; }
.fra-airports li{ background:#fff; border:1px solid var(--fra-line); padding:.7rem .9rem; font-size:.9rem; font-weight:600; color:var(--fra-navy); display:flex; align-items:center; gap:.5rem; }
.fra-airports li::before{ content:""; width:7px; height:7px; border-radius:50%; background:#C9A962; flex:none; }
.fra-airports .fra-airports-more{ grid-column:1/-1; font-weight:500; color:#3A4658; background:transparent; border-style:dashed; }
.fra-svc-sec .fra-svc-intro{ max-width:1240px !important; margin-left:auto !important; margin-right:auto !important; padding-right:max(0px, calc(min(1240px, 100%) - 720px)); }
.fra-aud--tight{ grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr)); margin-top:0 !important; }
.fra-aud--tight .fra-aud-card{ padding:1.1rem 1.2rem 1.2rem; }
.fra-aud.fra-aud--tight{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:560px){ .fra-aud.fra-aud--tight{ grid-template-columns:1fr; } }

/* ---- v1.3.3 AOG page components ---- */
.fra-urgent-sec{ background:var(--fra-navy); padding-top:0 !important; padding-bottom:0 !important; }
.fra-urgent{ display:flex; align-items:center; gap:1.2rem; padding:1.3rem 0 !important; color:#fff; flex-wrap:wrap; }
.fra-urgent-ico{ display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#C9A962; color:var(--fra-deep); flex:none; }
.fra-urgent-text{ display:flex; flex-direction:column; gap:.2rem; flex:1 1 20rem; }
.fra-urgent-text strong{ font-size:1.1rem; letter-spacing:.02em; }
.fra-urgent-text span{ font-size:.9rem; color:#C9D6E6; }
.fra-urgent-btn{ background:#fff; color:var(--fra-navy) !important; text-decoration:none; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.85rem; padding:.95rem 1.4rem; white-space:nowrap; }
.fra-urgent-btn:hover{ background:#C9A962; }
.fra-scen{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr)); gap:0; margin-top:1.6rem !important; border-top:1px solid var(--fra-line); }
.fra-scen-item{ display:flex; gap:1rem; padding:1.4rem .4rem 1.4rem 0; border-bottom:1px solid var(--fra-line); }
.fra-scen-ico{ color:var(--fra-navy); flex:none; margin-top:.15rem; }
.fra-scen-item h3{ margin:0 0 .35rem; font-size:1rem; font-weight:700; color:var(--fra-navy); }
.fra-scen-item p{ margin:0; font-size:.92rem; line-height:1.6; color:#3A4658; padding-right:1rem; }
.fra-tl-sec{ background:var(--fra-sky); }
.fra-tl-cols{ align-items:flex-start !important; }
.fra-tl{ list-style:none; margin:0; padding:0; counter-reset:tl; position:relative; }
.fra-tl::before{ content:""; position:absolute; left:19px; top:8px; bottom:8px; width:2px; background:#C5D0DD; }
.fra-tl li{ position:relative; padding:0 0 1.6rem 3.5rem; counter-increment:tl; }
.fra-tl li:last-child{ padding-bottom:0; }
.fra-tl li::before{ content:counter(tl); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%; background:var(--fra-navy); color:#fff; display:grid; place-items:center; font-weight:700; font-size:.95rem; box-shadow:0 0 0 5px var(--fra-sky); }
.fra-tl h3{ margin:.45rem 0 .35rem; font-size:1.05rem; font-weight:700; color:var(--fra-navy); }
.fra-tl p{ margin:0; font-size:.93rem; line-height:1.6; color:#3A4658; }
.fra-coord{ list-style:none; margin-top:2rem !important; margin-bottom:0 !important; padding:0; counter-reset:co; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr)); gap:1rem; }
.fra-coord li{ counter-increment:co; background:#fff; border:1px solid var(--fra-line); padding:1.1rem 1.2rem 1.2rem; }
.fra-coord li::before{ content:counter(co,decimal-leading-zero); display:block; font-family:var(--wp--preset--font-family--serif); font-size:1.3rem; color:#C9A962; margin-bottom:.4rem; }
.fra-coord h3{ margin:0 0 .3rem; font-size:.95rem; font-weight:700; color:var(--fra-navy); }
.fra-coord p{ margin:0; font-size:.88rem; line-height:1.5; color:#3A4658; }
.fra-scen-sec .fra-svc-intro,.fra-coord-sec .fra-svc-intro{ max-width:1240px !important; margin-left:auto !important; margin-right:auto !important; padding-right:max(0px, calc(min(1240px, 100%) - 720px)); color:#3A4658; }

/* ---- v1.3.4 Pre-purchase inspection page components ---- */
.fra-risk-cols{ align-items:flex-start !important; }
.fra-risk{ background:var(--fra-navy); color:#fff; padding:1.8rem 1.9rem 1.9rem; }
.fra-risk > *{ margin:0; }
.fra-risk h3{ font-size:1rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#fff; margin-bottom:1.1rem; }
.fra-risk ul{ list-style:none; padding:0; display:grid; gap:.7rem; }
.fra-risk li{ position:relative; padding-left:1.9rem; font-size:.95rem; line-height:1.45; color:#E6ECF3; }
.fra-risk li::before{ content:"!"; position:absolute; left:0; top:.05em; width:1.2rem; height:1.2rem; border-radius:50%; background:#C9A962; color:var(--fra-deep); font-weight:800; font-size:.75rem; display:grid; place-items:center; }
.fra-risk p{ margin-top:1.2rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.18); font-size:.9rem; color:#C9D6E6; }
.fra-insp-sec{ background:var(--fra-sky); }
.fra-insp{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(24rem,100%),1fr)); gap:1.5rem; margin-top:1.8rem !important; }
.fra-insp-card{ background:#fff; border:1px solid var(--fra-line); }
.fra-insp-card > p{ margin:1.2rem 1.4rem .6rem; font-size:.93rem; color:#3A4658; }
.fra-insp-card .fra-ticks{ grid-template-columns:1fr; margin:0 1.4rem 1.4rem; gap:.5rem; }
.fra-insp-card .fra-ticks li{ padding-bottom:.5rem; }
.fra-insp-head{ display:flex; align-items:center; gap:.9rem; background:var(--fra-navy); color:#fff; padding:1rem 1.4rem; }
.fra-insp-head--gold{ background:#0A1E38; border-bottom:3px solid #C9A962; }
.fra-insp-head span{ font-family:var(--wp--preset--font-family--serif); font-size:1.5rem; color:#C9A962; }
.fra-insp-head h3{ margin:0; font-size:1rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#fff; }
.fra-table-wrap{ overflow-x:auto; margin-top:1.6rem !important; border:1px solid var(--fra-line); }
.fra-table{ width:100%; min-width:620px; border-collapse:collapse; background:#fff; font-size:.92rem; }
.fra-table th,.fra-table td{ padding:.85rem 1rem; border-bottom:1px solid var(--fra-line); text-align:center; }
.fra-table thead th{ background:var(--fra-navy); color:#fff; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.fra-table thead th:last-child{ background:#0A1E38; box-shadow:inset 0 -3px 0 #C9A962; }
.fra-table tbody th{ text-align:left; font-weight:600; color:var(--fra-navy); }
.fra-table td.yes span{ display:inline-grid; place-items:center; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--fra-navy); color:#fff; font-size:.8rem; font-weight:700; }
.fra-table td.no{ color:#9AA5B4; }
.fra-table td.part{ font-size:.82rem; color:#3A4658; font-style:italic; }
.fra-table tbody tr:nth-child(even){ background:#F7F9FC; }
.fra-table-note{ font-size:.9rem; color:#3A4658; }
.fra-flow-sec{ background:var(--fra-sky); }
.fra-flow{ list-style:none; padding:0; margin-top:1.8rem !important; margin-bottom:0 !important; counter-reset:fl; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; }
.fra-flow li{ counter-increment:fl; position:relative; background:#fff; border:1px solid var(--fra-line); border-left:0; padding:1.3rem 1.2rem 1.4rem 1.4rem; }
.fra-flow li:first-child{ border-left:1px solid var(--fra-line); }
.fra-flow li::before{ content:counter(fl); display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; border:2px solid var(--fra-navy); color:var(--fra-navy); font-weight:700; font-size:.9rem; margin-bottom:.8rem; }
.fra-flow li:not(:last-child)::after{ content:""; position:absolute; right:-9px; top:1.9rem; width:16px; height:16px; background:#fff; border-top:1px solid var(--fra-line); border-right:1px solid var(--fra-line); transform:rotate(45deg); z-index:1; }
.fra-flow h3{ margin:0 0 .4rem; font-size:.95rem; font-weight:700; color:var(--fra-navy); }
.fra-flow p{ margin:0; font-size:.88rem; line-height:1.55; color:#3A4658; }
@media (max-width:960px){ .fra-flow{ grid-template-columns:1fr; } .fra-flow li{ border-left:1px solid var(--fra-line); border-top:0; } .fra-flow li:first-child{ border-top:1px solid var(--fra-line); } .fra-flow li:not(:last-child)::after{ right:auto; left:2.1rem; top:auto; bottom:-9px; transform:rotate(135deg); } }
.fra-report-cols{ align-items:center !important; }
.fra-report{ background:#fff; border:1px solid var(--fra-line); box-shadow:0 18px 40px rgba(14,42,79,.1); }
.fra-report-top{ display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; background:var(--fra-navy); color:#fff; padding:.9rem 1.3rem; font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.fra-report-top span:last-child{ color:#C9A962; }
.fra-report ol{ list-style:none; margin:0; padding:.4rem 1.3rem 1rem; }
.fra-report li{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem .6rem; padding:.8rem 0; border-bottom:1px dashed var(--fra-line); font-size:.9rem; color:#3A4658; }
.fra-report li:last-child{ border-bottom:0; }
.fra-report li strong{ color:var(--fra-navy); }
.fra-grade{ display:inline-block; padding:.12rem .55rem; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.fra-grade--a{ background:#9C2B23; color:#fff; }
.fra-grade--b{ background:#C9A962; color:#0A1E38; }
.fra-grade--c{ background:#DCE4EE; color:#0E2A4F; }
.fra-chips-sec{ background:var(--fra-sky); }
.fra-chips{ list-style:none; padding:0; margin-top:1.2rem !important; margin-bottom:1.2rem !important; display:flex; flex-wrap:wrap; gap:.6rem; }
.fra-chips li{ background:#fff; border:1px solid var(--fra-line); border-radius:999px; padding:.5rem 1rem; font-size:.88rem; font-weight:600; color:var(--fra-navy); }
.fra-journey-sec{ background:var(--fra-deep); color:#C9D6E6; }
.fra-journey{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.fra-journey > div{ flex:1 1 34rem; }
.fra-journey > div > *{ margin:0; }
.fra-journey h2{ color:#fff; margin:.5rem 0 .8rem !important; }
.fra-journey .fra-label{ color:#C9A962; }
.fra-journey a:not(.fra-urgent-btn){ color:#fff; }
.fra-insp-sec .fra-svc-intro,.fra-levels-sec .fra-svc-intro,.fra-chips-sec .fra-svc-intro{ max-width:1240px !important; margin-left:auto !important; margin-right:auto !important; padding-right:max(0px, calc(min(1240px, 100%) - 720px)); color:#3A4658; }

/* ---- v1.4.0 Home and About components ---- */
.fra-pillars{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr)); gap:0; margin-top:1.8rem !important; border-top:2px solid var(--fra-navy); }
.fra-pillars > div{ padding:1.4rem 1.4rem 1.4rem 0; }
.fra-pillars > div + div{ padding-left:1.4rem; border-left:1px solid var(--fra-line); }
.fra-pillar-word{ display:block; font-family:var(--wp--preset--font-family--serif); font-size:1.6rem; line-height:1.15; color:var(--fra-navy); margin-bottom:.6rem; }
.fra-pillars p{ margin:0; font-size:.92rem; line-height:1.6; color:#3A4658; }
@media (max-width:700px){ .fra-pillars > div + div{ padding-left:0; border-left:0; border-top:1px solid var(--fra-line); } }
.fra-chips-title{ margin:0 0 .6rem !important; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#3A4658; }
.fra-chips-sec .fra-cover .fra-chips{ margin-top:0 !important; margin-bottom:1.6rem !important; }
.fra-chips--light li{ background:transparent; border-style:dashed; font-weight:500; }
.fra-founder-sec{ background:var(--fra-deep); }
.fra-founder{ display:flex; gap:2rem; align-items:center; color:#C9D6E6; }
.fra-founder > div:last-child > *{ margin:0; }
.fra-founder h2{ color:#fff; margin:.5rem 0 .9rem !important; }
.fra-founder .fra-label{ color:#C9A962; }
.fra-founder p{ font-size:.98rem; line-height:1.7; max-width:760px; }
.fra-founder a{ color:#fff; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.82rem; text-underline-offset:4px; }
.fra-founder p + p{ margin-top:1rem; }
.fra-founder-mark{ flex:none; width:120px; height:120px; border-radius:50%; border:2px solid #C9A962; display:grid; place-items:center; font-family:var(--wp--preset--font-family--serif); font-size:1.8rem; letter-spacing:.12em; color:#fff; }
@media (max-width:700px){ .fra-founder{ flex-direction:column; align-items:flex-start; } .fra-founder-mark{ width:84px; height:84px; font-size:1.3rem; } }
.fra-home-posts-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; flex-wrap:wrap; margin-bottom:1.6rem !important; }
.fra-home-posts-head > div > *{ margin:0; }
.fra-home-posts-head h2{ margin-top:.4rem !important; }
.fra-home-posts-head .fra-link{ margin:0; }
.fra-story{ list-style:none; padding:0; margin-top:2rem !important; margin-bottom:0 !important; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; position:relative; }
.fra-story::before{ content:""; position:absolute; left:0; right:0; top:.55rem; height:2px; background:var(--fra-line); }
.fra-story li{ position:relative; padding:2rem 1.4rem 0 0; }
.fra-story li::before{ content:""; position:absolute; left:0; top:0; width:1.1rem; height:1.1rem; border-radius:50%; background:var(--fra-navy); box-shadow:0 0 0 4px #fff, 0 0 0 5px #C9A962; }
.fra-story-when{ display:block; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#A8862F; margin-bottom:.4rem; }
.fra-story h3{ margin:0 0 .4rem; font-size:1.05rem; font-weight:700; color:var(--fra-navy); }
.fra-story p{ margin:0; font-size:.92rem; line-height:1.6; color:#3A4658; }
@media (max-width:860px){ .fra-story{ grid-template-columns:1fr; } .fra-story::before{ top:0; bottom:0; left:.5rem; right:auto; width:2px; height:auto; } .fra-story li{ padding:0 0 1.6rem 2.4rem; } }
.fra-values-sec{ background:var(--fra-sky); }
.fra-values{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr)); gap:1.25rem; margin-top:1.8rem !important; }
.fra-values > div{ background:#fff; border:1px solid var(--fra-line); padding:1.4rem; position:relative; overflow:hidden; }
.fra-values > div > span{ position:absolute; right:.6rem; top:-.6rem; font-family:var(--wp--preset--font-family--serif); font-size:5rem; line-height:1; color:#EEF2F7; pointer-events:none; }
.fra-values h3{ position:relative; margin:0 0 .5rem; font-size:1.1rem; font-weight:700; color:var(--fra-navy); letter-spacing:.04em; text-transform:uppercase; }
.fra-values p{ position:relative; margin:0; font-size:.92rem; line-height:1.6; color:#3A4658; }
.fra-values-sec .fra-svc-intro,.fra-story-sec .fra-svc-intro{ max-width:1240px !important; margin-left:auto !important; margin-right:auto !important; padding-right:max(0px, calc(min(1240px, 100%) - 720px)); color:#3A4658; }
.fra-svclist{ list-style:none; padding:0; margin-top:1.6rem !important; margin-bottom:0 !important; border-top:1px solid var(--fra-line); }
.fra-svclist a{ display:grid; grid-template-columns:minmax(0,18rem) minmax(0,1fr) auto; gap:1rem 2rem; align-items:center; padding:1.2rem .2rem; border-bottom:1px solid var(--fra-line); text-decoration:none; color:#3A4658; }
.fra-svclist a::after{ content:"→"; color:var(--fra-navy); font-size:1.2rem; transition:transform .2s; }
.fra-svclist a:hover::after{ transform:translateX(4px); }
.fra-svclist strong{ font-family:var(--wp--preset--font-family--serif); font-weight:500; font-size:1.2rem; color:var(--fra-navy); text-transform:uppercase; }
.fra-svclist span{ font-size:.93rem; }
@media (max-width:700px){ .fra-svclist a{ grid-template-columns:1fr auto; } .fra-svclist span{ grid-column:1; } .fra-svclist a::after{ grid-row:1 / span 2; grid-column:2; } }
.fra-company-sec{ background:var(--fra-sky); }
.fra-company{ margin:0; background:#fff; border:1px solid var(--fra-line); border-top:3px solid var(--fra-navy); }
.fra-company > div{ display:grid; grid-template-columns:minmax(0,11rem) minmax(0,1fr); gap:1rem; padding:.8rem 1.2rem; border-bottom:1px solid var(--fra-line); }
.fra-company > div:last-child{ border-bottom:0; }
.fra-company dt{ font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#3A4658; }
.fra-company dd{ margin:0; font-size:.93rem; color:var(--fra-navy); font-weight:600; }
.fra-company a{ color:var(--fra-navy); }

.fra-risk--ok li::before{ content:"✓"; font-size:.7rem; }

/* ---- v1.4.1 live airport weather ---- */
.fra-wx-sec{ background:var(--fra-sky); }
.fra-wx-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; flex-wrap:wrap; }
.fra-wx-head > div > *{ margin:0; }
.fra-wx-head h2{ margin-top:.4rem !important; }
.fra-wx-head p.fra-wx-sub{ max-width:520px; color:#3A4658; font-size:.93rem; margin:0; }
.fra-wx{ margin-top:1.6rem !important; }
.fra-wx-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(20rem,100%),1fr)); gap:1rem; }
.fra-wx-card{ background:#fff; border:1px solid var(--fra-line); display:flex; flex-direction:column; }
.fra-wx-card header{ display:flex; align-items:center; gap:.5rem; padding:.85rem 1.1rem; border-bottom:1px solid var(--fra-line); }
.fra-wx-card h3{ margin:0; font-size:.95rem; font-weight:700; color:var(--fra-navy); flex:1; }
.fra-wx-icao{ font-size:.72rem; font-weight:700; letter-spacing:.08em; color:#3A4658; background:var(--fra-sky); padding:.15rem .45rem; }
.fra-wx-cat{ font-size:.7rem; font-weight:800; letter-spacing:.06em; color:#fff; padding:.2rem .5rem; }
.fra-wx-cat--vfr{ background:#1F7A3D; } .fra-wx-cat--mvfr{ background:#1F5FAD; } .fra-wx-cat--ifr{ background:#B3261E; } .fra-wx-cat--lifr{ background:#8E2A8C; }
.fra-wx-body{ padding:1rem 1.1rem 1.1rem; display:flex; flex-direction:column; gap:.7rem; flex:1; }
.fra-wx-body > *{ margin:0; }
.fra-wx-loading{ color:#6B7684; font-size:.9rem; }
.fra-wx-temp{ font-family:var(--wp--preset--font-family--serif); font-size:2rem; line-height:1; color:var(--fra-navy); display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap; }
.fra-wx-temp span{ font-family:inherit; font-size:.85rem; color:#3A4658; font-family:Montserrat, Arial, sans-serif; }
.fra-wx-dl{ margin:0; display:grid; gap:.35rem; }
.fra-wx-dl > div{ display:grid; grid-template-columns:5.5rem 1fr; gap:.5rem; font-size:.88rem; }
.fra-wx-dl dt{ color:#6B7684; } .fra-wx-dl dd{ margin:0; color:#1B2A3F; font-weight:600; }
.fra-wx-time{ font-size:.78rem; color:#6B7684; margin-top:auto !important; }
.fra-wx-raw{ font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.72rem; line-height:1.45; color:#3A4658; background:var(--fra-sky); padding:.5rem .6rem; word-break:break-word; }
.fra-wx-note{ margin-top:1rem !important; font-size:.8rem; color:#6B7684; }
.fra-wx-note a{ color:var(--fra-navy); }

/* ---- v1.5.0 guided chat assistant ---- */
.fra-chat{ position:fixed; right:calc(18px + env(safe-area-inset-right,0px)); bottom:calc(92px + env(safe-area-inset-bottom,0px)); z-index:61; display:flex; flex-direction:column; align-items:flex-end; gap:.6rem; }
.fra-chat-btn{ width:56px; height:56px; border-radius:50%; border:1px solid rgba(255,255,255,.2); background:#C9A962; color:#0A1E38; display:grid; place-items:center; cursor:pointer; box-shadow:0 10px 26px rgba(10,30,56,.3); transition:transform .2s; }
.fra-chat-btn:hover{ transform:translateY(-2px); }
.fra-chat-btn:focus-visible{ outline:3px solid #6FA3D8; outline-offset:3px; }
.fra-chat.is-open .fra-chat-btn{ background:var(--fra-navy); color:#fff; }
.fra-chat-nudge{ order:-1; background:#fff; color:var(--fra-navy); border:1px solid var(--fra-line); box-shadow:0 8px 22px rgba(10,30,56,.15); padding:.6rem .9rem; font-size:.85rem; font-weight:600; cursor:pointer; position:relative; }
.fra-chat-nudge::after{ content:""; position:absolute; right:22px; bottom:-7px; width:12px; height:12px; background:#fff; border-right:1px solid var(--fra-line); border-bottom:1px solid var(--fra-line); transform:rotate(45deg); }
.fra-chat-panel{ order:-2; width:min(380px, calc(100vw - 36px)); height:min(560px, calc(100vh - 190px)); background:#fff; border:1px solid var(--fra-line); box-shadow:0 22px 50px rgba(10,30,56,.28); display:flex; flex-direction:column; overflow:hidden; }
.fra-chat-panel[hidden]{ display:none; }
.fra-chat-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:.8rem; background:var(--fra-navy); color:#fff; padding:1rem 1.1rem; border-bottom:3px solid #C9A962; }
.fra-chat-top strong{ display:block; font-size:1rem; letter-spacing:.02em; }
.fra-chat-top span{ font-size:.78rem; color:#C9D6E6; }
.fra-chat-top a{ color:#fff; font-weight:700; }
.fra-chat-close{ background:none; border:0; color:#fff; font-size:1.6rem; line-height:1; cursor:pointer; padding:0 .2rem; }
.fra-chat-log{ flex:1; overflow-y:auto; padding:1rem; display:flex; flex-direction:column; gap:.6rem; background:var(--fra-sky); }
.fra-msg{ max-width:88%; padding:.7rem .9rem; font-size:.9rem; line-height:1.5; }
.fra-msg--bot{ background:#fff; border:1px solid var(--fra-line); color:#1B2A3F; align-self:flex-start; }
.fra-msg--bot a{ color:var(--fra-navy); font-weight:600; }
.fra-msg--me{ background:var(--fra-navy); color:#fff; align-self:flex-end; }
.fra-chat-actions{ padding:.8rem 1rem 1rem; border-top:1px solid var(--fra-line); background:#fff; max-height:48%; overflow-y:auto; }
.fra-chat-opts{ display:flex; flex-wrap:wrap; gap:.45rem; }
.fra-opt{ display:inline-block; font:inherit; font-size:.84rem; font-weight:600; color:var(--fra-navy); background:#fff; border:1px solid var(--fra-navy); padding:.5rem .75rem; cursor:pointer; text-decoration:none; line-height:1.3; text-align:left; }
.fra-opt:hover{ background:var(--fra-sky); }
.fra-opt--primary{ background:var(--fra-navy); color:#fff; }
.fra-opt--primary:hover{ background:var(--fra-deep); }
.fra-opt:focus-visible{ outline:2px solid #6FA3D8; outline-offset:2px; }
.fra-chat-form{ display:flex; flex-direction:column; gap:.45rem; }
.fra-chat-inrow{ display:flex; gap:.45rem; align-items:flex-end; }
.fra-chat-inrow input,.fra-chat-inrow textarea{ flex:1; font:inherit; font-size:.92rem; border:1px solid #C5D0DD; padding:.6rem .7rem; border-radius:0; resize:vertical; min-width:0; }
.fra-chat-inrow input:focus,.fra-chat-inrow textarea:focus{ outline:2px solid #6FA3D8; outline-offset:0; }
.fra-chat-skip{ align-self:flex-start; background:none; border:0; color:#3A4658; font:inherit; font-size:.82rem; text-decoration:underline; cursor:pointer; padding:0; }
.fra-chat-err{ margin:0; color:#B3261E; font-size:.82rem; }
.fra-chat-wait{ margin:0; font-size:.88rem; color:#3A4658; }
body.fra-menu-open .fra-chat{ display:none; }
@media (max-width:600px){ .fra-chat{ right:calc(14px + env(safe-area-inset-right,0px)); bottom:calc(78px + env(safe-area-inset-bottom,0px)); } .fra-chat-btn{ width:52px; height:52px; } .fra-chat-panel{ height:min(520px, calc(100vh - 170px)); } }
@media print{ .fra-chat{ display:none; } }


/* ---- v1.6.0 ---- */
/* v1.6.0 scrolling weather bar */
.fra-wx-ticker{ display:flex; align-items:stretch; background:var(--fra-deep); color:#fff; border:1px solid var(--fra-deep); overflow:hidden; }
.fra-wx-live{ flex:none; display:flex; align-items:center; gap:.45rem; padding:0 1rem; background:#C9A962; color:#0A1E38; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; position:relative; z-index:1; }
.fra-wx-live i{ width:8px; height:8px; border-radius:50%; background:#B3261E; animation:fraWxPulse 1.6s ease-in-out infinite; }
@keyframes fraWxPulse{ 50%{ opacity:.25; } }
.fra-wx-viewport{ flex:1; min-width:0; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent); mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent); }
.fra-wx-track{ list-style:none; margin:0; padding:0; display:flex; width:max-content; animation:fraWxScroll var(--fra-wx-dur,60s) linear infinite; }
.fra-wx-track > li{ margin:0; flex:none; }
.fra-wx-ticker:hover .fra-wx-track, .fra-wx-ticker:focus-within .fra-wx-track, .fra-wx.is-open .fra-wx-track{ animation-play-state:paused; }
@keyframes fraWxScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.fra-wx-chip{ display:flex; align-items:center; gap:.6rem; height:100%; padding:.8rem 1.25rem; background:transparent; border:0; border-right:1px solid rgba(255,255,255,.14); color:#fff; font:inherit; font-size:.85rem; cursor:pointer; white-space:nowrap; }
.fra-wx-chip:hover, .fra-wx-chip[aria-expanded="true"]{ background:rgba(255,255,255,.1); }
.fra-wx-chip:focus-visible{ outline:2px solid #6FA3D8; outline-offset:-2px; }
.fra-wx-chip-name{ font-weight:700; }
.fra-wx-chip-icao{ font-size:.7rem; font-weight:700; letter-spacing:.08em; color:#B9C8DA; }
.fra-wx-chip-data{ color:#E1E8F1; }
.fra-wx-chip .fra-wx-cat{ font-size:.64rem; padding:.12rem .4rem; }
.fra-wx-detail{ margin-top:1rem; max-width:34rem; }
.fra-wx-detail[hidden]{ display:none; }
.fra-wx-detail .fra-wx-card{ box-shadow:0 10px 26px rgba(14,42,79,.1); }
.fra-wx-close{ background:none; border:0; font-size:1.4rem; line-height:1; color:#3A4658; cursor:pointer; padding:0 .2rem; margin-left:.25rem; }
.fra-wx-close:hover{ color:var(--fra-navy); }
@media (prefers-reduced-motion:reduce){
 .fra-wx-track{ animation:none; }
 .fra-wx-viewport{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
 .fra-wx-track > li[aria-hidden="true"]{ display:none; }
 .fra-wx-live i{ animation:none; }
}
@media (max-width:600px){ .fra-wx-live{ padding:0 .7rem; } .fra-wx-chip{ padding:.75rem 1rem; font-size:.8rem; } }


.fra-feature-where{ margin-top:.9rem !important; font-size:.85rem; color:var(--fra-muted); }
/* v1.7.0 detailing-first home page */
.fra-feature-sec{ background:#fff; }
.fra-feature{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; }
.fra-feature > *{ margin:0 !important; }
.fra-feature-img img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.fra-feature-body > *{ margin:0; }
.fra-feature-body h2{ margin-top:.8rem; font-size:clamp(1.6rem,2.8vw,2.2rem); line-height:1.15; }
.fra-feature-body > p:not(.fra-label){ margin-top:1rem; }
.fra-feature-cols{ display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.5rem; margin-top:1.4rem !important; padding-top:1.2rem; border-top:1px solid var(--fra-line); }
.fra-feature-cols h3{ margin:0 0 .5rem; font-size:.78rem; letter-spacing:.12em; }
.fra-feature-cols ul{ list-style:none; margin:0; padding:0; display:grid; gap:.4rem; }
.fra-feature-cols li{ position:relative; padding-left:1.5rem; font-size:.88rem; line-height:1.45; }
.fra-feature-cols li::before{ content:""; position:absolute; left:0; top:.2em; width:.95rem; height:.95rem; border-radius:50%; background:var(--fra-navy); }
.fra-feature-cols li::after{ content:""; position:absolute; left:.33rem; top:.38em; width:.25rem; height:.45rem; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.fra-feature-body .wp-block-buttons{ margin-top:1.6rem; }
.fra-feature-trust{ margin-top:1.1rem !important; font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--fra-muted); }
.fra-feature-trust .dot{ margin:0 .5em; }
@media (max-width:781px){ .fra-feature{ grid-template-columns:1fr; } }
@media (max-width:420px){ .fra-feature-cols{ grid-template-columns:1fr; } }

/* 1.6.2 article images */
.fra-article .fra-badge-img{ max-width:220px; margin-left:auto; margin-right:auto; }
.fra-article .fra-badge-img img{ width:100%; height:auto; }
.fra-article figure.wp-block-image figcaption{ font-size:.8rem; color:var(--fra-muted); margin-top:.5rem; text-align:center; }
