/*
Theme Name: FamilyGR
Theme URI: https://familygr.com
Author: FamilyGR
Description: A bilingual, editorial WordPress theme for modern family growth.
Version: 1.0.0
Text Domain: familygr
*/

:root { --navy:#10213b; --ink:#182641; --teal:#00a89a; --leaf:#25a86f; --violet:#6c63ff; --gold:#ffbd31; --coral:#ff7466; --cream:#fbfaf6; --mist:#f1f7f7; --line:#dbe7e7; --muted:#64748b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"Noto Kufi Arabic","Cairo",Tahoma,Arial,sans-serif; line-height:1.75; }
body.fgr-en { font-family:"DM Sans","Arial",sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }
.fgr-shell { width:min(1180px, calc(100% - 40px)); margin:auto; }
.fgr-skip { position:absolute; inset-inline-start:-999px; top:8px; background:var(--navy); color:white; padding:8px 12px; z-index:999; }
.fgr-skip:focus { inset-inline-start:16px; }
.fgr-site-header { position:sticky; top:0; z-index:90; background:rgba(251,250,246,.93); backdrop-filter:blur(16px); border-bottom:1px solid rgba(16,33,59,.08); }
.fgr-topline { background:var(--navy); color:#fff; font-size:.76rem; }
.fgr-topline .fgr-shell { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fgr-topline a { color:#bff4ed; font-weight:800; }
.fgr-nav { display:flex; justify-content:space-between; align-items:center; min-height:82px; gap:20px; }
.fgr-brand { display:flex; align-items:center; gap:10px; font-size:1.25rem; font-weight:900; letter-spacing:-.04em; color:var(--navy); white-space:nowrap; }
.fgr-brand img { width:45px; height:45px; object-fit:contain; }
.fgr-brand span b { color:var(--teal); }
.fgr-menu { display:flex; list-style:none; align-items:center; margin:0; padding:0; gap:18px; font-size:.82rem; font-weight:800; }
.fgr-menu a { color:#3a4960; padding:8px 0; border-bottom:2px solid transparent; }
.fgr-menu a:hover, .fgr-menu .current-menu-item a { color:var(--teal); border-color:var(--teal); }
.fgr-nav-actions { display:flex; gap:8px; align-items:center; }
.fgr-lang { border:1px solid var(--line); padding:7px 10px; border-radius:999px; font-size:.75rem; font-weight:800; background:#fff; }
.fgr-contact { background:var(--teal); color:#fff; padding:9px 13px; border-radius:999px; font-weight:900; font-size:.78rem; }
.fgr-hero { background:radial-gradient(circle at 20% 20%, rgba(0,168,154,.17), transparent 28%), linear-gradient(120deg,#e9f6f4 0%,#fbfaf6 46%,#fff3d4 100%); overflow:hidden; }
.fgr-hero-grid { min-height:655px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:54px; }
.fgr-kicker { display:inline-flex; gap:7px; align-items:center; color:#047e73; font-weight:900; font-size:.78rem; letter-spacing:.04em; }
.fgr-kicker::before { content:""; width:25px; height:2px; background:var(--gold); display:inline-block; }
.fgr-hero h1 { color:var(--navy); font-size:clamp(2.35rem,5vw,4.65rem); line-height:1.15; letter-spacing:-.055em; margin:18px 0; max-width:650px; }
.fgr-hero h1 em { font-style:normal; color:var(--teal); }
.fgr-hero p { color:#4c5d72; font-size:1.03rem; max-width:570px; margin:0 0 25px; }
.fgr-cta-row { display:flex; flex-wrap:wrap; gap:10px; margin:27px 0; }
.fgr-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border-radius:12px; padding:0 18px; font-weight:900; font-size:.86rem; transition:transform .18s ease, box-shadow .18s ease; }
.fgr-btn:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(16,33,59,.12); }
.fgr-btn-primary { background:var(--navy); color:#fff; }
.fgr-btn-secondary { background:#fff; color:var(--navy); border:1px solid var(--line); }
.fgr-proof { display:flex; gap:20px; flex-wrap:wrap; font-size:.76rem; color:var(--muted); }
.fgr-proof strong { color:var(--navy); display:block; font-size:1rem; }
.fgr-hero-visual { position:relative; min-height:490px; }
.fgr-hero-photo { position:absolute; inset:34px 0 0 50px; width:calc(100% - 50px); height:430px; object-fit:cover; border-radius:42% 42% 14px 42%; box-shadow:0 30px 50px rgba(16,33,59,.18); }
.fgr-visual-ring { position:absolute; width:250px; height:250px; border:30px solid rgba(108,99,255,.17); border-radius:50%; top:0; inset-inline-end:25px; }
.fgr-visual-card { position:absolute; bottom:8px; inset-inline-start:0; background:#fff; padding:15px 18px; border-radius:14px; max-width:220px; box-shadow:0 14px 35px rgba(16,33,59,.16); }
.fgr-visual-card b { display:block; color:var(--teal); font-size:.8rem; }
.fgr-visual-card span { font-size:.74rem; color:var(--muted); }
.fgr-section { padding:92px 0; }
.fgr-section-alt { background:#f0f7f6; }
.fgr-section-heading { display:flex; justify-content:space-between; align-items:end; gap:22px; margin-bottom:32px; }
.fgr-section-heading h2 { color:var(--navy); font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.3; letter-spacing:-.04em; margin:0; }
.fgr-section-heading p { color:var(--muted); max-width:570px; margin:0; font-size:.92rem; }
.fgr-life-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fgr-life-card { padding:24px 18px; background:#fff; border:1px solid var(--line); border-radius:14px; min-height:220px; position:relative; overflow:hidden; transition:transform .18s ease, border-color .18s ease; }
.fgr-life-card:hover { transform:translateY(-5px); border-color:var(--teal); }
.fgr-life-card::after { content:""; position:absolute; width:96px; height:96px; border-radius:50%; background:var(--card-accent,#d7f3ef); top:-38px; inset-inline-end:-31px; }
.fgr-life-card small { color:var(--teal); font-weight:900; position:relative; z-index:1; }
.fgr-life-card h3 { margin:18px 0 7px; color:var(--navy); font-size:1.08rem; position:relative; z-index:1; }
.fgr-life-card p { margin:0; color:var(--muted); font-size:.8rem; position:relative; z-index:1; }
.fgr-ecosystem { background:var(--navy); color:#fff; position:relative; overflow:hidden; }
.fgr-ecosystem::before { content:""; position:absolute; width:430px; height:430px; border-radius:50%; border:90px solid rgba(0,168,154,.18); top:-225px; inset-inline-start:-150px; }
.fgr-ecosystem-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:55px; align-items:center; position:relative; }
.fgr-ecosystem h2 { font-size:clamp(1.8rem,3.6vw,3.1rem); line-height:1.25; margin:12px 0; }
.fgr-ecosystem p { color:#c6d4e8; }
.fgr-platform-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; }
.fgr-platform { min-height:155px; padding:20px; border-radius:15px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); }
.fgr-platform i { display:grid; place-items:center; width:39px; height:39px; border-radius:12px; background:var(--accent,#00a89a); font-style:normal; font-size:1.15rem; }
.fgr-platform h3 { margin:14px 0 5px; font-size:1rem; }
.fgr-platform p { font-size:.76rem; margin:0; }
.fgr-library-head { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.fgr-filter-row { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.fgr-filter { border:1px solid var(--line); background:#fff; border-radius:999px; padding:7px 12px; color:#506074; font:inherit; font-size:.76rem; font-weight:900; cursor:pointer; }
.fgr-filter.is-active, .fgr-filter:hover { background:var(--teal); color:#fff; border-color:var(--teal); }
.fgr-library { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.fgr-resource { display:flex; flex-direction:column; padding:20px; min-height:230px; background:#fff; border:1px solid var(--line); border-radius:15px; }
.fgr-resource[hidden] { display:none; }
.fgr-resource-top { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:.7rem; color:#607185; font-weight:800; }
.fgr-resource-tag { color:#087e73; background:#e4f7f4; padding:5px 8px; border-radius:999px; }
.fgr-resource h3 { font-size:1.05rem; line-height:1.55; color:var(--navy); margin:18px 0 9px; }
.fgr-resource p { color:var(--muted); font-size:.78rem; margin:0 0 18px; }
.fgr-resource a { margin-top:auto; color:var(--teal); font-size:.78rem; font-weight:900; }
.fgr-resource a::after { content:" ←"; }
.fgr-en .fgr-resource a::after { content:" →"; }
.fgr-two-col { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.fgr-photo-stack { position:relative; min-height:420px; }
.fgr-photo-stack img { width:80%; height:340px; object-fit:cover; border-radius:18px; box-shadow:0 18px 42px rgba(16,33,59,.15); }
.fgr-photo-stack .fgr-small-photo { width:47%; height:190px; position:absolute; bottom:0; inset-inline-end:0; border:10px solid var(--cream); }
.fgr-feature-list { display:grid; gap:14px; }
.fgr-feature { display:grid; grid-template-columns:44px 1fr; gap:13px; align-items:start; }
.fgr-feature i { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#e5f7f3; color:var(--teal); font-style:normal; font-weight:900; }
.fgr-feature h3 { margin:0 0 2px; color:var(--navy); font-size:.95rem; }
.fgr-feature p { margin:0; color:var(--muted); font-size:.8rem; }
.fgr-newsletter { background:linear-gradient(115deg,#e8f4f3,#f8f0dc); border:1px solid rgba(0,168,154,.15); }
.fgr-newsletter-grid { padding:55px 0; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
.fgr-newsletter h2 { margin:0 0 7px; color:var(--navy); font-size:2rem; }
.fgr-newsletter p { margin:0; color:#536276; }
.fgr-newsletter form { display:flex; gap:9px; }
.fgr-newsletter input { min-width:260px; border:1px solid var(--line); background:#fff; border-radius:11px; padding:13px; font:inherit; }
.fgr-site-footer { background:#0c1930; color:#d6e0ef; padding:55px 0 22px; }
.fgr-footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:28px; }
.fgr-footer-grid h3 { color:#fff; font-size:.9rem; margin:0 0 13px; }
.fgr-footer-grid p, .fgr-footer-grid a { color:#aebed0; font-size:.76rem; }
.fgr-footer-grid ul { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.fgr-footer-bottom { margin-top:38px; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:15px; color:#8393a9; font-size:.7rem; }
.fgr-notice { background:var(--gold); color:#182641; font-size:.78rem; font-weight:900; }
.fgr-notice-inner { min-height:38px; display:flex; align-items:center; justify-content:center; gap:12px; }
.fgr-notice a { text-decoration:underline; }
.fgr-campaign-corner { position:fixed; bottom:19px; inset-inline-end:19px; z-index:80; max-width:310px; background:white; border:1px solid var(--line); border-radius:14px; box-shadow:0 15px 42px rgba(16,33,59,.18); padding:15px; }
.fgr-campaign-corner img { width:68px; height:68px; object-fit:cover; border-radius:10px; float:inline-start; margin-inline-end:12px; }
.fgr-campaign-corner strong { color:var(--navy); font-size:.84rem; display:block; }
.fgr-campaign-corner p { margin:4px 0; color:var(--muted); font-size:.73rem; }
.fgr-campaign-corner button { position:absolute; top:6px; inset-inline-end:7px; background:transparent; border:0; color:var(--muted); cursor:pointer; }
.fgr-assistant { position:fixed; bottom:18px; inset-inline-start:18px; z-index:85; }
.fgr-assistant-toggle { width:58px; height:58px; border:0; cursor:pointer; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--teal),#1985a4); box-shadow:0 13px 28px rgba(0,168,154,.3); font-size:1.35rem; }
.fgr-assistant-panel { display:none; width:min(355px, calc(100vw - 35px)); background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 20px 60px rgba(16,33,59,.25); margin-bottom:10px; }
.fgr-assistant.is-open .fgr-assistant-panel { display:block; }
.fgr-assistant-head { background:var(--navy); padding:17px; color:#fff; }
.fgr-assistant-head strong { display:block; }
.fgr-assistant-head small { color:#b9cee4; }
.fgr-assistant-body { padding:17px; min-height:150px; }
.fgr-assistant-message { background:#eef7f5; padding:11px; border-radius:11px 11px 11px 2px; color:#244059; font-size:.8rem; margin-bottom:12px; }
.fgr-assistant-options { display:grid; gap:7px; }
.fgr-assistant-option { text-align:start; border:1px solid var(--line); padding:10px; border-radius:9px; background:#fff; font:inherit; font-size:.76rem; font-weight:800; color:var(--navy); cursor:pointer; }
.fgr-assistant-option:hover { border-color:var(--teal); color:var(--teal); }
.fgr-contact-form { display:grid; gap:12px; padding:28px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.fgr-contact-form label { display:grid; gap:5px; font-size:.8rem; font-weight:800; }
.fgr-contact-form input,.fgr-contact-form textarea { padding:11px; border:1px solid var(--line); border-radius:8px; font:inherit; }
@media (max-width:900px){ .fgr-menu{display:none}.fgr-hero-grid,.fgr-ecosystem-grid,.fgr-two-col,.fgr-newsletter-grid{grid-template-columns:1fr}.fgr-hero-grid{padding:52px 0}.fgr-hero-visual{min-height:370px}.fgr-hero-photo{height:330px}.fgr-life-grid{grid-template-columns:repeat(2,1fr)}.fgr-library{grid-template-columns:repeat(2,1fr)}.fgr-footer-grid{grid-template-columns:repeat(2,1fr)}.fgr-newsletter form{max-width:500px}.fgr-platform-grid{max-width:650px} }
@media (max-width:560px){ .fgr-shell{width:min(100% - 28px,1180px)}.fgr-topline .fgr-shell{justify-content:center;text-align:center}.fgr-topline span{display:none}.fgr-nav{min-height:68px}.fgr-contact{display:none}.fgr-brand{font-size:1.08rem}.fgr-hero h1{font-size:2.45rem}.fgr-hero-visual{min-height:305px}.fgr-hero-photo{inset:14px 0 0 25px;width:calc(100% - 25px);height:270px}.fgr-visual-ring{width:150px;height:150px;border-width:17px}.fgr-visual-card{padding:9px 11px;font-size:.7rem}.fgr-section{padding:64px 0}.fgr-section-heading{display:block}.fgr-section-heading p{margin-top:12px}.fgr-life-grid,.fgr-library,.fgr-platform-grid,.fgr-footer-grid{grid-template-columns:1fr}.fgr-photo-stack{min-height:335px}.fgr-photo-stack img{height:280px}.fgr-newsletter form{display:grid}.fgr-newsletter input{min-width:0;width:100%}.fgr-footer-bottom{display:grid}.fgr-assistant{bottom:13px;inset-inline-start:13px}.fgr-campaign-corner{bottom:85px;inset-inline-end:13px;max-width:280px} }
