/* About Faith Force: a personal founder story with page-scoped styling. */
.ffa-about { --ffa-dark:#0a0f1e; --ffa-panel:#15243d; --ffa-gold:#f4c744; --ffa-text:#c9d4e2; overflow:hidden; background:var(--ffa-dark); color:#fff; }
.ffa-about * { box-sizing:border-box; }
.ffa-about .container { max-width:1240px; }
.ffa-about a:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.ffa-about p { color:var(--ffa-text); line-height:1.66; }
.ffa-about h1,.ffa-about h2,.ffa-about h3 { color:#fff; }
.ffa-kicker,.ffa-route-tag { display:inline-flex; align-items:center; gap:9px; color:var(--ffa-gold); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.ffa-opening { position:relative; isolation:isolate; background:radial-gradient(circle at 84% 20%,rgba(185,28,28,.18),transparent 28%),radial-gradient(circle at 4% 85%,rgba(212,160,23,.12),transparent 28%),linear-gradient(120deg,#0d182d,#172943 70%,#111b2e); }
.ffa-opening-pattern { position:absolute; inset:0; z-index:-1; opacity:.13; background:repeating-linear-gradient(135deg,transparent 0 26px,rgba(255,255,255,.11) 26px 27px); mask-image:linear-gradient(90deg,transparent 20%,#000 100%); }
.ffa-opening-inner { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); align-items:center; gap:clamp(30px,6vw,82px); min-height:660px; padding-bottom:75px; }
.ffa-about .ffa-opening .container.ffa-opening-inner { padding-top:118px; padding-bottom:75px; }
.admin-bar .ffa-about .ffa-opening .container.ffa-opening-inner { padding-top:150px; }
.ffa-opening-copy { max-width:710px; }
.ffa-opening h1 { max-width:720px; margin:20px 0 24px; font-family:var(--ff-display,'Bangers',cursive); font-size:clamp(3.5rem,6.6vw,6.2rem); font-weight:400; line-height:1.01; letter-spacing:.02em; text-wrap:balance; }
.ffa-opening h1 em { color:var(--ffa-gold); font-style:normal; }
.ffa-opening-lead { max-width:640px; margin:0; color:#e1e7ef !important; font-size:clamp(1.05rem,1.5vw,1.22rem); }
.ffa-opening-actions { display:flex; flex-wrap:wrap; align-items:center; gap:15px 22px; margin-top:28px; }
.ffa-button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:50px; padding:13px 20px; border-radius:9px; border:2px solid transparent; font-weight:800; line-height:1.2; text-decoration:none; transition:transform .22s ease,background-color .22s ease,border-color .22s ease; }
.ffa-button:hover { transform:translateY(-3px); text-decoration:none; }
.ffa-button-gold { background:var(--ffa-gold); color:#151b28 !important; }
.ffa-button-gold:hover { background:#ffdb70; color:#151b28 !important; }
.ffa-button-outline { border-color:rgba(255,255,255,.48); color:#fff !important; background:rgba(255,255,255,.04); }
.ffa-button-outline:hover { border-color:var(--ffa-gold); color:#fff !important; background:rgba(244,199,68,.11); }
.ffa-text-link,.ffa-contact-link { color:#fff; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.ffa-text-link:hover,.ffa-contact-link:hover { color:var(--ffa-gold); }
.ffa-founder-photo { position:relative; width:min(100%,370px); margin:10px auto 0; transform:rotate(2deg); }
.ffa-founder-photo:before { content:''; position:absolute; inset:20px -19px -20px 19px; border:2px solid rgba(244,199,68,.6); border-radius:19px; transform:rotate(-5deg); }
.ffa-founder-frame { position:relative; overflow:hidden; height:410px; border:5px solid #f4c744; border-radius:16px; background:#28354a; box-shadow:0 26px 50px rgba(0,0,0,.34); }
.ffa-founder-frame img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.ffa-founder-photo figcaption { position:relative; display:flex; flex-direction:column; gap:3px; width:fit-content; margin:-26px auto 0; padding:9px 20px; border-radius:8px; background:#b91c1c; box-shadow:0 8px 25px rgba(0,0,0,.25); color:#fff; text-align:center; transform:rotate(-3deg); }
.ffa-founder-photo figcaption strong { font-size:.89rem; }
.ffa-founder-photo figcaption span { font-size:.72rem; color:#fbe9e9; }
.ffa-opening-stripe { height:7px; background:linear-gradient(90deg,#b91c1c 0 28%,#f4c744 28% 72%,#b91c1c 72%); }
.ffa-section { padding:clamp(66px,7vw,105px) 0; }
.ffa-story { background:linear-gradient(180deg,#0b1324,#111b30); scroll-margin-top:76px; }
.ffa-story-inner { display:grid; grid-template-columns:minmax(210px,.68fr) minmax(0,1.32fr); gap:clamp(30px,6vw,90px); }
.ffa-story-intro { align-self:start; position:sticky; top:105px; }
.ffa-story-intro h2,.ffa-section-heading h2,.ffa-next h2 { margin:11px 0 16px; font-family:var(--ff-display,'Bangers',cursive); font-size:clamp(2.8rem,5vw,4.6rem); font-weight:400; letter-spacing:.035em; line-height:1.02; }
.ffa-story-intro p { margin:0; }
.ffa-story-chapters { border-left:2px solid rgba(244,199,68,.22); }
.ffa-chapter { position:relative; display:grid; grid-template-columns:76px minmax(0,1fr); gap:17px; padding:0 0 42px 30px; }
.ffa-chapter:last-child { padding-bottom:0; }
.ffa-chapter:before { content:''; position:absolute; top:7px; left:-7px; width:12px; height:12px; border-radius:50%; background:var(--ffa-gold); box-shadow:0 0 0 7px #19243a; }
.ffa-chapter-number { font-family:var(--ff-display,'Bangers',cursive); font-size:2rem; line-height:1; color:var(--ffa-gold); }
.ffa-chapter h3 { margin:0 0 15px; font-family:var(--ff-display,'Bangers',cursive); font-size:clamp(2rem,3vw,2.8rem); font-weight:400; letter-spacing:.03em; }
.ffa-chapter p { margin:0 0 16px; font-size:.98rem; }
.ffa-chapter strong { color:#fff; }
.ffa-chapter blockquote { margin:22px 0; padding:20px 25px; border-left:5px solid var(--ffa-gold); background:rgba(244,199,68,.08); color:#fff; font-family:var(--ff-heading,'Raleway',sans-serif); font-size:clamp(1.15rem,2vw,1.45rem); font-weight:800; line-height:1.35; }
.ffa-belief { background:radial-gradient(circle at 85% 0,rgba(212,160,23,.1),transparent 30%),#0a0f1e; }
.ffa-section-heading { max-width:780px; margin-bottom:35px; }
.ffa-section-heading h2 em { color:var(--ffa-gold); font-style:normal; }
.ffa-section-heading p { margin:0; font-size:1.04rem; }
.ffa-belief-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ffa-belief-grid article { padding:clamp(22px,3vw,34px); border:1px solid rgba(244,199,68,.22); border-radius:17px; background:linear-gradient(145deg,#1b2b45,#121e32); }
.ffa-belief-mark { display:grid; place-items:center; width:48px; height:48px; margin-bottom:19px; border-radius:14px; background:rgba(244,199,68,.12); color:var(--ffa-gold); font-size:1.5rem; transform:rotate(-7deg); }
.ffa-belief-grid h3 { margin:0 0 9px; font-family:var(--ff-display,'Bangers',cursive); font-size:2rem; font-weight:400; letter-spacing:.03em; }
.ffa-belief-grid p { margin:0; font-size:.93rem; }
.ffa-explore { background:linear-gradient(180deg,#111b30,#0d172a); scroll-margin-top:76px; }
.ffa-route-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ffa-route-panel { padding:clamp(22px,3vw,36px); border:1px solid rgba(255,255,255,.13); border-radius:19px; background:#182941; }
.ffa-route-adults { border-color:rgba(244,199,68,.3); background:radial-gradient(circle at 100% 0,rgba(244,199,68,.13),transparent 37%),#172941; }
.ffa-route-families { border-color:rgba(248,113,113,.34); background:radial-gradient(circle at 100% 0,rgba(185,28,28,.18),transparent 37%),#1b263e; }
.ffa-route-head { display:flex; align-items:center; gap:15px; }
.ffa-route-icon { display:grid; place-items:center; flex:none; width:52px; height:52px; border-radius:50%; background:var(--ffa-gold); color:#152035; font-size:1.7rem; }
.ffa-route-families .ffa-route-icon { background:#b91c1c; color:#fff; }
.ffa-route-head h3 { margin:5px 0 0; font-family:var(--ff-display,'Bangers',cursive); font-size:clamp(2rem,3vw,2.9rem); font-weight:400; line-height:1; letter-spacing:.02em; }
.ffa-route-panel > p { margin:17px 0 20px; }
.ffa-route-panel ul { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.13); }
.ffa-route-panel li { margin:0; }
.ffa-route-panel li a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; min-height:61px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#fff; text-decoration:none; transition:padding-left .2s ease; }
.ffa-route-panel li a:hover { color:var(--ffa-gold); padding-left:5px; }
.ffa-route-panel li a span { grid-column:1; font-weight:800; }
.ffa-route-panel li a small { grid-column:1; color:#bdc9d9; font-size:.75rem; }
.ffa-route-panel li a b { grid-column:2; grid-row:1/3; align-self:center; color:var(--ffa-gold); font-size:1.25rem; }
.ffa-next { position:relative; overflow:hidden; background:linear-gradient(115deg,#7f1e27,#a82427 55%,#691b2b); }
.ffa-next-inner { position:relative; z-index:1; display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:30px; }
.ffa-next-burst { font-size:4.7rem; color:#ffe187; }
.ffa-next h2 { margin-bottom:9px; }
.ffa-next p { margin:0; color:#fff; }
.ffa-next-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; min-width:230px; }
.ffa-next .ffa-kicker { color:#ffe187; }
.ffa-contact-link { align-self:center; padding:7px; }
@media (max-width:1050px) { .ffa-opening-inner { grid-template-columns:minmax(0,1fr) 320px; gap:35px; } .ffa-opening h1 { font-size:clamp(3.5rem,7vw,5.4rem); } .ffa-founder-frame { height:370px; } .ffa-next-inner { grid-template-columns:50px 1fr; } .ffa-next-actions { grid-column:2; justify-self:start; flex-direction:row; flex-wrap:wrap; } }
@media (max-width:760px) { .ffa-opening-inner { grid-template-columns:1fr; min-height:0; gap:45px; padding-bottom:62px; } .ffa-about .ffa-opening .container.ffa-opening-inner { padding-top:102px; padding-bottom:62px; } .admin-bar .ffa-about .ffa-opening .container.ffa-opening-inner { padding-top:134px; } .ffa-opening-copy { max-width:630px; } .ffa-opening h1 { font-size:clamp(3.35rem,10vw,5.2rem); } .ffa-founder-photo { width:min(78%,340px); } .ffa-founder-frame { height:330px; } .ffa-story-inner { grid-template-columns:1fr; gap:35px; } .ffa-story-intro { position:static; } .ffa-belief-grid { grid-template-columns:1fr; } .ffa-route-grid { grid-template-columns:1fr; } .ffa-next-inner { grid-template-columns:1fr; gap:15px; } .ffa-next-burst { font-size:3.7rem; } .ffa-next-actions { grid-column:auto; } }
@media (max-width:520px) { .ffa-about .ffa-opening .container.ffa-opening-inner { padding-top:96px; } .admin-bar .ffa-about .ffa-opening .container.ffa-opening-inner { padding-top:128px; } .ffa-opening h1 { font-size:clamp(3rem,14vw,4.1rem); } .ffa-opening-actions .ffa-button { width:100%; } .ffa-founder-photo { width:min(82%,290px); } .ffa-founder-frame { height:300px; } .ffa-section { padding:64px 0; } .ffa-chapter { grid-template-columns:1fr; gap:8px; padding-left:25px; } .ffa-chapter-number { font-size:1.55rem; } .ffa-route-panel { padding:22px; } .ffa-next-actions { flex-direction:column; align-items:stretch; width:100%; } .ffa-contact-link { align-self:flex-start; } }
@media (prefers-reduced-motion:reduce) { .ffa-about *, .ffa-about *:before, .ffa-about *:after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } .ffa-about + .cta-section .hero-particles { display:none; } }


/* Angled edges connect the red callout to the surrounding navy sections. */
.ffa-next:before, .ffa-next:after { content:''; position:absolute; left:0; width:100%; height:clamp(22px,3vw,48px); pointer-events:none; }
.ffa-next:before { top:-1px; background:#0d172a; clip-path:polygon(0 0,100% 0,0 100%); }
.ffa-next:after { bottom:-1px; background:#0a0f1e; clip-path:polygon(100% 0,100% 100%,0 100%); }
