/* ==========================================================================
   Fix Your Credit Consulting — design system
   Brand from the logo's exact pixels: orange #F85800, green #38A828.
   Type: Montserrat (headlines — matches the wordmark), Inter (body).
   Rules that keep the scroll layer honest:
     - NO overflow:hidden on html/body (it silently kills position:sticky)
     - every hidden-initial state lives under html.mo (added by motion.js only)
   ========================================================================== */
:root{
  --orange:#F85800;--orange-d:#D24A00;--orange-l:#FF7A2E;--orange-t:#FFF1E8;
  --green:#38A828;--green-d:#2A7F1E;--green-l:#5CC94A;--green-t:#EAF7E6;
  --ink:#0E1210;--ink-2:#171C19;--ink-3:#232A26;
  --paper:#FFFFFF;--cream:#FAF9F6;--mist:#F1F3F1;
  --text:#161A18;--body:#3D4541;--mut:#6B746F;--mut-2:#8E968F;
  --line:rgba(14,18,16,.10);--line-2:rgba(14,18,16,.18);--line-d:rgba(255,255,255,.12);
  --on-d:#F4F6F3;--on-d-mut:rgba(244,246,243,.68);
  --grad-brand:linear-gradient(100deg,#F85800 0%,#FF7A2E 55%,#38A828 100%);
  --grad-orange:linear-gradient(118deg,#FF8A47 0%,#F85800 55%,#C94400 100%);
  --grad-green:linear-gradient(118deg,#6BD65A 0%,#38A828 55%,#237019 100%);
  --shadow:0 30px 70px -34px rgba(14,18,16,.28);--shadow-d:0 40px 90px -40px rgba(0,0,0,.7);
  --head:"Montserrat","Segoe UI",system-ui,sans-serif;
  --sans:"Inter","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,Menlo,monospace;
  --maxw:1240px;--pad:24px;
  --e:cubic-bezier(.2,.8,.2,1);--e-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(248,88,0,.22)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}
button{font:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:800 11.5px/1 var(--head);letter-spacing:.3em;text-transform:uppercase;color:var(--orange-d)}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--orange)}
.eyebrow.green{color:var(--green-d)}.eyebrow.green::before{background:var(--green)}
.eyebrow.on-d{color:var(--orange-l)}.eyebrow.on-d::before{background:var(--orange-l)}
.display{font-family:var(--head);font-weight:800;line-height:.98;letter-spacing:-.03em;font-size:clamp(44px,7.6vw,104px)}
.h2{font-family:var(--head);font-weight:800;line-height:1.04;letter-spacing:-.025em;font-size:clamp(32px,4.6vw,58px)}
.h3{font-family:var(--head);font-weight:700;line-height:1.15;letter-spacing:-.01em;font-size:clamp(21px,2.2vw,27px)}
.lede{font-size:clamp(16px,1.35vw,19px);line-height:1.7;max-width:58ch;color:var(--body)}
.grad{color:transparent;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text}
.grad-o{color:transparent;background:var(--grad-orange);-webkit-background-clip:text;background-clip:text}
.btn{display:inline-flex;align-items:center;gap:10px;font:800 13.5px/1 var(--head);letter-spacing:.04em;text-transform:uppercase;padding:17px 26px;border-radius:4px;cursor:pointer;border:0;white-space:nowrap;transition:transform .25s var(--e),box-shadow .3s,background .3s,color .3s,border-color .3s}
.btn-orange{background:var(--grad-orange);color:#fff;box-shadow:0 16px 36px -14px rgba(248,88,0,.6)}
.btn-orange:hover{transform:translateY(-2px);box-shadow:0 24px 46px -14px rgba(248,88,0,.72)}
.btn-green{background:var(--grad-green);color:#fff;box-shadow:0 16px 36px -14px rgba(56,168,40,.55)}
.btn-green:hover{transform:translateY(-2px)}
.btn-line{background:transparent;color:var(--text);border:1.5px solid var(--line-2)}
.btn-line:hover{border-color:var(--text);background:rgba(14,18,16,.03)}
.btn-line-d{background:transparent;color:var(--on-d);border:1.5px solid rgba(255,255,255,.32)}
.btn-line-d:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn .ar{transition:transform .3s}.btn:hover .ar{transform:translateX(4px)}
.btn-wide{padding-inline:32px}

/* ---------- top bar + nav ---------- */
.topbar{background:var(--ink);color:var(--on-d-mut);font-size:12.5px;font-weight:600}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;gap:16px}
.topbar a{color:var(--on-d);display:inline-flex;align-items:center;gap:6px}
.topbar a:hover{color:var(--orange-l)}
.topbar .l{display:flex;gap:22px}.topbar .r{display:flex;gap:16px}
header.nav{position:sticky;top:0;left:0;right:0;z-index:80;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
header.nav.solid{border-bottom-color:var(--line);box-shadow:0 10px 30px -22px rgba(14,18,16,.35)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.brand{display:flex;align-items:center;gap:11px;min-width:0}
.brand svg{width:44px;height:44px;flex-shrink:0}
.brand .bt{display:flex;flex-direction:column;line-height:1;font-family:var(--head)}
.brand .b1{font-weight:800;font-size:18px;letter-spacing:.005em;color:var(--orange);text-transform:uppercase}
.brand .b2{font-weight:600;font-size:11px;letter-spacing:.42em;color:var(--green);text-transform:uppercase;margin-top:4px}
.menu{display:flex;align-items:center;gap:26px}
.menu a.lnk{font:600 13.5px/1 var(--sans);color:var(--text);position:relative;transition:color .25s;white-space:nowrap}
.menu a.lnk::after{content:"";position:absolute;left:0;bottom:-7px;height:2px;width:0;background:var(--orange);transition:width .3s}
.menu a.lnk:hover,.menu a.lnk[aria-current]{color:var(--orange-d)}.menu a.lnk:hover::after,.menu a.lnk[aria-current]::after{width:100%}
.menu .btn{padding:13px 20px;font-size:12.5px}
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.hamb span{width:24px;height:2px;background:var(--text);border-radius:2px}
.drawer{position:fixed;inset:0;z-index:95;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);display:flex;flex-direction:column;padding:26px 24px;transform:translateX(100%);transition:transform .4s var(--e);overflow-y:auto}
.drawer.open{transform:none}.drawer .x{align-self:flex-end;background:none;border:0;color:var(--text);font-size:34px;cursor:pointer;line-height:1}
.drawer a{font:700 24px/1.2 var(--head);color:var(--text);padding:14px 0;border-bottom:1px solid var(--line)}
.drawer a.small{font:600 14px/1.4 var(--sans);color:var(--mut);padding:10px 0;border:0}
@media(max-width:1180px){.menu{gap:18px}.menu a.lnk{font-size:13px}}
@media(max-width:1024px){.menu{gap:14px}.menu a.lnk{font-size:12.5px}.menu .btn{padding:12px 16px;font-size:12px}}
@media(max-width:900px){.menu{display:none}.hamb{display:flex}.topbar .l span.hide{display:none}}
@media(max-width:600px){.topbar .l{display:none}.topbar .r .hide{display:none}.topbar .wrap{justify-content:center}}

/* ---------- sections ---------- */
section.blk{padding:104px 0;position:relative}
section.paper{background:var(--paper)}section.cream{background:var(--cream)}section.mist{background:var(--mist)}
section.dark{background:var(--ink);color:var(--on-d)}
section.dark .h2,section.dark .h3{color:#fff}section.dark .lede{color:var(--on-d-mut)}
.sec-head{max-width:760px;margin-bottom:54px}.sec-head.center{margin-inline:auto;text-align:center}.sec-head.center .eyebrow{justify-content:center}
.sec-head .h2{margin-top:16px}.sec-head .lede{margin-top:16px}
@media(max-width:600px){section.blk{padding:72px 0}.sec-head{margin-bottom:36px}}

/* ---------- cards / grids ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.card{position:relative;background:var(--paper);border:1px solid var(--line);padding:34px 30px;box-shadow:var(--shadow);transition:transform .35s var(--e),box-shadow .35s}
.card:hover{transform:translateY(-4px)}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--grad-brand)}
.card .h3{margin:14px 0 10px}.card p{color:var(--body);font-size:15px;line-height:1.7}
.card .ico{width:52px;height:52px;border-radius:12px;background:var(--orange-t);display:grid;place-items:center;color:var(--orange-d)}
.card .ico svg{width:26px;height:26px}
.card.g .ico{background:var(--green-t);color:var(--green-d)}
.card .more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:800 12.5px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--orange-d)}
.list{list-style:none;display:grid;gap:12px}
.list li{display:flex;gap:12px;font-size:15.5px;line-height:1.6;color:var(--body)}
.list li::before{content:"";flex-shrink:0;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--green);-webkit-mask:var(--tick) center/contain no-repeat;mask:var(--tick) center/contain no-repeat}
:root{--tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media(max-width:960px){.grid-3{grid-template-columns:minmax(0,1fr)}.grid-2{grid-template-columns:minmax(0,1fr)}.twoup{grid-template-columns:minmax(0,1fr)}.ceo{grid-template-columns:minmax(0,1fr)}.start-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.btn{white-space:normal;text-align:center;line-height:1.3}.btn-row .btn{flex:1 1 auto;justify-content:center}}

/* ---------- page hero (inner pages) ---------- */
.pg-hero{position:relative;padding:96px 0 64px;overflow:hidden;background:radial-gradient(900px circle at 84% 10%,rgba(248,88,0,.12),transparent 58%),radial-gradient(700px circle at 8% 90%,rgba(56,168,40,.10),transparent 60%),var(--cream)}
.pg-hero-in{position:relative;z-index:2;max-width:860px}
.pg-hero h1{margin:20px 0 18px;font-size:clamp(38px,6vw,78px)}
.pg-crumb{font-size:12.5px;font-weight:600;color:var(--mut-2)}.pg-crumb a:hover{color:var(--orange-d)}
.pg-rule{height:2px;background:linear-gradient(90deg,var(--orange),rgba(248,88,0,0));margin-top:36px}
.pg-art{position:absolute;right:-2%;bottom:-6%;width:min(46vw,560px);opacity:.14;pointer-events:none}
@media(max-width:960px){.pg-art{display:none}.pg-hero{padding:72px 0 48px}}

/* ---------- prose ---------- */
.prose{max-width:76ch}
.prose h2{font-family:var(--head);font-weight:800;font-size:clamp(23px,2.4vw,30px);letter-spacing:-.015em;color:var(--text);margin:44px 0 14px}
.prose h3{font-family:var(--head);font-weight:700;font-size:clamp(18px,1.8vw,22px);color:var(--text);margin:32px 0 10px}
.prose p{font-size:16.5px;line-height:1.8;color:var(--body);margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 18px 22px}.prose li{font-size:16px;line-height:1.75;color:var(--body);margin-bottom:8px}
.prose a{color:var(--orange-d);font-weight:700}.prose a:hover{text-decoration:underline}
.prose strong{color:var(--text)}
.prose img{border-radius:6px;margin:22px 0;box-shadow:var(--shadow)}
.prose blockquote{border-left:3px solid var(--orange);padding:6px 0 6px 20px;margin:22px 0;color:var(--text);font-style:italic}
.prose .lead{font-size:19px;color:var(--text)}
.callout{border-left:3px solid var(--green);background:var(--green-t);padding:18px 22px;margin:26px 0;font-size:15.5px;line-height:1.7;color:var(--text)}
.callout.o{border-color:var(--orange);background:var(--orange-t)}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--on-d-mut);padding:64px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;margin-bottom:44px}
.foot-brand .brand .b1{color:var(--orange-l)}.foot-brand .brand .b2{color:var(--green-l)}
.foot-brand p{font-size:14px;max-width:40ch;margin-top:16px;line-height:1.7}
.fcol h5{font:800 11px/1 var(--head);letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.fcol a,.fcol span{display:block;color:var(--on-d-mut);font-size:14px;padding:5px 0;transition:color .2s}.fcol a:hover{color:var(--orange-l)}
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-d);display:grid;place-items:center;color:var(--on-d)}
.foot-social a:hover{border-color:var(--orange-l);color:var(--orange-l)}
.foot-social svg{width:17px;height:17px}
.foot-bot{border-top:1px solid var(--line-d);padding-top:22px;font-size:12.5px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.foot-bot a{color:inherit}.foot-bot a:hover{color:var(--orange-l)}
.disc{font-size:11.5px;color:rgba(244,246,243,.42);max-width:100ch;margin-top:16px;line-height:1.65}
@media(max-width:960px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr}}

/* ---------- reveals (armed by motion.js only) ---------- */
html.mo .rv{opacity:0;transform:translateY(26px);transition:opacity .85s var(--e),transform .85s var(--e)}
html.mo .rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.09s}.rv.d2{transition-delay:.18s}.rv.d3{transition-delay:.27s}.rv.d4{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){html.mo .rv{opacity:1;transform:none;transition:none}}

/* ---------- utilities ---------- */
.sr{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.mt-40{margin-top:40px}.mt-24{margin-top:24px}.center{text-align:center}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.small{font-size:13px;color:var(--mut)}
