/*
Theme Name: ConsonantBaseTheme
Theme URI: https://consonant.live/
Author: Consonant
Author URI: https://consonant.live/
Description: A lightweight WordPress block theme built as the native canvas for Consonant. Templates and reusable chrome stay WordPress-native; major page sections ship as editable Custom HTML patterns.
Version: 0.1.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: consonant-base
Tags: block-patterns, full-site-editing, custom-colors, custom-logo, wide-blocks
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/*
 * ConsonantBaseTheme, Copyright (C) 2026 Consonant.
 * This theme is free software licensed under the GNU General Public
 * License version 2 or later. See license.txt.
 */

:root{
  --cb-ink:#090613;
  --cb-deep:#141028;
  --cb-purple:#5545a9;
  --cb-lav:#b29bd5;
  --cb-mint:#AAFBDC;
  --cb-paper:#f8f6ff;
  --cb-muted:#9a91aa;
  --cb-line:rgba(178,155,213,.18);
  --cb-shell:min(1540px,92vw);
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cb-ink);color:var(--cb-paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
a{color:inherit}
.wp-site-blocks{padding:0!important}
.wp-site-blocks>*{margin-block-start:0!important}
.wp-block-post-content{margin:0}

/* Header / reusable chrome */
.cb-header-wrap{position:relative;z-index:999}
.cb-header{position:fixed;z-index:999;left:50%;top:0;display:flex;align-items:center;gap:28px;width:var(--cb-shell);height:84px;transform:translateX(-50%);border-bottom:1px solid rgba(178,155,213,.14);transition:background .2s ease,backdrop-filter .2s ease,border-color .2s ease}
.cb-header.is-scrolled{background:rgba(9,6,19,.74);backdrop-filter:blur(18px);border-color:rgba(178,155,213,.22)}
.cb-brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:#fff;text-decoration:none;font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}
.cb-mark{display:block;width:38px;height:38px;background:url('assets/images/consonant-logo.png') center/contain no-repeat;filter:drop-shadow(0 0 16px rgba(170,251,220,.18))}
.cb-nav{display:flex;align-items:center;gap:28px}
.cb-nav a{color:#83798f;text-decoration:none;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;transition:color .18s ease}
.cb-nav a:hover{color:var(--cb-mint)}
.cb-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;background:var(--cb-mint);color:var(--cb-deep)!important;text-decoration:none;font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;clip-path:polygon(0 0,92% 0,100% 24%,100% 100%,8% 100%,0 76%)}
.cb-menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--cb-line);background:rgba(20,16,40,.7);color:#fff;cursor:pointer}
.cb-menu-toggle span,.cb-menu-toggle::before,.cb-menu-toggle::after{content:"";display:block;width:18px;height:1px;margin:5px auto;background:currentColor;transition:transform .2s ease,opacity .2s ease}
body.cb-menu-open .cb-menu-toggle span{opacity:0}
body.cb-menu-open .cb-menu-toggle::before{transform:translateY(6px) rotate(45deg)}
body.cb-menu-open .cb-menu-toggle::after{transform:translateY(-6px) rotate(-45deg)}
.cb-mobile-nav{display:none}

/* Footer */
.cb-footer{position:relative;padding:72px 4vw 24px;background:#06030e;border-top:1px solid var(--cb-line)}
.cb-footer-inner{width:var(--cb-shell);margin:0 auto}
.cb-footer-grid{display:grid;grid-template-columns:minmax(280px,1.4fr) 1fr 1fr;gap:48px}
.cb-footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-weight:900;letter-spacing:.15em}
.cb-footer p{max-width:520px;color:#8f869c;line-height:1.7}
.cb-footer h3{margin:0 0 16px;color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.cb-footer-nav{display:flex;flex-direction:column;gap:10px}
.cb-footer-nav a{color:#9b92a8;text-decoration:none;font-size:14px}
.cb-footer-nav a:hover{color:var(--cb-mint)}
.cb-footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:52px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:#62596f;font:800 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}

/* Interior templates */
.cb-page-shell{width:min(1180px,88vw);margin:0 auto;padding:150px 0 96px}
.cb-page-shell .wp-block-post-title{margin:0 0 44px;color:#fff;font-size:clamp(52px,8vw,110px);line-height:.86;letter-spacing:-.065em}
.cb-page-shell .wp-block-post-content{color:#d9d2e4;font-size:18px;line-height:1.75}
.cb-page-shell .wp-block-post-content a{color:var(--cb-mint)}
.cb-archive-shell{width:min(1180px,88vw);margin:0 auto;padding:150px 0 100px}
.cb-archive-shell>.wp-block-query-title{font-size:clamp(50px,7vw,96px);letter-spacing:-.06em;line-height:.9}
.cb-archive-shell .wp-block-post-template{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;padding:0}
.cb-archive-shell .wp-block-post-template>li{padding:28px;border:1px solid var(--cb-line);background:rgba(20,16,40,.56)}
.cb-archive-shell .wp-block-post-title{font-size:28px;line-height:1.05}
.cb-archive-shell .wp-block-post-title a{text-decoration:none}
.cb-archive-shell .wp-block-post-excerpt{color:#978da4;line-height:1.6}
.cb-single-meta{color:var(--cb-mint);font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}

.cb-404{min-height:100vh;display:grid;place-items:center;padding:120px 6vw;background:radial-gradient(circle at 70% 20%,rgba(85,69,169,.34),transparent 30%),#090613;text-align:center}
.cb-404 small{color:var(--cb-mint);font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}
.cb-404 h1{margin:20px 0;font-size:clamp(84px,20vw,240px);line-height:.7;letter-spacing:-.09em;color:#fff}
.cb-404 p{max-width:580px;margin:0 auto 28px;color:#9e94aa;font-size:18px;line-height:1.6}
.cb-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;background:var(--cb-mint);color:var(--cb-deep);text-decoration:none;font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;clip-path:polygon(0 0,92% 0,100% 24%,100% 100%,8% 100%,0 76%)}

@media(max-width:900px){
  .cb-header{width:92vw;height:74px}.cb-nav,.cb-header-cta{display:none}.cb-menu-toggle{display:block}.cb-mobile-nav{position:fixed;z-index:998;inset:0;display:grid;align-content:center;gap:10px;padding:100px 7vw 40px;background:rgba(9,6,19,.97);transform:translateY(-105%);transition:transform .28s ease}.cb-mobile-nav a{padding:14px 0;border-bottom:1px solid var(--cb-line);color:#fff;text-decoration:none;font-size:clamp(24px,8vw,46px);font-weight:800;letter-spacing:-.04em}.cb-mobile-nav a:last-child{color:var(--cb-mint)}body.cb-menu-open{overflow:hidden}body.cb-menu-open .cb-mobile-nav{transform:translateY(0)}
  .cb-footer-grid{grid-template-columns:1fr 1fr}.cb-footer-grid>div:first-child{grid-column:1/-1}.cb-archive-shell .wp-block-post-template{grid-template-columns:1fr}
}
@media(max-width:620px){
  .cb-brand span:last-child{display:none}.cb-footer{padding-left:6vw;padding-right:6vw}.cb-footer-grid{grid-template-columns:1fr}.cb-footer-grid>div:first-child{grid-column:auto}.cb-page-shell,.cb-archive-shell{width:88vw;padding-top:120px}.cb-page-shell .wp-block-post-content{font-size:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}



/* ==========================================================================
   FRANCHISE FINDERS — Compass Route
   Physical thesis: a luminous route through dark topographic terrain,
   leading into a light, legible decision surface and an open horizon.
   Global chrome lives in theme template parts, not page content.
   ========================================================================== */
:root{--ff-night:#031326;--ff-ink:#061629;--ff-slate:#102a43;--ff-red:#e61d31;--ff-glow:#f72d43;--ff-paper:#f1f2f3;--ff-copy:#d6e2eb;--ff-shell:min(1480px,91vw);--ff-media:url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Midnight-topographic-contour-texture-1.webp')}
html{scroll-padding-top:78px}
body{background:var(--ff-night);color:#fff;font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif}
.ff-site-main{width:100%;margin:0!important;overflow:clip;background:var(--ff-night)}
.ff-site-main *,.ff-header *,.ff-footer *{box-sizing:border-box}
.ff-site-main h1,.ff-site-main h2,.ff-site-main h3,.ff-site-main p{margin-top:0}
.ff-site-main img{display:block;max-width:100%}
.ff-arrow{display:inline-block;width:19px;height:19px;vertical-align:middle;flex:none;transition:transform .22s ease}
a:hover .ff-arrow,button:hover .ff-arrow{transform:translateX(5px)}
.ff-micro{display:block;font-family:Arial,sans-serif;font-size:11px;font-weight:900;letter-spacing:.2em;color:#edf3f8;text-transform:uppercase}
.ff-micro--red{color:var(--ff-red)}
.ff-site-main h2{font-family:Impact,"Arial Narrow","Roboto Condensed",Arial,sans-serif;font-stretch:condensed;font-weight:900;letter-spacing:-.025em;line-height:.97}
.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:17px;text-decoration:none;font-family:Arial,sans-serif;font-weight:800;font-size:13px;line-height:1.15;border:0;cursor:pointer;min-height:54px;padding:15px 26px;clip-path:polygon(9% 0,100% 0,100% 68%,92% 100%,0 100%,0 35%);transition:filter .25s,background .25s,transform .25s}
.ff-btn:hover{filter:brightness(1.16);transform:translateY(-2px)}
.ff-btn--red{background:linear-gradient(130deg,#f52339,#ac0920);color:#fff}
.ff-btn--outline{background:rgba(3,19,38,.43);color:#fff;box-shadow:inset 0 0 0 1px #f04453}
.ff-text-link{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font:800 13px/1.3 Arial,sans-serif;border-bottom:1px solid var(--ff-red);padding-bottom:8px;color:inherit}
.ff-text-link .ff-arrow{color:var(--ff-red)}
.ff-line{width:90px;height:3px;background:var(--ff-red);margin:22px 0 25px}
/* GLOBAL HEADER: expands in width, not height */
.ff-header-wrap{position:relative;z-index:900}
.ff-header{position:fixed;z-index:900;top:0;left:50%;transform:translateX(-50%);width:min(1500px,94vw);height:72px;display:flex;gap:35px;align-items:center;padding:0 clamp(15px,3vw,48px);background:rgba(2,15,31,.72);border-bottom:1px solid rgba(241,248,255,.13);backdrop-filter:blur(13px);transition:width .35s cubic-bezier(.16,1,.3,1),background .25s,padding .35s}
.ff-header.is-scrolled{width:100%;background:rgba(2,16,33,.96);padding-left:clamp(18px,4vw,70px);padding-right:clamp(18px,4vw,70px)}
.ff-brand{display:inline-flex;align-items:center;gap:3px;text-decoration:none;white-space:nowrap;color:#fff;font:900 clamp(12px,1.35vw,19px)/1 Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:-.012em}
.ff-nav-compass{width:clamp(23px,2.4vw,36px);height:clamp(23px,2.4vw,36px);color:#f4f6fa;filter:drop-shadow(0 0 6px rgba(255,255,255,.23))}
.ff-nav{display:flex;align-items:center;gap:clamp(14px,2.3vw,40px);margin-left:auto}
.ff-nav a{color:#f1f5f9;text-decoration:none;font:600 12px/1 Arial,sans-serif;transition:color .2s}
.ff-nav a:hover,.ff-footer-nav a:hover{color:#f5374a}
.ff-header-cta{min-height:39px;display:inline-flex;gap:10px;align-items:center;justify-content:center;background:linear-gradient(115deg,#e21d34,#9b0b20);color:#fff;text-decoration:none;padding:9px 19px;white-space:nowrap;font:800 12px/1 Arial,sans-serif;clip-path:polygon(10% 0,100% 0,100% 65%,91% 100%,0 100%,0 30%)}
.ff-header-cta .ff-arrow{width:15px;height:15px}
.ff-menu-toggle{display:none;position:relative;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);background:rgba(3,22,42,.72);padding:9px;cursor:pointer}
.ff-menu-toggle span{display:block;width:100%;height:2px;background:#fff;transition:transform .2s,opacity .2s}
.ff-mobile-nav{display:none}
/* GLOBAL FOOTER */
.ff-footer{position:relative;z-index:2;background:#031426;border-top:1px solid rgba(207,222,235,.14);padding:44px 4.5vw 19px;color:#f7fbff}
.ff-footer-inner{max-width:1460px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}
.ff-footer-brandline p{color:#a4b7c6;margin:9px 0 0;font:12px/1.4 Arial,sans-serif}
.ff-footer-contact a{display:inline-flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font:700 15px Arial,sans-serif;white-space:nowrap}
.ff-footer-contact svg{width:20px;height:20px}
.ff-footer-nav{display:flex;gap:clamp(14px,2vw,36px);flex-wrap:wrap}
.ff-footer-nav a{color:#f4f6f9;text-decoration:none;font:600 12px/1.4 Arial,sans-serif}
.ff-footer-bottom{max-width:1460px;margin:35px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;color:#96aab9;font:11px Arial,sans-serif}
/* 01 / Video compass: a single continuous scene, not a framed video card */
.ff-hero{position:relative;isolation:isolate;min-height:max(760px,100svh);background:#021121;color:#fff;overflow:hidden}
.ff-hero-visual,.ff-hero-video,.ff-hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.ff-hero-video{object-fit:cover;object-position:50% 51%;z-index:-3}
.ff-hero-visual{z-index:-1;background:url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/FranchiseFindersHeroBanner.webp') center/cover no-repeat}
.ff-hero-overlay{z-index:1;background:linear-gradient(180deg,rgba(1,11,25,.4) 0%,rgba(1,12,27,.06) 28%,rgba(1,9,19,.17) 56%,rgba(1,10,21,.81) 100%),linear-gradient(90deg,rgba(1,11,25,.12),transparent 55%,rgba(1,10,21,.12))}
.ff-hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:1600px;min-height:max(760px,100svh);margin:0 auto;padding:clamp(130px,19svh,230px) 4.5vw clamp(120px,15svh,170px);text-align:center}
.ff-hero-brand{display:flex;align-items:center;justify-content:center;gap:clamp(0px,.4vw,6px);width:100%;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;font-size:clamp(39px,8.5vw,128px);line-height:.85;letter-spacing:-.035em;text-shadow:0 3px 14px #000,0 0 1px #fff}
.ff-compass-hero{display:block;flex:none;width:clamp(60px,15vw,210px);height:clamp(60px,15vw,210px);filter:drop-shadow(0 0 21px rgba(246,54,66,.7));overflow:visible}
.ff-hero-message{max-width:920px}
.ff-hero-message h2{font-size:clamp(30px,3.7vw,54px);line-height:1.04;margin:0 0 12px}
.ff-hero-message p{max-width:760px;margin:0 auto 25px;color:#e4e9f0;font:400 clamp(15px,1.28vw,19px)/1.55 Arial,sans-serif;text-shadow:0 2px 13px #02111f}
.ff-hero-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}
.ff-hero-bottom-trace{position:absolute;z-index:5;bottom:-1px;width:100%;height:95px;pointer-events:none}
.ff-hero-bottom-trace svg{display:block;width:100%;height:100%}
/* 02 / Compass emerging from dark rock, anchored background */
.ff-promise{position:relative;isolation:isolate;min-height:680px;margin-top:-75px;padding:150px 0 140px;background:#071c32;clip-path:polygon(0 0,100% 4%,100% 91%,0 100%);z-index:2}
.ff-promise-photo{position:absolute;inset:0;z-index:-3;background:url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Glowing-Silver-Compass-on-Rugged-Slate-2.webp') 74% center/cover fixed no-repeat}
.ff-promise-veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#06182d 0%,rgba(3,17,33,.96) 25%,rgba(3,17,33,.71) 48%,rgba(3,17,33,.02) 85%)}
.ff-promise-inner{width:var(--ff-shell);margin:auto;min-height:370px;display:flex;align-items:center}
.ff-promise-copy{max-width:560px}
.ff-promise-copy h2{font-size:clamp(50px,6vw,89px);margin:17px 0 13px}
.ff-promise-copy p{max-width:510px;color:#dce4ee;font:16px/1.67 Arial,sans-serif;margin:0 0 20px}
.ff-promise-cut{position:absolute;bottom:-2px;left:0;right:0;height:1px;background:#d4e0f1}
/* 03 / Interlocked route mosaic, 9 distinct businesses */
.ff-brands{position:relative;isolation:isolate;margin-top:-57px;padding:126px 0 88px;background:linear-gradient(180deg,rgba(3,18,34,.3),rgba(3,18,34,.56)),var(--ff-media) center/cover repeat;clip-path:polygon(0 4%,100% 0,100% 100%,0 100%)}
.ff-brands-terrain{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 54% 20%,transparent 5%,rgba(2,12,26,.28) 80%)}
.ff-section-heading{text-align:center;width:min(960px,90vw);margin:0 auto 54px}
.ff-section-heading h2{font-size:clamp(52px,6vw,91px);margin:11px 0 12px}
.ff-section-heading p{color:#b9c7d5;font:15px/1.65 Arial,sans-serif;max-width:690px;margin:0 auto}
.ff-brands-mosaic{position:relative;width:min(1490px,100%);margin:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:clamp(230px,25vw,365px) clamp(215px,21vw,310px) clamp(205px,19vw,280px);gap:0}
.ff-brand-feature{position:relative;display:block;min-width:0;min-height:0;isolation:isolate;overflow:hidden;background:#0c1d32;text-decoration:none;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,245,244,.12)}
.ff-brand-feature:after{content:"";position:absolute;z-index:4;inset:0;border:2px solid rgba(247,42,60,.66);clip-path:inherit;pointer-events:none}
.ff-brand-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.16,1,.3,1),filter .5s;filter:saturate(1.07)}
.ff-brand-feature:hover img,.ff-brand-feature:focus-visible img{transform:scale(1.065);filter:saturate(1.18) contrast(1.07)}
.ff-feature-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(1,12,25,.97),rgba(1,12,25,.22) 42%,transparent 67%)}
.ff-feature-copy{position:absolute;z-index:3;bottom:4%;left:clamp(20px,3vw,47px);right:18px;display:flex;flex-direction:column;gap:8px;text-shadow:0 2px 11px #01101d}
.ff-feature-copy strong{font:900 clamp(21px,2.6vw,39px)/1 Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:.01em}
.ff-feature-copy>span{display:inline-flex;gap:8px;align-items:center;align-self:flex-start;padding-bottom:4px;border-bottom:1px solid var(--ff-red);font:750 11px/1.2 Arial,sans-serif}
.ff-feature-copy .ff-arrow{width:14px;height:14px;color:#f52843}
.ff-brand-feature--810{grid-column:1/span 7;grid-row:1;clip-path:polygon(0 0,100% 0,95% 96%,0 100%);margin-right:-18px}
.ff-brand-feature--smoothie{grid-column:7/-1;grid-row:1;clip-path:polygon(12% 0,100% 0,100% 100%,0 88%);margin-left:-16px}
.ff-brand-feature--maxstrength{grid-column:1/span 4;grid-row:2;clip-path:polygon(0 0,100% 5%,95% 100%,0 95%);margin-top:-19px;margin-right:-14px}
.ff-brand-feature--stericlean{grid-column:4/span 5;grid-row:2;clip-path:polygon(8% 0,100% 0,94% 100%,0 100%);margin-left:-12px;margin-right:-14px;margin-top:-6px}
.ff-brand-feature--anchor{grid-column:9/-1;grid-row:2;clip-path:polygon(7% 0,100% 0,100% 100%,0 93%);margin-left:-16px}
.ff-brand-feature--bankline{grid-column:1/span 3;grid-row:3;clip-path:polygon(0 0,100% 3%,95% 100%,0 100%);margin-top:-3px;margin-right:-9px}
.ff-brand-feature--teriyaki{grid-column:4/span 3;grid-row:3;clip-path:polygon(5% 0,100% 0,100% 94%,0 100%);margin-top:-5px;margin-left:-7px}
.ff-brand-feature--woofies{grid-column:7/span 3;grid-row:3;clip-path:polygon(0 0,100% 7%,95% 100%,0 98%);margin-top:-8px;margin-left:-8px}
.ff-brand-feature--yca{grid-column:10/-1;grid-row:3;clip-path:polygon(7% 0,100% 0,100% 100%,0 96%);margin-top:-3px;margin-left:-12px}
.ff-brand-feature--smoothie img{object-position:54% center}
.ff-brand-feature--anchor img{object-position:48% center}
.ff-brand-feature--bankline img{object-position:48% center}
.ff-brand-feature--teriyaki img{object-position:56% center}
.ff-brands-tail{max-width:1150px;margin:36px auto 0;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#dbe8f4}
.ff-brands-tail>span{font:12px/1.5 Arial,sans-serif;color:#8ba1b5}
/* 04 / Pale topographic decision surface. Sticky full-width reading sequence. */
.ff-ownership{position:relative;z-index:2;height:193svh;margin-top:-1px;background:#eff1f3 url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Pale-ivory-topographic-stone-3.webp') center/cover no-repeat;color:#08182a;clip-path:polygon(0 0,100% 3%,100% 100%,0 96%)}
.ff-ownership-stage{position:sticky;top:0;min-height:720px;height:100svh;display:flex;flex-direction:column;justify-content:center;padding:90px clamp(30px,5.5vw,105px) 90px}
.ff-ownership h2{font-size:clamp(52px,6.3vw,102px);max-width:1250px;margin:0 0 22px}
.ff-route-drawing{width:100%;height:clamp(105px,15svh,160px);overflow:visible;filter:drop-shadow(0 0 5px rgba(245,41,59,.2))}
.ff-route-base{fill:none;stroke:rgba(185,57,65,.24);stroke-width:2}
.ff-route-active{fill:none;stroke:var(--ff-red);stroke-width:2.8;stroke-linecap:round}
.ff-route-dot{fill:#fa233e;stroke:#ffeaed;stroke-width:3}
.ff-ownership-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,60px);margin-top:18px}
.ff-step{display:flex;gap:14px;align-items:flex-start;min-width:0}
.ff-step-no{color:#df1c31;font:900 clamp(73px,8vw,130px)/.78 Georgia,"Times New Roman",serif;letter-spacing:-.085em}
.ff-step h3{font:900 clamp(26px,2.4vw,41px)/1 Impact,"Arial Narrow",Arial,sans-serif;margin:5px 0 12px;white-space:nowrap}
.ff-step p{font:14px/1.55 Arial,sans-serif;color:#26384c;max-width:300px}
.ff-ownership-note{font:italic 14px Arial,sans-serif;align-self:flex-end;color:#46576b;margin:32px 0 0}
/* 05 / Advisory proof, image window fixed to the world underneath */
.ff-brokerage{position:relative;isolation:isolate;display:grid;grid-template-columns:54% 46%;min-height:580px;background:#031b32;clip-path:polygon(0 2%,100% 0,100% 100%,0 95%);margin-top:-22px}
.ff-brokerage-img{position:relative;min-height:570px;background:url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Glowing-Silver-Compass-on-Rugged-Slate-2.webp') center/cover fixed no-repeat;clip-path:polygon(0 0,100% 0,88% 100%,0 92%);filter:saturate(.94)}
.ff-brokerage-copy{position:relative;z-index:2;align-self:center;max-width:680px;padding:95px clamp(36px,5vw,96px) 105px 20px}
.ff-brokerage h2{font-size:clamp(57px,6.2vw,94px);margin:18px 0 26px}
.ff-brokerage p{max-width:530px;color:#c5d6e2;font:16px/1.67 Arial,sans-serif;margin-bottom:20px}
/* 06 / Two opportunity windows that join with the terrain */
.ff-more-ways{position:relative;isolation:isolate;padding:94px 0 110px;background:var(--ff-media) center/cover repeat;clip-path:polygon(0 0,100% 4%,100% 100%,0 96%);margin-top:-34px}
.ff-ways-bg{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(2,15,29,.5),rgba(2,17,34,.28))}
.ff-ways-heading{width:var(--ff-shell);margin:0 auto 46px}
.ff-ways-heading h2{font-size:clamp(53px,6.3vw,95px);margin:13px 0}
.ff-ways-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1510px;margin:auto;gap:0}
.ff-way{position:relative;min-height:385px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}
.ff-way:first-child{clip-path:polygon(5% 4%,100% 0,93% 100%,0 95%);margin-right:-20px;z-index:2}
.ff-way:last-child{clip-path:polygon(9% 0,100% 5%,100% 100%,0 95%);margin-left:-16px}
.ff-way img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.ff-way--financing img{object-position:48% center}
.ff-way--development img{object-position:center}
.ff-way:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(0,14,29,.97),rgba(0,14,29,.27) 60%,transparent)}
.ff-way:hover img{transform:scale(1.055)}
.ff-way-content{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:34px clamp(22px,5vw,65px) 38px}
.ff-way-content strong{font:900 clamp(28px,3vw,44px)/1 Impact,"Arial Narrow",Arial,sans-serif}
.ff-way-content>span{font:14px/1.52 Arial,sans-serif;max-width:445px}
.ff-way-content em{display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid #ed253f;padding-bottom:6px;font:700 12px Arial,sans-serif;font-style:normal}
/* 07 / Advisor proof path: open typographic plane, not a generic card */
.ff-advisor{position:relative;isolation:isolate;overflow:hidden;padding:clamp(75px,10vw,155px) 7vw clamp(105px,12vw,170px);background:linear-gradient(90deg,rgba(2,15,29,.9),rgba(2,15,29,.58)),url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Crimson-trail-to-the-silver-compass-5.webp') center 54%/cover no-repeat;color:white;clip-path:polygon(0 0,100% 4%,100% 100%,0 95%);margin-top:-25px}
.ff-advisor:before{content:"";position:absolute;width:min(400px,45vw);aspect-ratio:1;right:7%;top:50%;transform:translateY(-50%);opacity:.27;background:url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Glowing-Silver-Compass-on-Rugged-Slate-2.webp') center/cover;border-radius:50%;mask-image:radial-gradient(circle,#000 40%,transparent 74%);z-index:-1}
.ff-advisor-rule{width:110px;height:3px;background:#fa2a43;margin-bottom:25px}
.ff-advisor h2{font-size:clamp(55px,6.8vw,104px);max-width:970px;margin:15px 0 22px}
.ff-advisor p{max-width:680px;font:16px/1.65 Arial,sans-serif;color:#e0e7ee}
/* 08 / The route resolves into the inquiry surface */
.ff-contact{position:relative;isolation:isolate;min-height:700px;margin-top:-25px;background:#081e32;clip-path:polygon(0 4%,100% 0,100% 100%,0 96%);overflow:hidden}
.ff-contact-scene{position:absolute;z-index:-2;inset:0;background:url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Crimson-trail-to-the-silver-compass-5.webp') 26% 49%/cover no-repeat}
.ff-contact:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(1,13,27,.44),rgba(2,13,27,.17) 49%,rgba(2,13,27,.02) 65%)}
.ff-contact:after{content:"";position:absolute;z-index:-1;right:0;top:0;bottom:0;width:43%;background:#e7e8e7 url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Pale-ivory-topographic-stone-3.webp') center/cover no-repeat;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}
.ff-contact-content{display:grid;grid-template-columns:55% 45%;gap:20px;position:relative;max-width:1600px;margin:auto;padding:115px 4.5vw 95px}
.ff-contact-left{align-self:center;min-width:0;padding-right:6%;text-shadow:0 2px 12px #011125}
.ff-contact-left h2{font-size:clamp(58px,7vw,112px);max-width:780px;margin:17px 0 0}
.ff-contact-left p{font:16px/1.65 Arial,sans-serif;color:#e0e8f1;max-width:520px}
.ff-contact-left .ff-compass-hero{width:105px;height:105px;margin:28px 0 0 37%;filter:drop-shadow(0 0 22px rgba(241,29,54,.66))}
.ff-contact-form-shell{position:relative;max-width:535px;width:100%;justify-self:end;align-self:center;padding:0 clamp(0px,2.6vw,45px) 0 clamp(18px,3vw,50px);color:#071a2a}
.ff-inquiry-form{display:flex;flex-direction:column;gap:7px;font-family:Arial,sans-serif}
.ff-inquiry-form label{color:#172838;font-weight:800;font-size:12px;margin-top:7px}
.ff-inquiry-form label span{font-weight:400;color:#687783}
.ff-inquiry-form input,.ff-inquiry-form select{width:100%;min-height:41px;background:rgba(255,255,255,.88);border:1px solid #b6bdc3;border-radius:0;padding:10px 12px;color:#142435;font:14px Arial,sans-serif}
.ff-inquiry-form input:focus,.ff-inquiry-form select:focus{outline:2px solid #da1933;outline-offset:2px}
.ff-submit{width:100%;margin-top:18px}
.ff-demo-note{font:11px/1.45 Arial,sans-serif;color:#5d6f7b;margin:5px 0 0}
.ff-contact-cut{position:absolute;bottom:0;width:100%;height:1px;background:rgba(255,255,255,.35)}
/* Responsive stage release: content remains available without JS. */
@media(max-width:1100px){
.ff-nav{gap:16px}.ff-header{gap:20px}.ff-header-cta{padding:9px 14px}
.ff-contact-content{grid-template-columns:50% 50%}.ff-contact:after{width:49%}
.ff-ownership-stage{padding-left:4vw;padding-right:4vw}
.ff-step{gap:9px}.ff-step-no{font-size:76px}.ff-step h3{font-size:25px}
}
@media(max-width:900px){
.ff-header{width:94vw;height:70px}.ff-header.is-scrolled{height:70px}
.ff-nav,.ff-header-cta{display:none}
.ff-menu-toggle{margin-left:auto;display:flex}
.ff-mobile-nav{position:fixed;z-index:899;inset:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:85px 8vw 35px;background:rgba(2,18,34,.98);transform:translateY(-110%);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.ff-mobile-nav a{padding:12px 0;font:900 clamp(28px,7vw,48px) Impact,"Arial Narrow",Arial,sans-serif;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.15)}
.ff-mobile-nav a:last-child{color:#ff3c52}
body.cb-menu-open{overflow:hidden}
body.cb-menu-open .ff-mobile-nav{transform:translateY(0)}
.ff-hero,.ff-hero-inner{min-height:730px}
.ff-hero-inner{padding-top:155px;padding-bottom:125px}
.ff-hero-brand{font-size:clamp(43px,8vw,70px)}.ff-compass-hero{width:clamp(56px,14vw,125px);height:clamp(56px,14vw,125px)}
.ff-promise{min-height:580px;padding:130px 0 125px}
.ff-promise-photo{background-attachment:scroll;background-position:65% center}
.ff-promise-veil{background:linear-gradient(90deg,#06182d 0%,rgba(3,17,33,.94) 39%,rgba(3,17,33,.38) 100%)}
.ff-brands{padding-top:100px}
.ff-brands-mosaic{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(5,250px)}
.ff-brand-feature--810{grid-column:1/4;grid-row:1;margin:0;clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}
.ff-brand-feature--smoothie{grid-column:4/-1;grid-row:1;margin:0;clip-path:polygon(4% 0,100% 0,100% 100%,0 95%)}
.ff-brand-feature--maxstrength{grid-column:1/4;grid-row:2;margin:0;clip-path:polygon(0 0,100% 7%,95% 100%,0 100%)}
.ff-brand-feature--stericlean{grid-column:4/-1;grid-row:2;margin:0;clip-path:polygon(4% 0,100% 0,100% 100%,0 96%)}
.ff-brand-feature--anchor{grid-column:1/4;grid-row:3;margin:0;clip-path:polygon(0 0,100% 0,94% 100%,0 96%)}
.ff-brand-feature--bankline{grid-column:4/-1;grid-row:3;margin:0;clip-path:polygon(5% 0,100% 0,100% 100%,0 100%)}
.ff-brand-feature--teriyaki{grid-column:1/4;grid-row:4;margin:0;clip-path:polygon(0 0,100% 0,95% 100%,0 100%)}
.ff-brand-feature--woofies{grid-column:4/-1;grid-row:4;margin:0;clip-path:polygon(5% 0,100% 0,100% 100%,0 96%)}
.ff-brand-feature--yca{grid-column:1/-1;grid-row:5;margin:0;clip-path:none}
.ff-feature-copy strong{font-size:30px}
.ff-ownership{height:auto;min-height:600px;clip-path:polygon(0 0,100% 2%,100% 100%,0 98%)}
.ff-ownership-stage{position:relative;height:auto;min-height:600px;padding:100px 5vw}
.ff-step-no{font-size:65px}.ff-step h3{font-size:25px}.ff-step p{font-size:13px}
.ff-brokerage{grid-template-columns:46% 54%}
.ff-brokerage-img{background-attachment:scroll;min-height:500px}
.ff-brokerage-copy{padding:90px 5vw}
.ff-brokerage h2{font-size:clamp(54px,7vw,80px)}
.ff-contact-content{padding-left:3vw;padding-right:3vw}.ff-contact:after{width:51%}
.ff-contact-left h2{font-size:clamp(56px,7vw,80px)}
.ff-footer-inner{flex-wrap:wrap}.ff-footer-nav{width:100%}
}
@media(max-width:620px){
.ff-header{padding:0 16px}.ff-header.is-scrolled{padding:0 18px}
.ff-brand{font-size:14px}
.ff-nav-compass{width:28px;height:28px}
.ff-hero,.ff-hero-inner{min-height:710px}
.ff-hero-inner{padding:125px 5vw 98px}
.ff-hero-brand{flex-wrap:nowrap;font-size:clamp(31px,8vw,51px);gap:0;letter-spacing:-.045em}
.ff-compass-hero{width:clamp(46px,14vw,78px);height:clamp(46px,14vw,78px)}
.ff-hero-message h2{font-size:36px}
.ff-hero-message p{font-size:14px;line-height:1.55}
.ff-hero-actions{gap:9px}.ff-btn{min-height:49px;padding:13px 18px;font-size:12px}
.ff-promise{min-height:580px;margin-top:-35px;padding:100px 0 105px;clip-path:polygon(0 0,100% 3%,100% 96%,0 100%)}
.ff-promise-inner{width:88vw}.ff-promise-copy h2{font-size:clamp(46px,12vw,72px)}
.ff-promise-copy p{font-size:15px}.ff-promise-veil{background:linear-gradient(90deg,#06182d 0%,rgba(3,17,33,.92) 65%,rgba(3,17,33,.52) 100%)}
.ff-brands{margin-top:-28px;padding-top:92px;clip-path:polygon(0 1%,100% 0,100% 100%,0 100%)}
.ff-section-heading{margin-bottom:32px}.ff-section-heading h2{font-size:clamp(45px,10vw,70px)}
.ff-section-heading p{font-size:13px}
.ff-brands-mosaic{display:flex;flex-direction:column;gap:0}
.ff-brand-feature{width:100%;height:250px;min-height:250px;margin:0!important;clip-path:polygon(0 0,100% 0,100% 94%,0 100%)!important}
.ff-brand-feature:nth-child(even){clip-path:polygon(0 5%,100% 0,100% 100%,0 94%)!important}
.ff-feature-copy{left:25px;bottom:20px}.ff-feature-copy strong{font-size:30px}
.ff-brands-tail{margin-top:30px}
.ff-ownership{min-height:700px}
.ff-ownership-stage{padding:93px 6vw 90px}
.ff-ownership h2{font-size:clamp(46px,10vw,68px)}
.ff-route-drawing{display:none}
.ff-ownership-steps{display:flex;flex-direction:column;gap:27px;margin-top:20px}
.ff-step-no{font-size:80px}.ff-step h3{font-size:28px}.ff-step p{font-size:14px}
.ff-ownership-note{align-self:flex-start;font-size:12px;margin:15px 0 0}
.ff-brokerage{display:flex;flex-direction:column;margin-top:-10px}
.ff-brokerage-img{min-height:245px;clip-path:polygon(0 0,100% 0,100% 100%,0 86%)}
.ff-brokerage-copy{padding:42px 7vw 100px}
.ff-brokerage h2{font-size:clamp(54px,11vw,74px)}
.ff-brokerage p{font-size:15px}
.ff-more-ways{padding:93px 0 90px;clip-path:polygon(0 0,100% 1%,100% 100%,0 99%);margin-top:-33px}
.ff-ways-heading{width:87vw}.ff-ways-heading h2{font-size:clamp(48px,11vw,77px)}
.ff-ways-scenes{grid-template-columns:1fr}
.ff-way{min-height:340px;margin:0!important;clip-path:polygon(0 0,100% 0,100% 93%,0 100%)!important}
.ff-way:last-child{clip-path:polygon(0 7%,100% 0,100% 100%,0 94%)!important;margin-top:-20px!important}
.ff-way-content{padding:35px 9vw}.ff-way-content strong{font-size:34px}
.ff-advisor{padding:105px 7vw 115px}.ff-advisor h2{font-size:clamp(48px,11vw,76px)}.ff-advisor p{font-size:15px}
.ff-contact{margin-top:-10px;clip-path:polygon(0 2%,100% 0,100% 100%,0 98%)}
.ff-contact:after{left:0;right:0;top:auto;bottom:0;width:100%;height:60%;clip-path:polygon(0 7%,100% 0,100% 100%,0 100%)}
.ff-contact-content{grid-template-columns:1fr;gap:25px;padding:95px 7vw 80px}
.ff-contact-left{padding:0 0 40px}.ff-contact-left h2{font-size:clamp(52px,12vw,80px)}
.ff-contact-left .ff-compass-hero{display:none}
.ff-contact-form-shell{width:100%;max-width:none;padding:38px 0 0;justify-self:stretch}
.ff-footer{padding:37px 6vw 23px}.ff-footer-inner{align-items:flex-start;flex-direction:column;gap:24px}
.ff-footer-bottom{flex-direction:column;gap:7px;margin-top:25px}
}
@media(prefers-reduced-motion:reduce){
.ff-hero-video{display:none}
.ff-brand-feature img,.ff-way img,.ff-btn,.ff-arrow{transition:none!important;transform:none!important}
.ff-ownership{height:auto!important}
.ff-ownership-stage{position:relative!important;min-height:580px;height:auto}
.ff-route-active{stroke-dasharray:none!important;stroke-dashoffset:0!important}
}

/* Accessibility: small accent label requires sufficient foreground contrast. */
.ff-brokerage .ff-micro--red{color:#ff7180}


/* Genuine supporting artwork: the crimson waypoint route threads through the brand collage. */
.ff-brands:before{content:"";position:absolute;left:0;right:0;bottom:16%;height:18%;pointer-events:none;z-index:1;background:url('https://franchisefinders.gmportal.net/wp-content/uploads/2026/10/Crimson-light-trail-with-glowing-waypoints-6.webp') center/100% 100% no-repeat;mix-blend-mode:screen;opacity:.43}
.ff-brands .ff-section-heading,.ff-brands .ff-brands-tail{position:relative;z-index:3}
.ff-brand-feature{z-index:2}
.ff-brand-feature:hover,.ff-brand-feature:focus-visible{z-index:4}
@media(max-width:620px){.ff-brands:before{bottom:9%;height:10%;opacity:.32}}
