/* ============================================================
   FOREX REVIEWS HUB — shares the exact design tokens used
   across the BrokerLens homepage, review page, blog listing
   and author profile pages.
   ============================================================ */
:root{
  --white:#ffffff;
  --surface:#f6f8fc;
  --surface-2:#eef2f9;
  --ink:#0b1220;
  --ink-soft:#4b5566;
  --ink-faint:#8792a3;
  --line:#e4e9f2;
  --line-soft:#edf1f7;
  --blue:#2554ff;
  --blue-deep:#0b1c7a;
  --blue-soft:#eaf0ff;
  --accent:#38bdf8;
  --green:#12a454;
  --red:#e5484d;

  --font-display:'Space Grotesk','Inter',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;

  --radius:18px;
  --radius-sm:12px;
  --radius-lg:26px;

  --shadow-sm:0 2px 8px rgba(11,28,122,0.06);
  --shadow-md:0 12px 32px rgba(11,28,122,0.10);
  --shadow-lg:0 24px 60px rgba(11,28,122,0.14);

  --transition-fast:.18s ease;
  --transition-med:.3s ease;
}

.frh *,.frh *::before,.frh *::after{box-sizing:border-box;}
.frh{font-family:var(--font-body); color:var(--ink); line-height:1.5; max-width:1400px; margin:0 auto; -webkit-font-smoothing:antialiased; position:relative;}
.frh h1,.frh h2,.frh h3{font-family:var(--font-display); margin:0; letter-spacing:-0.01em;}
.frh p{margin:0;}
.frh ul,.frh ol{margin:0; padding:0; list-style:none;}
.frh a{color:inherit; text-decoration:none;}
.frh img{max-width:100%; display:block;}
.frh button{font-family:inherit; cursor:pointer;}
.frh input,.frh select{font-family:inherit; color:inherit;}
.frh :focus-visible{outline:2.5px solid var(--blue); outline-offset:3px; border-radius:4px;}

@media (prefers-reduced-motion: reduce){
  .frh *,.frh *::before,.frh *::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

/* ============================================================
   SCROLL PROGRESS
   ============================================================ */
.frh .scroll-progress{position:fixed; top:0; left:0; width:100%; height:3px; z-index:1100;}
.frh .scroll-progress__bar{height:100%; width:0%; background:linear-gradient(90deg, var(--blue), var(--accent)); transition:width .1s linear;}

/* ============================================================
   BUTTONS + ICON BUTTON (shared component)
   ============================================================ */
.frh .btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius:100px; font-weight:600; border:1px solid transparent; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; white-space:nowrap; font-size:0.9rem; padding:11px 22px;}
.frh .btn--lg{padding:15px 30px; font-size:1rem;}
.frh .btn--sm{padding:9px 18px; font-size:0.84rem;}
.frh .btn--primary{background:linear-gradient(135deg, var(--blue), var(--blue-deep)); color:#fff; box-shadow:0 8px 20px rgba(37,84,255,0.28);}
.frh .btn--primary:hover{transform:translateY(-2px); box-shadow:0 14px 28px rgba(37,84,255,0.34);}
.frh .btn--secondary{background:var(--white); color:var(--ink); border-color:var(--line);}
.frh .btn--secondary:hover{border-color:var(--blue); color:var(--blue); transform:translateY(-2px);}
.frh .icon-btn{width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ink-soft); background:var(--white); border:1px solid var(--line); transition:all var(--transition-fast); flex-shrink:0;}
.frh .icon-btn:hover{border-color:var(--blue); color:var(--blue);}

.reveal{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}

/* ============================================================
   SHARED SECTION SCAFFOLDING
   ============================================================ */
.frh-section{padding:70px 32px; border-top:1px solid var(--line-soft);}
.section__head{margin-bottom:36px; max-width:640px;}
.section__head--center{max-width:640px; margin:0 auto 36px; text-align:center;}
.eyebrow{display:inline-block; font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--blue); margin-bottom:10px;}
.section__head h2{font-size:clamp(1.5rem, 2.4vw, 2.1rem); font-weight:600;}

/* ============================================================
   1. HERO
   ============================================================ */
.frh-hero{position:relative; overflow:hidden; padding:72px 32px; text-align:center; border-radius:0 0 var(--radius-lg) var(--radius-lg); background:linear-gradient(160deg, var(--blue-deep), var(--blue) 80%);}
.frh-hero__field{position:absolute; inset:0; z-index:0; pointer-events:none;}
.frh-hero__shape{position:absolute; border-radius:50%; filter:blur(70px); opacity:0.35; background:radial-gradient(circle, #fff, transparent 70%);}
.frh-hero__shape--a{width:320px; height:320px; top:-120px; right:-60px;}
.frh-hero__shape--b{width:240px; height:240px; bottom:-100px; left:6%;}
.frh-hero__shape--c{width:180px; height:180px; top:30%; left:-80px;}
.frh-hero__inner{position:relative; z-index:1; max-width:680px; margin:0 auto;}
.frh-hero__inner h1{color:#fff; font-size:clamp(2rem,4vw,3rem); font-weight:700; margin-bottom:16px;}
.frh-hero__inner > p{color:rgba(255,255,255,0.85); font-size:1.05rem; margin-bottom:32px; max-width:560px; margin-left:auto; margin-right:auto;}

.frh-hero__search{position:relative; display:flex; align-items:center; gap:10px; background:var(--white); border-radius:100px; padding:8px 8px 8px 22px; box-shadow:var(--shadow-lg); max-width:560px; margin:0 auto 22px; color:var(--ink-faint);}
.frh-hero__search input{flex:1; border:none; background:none; font-size:0.98rem; color:var(--ink);}
.frh-hero__search input:focus{outline:none;}

.frh-hero__popular{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; color:rgba(255,255,255,0.75); font-size:0.86rem;}
.chip{background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.3); color:#fff; padding:8px 16px; border-radius:100px; font-size:0.84rem; transition:all var(--transition-fast);}
.chip:hover{background:rgba(255,255,255,0.26); transform:translateY(-2px);}

/* ============================================================
   2. FEATURED REVIEWS
   ============================================================ */
.feat-grid{display:grid; grid-template-columns:1fr; gap:24px;}
@media (min-width:720px){ .feat-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1180px){ .feat-grid{grid-template-columns:repeat(3,1fr);} }
.feat-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform var(--transition-fast), box-shadow var(--transition-fast);}
.feat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.feat-card__media{position:relative; display:block; aspect-ratio:16/9; background:linear-gradient(135deg, var(--blue-soft), var(--surface-2));}
.feat-card__img{width:100%; height:100%; object-fit:cover;}
.feat-card__fallback{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:2rem; color:var(--blue);}
.feat-card__logo{position:absolute; bottom:-20px; left:20px; width:48px; height:48px; border-radius:14px; background:var(--white); box-shadow:var(--shadow-md); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; color:var(--blue-deep); font-size:0.9rem;}
.feat-card__body{padding:32px 22px 22px;}
.feat-card__title{font-size:1.08rem; margin-bottom:8px;}
.feat-card__title a:hover{color:var(--blue);}
.feat-card__stars{color:var(--blue); font-size:0.9rem; margin-bottom:16px;}
.feat-card__stars span{color:var(--ink-faint); font-family:var(--font-mono); font-size:0.78rem; margin-left:4px;}
.feat-card__stats{display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; margin-bottom:16px;}
.feat-card__stats div{display:flex; flex-direction:column; gap:2px;}
.feat-card__stats span{font-size:0.68rem; text-transform:uppercase; color:var(--ink-faint);}
.feat-card__stats strong{font-family:var(--font-mono); font-size:0.86rem;}
.feat-card__verdict{font-size:0.86rem; color:var(--ink-soft); line-height:1.5; margin-bottom:14px;}
.feat-card__meta{font-size:0.74rem; color:var(--ink-faint); margin-bottom:16px;}
.feat-card__actions{display:flex; gap:10px;}
.feat-card__actions .btn{flex:1;}

/* ============================================================
   3. CATEGORIES
   ============================================================ */
.cat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px;}
.cat-card{position:relative; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius); padding:24px; overflow:hidden; transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);}
.cat-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); background:linear-gradient(160deg,#fff,var(--blue-soft));}
.cat-card__icon{width:40px; height:40px; border-radius:10px; background:var(--white); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:14px; box-shadow:var(--shadow-sm);}
.cat-card h3{font-size:0.98rem; margin-bottom:6px;}
.cat-card__count{display:block; font-size:0.78rem; color:var(--ink-faint); margin-bottom:14px;}
.cat-card__cta{font-size:0.84rem; font-weight:700; color:var(--blue);}

/* ============================================================
   4. BROWSE BY BROKER
   ============================================================ */
.frh-browsebar{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:20px; margin-bottom:30px; position:sticky; top:0; z-index:60;}
.frh-browsebar__search{display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--line-soft); border-radius:100px; padding:10px 18px; color:var(--ink-faint); margin-bottom:16px; max-width:420px;}
.frh-browsebar__search input{flex:1; border:none; background:none; font-size:0.92rem; color:var(--ink);}
.frh-browsebar__search input:focus{outline:none;}
.frh-az{display:flex; flex-wrap:wrap; gap:6px;}
.frh-az__btn{min-width:34px; height:34px; padding:0 8px; border-radius:10px; border:1px solid var(--line); background:var(--white); color:var(--ink-soft); font-size:0.82rem; font-weight:600; transition:all var(--transition-fast);}
.frh-az__btn:hover{border-color:var(--blue); color:var(--blue);}
.frh-az__btn.is-active{background:linear-gradient(135deg, var(--blue), var(--blue-deep)); color:#fff; border-color:transparent;}

.browse-grid{display:grid; grid-template-columns:1fr; gap:14px;}
@media (min-width:720px){ .browse-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1180px){ .browse-grid{grid-template-columns:repeat(3,1fr);} }
.browse-card{display:flex; align-items:center; gap:14px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:16px; transition:transform var(--transition-fast), box-shadow var(--transition-fast);}
.browse-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-md);}
.browse-card__logo{width:44px; height:44px; border-radius:12px; background:var(--blue-soft); color:var(--blue-deep); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:0.82rem; flex-shrink:0;}
.browse-card__body{flex:1; min-width:0;}
.browse-card__body h3{font-size:0.94rem; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.browse-card__body h3 a:hover{color:var(--blue);}
.browse-card__stats{display:flex; flex-wrap:wrap; gap:8px;}
.browse-card__stats span{font-size:0.72rem; color:var(--ink-faint); font-family:var(--font-mono);}

.blog-empty{grid-column:1/-1; text-align:center; padding:60px 30px; background:var(--surface); border:1px dashed var(--line); border-radius:var(--radius-lg);}
.blog-empty h3{font-size:1.15rem; margin-bottom:8px;}
.blog-empty p{color:var(--ink-soft); font-size:0.9rem;}

/* ============================================================
   PAGINATION (shared)
   ============================================================ */
.fbl-pagination{margin-top:34px; display:flex; justify-content:center;}
.pagination__list{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.pagination .page-numbers{display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border-radius:100px; border:1px solid var(--line); background:var(--white); color:var(--ink-soft); font-size:0.88rem; font-weight:600; transition:all var(--transition-fast);}
.pagination .page-numbers:hover{border-color:var(--blue); color:var(--blue); transform:translateY(-2px);}
.pagination__item.is-current .page-numbers{background:linear-gradient(135deg, var(--blue), var(--blue-deep)); color:#fff; border-color:transparent;}

/* ============================================================
   5. LATEST REVIEWS (shared .blog-card)
   ============================================================ */
.blog-grid{display:grid; grid-template-columns:1fr; gap:24px;}
@media (min-width:640px){ .blog-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .blog-grid{grid-template-columns:repeat(3,1fr);} }
.blog-card{display:flex; flex-direction:column; height:100%; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform var(--transition-fast), box-shadow var(--transition-fast);}
.blog-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.blog-card__media{position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--surface-2);}
.blog-card__img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.blog-card:hover .blog-card__img{transform:scale(1.06);}
.blog-card__fallback{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--blue); font-family:var(--font-display); font-weight:700; background:linear-gradient(135deg, var(--blue-soft), var(--surface-2));}
.blog-card__badge{position:absolute; top:14px; left:14px; background:rgba(11,18,32,0.72); backdrop-filter:blur(6px); color:#fff; font-size:0.7rem; font-weight:600; padding:6px 12px; border-radius:100px;}
.blog-card__body{flex:1; display:flex; flex-direction:column; padding:20px 20px 18px;}
.blog-card__title{font-size:1.02rem; line-height:1.35; margin-bottom:8px;}
.blog-card__title a:hover{color:var(--blue);}
.blog-card__excerpt{font-size:0.86rem; color:var(--ink-soft); line-height:1.55; margin-bottom:16px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.blog-card__meta{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:14px; border-top:1px solid var(--line-soft); margin-bottom:14px;}
.blog-card__author{display:flex; align-items:center; gap:8px; font-size:0.8rem; font-weight:600;}
.blog-card__author img{border-radius:50%;}
.blog-card__meta time{font-size:0.74rem; color:var(--ink-faint); font-family:var(--font-mono);}
.blog-card__footer{display:flex; align-items:center; justify-content:space-between;}
.blog-card__readtime{font-size:0.76rem; color:var(--ink-faint);}
.blog-card__cta{font-size:0.84rem; font-weight:700; color:var(--blue);}

/* ============================================================
   6. EXPERT REVIEW TEAM
   ============================================================ */
.team-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px;}
.team-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px; text-align:center; transition:transform var(--transition-fast), box-shadow var(--transition-fast);}
.team-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md);}
.team-card__avatar{border-radius:50%; margin:0 auto 14px; border:3px solid var(--blue-soft);}
.team-card h3{font-size:0.98rem; margin-bottom:4px;}
.team-card__role{display:block; font-size:0.76rem; color:var(--blue); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:0.03em; margin-bottom:16px;}
.team-card__stats{display:flex; justify-content:center; gap:14px; margin-bottom:18px;}
.team-card__stats strong{display:block; font-family:var(--font-mono); font-size:0.95rem; color:var(--blue-deep);}
.team-card__stats span{font-size:0.68rem; color:var(--ink-faint); text-transform:uppercase;}

/* ============================================================
   7. HOW WE REVIEW BROKERS (process)
   ============================================================ */
.process{display:flex; flex-direction:column; gap:0;}
@media (min-width:1000px){ .process{flex-direction:row; align-items:flex-start; flex-wrap:wrap;} }
.process__step{flex:1 1 200px; text-align:center; padding:0 10px 24px; display:flex; flex-direction:column; align-items:center;}
.process__icon{width:52px; height:52px; border-radius:50%; background:var(--blue-soft); color:var(--blue-deep); font-family:var(--font-mono); font-weight:700; display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-size:0.9rem; border:2px solid var(--blue);}
.process__step h3{font-size:0.96rem; margin-bottom:6px;}
.process__step p{font-size:0.82rem; color:var(--ink-soft); max-width:200px;}
.process__connector{width:2px; height:26px; background:var(--line); align-self:center;}
@media (min-width:1000px){ .process__connector{width:auto; height:2px; flex:0 0 24px; margin-top:26px; background:repeating-linear-gradient(90deg, var(--blue) 0 6px, transparent 6px 12px);} }

/* ============================================================
   8. COMPARE TOOL (shared pattern)
   ============================================================ */
.compare-tool{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:34px;}
.compare-tool__controls{display:flex; flex-wrap:wrap; align-items:end; gap:18px; justify-content:center; margin-bottom:28px;}
.compare-select{display:flex; flex-direction:column; gap:6px; font-size:0.8rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.04em;}
.compare-select select{padding:12px 16px; border-radius:var(--radius-sm); border:1px solid var(--line); background:var(--white); font-size:0.95rem; min-width:200px; color:var(--ink);}
.compare-vs{font-family:var(--font-display); font-weight:700; color:var(--ink-faint); padding-bottom:12px;}
.compare-tool__result{opacity:0; max-height:0; overflow:hidden; transition:opacity var(--transition-med), max-height var(--transition-med);}
.compare-tool__result.is-active{opacity:1; max-height:900px;}
.compare-table{width:100%; border-collapse:collapse; background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);}
.compare-table th,.compare-table td{padding:16px 18px; text-align:left; font-size:0.9rem; border-bottom:1px solid var(--line-soft);}
.compare-table thead th{font-family:var(--font-mono); font-size:0.72rem; text-transform:uppercase; color:var(--ink-faint); background:var(--surface-2);}
.compare-table td:first-child{color:var(--ink-faint); font-size:0.8rem; text-transform:uppercase;}
.compare-table td:not(:first-child){font-family:var(--font-mono);}
.compare-table tbody tr:last-child td{border-bottom:none;}
.compare-table__cta{display:inline-block; margin-top:4px;}

/* ============================================================
   9. TRENDING SLIDER
   ============================================================ */
.trending-slider{display:flex; align-items:center; gap:14px;}
.trending-slider__track{display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:6px 2px 14px;}
.trending-slider__track::-webkit-scrollbar{height:6px;}
.trending-slider__track::-webkit-scrollbar-thumb{background:var(--line); border-radius:4px;}
.trending-card{flex:0 0 220px; scroll-snap-align:start; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px; transition:transform var(--transition-fast), box-shadow var(--transition-fast);}
.trending-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.trending-card__logo{display:inline-flex; width:38px; height:38px; border-radius:10px; background:var(--blue-soft); color:var(--blue-deep); align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:0.78rem; margin-bottom:14px;}
.trending-card h3{font-size:0.94rem; margin-bottom:8px;}
.trending-card__rating{color:var(--blue); font-size:0.85rem;}
.trending-slider__nav{flex-shrink:0;}

/* ============================================================
   10. GUIDES
   ============================================================ */
.guide-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px;}
.guide-card{display:block; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius); padding:24px; transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);}
.guide-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); background:var(--white);}
.guide-card__icon{width:40px; height:40px; border-radius:10px; background:var(--white); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:14px; box-shadow:var(--shadow-sm);}
.guide-card h3{font-size:1rem; margin-bottom:10px;}
.guide-card span{font-size:0.84rem; font-weight:600; color:var(--blue);}

/* ============================================================
   11. NEWSLETTER
   ============================================================ */
.frh-newsletter{margin:0 32px; padding:56px 32px; background:linear-gradient(150deg, var(--blue-deep), var(--blue) 70%); border-radius:var(--radius-lg); text-align:center;}
.frh-newsletter__inner{max-width:560px; margin:0 auto;}
.frh-newsletter h2{color:#fff; font-size:clamp(1.4rem,2.4vw,1.9rem); margin-bottom:12px;}
.frh-newsletter p{color:rgba(255,255,255,0.85); font-size:0.96rem; margin-bottom:26px;}
.frh-newsletter__form{display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}
.frh-newsletter__form input{flex:1; min-width:220px; padding:14px 20px; border-radius:100px; border:none; font-size:0.94rem;}
.frh-newsletter__status{margin-top:14px; font-size:0.85rem; color:#fff; min-height:1.2em;}

/* ============================================================
   12. FAQ ACCORDION (shared)
   ============================================================ */
.accordion{display:flex; flex-direction:column; border-top:1px solid var(--line);}
.accordion__item{border-bottom:1px solid var(--line);}
.accordion__trigger{width:100%; background:none; border:none; display:flex; justify-content:space-between; align-items:center; padding:20px 4px; font-family:var(--font-display); font-size:1rem; font-weight:600; color:var(--ink); text-align:left;}
.accordion__icon{position:relative; width:18px; height:18px; flex-shrink:0;}
.accordion__icon::before,.accordion__icon::after{content:""; position:absolute; background:var(--blue); border-radius:2px;}
.accordion__icon::before{width:18px; height:2px; top:8px; left:0;}
.accordion__icon::after{width:2px; height:18px; top:0; left:8px; transition:transform .25s ease;}
.accordion__trigger[aria-expanded="true"] .accordion__icon::after{transform:rotate(90deg);}
.accordion__panel{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.accordion__panel p{padding:0 4px 20px; color:var(--ink-soft); font-size:0.92rem; line-height:1.6;}

/* ============================================================
   13. FINAL CTA
   ============================================================ */
.frh-final-cta{padding:70px 32px 90px; text-align:center;}
.frh-final-cta h2{font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:26px;}
.frh-final-cta__actions{display:flex; justify-content:center; gap:14px; flex-wrap:wrap;}

/* ============================================================
   BACK TO TOP
   ============================================================ */
.frh .back-to-top{position:fixed; bottom:26px; right:26px; width:48px; height:48px; border-radius:50%; background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow-md); display:flex; align-items:center; justify-content:center; color:var(--blue); z-index:850; opacity:0; visibility:hidden; transform:translateY(12px); transition:all var(--transition-fast);}
.frh .back-to-top.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
.frh .back-to-top:hover{transform:translateY(-3px);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:768px){
  .frh-section{padding:52px 20px;}
  .frh-hero{padding:52px 20px;}
  .frh-newsletter{margin:0 20px; padding:40px 22px;}
  .frh-browsebar{position:static;}
}
