/* FBL TOOLBOX™ — MASTER BRAND STYLES © 2026 O'Malley Inc. */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Source+Sans+3:wght@300;400;600;700&display=swap');
:root {
  --rust:#9A3410; --rust-bright:#D4561E; --teal:#1E7A6B;
  --dark:#1A3A42; --cream:#F5F0E8; --gold:#D4A33F;
  --light:#FDFAF5; --muted:#6B6258; --maroon:#7A1E32;
  --border:rgba(0,0,0,.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
sup.tm{font-size:.55em;vertical-align:super;opacity:.7;letter-spacing:0;font-style:normal;font-family:'Source Sans 3',sans-serif;}
body{font-family:'Source Sans 3',sans-serif;background:var(--light);color:#1a1a1a;min-height:100vh;overflow-x:hidden;}
.topnav{background:var(--teal);border-bottom:2px solid var(--rust);position:sticky;top:0;z-index:100;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 44px 12px;}
.nav-brands{display:flex;align-items:center;}
.brand-block{display:flex;flex-direction:column;gap:2px;}
.brand-name{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:3px;color:rgba(245,240,232,.75);line-height:1;white-space:nowrap;}
.brand-name .accent{color:var(--rust-bright);}
.brand-tag{font-family:'Libre Baskerville',serif;font-style:italic;font-size:11px;color:rgba(245,240,232,.7);line-height:1;white-space:nowrap;}
.brand-divider{width:1px;height:28px;background:rgba(245,240,232,.12);margin:0 24px;flex-shrink:0;}
.nav-right{display:flex;align-items:center;gap:20px;}
.nav-context{font-family:'Libre Baskerville',serif;font-style:italic;font-size:11px;color:rgba(245,240,232,.65);}
.nav-back{display:flex;align-items:center;gap:7px;font-family:'Source Sans 3',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(245,240,232,.5);text-decoration:none;padding-right:20px;margin-right:20px;border-right:1px solid rgba(245,240,232,.12);transition:color .2s;}
.nav-back:hover{color:rgba(245,240,232,.85);}
.nav-back svg{width:13px;height:13px;}
.nav-avatar{width:32px;height:32px;border-radius:50%;background:var(--rust);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:1px;color:#fff;cursor:pointer;flex-shrink:0;}
.grid-texture{position:absolute;inset:0;background-image:linear-gradient(rgba(245,240,232,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(245,240,232,.03) 1px,transparent 1px);background-size:80px 80px;pointer-events:none;}
.section-label{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.section-label::after{content:'';flex:1;height:1px;background:var(--border);}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;cursor:pointer;border:none;transition:all .2s;text-decoration:none;padding:14px 32px;}
.btn-primary{background:var(--rust-bright);color:var(--cream);}
.btn-primary:hover{background:var(--rust);transform:translateY(-1px);box-shadow:0 4px 16px rgba(154,52,16,.3);}
.btn-outline{background:transparent;color:var(--dark);border:1.5px solid rgba(0,0,0,.15);font-size:14px;padding:12px 24px;}
.btn-outline:hover{border-color:var(--dark);background:var(--cream);}
.btn-teal{background:var(--teal);color:var(--cream);}
.btn-teal:hover{background:#165f53;transform:translateY(-1px);box-shadow:0 4px 14px rgba(30,122,107,.3);}
.insight-box{background:var(--cream);border-left:4px solid var(--rust-bright);padding:24px 28px;margin:24px 0;}
.insight-label{font-family:'Source Sans 3',sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--rust);margin-bottom:8px;}
.insight-box p{font-family:'Libre Baskerville',serif;font-size:15px;line-height:1.85;color:#2a2a2a;}
.callout{background:var(--teal);color:#fff;position:relative;overflow:hidden;padding:28px 32px;margin:28px 0;}
.callout-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:2px;color:var(--gold);margin-bottom:14px;}
.callout p{font-family:'Libre Baskerville',serif;font-size:15px;line-height:1.85;color:rgba(245,240,232,.85);margin-bottom:10px;}
.callout p:last-child{margin-bottom:0;}
.overlay{display:none;position:fixed;inset:0;background:rgba(26,58,66,.7);z-index:300;align-items:center;justify-content:center;backdrop-filter:blur(3px);}
.overlay.open{display:flex;}
.modal{background:var(--light);border-top:4px solid var(--rust-bright);padding:44px;max-width:480px;width:90%;text-align:center;animation:scaleIn .3s ease;}
.modal-check{width:56px;height:56px;background:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--gold);letter-spacing:1px;}
.modal h2{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;color:var(--dark);margin-bottom:10px;}
.modal p{font-family:'Libre Baskerville',serif;font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:22px;}
.modal-preview{background:var(--cream);padding:16px 20px;text-align:left;margin-bottom:22px;border-left:3px solid var(--teal);}
.modal-preview strong{font-family:'Source Sans 3',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:6px;}
.modal-preview p{font-family:'Libre Baskerville',serif;font-style:italic;font-size:14px;color:var(--dark);margin:0;line-height:1.55;}
.modal-actions{display:flex;flex-direction:column;gap:10px;}
.modal-actions .btn{justify-content:center;}
.site-footer{background:var(--teal);border-top:3px solid var(--rust);padding:28px 44px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;}
.footer-copy{font-family:'Source Sans 3',sans-serif;font-size:10px;letter-spacing:.5px;color:rgba(245,240,232,.35);line-height:1.8;}
.footer-brand{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:2px;color:var(--gold);}
.divider{border:none;border-top:1px solid var(--border);margin:44px 0;}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes scaleIn{from{transform:scale(.95);opacity:0;}to{transform:scale(1);opacity:1;}}
.anim-1{animation:fadeUp .4s ease both;}
.anim-2{animation:fadeUp .4s ease .1s both;}
.anim-3{animation:fadeUp .4s ease .2s both;}
