:root{
  --frnova-bg:#f4f7fb;
  --frnova-surface:#ffffff;
  --frnova-surface-alt:#eef4ff;
  --frnova-text:#0f172a;
  --frnova-muted:#475569;
  --frnova-border:rgba(15,23,42,.09);
  --frnova-primary:#2563eb;
  --frnova-primary-2:#1d4ed8;
  --frnova-accent:#0ea5e9;
  --frnova-dark:#020617;
  --frnova-radius:24px;
  --frnova-radius-sm:16px;
  --frnova-shadow:0 20px 60px rgba(2,6,23,.08);
  --frnova-shadow-sm:0 10px 30px rgba(2,6,23,.05);
  --frnova-container:min(1240px,calc(100% - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--frnova-text);background:
linear-gradient(180deg,#f8fbff 0%,#f3f7fb 42%,#eef3f8 100%);line-height:1.65}
a{color:var(--frnova-primary)}
a:hover{color:var(--frnova-primary-2)}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.screen-reader-text{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.screen-reader-text:focus{left:16px;top:16px;width:auto;height:auto;overflow:visible;background:#fff;padding:12px 14px;z-index:9999;border-radius:10px}
.frnova-container{width:var(--frnova-container);margin-inline:auto}
.site-content{padding-bottom:64px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.76);backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid rgba(15,23,42,.07)}
.site-header.is-scrolled{box-shadow:var(--frnova-shadow-sm)}
.site-header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:86px}
.site-branding{display:flex;align-items:center;gap:14px;min-width:0}
.site-logo .custom-logo{max-height:52px;width:auto}
.site-branding__text{display:grid;gap:2px}
.site-title{text-decoration:none;color:var(--frnova-text);font-weight:800;font-size:1.1rem;line-height:1.1}
.site-description{margin:0;color:var(--frnova-muted);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}
.main-navigation{justify-self:center}
.main-navigation .menu{display:flex;gap:26px;list-style:none;padding:0;margin:0;align-items:center}
.main-navigation a{text-decoration:none;color:var(--frnova-text);font-weight:600}
.main-navigation .current-menu-item>a,.main-navigation a:hover{color:var(--frnova-primary)}
.header-actions{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;appearance:none;border:1px solid var(--frnova-border);background:#fff;border-radius:14px;padding:12px;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--frnova-text);margin:4px 0;border-radius:4px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 20px;text-decoration:none;font-weight:700;border:1px solid transparent;transition:.2s ease}
.button--solid{background:linear-gradient(135deg,var(--frnova-primary),var(--frnova-accent));color:#fff;box-shadow:0 12px 30px rgba(37,99,235,.25)}
.button--solid:hover{color:#fff;transform:translateY(-1px)}
.button--ghost{background:#fff;color:var(--frnova-text);border-color:var(--frnova-border)}
.button--ghost:hover{background:#f8fbff}
.button--large{padding:14px 24px}
.hero-section{padding:44px 0 22px}
.hero-section__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:28px;align-items:stretch}
.hero-copy,.hero-panel .glass-card{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.78));border:1px solid rgba(255,255,255,.7);box-shadow:var(--frnova-shadow);border-radius:32px}
.hero-copy{padding:40px;position:relative;overflow:hidden}
.hero-copy::before{content:"";position:absolute;inset:auto -80px -80px auto;width:220px;height:220px;background:radial-gradient(circle,rgba(37,99,235,.18),transparent 70%)}
.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hero-copy h1{font-size:clamp(2.2rem,5vw,4.3rem);line-height:1.02;margin:18px 0 16px;letter-spacing:-.04em}
.hero-copy p{margin:0 0 22px;color:var(--frnova-muted);font-size:1.05rem;max-width:58ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.hero-points{display:grid;gap:10px;padding:0;margin:0;list-style:none;color:var(--frnova-text)}
.hero-points li{position:relative;padding-left:28px;font-weight:600}
.hero-points li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--frnova-primary),var(--frnova-accent));box-shadow:0 0 0 6px rgba(37,99,235,.09)}
.hero-panel .glass-card{padding:24px}
.glass-card--highlight{background:linear-gradient(180deg,rgba(10,22,55,.9),rgba(10,22,55,.82));color:#fff;border-color:rgba(255,255,255,.08)}
.glass-card--highlight .section-heading h2,.glass-card--highlight .section-heading--compact h2{color:#fff}
.glass-card--highlight .section-heading--compact{margin-bottom:18px}
.glass-card--highlight .eyebrow{background:rgba(255,255,255,.12);color:#bfdbfe}
.glass-card--highlight .fr-search-form{background:transparent;border:0;box-shadow:none;padding:0;margin:0}
.glass-card--highlight .fr-search-form input,.glass-card--highlight .fr-search-form select{background:rgba(255,255,255,.96);border-color:transparent}
.glass-card--highlight .fr-search-form button{background:linear-gradient(135deg,var(--frnova-primary),var(--frnova-accent))}
.glass-card--highlight .fr-search-form .fr-actions a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.stats-strip{padding:8px 0 22px}
.stats-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat-card{background:var(--frnova-surface);border:1px solid var(--frnova-border);border-radius:24px;padding:24px;box-shadow:var(--frnova-shadow-sm)}
.stat-card strong{display:block;font-size:2rem;line-height:1;margin-bottom:8px;letter-spacing:-.04em}
.stat-card span{color:var(--frnova-muted);font-weight:600}
.section-block{padding:20px 0}
.section-block--soft{padding:34px 0;background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.15))}
.section-block--cta{padding:34px 0 16px}
.section-heading{display:grid;gap:10px;justify-items:center;text-align:center;margin-bottom:24px}
.section-heading--left{justify-items:start;text-align:left}
.section-heading--compact{margin-bottom:0}
.section-heading h2{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.04em}
.section-heading p{margin:0;max-width:70ch;color:var(--frnova-muted)}
.action-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.action-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--frnova-border);box-shadow:var(--frnova-shadow-sm);border-radius:24px;padding:22px;text-decoration:none;color:var(--frnova-text);display:grid;gap:8px;min-height:138px}
.action-card strong{font-size:1.03rem}
.action-card span{color:var(--frnova-muted)}
.action-card:hover{transform:translateY(-3px);box-shadow:var(--frnova-shadow)}
.plugin-warning{background:var(--frnova-surface);border:1px dashed rgba(37,99,235,.35);border-radius:24px;padding:22px;color:var(--frnova-text)}
.plugin-warning--soft{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.plugin-warning h2,.plugin-warning h3,.plugin-warning p{margin:0 0 8px}
.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.cta-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;padding:34px;border-radius:32px;box-shadow:var(--frnova-shadow)}
.cta-banner h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.08;margin:12px 0}
.cta-banner p{margin:0;color:rgba(255,255,255,.84);max-width:66ch}
.cta-banner .eyebrow{background:rgba(255,255,255,.12);color:#bfdbfe}
.cta-banner__actions{display:flex;flex-wrap:wrap;gap:12px}
.content-shell{padding:40px 0}
.page-hero{display:grid;gap:14px;margin-bottom:26px}
.page-hero h1{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.04em}
.page-hero p{margin:0;color:var(--frnova-muted);max-width:72ch}
.page-hero--inner{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.74));border:1px solid rgba(255,255,255,.78);padding:34px;border-radius:30px;box-shadow:var(--frnova-shadow-sm)}
.post-feed{display:grid;gap:18px}
.feed-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:stretch;background:#fff;border:1px solid var(--frnova-border);border-radius:26px;padding:16px;box-shadow:var(--frnova-shadow-sm)}
.feed-card__thumb{overflow:hidden;border-radius:18px}
.feed-card__thumb img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.feed-card__body{display:grid;align-content:start;gap:10px}
.feed-card__meta{color:var(--frnova-muted);font-size:.92rem;font-weight:700}
.feed-card__title{margin:0;font-size:1.45rem;line-height:1.2}
.feed-card__title a{text-decoration:none;color:var(--frnova-text)}
.text-link{text-decoration:none;font-weight:700}
.content-single .entry-content,.prose-shell{background:#fff;border:1px solid var(--frnova-border);border-radius:28px;box-shadow:var(--frnova-shadow-sm);padding:28px}
.prose-shell>*:first-child{margin-top:0}.prose-shell>*:last-child{margin-bottom:0}
.featured-image-wrap{margin:0 0 22px;overflow:hidden;border-radius:24px;box-shadow:var(--frnova-shadow-sm)}
.empty-state-card{background:#fff;border:1px solid var(--frnova-border);border-radius:24px;padding:26px;box-shadow:var(--frnova-shadow-sm)}
.frnova-search-form{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--frnova-border);border-radius:18px;padding:10px;box-shadow:var(--frnova-shadow-sm)}
.frnova-search-form .search-field{width:100%;border:0;outline:0;background:transparent;padding:8px 10px}
.frnova-search-form .search-submit{border:0;background:linear-gradient(135deg,var(--frnova-primary),var(--frnova-accent));color:#fff;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer}
.frnova-pagination ul,.fr-pagination ul{display:flex;gap:10px;list-style:none;padding:0;margin:26px 0 0}
.frnova-pagination a,.frnova-pagination span,.fr-pagination a,.fr-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:14px;border:1px solid var(--frnova-border);background:#fff;text-decoration:none;color:var(--frnova-text)}
.frnova-pagination .current,.fr-pagination .current{background:linear-gradient(135deg,var(--frnova-primary),var(--frnova-accent));color:#fff;border-color:transparent}
.site-footer{padding:18px 0 26px;border-top:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.58)}
.site-footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:18px;align-items:start;padding-top:22px;padding-bottom:22px}
.site-footer__brand{background:#fff;border:1px solid var(--frnova-border);box-shadow:var(--frnova-shadow-sm);padding:24px;border-radius:24px}
.site-footer__brand h2{margin:0 0 10px}.site-footer__brand p{margin:0 0 18px;color:var(--frnova-muted)}
.footer-widget-card{background:#fff;border:1px solid var(--frnova-border);box-shadow:var(--frnova-shadow-sm);padding:24px;border-radius:24px;height:100%}
.widget-title{margin-top:0;margin-bottom:14px;font-size:1.1rem}
.site-footer__bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:16px;border-top:1px solid rgba(15,23,42,.08);color:var(--frnova-muted)}
.footer-menu-wrap .menu{display:flex;gap:16px;list-style:none;padding:0;margin:0}
.footer-menu-wrap a{text-decoration:none;color:var(--frnova-muted)}
/* Directory cards from theme */
.frnova-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.frnova-listing-card{display:grid;grid-template-rows:auto 1fr;background:#fff;border:1px solid var(--frnova-border);border-radius:28px;overflow:hidden;box-shadow:var(--frnova-shadow-sm)}
.frnova-listing-card__media{display:block;aspect-ratio:16/10;background:#eff6ff;overflow:hidden}
.frnova-listing-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.frnova-listing-card:hover .frnova-listing-card__media img{transform:scale(1.04)}
.frnova-listing-card__body{padding:20px;display:grid;gap:10px}
.frnova-listing-card__eyebrow{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--frnova-primary);font-weight:800}
.frnova-listing-card__title{margin:0;font-size:1.35rem;line-height:1.2}
.frnova-listing-card__title a{text-decoration:none;color:var(--frnova-text)}
.frnova-listing-card__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--frnova-muted);font-size:.92rem}
.frnova-listing-card__meta span{background:#f8fafc;border:1px solid var(--frnova-border);padding:6px 10px;border-radius:999px}
.frnova-listing-card__excerpt{margin:0;color:var(--frnova-muted)}
.frnova-listing-card__footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:8px;border-top:1px solid rgba(15,23,42,.08)}
.frnova-listing-card__footer a{text-decoration:none;font-weight:700}
/* Plugin visual overrides */
.fr-container{max-width:var(--frnova-container);padding-inline:0}
.fr-page-header{padding:34px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.74));border:1px solid rgba(255,255,255,.78);box-shadow:var(--frnova-shadow-sm)}
.fr-page-header h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.04em}
.fr-page-header p{margin:0;color:var(--frnova-muted)}
.fr-breadcrumbs{margin:0 0 16px;color:var(--frnova-muted);font-weight:600}
.fr-breadcrumbs a{text-decoration:none;color:var(--frnova-primary)}
.fr-search-form{background:rgba(255,255,255,.85)!important;border:1px solid var(--frnova-border)!important;box-shadow:var(--frnova-shadow)!important;border-radius:28px!important;padding:16px!important;gap:12px!important}
.fr-search-form input,.fr-search-form select{height:50px!important;border-radius:14px!important;border:1px solid var(--frnova-border)!important;background:#fff!important}
.fr-search-form button,.fr-search-form .fr-actions a{height:50px!important;border-radius:999px!important;font-weight:700!important}
.fr-search-form button{background:linear-gradient(135deg,var(--frnova-primary),var(--frnova-accent))!important}
.fr-search-form .fr-actions a{background:#fff!important}
.fr-card,.fr-single-main,.fr-sidebar-card,.fr-category-item{border:1px solid var(--frnova-border)!important;box-shadow:var(--frnova-shadow-sm)!important}
.fr-card,.fr-single-main,.fr-sidebar-card{border-radius:24px!important}
.fr-card-body{padding:20px!important}
.fr-card-title{font-size:1.35rem!important;letter-spacing:-.02em}
.fr-card-excerpt{color:var(--frnova-muted)!important}
.fr-card-tax{font-size:.75rem!important;color:var(--frnova-primary)!important;font-weight:800;letter-spacing:.08em!important}
.fr-card-location,.fr-single-location,.fr-single-stats,.fr-results-count{color:var(--frnova-muted)!important}
.fr-card-badge{background:linear-gradient(135deg,var(--frnova-primary),var(--frnova-accent))!important;border-radius:999px!important;padding:7px 12px!important}
.fr-single-cover{border-radius:30px!important;box-shadow:var(--frnova-shadow)!important}
.fr-single-logo{width:96px!important;height:96px!important;border-radius:22px!important}
.fr-single-header{padding:0!important}
.fr-single-grid{gap:20px!important}
.fr-sidebar-card h3{margin-top:0}
.fr-lead{color:var(--frnova-muted)!important}
.fr-category-item{border-radius:18px!important;padding:16px 18px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}
.fr-empty{background:#fff;border:1px dashed rgba(37,99,235,.25)!important;border-radius:22px!important;box-shadow:var(--frnova-shadow-sm)!important}
.widget .fr-search-form{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.widget .fr-search-form input,.widget .fr-search-form select{height:46px!important}
@media (max-width:1120px){
  .site-header__inner{grid-template-columns:auto auto auto}
  .main-navigation .menu{gap:18px}
  .action-grid{grid-template-columns:repeat(3,1fr)}
  .stats-strip__grid{grid-template-columns:repeat(2,1fr)}
  .frnova-card-grid{grid-template-columns:repeat(2,1fr)}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .hero-section__grid,.split-layout,.cta-banner,.feed-card{grid-template-columns:1fr}
  .site-header__inner{grid-template-columns:auto auto;grid-template-areas:"brand actions" "nav nav"}
  .site-branding{grid-area:brand}.header-actions{grid-area:actions;justify-self:end}.main-navigation{grid-area:nav;justify-self:stretch}
  .main-navigation{display:none;padding-bottom:16px}.main-navigation.is-open{display:block}
  .main-navigation .menu{flex-direction:column;align-items:flex-start;padding-top:6px}
  .nav-toggle{display:block;justify-self:end}
  .site-description{display:none}
  .action-grid{grid-template-columns:1fr 1fr}
  .fr-search-form{grid-template-columns:1fr 1fr!important}
}
@media (max-width:680px){
  .header-actions .button--ghost{display:none}
  .hero-copy,.hero-panel .glass-card,.page-hero--inner,.cta-banner,.site-footer__brand,.footer-widget-card,.action-card,.stat-card,.fr-search-form,.fr-card,.fr-single-main,.fr-sidebar-card,.fr-category-item,.frnova-listing-card{border-radius:22px!important}
  .hero-copy,.hero-panel .glass-card,.page-hero--inner,.cta-banner,.site-footer__brand,.footer-widget-card{padding:22px}
  .action-grid,.stats-strip__grid,.frnova-card-grid,.site-footer__grid{grid-template-columns:1fr}
  .fr-search-form{grid-template-columns:1fr!important}
  .fr-search-form .fr-actions{grid-column:auto!important}
  .feed-card{padding:12px}
  .site-footer__bottom{flex-direction:column;align-items:flex-start}
}
