/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 29 2026 | 15:08:18 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@300;400;600;700&display=swap');

:root {
  --ff-navy: #0F1D2D;
  --ff-sage: #A6B799;
  --ff-beige: #F2EBDB;
  --ff-slate: #5D6F86;
  --ff-grey: #E7E7E7;
  --ff-ivory: #FAF9F6;
  --ff-gold: #C8A96B;
  --ff-sage-dark: #6F8226;
}
body { font-family: 'Lato', sans-serif; color: var(--ff-navy); background: var(--ff-ivory); }
h1,h2,h3,h4 { font-family: 'Playfair Display', serif; color: var(--ff-navy); }
.ff-hero { background: var(--ff-navy); color: white; padding: 80px 40px; text-align: center; }
.ff-hero h1 { color: white; font-size: 3rem; margin-bottom: 16px; }
.ff-hero h1 span { color: var(--ff-gold); }
.ff-hero p { font-size: 1.1rem; color: #ccc; max-width: 640px; margin: 0 auto 32px; }
.ff-btn { background: var(--ff-gold); color: var(--ff-navy) !important; padding: 14px 32px; border-radius: 4px; font-weight: 700; text-decoration: none; display: inline-block; font-family: Lato,sans-serif; margin: 8px; }
.ff-btn:hover { background: #b8963d; }
.ff-btn-outline { border: 2px solid var(--ff-gold); color: var(--ff-gold) !important; padding: 12px 30px; border-radius: 4px; font-weight: 700; text-decoration: none; display: inline-block; font-family: Lato,sans-serif; margin: 8px; }
.ff-section { padding: 70px 40px; max-width: 1100px; margin: 0 auto; }
.ff-bg-beige { background: var(--ff-beige); }
.ff-bg-navy { background: var(--ff-navy); }
.ff-bg-ivory { background: var(--ff-ivory); }
.ff-eyebrow { font-family: Lato,sans-serif; font-size: 0.78rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--ff-gold); margin-bottom: 10px; }
.ff-section-title { font-size: 2.2rem; margin-bottom: 14px; line-height: 1.3; }
.ff-lead { font-size: 1.05rem; color: var(--ff-slate); max-width: 600px; margin-bottom: 44px; line-height: 1.7; }
.ff-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 28px; }
.ff-card { background: white; padding: 36px; border-radius: 8px; box-shadow: 0 2px 20px rgba(15,29,45,.07); }
.ff-card h3 { font-size: 1.3rem; margin: 12px 0 10px; }
.ff-card p { color: var(--ff-slate); line-height: 1.7; font-size: 0.95rem; }
.ff-card .icon { font-size: 2.2rem; }
.ff-pillars { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 20px; margin-top: 44px; }
.ff-pillar { text-align: center; padding: 28px 20px; background: white; border-radius: 8px; }
.ff-pillar span { font-size: 2.2rem; display: block; margin-bottom: 12px; }
.ff-pillar h3 { font-size: 1rem; margin-bottom: 6px; }
.ff-pillar p { font-size: 0.88rem; color: var(--ff-slate); }
.ff-testimonials { display: grid; grid-template-columns: repeat(auto-fit,minmax(290px,1fr)); gap: 24px; margin-top: 44px; }
.ff-testimonial { background: white; padding: 28px; border-radius: 8px; border-left: 4px solid var(--ff-gold); }
.ff-testimonial blockquote { font-style: italic; color: var(--ff-slate); line-height: 1.8; margin: 0 0 14px; font-size: 0.93rem; }
.ff-testimonial .name { font-weight: 700; font-size: 0.88rem; }
.ff-testimonial .country { color: var(--ff-sage); font-size: 0.82rem; }
.ff-pricing { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 24px; margin-top: 44px; }
.ff-price { background: white; padding: 36px; border-radius: 8px; box-shadow: 0 2px 16px rgba(15,29,45,.07); text-align: center; }
.ff-price.featured { background: var(--ff-navy); }
.ff-price h3 { font-size: 1.3rem; margin-bottom: 6px; }
.ff-price.featured h3 { color: white; }
.ff-price .amount { font-family: Playfair Display,serif; font-size: 2.6rem; color: var(--ff-gold); font-weight: 700; display: block; }
.ff-price .period { font-size: 0.88rem; color: var(--ff-slate); margin-bottom: 22px; display: block; }
.ff-price.featured .period { color: #aaa; }
.ff-price ul { list-style: none; padding: 0; margin: 0 0 28px; text-align: left; }
.ff-price ul li { padding: 7px 0; border-bottom: 1px solid var(--ff-grey); font-size: 0.92rem; color: var(--ff-slate); }
.ff-price ul li::before { content: "✓ "; color: var(--ff-gold); font-weight: 700; }
.ff-price.featured ul li { color: #ccc; border-color: rgba(255,255,255,.1); }
.ff-faq { max-width: 780px; margin: 44px auto 0; }
.ff-faq details { border-bottom: 1px solid var(--ff-grey); padding: 18px 0; }
.ff-faq summary { font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.ff-faq summary::after { content: "+"; color: var(--ff-gold); font-size: 1.3rem; }
.ff-faq details[open] summary::after { content: "−"; }
.ff-faq details p { margin-top: 10px; color: var(--ff-slate); line-height: 1.8; font-size: 0.95rem; }
.ff-stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 20px; margin-top: 36px; text-align: center; }
.ff-stat .num { font-family: Playfair Display,serif; font-size: 2.4rem; color: var(--ff-gold); font-weight: 700; }
.ff-stat .lbl { font-size: 0.88rem; color: var(--ff-slate); }
.ff-cta { background: var(--ff-navy); padding: 70px 40px; text-align: center; }
.ff-cta h2 { color: white; font-size: 2rem; margin-bottom: 14px; }
.ff-cta p { color: #aaa; max-width: 540px; margin: 0 auto 28px; }
.ff-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ff-badge { display: inline-block; background: rgba(166,183,153,.2); color: var(--ff-navy); font-size: 0.78rem; font-weight: 700; padding: 4px 12px; border-radius: 20px; margin: 3px; }
.site-header,.main-header-bar,.ast-main-header-wrap { background: var(--ff-navy) !important; }
.site-title a { color: white !important; font-family: Playfair Display,serif !important; font-weight: 700 !important; }
.ast-header-sections-wrapper a, .main-header-menu .menu-item a { color: rgba(255,255,255,.85) !important; font-family: Lato,sans-serif !important; }
.ast-header-sections-wrapper a:hover, .main-header-menu .menu-item a:hover { color: var(--ff-gold) !important; }
.site-footer,.footer-widget-area,.ast-footer-copyright { background: var(--ff-navy) !important; color: #aaa !important; }
.site-footer a { color: var(--ff-sage) !important; }
.entry-content { max-width: 100% !important; padding: 0 !important; }
.ast-container { max-width: 1100px !important; }
@media(max-width:768px){.ff-two-col{grid-template-columns:1fr}.ff-hero h1{font-size:2rem}.ff-section{padding:48px 24px}}

/* CF7 Form Styles */
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea,.wpcf7 select{width:100%;padding:12px 16px;border:1px solid var(--ff-grey);border-radius:4px;font-family:Lato,sans-serif;font-size:0.95rem;color:var(--ff-navy);background:var(--ff-ivory);margin-bottom:16px;box-sizing:border-box;display:block}
.wpcf7 input[type=text]:focus,.wpcf7 input[type=email]:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{border-color:var(--ff-gold);outline:none}
.wpcf7 input[type=submit]{background:var(--ff-gold);color:var(--ff-navy);padding:14px 32px;border:none;border-radius:4px;font-weight:700;cursor:pointer;font-family:Lato,sans-serif;font-size:1rem;width:100%;margin-top:8px}
.wpcf7 input[type=submit]:hover{background:#b8963d}
.wpcf7-form p{margin:0 0 4px}

/* Astra Header */
#masthead,.site-header,.main-header-bar,.ast-main-header-wrap,.ast-primary-header-bar,.main-header-bar-wrap{background-color:var(--ff-navy) !important}
.site-title a,.site-title a:hover,.ast-site-identity a{color:white !important;font-family:'Playfair Display',serif !important;font-weight:700 !important;font-size:1.4rem !important;text-decoration:none !important}
#primary-menu a,.main-header-menu a,.ast-nav-menu a{color:rgba(255,255,255,.88) !important;font-family:Lato,sans-serif !important;font-size:0.95rem !important;font-weight:600 !important}
#primary-menu a:hover,.main-header-menu a:hover,.ast-nav-menu a:hover,.current-menu-item > a{color:var(--ff-gold) !important}

/* Astra Footer */
.site-footer,.footer-widget-area,.ast-small-footer,.ast-footer-copyright{background-color:var(--ff-navy) !important;color:#999 !important}
.site-footer a{color:var(--ff-sage) !important}.site-footer a:hover{color:var(--ff-gold) !important}
.ast-small-footer{padding:16px 40px !important;border-top:1px solid rgba(255,255,255,.1) !important;font-size:0.85rem !important}

/* Page layout */
.entry-content{padding:0 !important;max-width:100% !important}
.page .entry-header{display:none !important}
body.page{background:var(--ff-ivory) !important}
.ast-container{max-width:1140px !important}

/* Logo sizing fix */
.site-logo img,.custom-logo,.ast-site-identity img,.custom-logo-link img{height:44px !important;width:auto !important;max-width:180px !important}
.ast-site-identity{display:flex;align-items:center}
.ast-site-identity .site-title{display:none !important}

/* ── MOBILE MENU FIX ── */
@media (max-width: 920px) {
  /* Mobile nav dropdown background */
  .ast-mobile-popup-drawer .ast-primary-nav-wrap,
  .ast-mobile-popup-drawer,
  .ast-primary-header-bar .main-header-bar-navigation,
  .main-navigation .menu,
  .ast-header-break-point .main-header-menu,
  .ast-header-break-point .main-navigation ul,
  .ast-header-break-point nav.ast-flex,
  .ast-mobile-header-content {
    background-color: var(--ff-navy) !important;
  }

  /* Mobile menu items - force dark bg, gold/white text */
  .ast-header-break-point .main-header-menu .menu-item a,
  .ast-header-break-point .main-header-menu li a,
  .ast-mobile-popup-drawer .menu-item a,
  .ast-header-break-point nav ul li a,
  .ast-header-break-point .main-navigation a {
    color: rgba(255,255,255,.9) !important;
    background: var(--ff-navy) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    padding: 14px 20px !important;
    display: block !important;
  }

  .ast-header-break-point .main-header-menu .menu-item a:hover,
  .ast-mobile-popup-drawer .menu-item a:hover {
    color: var(--ff-gold) !important;
    background: rgba(255,255,255,.04) !important;
  }

  /* Hamburger icon - make it white/visible */
  .ast-header-break-point .ast-mobile-menu-buttons button,
  .ast-header-break-point .menu-toggle,
  .ast-mobile-menu-trigger-minimal,
  button.ast-mobile-menu-trigger,
  .ast-header-break-point .ast-button-wrap button {
    color: white !important;
    background: transparent !important;
  }
  .ast-header-break-point .ast-mobile-menu-buttons svg,
  .menu-toggle svg,
  .ast-mobile-menu-trigger svg {
    fill: white !important;
    stroke: white !important;
  }

  /* Mobile menu container full width */
  .ast-header-break-point .main-header-bar-navigation {
    width: 100% !important;
    background: var(--ff-navy) !important;
  }

  /* General mobile layout improvements */
  .ff-two-col { grid-template-columns: 1fr !important; gap: 32px !important; }
  .ff-cards { grid-template-columns: 1fr !important; }
  .ff-pricing { grid-template-columns: 1fr !important; }
  .ff-pillars { grid-template-columns: 1fr 1fr !important; }
  .ff-testimonials { grid-template-columns: 1fr !important; }
  .ff-stats { grid-template-columns: 1fr 1fr !important; }
  .ff-hero { padding: 48px 20px !important; }
  .ff-hero h1 { font-size: 1.9rem !important; line-height: 1.3 !important; }
  .ff-section { padding: 48px 20px !important; }
  .ff-section-title { font-size: 1.7rem !important; }
  .ff-btn, .ff-btn-outline { display: block !important; text-align: center !important; margin: 8px 0 !important; }
	#ff-footer {
		background: #0F1D2D;
		font-family: "Montserrat", sans-serif;
		box-sizing: border-box;
		width: 100%;
		overflow: hidden;
		padding: 40px 20px 0 !important;
	}
	#ff-footer .ff-foot-inner {
		display: grid;
		grid-template-columns: 2fr 1fr 1fr;
		gap: 32px;
		max-width: 1200px;
		margin: 0 auto;
	}
	#ff-footer .ff-foot-logo {
		font-family: "Montserrat", sans-serif;
		font-size: 1.2rem;
		font-weight: 700;
		color: white;
		letter-spacing: 0.5px;
	}
	#ff-footer .ff-foot-bar {
		width: 50px;
		height: 3px;
		background: #C8A96B;
		margin: 10px 0;
	}
	#ff-footer .ff-foot-desc {
		margin: 15px 0;
		color: #B5BFCD;
		line-height: 1.6;
		font-size: 0.95rem;
	}
	#ff-footer .ff-foot-tag {
		color: #C8A96B;
		font-weight: 600;
		margin-top: 10px;
	}
	#ff-footer .ff-foot-links {
		display: flex;
		gap: 15px;
		margin: 15px 0 20px 0;
	}
	#ff-footer .ff-foot-btn {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: #C8A96B;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #0F1D2D;
		font-size: 1.2rem;
		text-decoration: none;
		transition: background 0.3s ease;
	}
	#ff-footer .ff-foot-btn:hover {
		background: #E5C889;
	}
	#ff-footer .ff-foot-col {
		color: #B5BFCD;
	}
	#ff-footer .ff-foot-col h3 {
		color: white;
		font-size: 1rem;
		font-weight: 700;
		margin-bottom: 15px;
		letter-spacing: 0.3px;
	}
	#ff-footer .ff-foot-ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	#ff-footer .ff-foot-ul li {
		margin-bottom: 10px;
	}
	#ff-footer .ff-foot-ul a {
		color: #B5BFCD;
		text-decoration: none;
		transition: color 0.3s ease;
		font-size: 0.95rem;
	}
	#ff-footer .ff-foot-ul a:hover {
		color: #C8A96B;
	}
	#ff-footer .ff-foot-bottom {
		border-top: 1px solid #1A2E42;
		padding-top: 20px;
		margin-top: 20px;
		color: #8A939F;
		text-align: center;
		font-size: 0.9rem;
	}
	@media (max-width: 768px) {
		#ff-footer .ff-foot-inner {
			grid-template-columns: 1fr;
			gap: 20px;
		}
	}
	.astra-footer-widget-wrapper {
		display: none !important;
	}
	}
		}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
/* Tidio widget positioning — clear of footer */
#tidio-chat { z-index: 9999 !important; }
#tidio-chat-iframe { bottom: 24px !important; right: 24px !important; }
@media(max-width:768px){ #tidio-chat-iframe { bottom: 16px !important; right: 16px !important; } }

/* ── LOGO — transparent PNG in header ── */
.site-logo img,.custom-logo,.ast-site-identity img,.custom-logo-link img{
  height:52px !important;width:auto !important;max-width:200px !important;
  filter:none !important
}
.ast-site-identity .site-title{display:none !important}
.custom-logo-link{display:flex;align-items:center}

/* ── FOOTER LOGO ── */
#ff-footer img[alt="Fluency First"]{
  height:56px !important;width:auto !important;
  display:block !important;margin-bottom:8px !important;
}

/* ── TIMELESS POSTS — hide author, date, comments, meta ── */
.ast-post-meta-wrap,.posted-on,.byline,.author,.entry-meta,
.ast-article-single .entry-header .entry-meta,
.ast-blog-single-element.date,.ast-blog-single-element.author,
span.posted-on,span.byline,.entry-footer,.post-navigation,
.comments-area,.comment-respond,#comments,
.ast-comment-list,.ast-comment-area,
.entry-meta .posted-on,.entry-meta .byline,
time.entry-date,.author.vcard,
.ast-header-breadcrumb { display:none !important; }

/* Clean single post layout */
.single .entry-header { margin-bottom:8px; }
.single .entry-title { font-size:2.2rem; line-height:1.3; margin-bottom:24px; }
.single.post { background:var(--ff-ivory); }
.single .entry-content { max-width:780px; margin:0 auto; padding:0 24px 60px; }
.single .entry-content h2 { font-size:1.6rem; margin:36px 0 14px; color:var(--ff-navy); }
.single .entry-content h3 { font-size:1.2rem; margin:24px 0 10px; color:var(--ff-navy); }
.single .entry-content p { line-height:1.85; color:var(--ff-slate); margin-bottom:18px; font-size:1.02rem; }
.single .entry-content ul,.single .entry-content ol { color:var(--ff-slate); line-height:1.9; padding-left:20px; margin-bottom:18px; }
.single .entry-content blockquote { border-left:4px solid var(--ff-gold); padding:14px 20px; background:rgba(200,169,107,.08); margin:24px 0; font-style:italic; }
.single .entry-content strong { color:var(--ff-navy); }

/* Blog listing — hide meta */
.ast-article-post .entry-meta,.ast-blog-post .entry-meta,
.blog .entry-meta,.archive .entry-meta { display:none !important; }