/* CareerForge AI theme. Tokens first, then base, then sections. */

/* ---------- Tokens: colour schemes (light) ---------- */
:root,
html[data-scheme="ink"]{--accent:#0f7b83;--on-accent:#fff;--link:#0b5d63;--link-dk:#4cc3cb;--hi:#f4b400;--bg:#f7f8fa;--alt:#eceff4;--ink:#14213d}
html[data-scheme="harbor"]{--accent:#c24a12;--on-accent:#fff;--link:#a83b0a;--link-dk:#ff9a62;--hi:#3fb6c4;--bg:#f2f6f9;--alt:#e4ecf2;--ink:#0b2a3c}
html[data-scheme="forest"]{--accent:#2f7d4f;--on-accent:#fff;--link:#1f5e39;--link-dk:#6fd09a;--hi:#e0b73a;--bg:#f4f7f3;--alt:#e6eee4;--ink:#12301f}
html[data-scheme="plum"]{--accent:#8a3ea0;--on-accent:#fff;--link:#6b2b80;--link-dk:#d79be8;--hi:#f0a54a;--bg:#f8f5f9;--alt:#eee7f1;--ink:#2a1233}
html[data-scheme="graphite"]{--accent:#f0b429;--on-accent:#1e1f24;--link:#7a5a00;--link-dk:#f0b429;--hi:#f0b429;--bg:#f6f6f4;--alt:#eaeae6;--ink:#1e1f24}

:root{--surface:#fff;--mut:#586377;--line:#d9dee7;--paper:#fff;--paper-ink:#1d1d1f;--red:#d1344b;--green:#1f8a4c;
	--font-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--font-head:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
	--btn-r:8px;--wrap:1120px}
html[data-heading="sans"]{--font-head:var(--font-body)}
html[data-btn="square"]{--btn-r:2px}
html[data-btn="pill"]{--btn-r:999px}

/* ---------- Dark mode ---------- */
html[data-mode="dark"]{--bg:#0f1626;--alt:#131c2f;--surface:#172034;--ink:#e8edf6;--mut:#a3afc4;--line:#2a3550;--link:var(--link-dk);color-scheme:dark}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--hi);outline-offset:2px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
html[data-heading="sans"] h1,html[data-heading="sans"] h2{letter-spacing:-.025em;font-weight:750}
p{margin:0 0 1em}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.cft-skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:10px 16px;z-index:1000;border-radius:6px}
.cft-skip:focus{left:8px}
.cft-wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.cft-narrow{max-width:62ch}
.cft-narrow-wrap{max-width:820px}

/* ---------- Buttons ---------- */
.cft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--btn-r);font:600 15px/1.2 var(--font-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.cft-btn-primary{background:var(--accent);color:var(--on-accent)}
.cft-btn-primary:hover{filter:brightness(1.08)}
.cft-btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.cft-btn-ghost:hover{background:var(--ink);color:var(--bg)}
.cft-btn-light{background:#fff;color:#14213d}
.cft-btn-light:hover{background:#e8edf6}
.cft-btn-lg{padding:14px 26px;font-size:16px}
.cft-btn-block{display:flex;width:100%}

/* ---------- Header ---------- */
.cft-announce{background:var(--ink);color:var(--bg);text-align:center;font-size:14px;padding:8px 0}
.cft-announce a{color:inherit}
.cft-header{background:var(--bg);border-bottom:1px solid var(--line);z-index:50}
.cft-header.is-sticky{position:sticky;top:0;backdrop-filter:saturate(1.4) blur(10px);background:color-mix(in srgb,var(--bg) 88%,transparent)}
.admin-bar .cft-header.is-sticky{top:32px}
@media(max-width:782px){.admin-bar .cft-header.is-sticky{top:46px}}
.cft-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.cft-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 20px/1 var(--font-head)}
.cft-brand .cft-mark{color:var(--ink)}
.cft-brand .custom-logo{max-height:40px;width:auto}
.cft-nav{display:flex;align-items:center;gap:28px}
.cft-menu{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.cft-menu a{display:block;padding:8px 12px;color:var(--ink);text-decoration:none;border-radius:6px;font-weight:500;font-size:15px}
.cft-menu a:hover{background:var(--alt)}
.cft-nav-tools{display:flex;align-items:center;gap:10px}
.cft-mode{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.cft-mode:hover{background:var(--alt)}
.cft-burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:transparent;cursor:pointer;position:relative}
.cft-burger-bars,.cft-burger-bars::before,.cft-burger-bars::after{position:absolute;left:11px;width:18px;height:2px;background:var(--ink);content:"";transition:transform .2s}
.cft-burger-bars{top:20px}.cft-burger-bars::before{top:-6px;left:0}.cft-burger-bars::after{top:6px;left:0}
.cft-burger[aria-expanded="true"] .cft-burger-bars{background:transparent}
.cft-burger[aria-expanded="true"] .cft-burger-bars::before{transform:translateY(6px) rotate(45deg)}
.cft-burger[aria-expanded="true"] .cft-burger-bars::after{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:860px){
	.cft-burger{display:block}
	.cft-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:12px;background:var(--bg);border-bottom:1px solid var(--line);padding:14px 24px 20px;display:none}
	.cft-nav.is-open{display:flex}
	.cft-menu{flex-direction:column}
	.cft-nav-tools{justify-content:space-between}
	.cft-header{position:relative}.cft-header.is-sticky{position:sticky}
}

/* ---------- Sections ---------- */
.cft-section{padding:84px 0}
.cft-alt{background:var(--alt)}
.cft-h2{font-size:clamp(28px,4vw,42px);max-width:22ch;margin-bottom:.7em}
.cft-lead{font-size:19px;color:var(--mut);max-width:58ch}
.cft-cap{font-size:14px;color:var(--mut);max-width:70ch;margin-top:20px}

/* ---------- Hero ---------- */
.cft-hero{padding:72px 0 88px;overflow:hidden}
.cft-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.cft-hero h1{font-size:clamp(36px,5.6vw,66px);max-width:15ch;margin-bottom:.4em}
.cft-hero .cft-lead{margin-bottom:28px}
.cft-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.cft-hero-note{font-size:14px;color:var(--mut);margin:0}
body.cft-hero-centered .cft-hero-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
body.cft-hero-centered .cft-hero h1{max-width:20ch}
body.cft-hero-centered .cft-hero-cta{justify-content:center}
body.cft-hero-centered .cft-demo{max-width:560px;width:100%}
@media(max-width:900px){.cft-hero-grid{grid-template-columns:1fr;gap:44px}.cft-hero{padding:48px 0 64px}}

/* Live demo: base styles ARE the final state; keyframes start from the "before" state. */
.cft-demo{margin:0;position:relative}
.cft-doc{position:relative;background:var(--paper);color:var(--paper-ink);border-radius:6px;padding:26px 28px 40px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 22px 50px -18px rgba(20,33,61,.35);font:15px/1.55 var(--font-head)}
.cft-doc p{margin:0 0 12px}
.cft-doc-head{display:flex;justify-content:space-between;align-items:center;font:600 12.5px/1 var(--font-body);color:#5b6677;border-bottom:1px solid #e3e7ee;padding-bottom:12px;margin-bottom:16px}
.cft-score{display:inline-grid;min-width:58px;height:26px;text-align:center}
.cft-score b{grid-area:1/1;border-radius:99px;padding:5px 12px;font-size:12.5px;line-height:1}
.cft-score .s1{background:#fde4e8;color:#a3142c;opacity:0;animation:cft-s1out .4s 4.4s backwards}
.cft-score .s2{background:#dff3e6;color:#176a39;animation:cft-s2in .4s 4.4s backwards}
.cft-edit{position:relative}
.cft-edit .old{display:block;color:inherit;background:linear-gradient(currentColor,currentColor) no-repeat 0 56%/100% 1.5px;opacity:.5;animation:cft-strike .6s 2s backwards}
.cft-edit .new{display:block;margin-top:4px;background:color-mix(in srgb,var(--hi) 35%,transparent);border-radius:3px;padding:2px 4px;margin-left:-4px;animation:cft-reveal .7s 3.2s backwards}
.cft-margin{position:absolute;right:-14px;bottom:-30px;max-width:270px;background:var(--ink);color:var(--bg);font:13px/1.45 var(--font-body);padding:12px 14px;border-radius:8px 8px 2px 8px;box-shadow:0 10px 26px -8px rgba(0,0,0,.4);display:grid;gap:3px;animation:cft-pop .5s 1s backwards}
.cft-margin strong{font-size:11.5px;letter-spacing:.02em;color:var(--hi)}
.cft-demo figcaption{font-size:13px;color:var(--mut);margin-top:46px;max-width:44ch}
@keyframes cft-strike{from{background-size:0 1.5px;opacity:1}}
@keyframes cft-reveal{from{opacity:0;transform:translateY(-4px);background-color:transparent}}
@keyframes cft-pop{from{opacity:0;transform:translateY(8px)}}
@keyframes cft-s1out{from{opacity:1}}
@keyframes cft-s2in{from{opacity:0}}
@media(max-width:560px){.cft-margin{position:static;margin-top:14px;max-width:none}.cft-demo figcaption{margin-top:14px}}

/* ---------- Steps ---------- */
.cft-steps{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s}
.cft-steps li{padding:22px 22px 0 0;border-top:3px solid var(--ink);position:relative}
.cft-steps li+li{padding-left:22px;border-left:0}
.cft-step-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--bg);font:700 14px var(--font-body);margin-bottom:12px}
.cft-steps h3{font-size:21px}
.cft-steps p{color:var(--mut);font-size:15.5px}
@media(max-width:980px){.cft-steps{grid-template-columns:1fr 1fr;gap:28px 24px}.cft-steps li,.cft-steps li+li{padding:20px 0 0}}
@media(max-width:560px){.cft-steps{grid-template-columns:1fr}}

/* ---------- Loop ---------- */
.cft-loop{background:var(--ink);color:var(--bg)}
html[data-mode="dark"] .cft-loop{background:var(--surface);color:var(--ink)}
.cft-loop .cft-h2,.cft-loop h2{color:inherit}
.cft-loop .cft-lead{color:color-mix(in srgb,currentColor 78%,transparent)}
.cft-loop-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.cft-checks{list-style:none;padding:0;margin:26px 0 0}
.cft-checks li{padding:12px 0;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.cft-rounds{list-style:none;margin:0;padding:0;border-left:2px solid color-mix(in srgb,currentColor 30%,transparent)}
.cft-rounds li{position:relative;padding:10px 0 10px 24px;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center}
.cft-rounds li::before{content:"";position:absolute;left:-7px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid currentColor}
html[data-mode="dark"] .cft-rounds li::before{background:var(--surface)}
.who{font:700 12px/1 var(--font-body);padding:4px 8px;border-radius:4px}
.who.d{background:var(--hi);color:#1b1b1b}.who.r{background:#fff;color:#14213d}
.what{font-weight:600}
.bar{grid-column:1/-1;display:flex;align-items:center;gap:10px}
.bar i{display:block;height:8px;width:var(--w);background:linear-gradient(90deg,var(--accent),var(--hi));border-radius:99px;max-width:calc(100% - 44px)}
.bar b{font:700 14px var(--font-body)}
.note{grid-column:1/-1;font-size:14px;color:color-mix(in srgb,currentColor 70%,transparent)}
.cft-loop .cft-cap{color:color-mix(in srgb,currentColor 65%,transparent)}
@media(max-width:900px){.cft-loop-grid{grid-template-columns:1fr;gap:40px}}

/* ---------- Features ledger ---------- */
.cft-ledger{margin-top:30px;border-bottom:1px solid var(--line)}
.cft-ledger-row{display:grid;grid-template-columns:minmax(200px,.8fr) 2fr;gap:12px 40px;padding:26px 0;border-top:1px solid var(--line)}
.cft-ledger-row h3{font-size:22px;margin:0}
.cft-ledger-row ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.cft-ledger-row li{padding-left:22px;position:relative}
.cft-ledger-row li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--accent)}
.cft-tag{display:inline-block;font:700 11px/1 var(--font-body);background:var(--hi);color:#1b1b1b;padding:3px 6px;border-radius:4px;vertical-align:1px;margin-right:2px}
@media(max-width:760px){.cft-ledger-row{grid-template-columns:1fr}}

/* ---------- Template thumbnails ---------- */
.cft-tpls{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:34px}
.cft-tpl{margin:0}
.cft-page{aspect-ratio:3/4;background:#fff;border-radius:3px;padding:14% 12%;box-shadow:0 14px 30px -14px rgba(20,33,61,.35);display:flex;flex-direction:column;gap:4.5%;border:1px solid rgba(0,0,0,.06)}
.cft-page i{display:block;background:#c9cfd9;border-radius:1px;height:3.2%}
.cft-page .n{height:6%;width:50%;background:#1d1d1f;align-self:center}
.cft-page .h{width:34%;align-self:center;height:2.6%}
.cft-page .r{height:1px;background:#1d1d1f}
.cft-page .s{width:26%;height:3.6%;background:#1d1d1f;margin-top:3%}
.cft-page .l{width:100%}.cft-page .l.w{width:78%}
.cft-tpl-modern .n{background:#0f5c7a;align-self:flex-start;width:56%}
.cft-tpl-modern .h{align-self:flex-start}
.cft-tpl-modern .r{background:#0f5c7a;height:2px}
.cft-tpl-modern .s{background:#0f5c7a}
.cft-tpl-compact .cft-page{padding:9% 8%;gap:2.6%}
.cft-tpl-compact .s{width:20%;margin-top:1.5%}
.cft-tpl-elegant .n{background:#3b3b3b;width:40%}
.cft-tpl-elegant .r{background:#aaa}
.cft-tpl-elegant .s{background:#555;width:22%;height:2.6%}
.cft-tpl figcaption{margin-top:14px;display:grid;gap:2px;font-size:14.5px}
.cft-tpl figcaption span{color:var(--mut)}
.cft-tpl figcaption em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--link)}
@media(max-width:900px){.cft-tpls{grid-template-columns:1fr 1fr}}

/* ---------- Compare table ---------- */
.cft-table-wrap{overflow-x:auto;margin-top:30px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.cft-table{width:100%;border-collapse:collapse;min-width:560px;font-size:16px}
.cft-table th,.cft-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.cft-table thead th{font:700 15px var(--font-body);background:var(--alt)}
.cft-table tbody th{font-weight:500}
.cft-table tr:last-child th,.cft-table tr:last-child td{border-bottom:0}
.cft-table .pro{background:color-mix(in srgb,var(--accent) 9%,transparent);font-weight:600}
.cft-table thead .pro{background:var(--accent);color:var(--on-accent)}
.cft-yes{color:var(--green);font-weight:800;font-size:18px}
.cft-no{color:var(--mut);font-size:18px}
html[data-mode="dark"] .cft-yes{color:#5fd391}

/* ---------- Plans ---------- */
.cft-plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin-top:30px}
.cft-plan{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column}
.cft-plan h3{font-size:22px}
.cft-price{font:700 46px/1 var(--font-head);margin:0 0 6px}
.cft-price-note{color:var(--mut);font-size:14px;margin:0 0 4px}
.cft-plan ul{list-style:none;padding:0;margin:18px 0 26px;display:grid;gap:10px;flex:1}
.cft-plan li{padding-left:24px;position:relative;font-size:15.5px}
.cft-plan li::before{content:"";position:absolute;left:2px;top:.45em;width:6px;height:11px;border:solid var(--accent);border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.cft-plan-pro{background:var(--ink);color:var(--bg);border-color:var(--ink)}
html[data-mode="dark"] .cft-plan-pro{background:#1d2a47;border-color:var(--accent)}
.cft-plan-pro h3{color:inherit}
.cft-plan-pro .cft-price-note{color:color-mix(in srgb,currentColor 70%,transparent)}
.cft-plan-pro li::before{border-color:var(--hi)}
@media(max-width:760px){.cft-plans{grid-template-columns:1fr}}

/* ---------- Privacy trio ---------- */
.cft-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px}
.cft-trio>div{padding:4px 28px 4px 0}
.cft-trio>div+div{padding-left:28px;border-left:1px solid var(--line)}
.cft-trio h3{font-size:20px}.cft-trio p{color:var(--mut)}
@media(max-width:860px){.cft-trio{grid-template-columns:1fr;gap:22px}.cft-trio>div,.cft-trio>div+div{padding:0;border:0}}

/* ---------- FAQ ---------- */
.cft-faq details{border-bottom:1px solid var(--line);padding:4px 0}
.cft-faq details:first-child{border-top:1px solid var(--line)}
.cft-faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font:600 18px/1.35 var(--font-body);position:relative}
.cft-faq summary::-webkit-details-marker{display:none}
.cft-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:26px;font-weight:400;color:var(--accent);transition:transform .2s}
.cft-faq details[open] summary::after{transform:rotate(45deg)}
.cft-faq p{color:var(--mut);margin:0 0 18px;max-width:68ch}

/* ---------- Final CTA ---------- */
.cft-final{background:var(--ink);color:var(--bg);text-align:center;padding:96px 0}
html[data-mode="dark"] .cft-final{background:var(--surface);color:var(--ink)}
.cft-final h2{font-size:clamp(28px,4.4vw,46px);max-width:20ch;margin:0 auto 28px;color:inherit}
.cft-final .cft-hero-cta{justify-content:center}

/* ---------- Footer ---------- */
.cft-footer{background:#0d1526;color:#c8d1e0;padding:56px 0 24px;font-size:15px}
.cft-footer a{color:#e8edf6}
.cft-foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:32px}
.cft-foot-about .cft-brand{color:#fff}.cft-foot-about .cft-brand .cft-mark{color:#fff}
.cft-foot-about p{max-width:36ch;margin-top:14px;color:#a3afc4}
.cft-foot-col h2{font:700 13px var(--font-body);color:#fff;margin:0 0 12px;letter-spacing:.02em}
.cft-foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cft-foot-col a{text-decoration:none}.cft-foot-col a:hover{text-decoration:underline}
.cft-legal{margin-top:40px;padding-top:18px;border-top:1px solid #243049;font-size:13.5px;color:#8996ad}
@media(max-width:800px){.cft-foot-grid{grid-template-columns:1fr 1fr}.cft-foot-about{grid-column:1/-1}}

/* ---------- Inner pages ---------- */
.cft-page-wrap{padding-top:56px;padding-bottom:84px}
.cft-page-title{font-size:clamp(30px,4.6vw,48px);max-width:20ch}
.cft-article,.cft-posts{max-width:760px}
.cft-prose{font-size:18px;line-height:1.7}
.cft-prose h2{font-size:28px;margin-top:1.8em}.cft-prose h3{font-size:22px;margin-top:1.5em}
.cft-prose pre,.cft-prose code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em}
.cft-prose pre{background:var(--alt);padding:16px;border-radius:8px;overflow:auto}
.cft-prose table{border-collapse:collapse;width:100%}.cft-prose th,.cft-prose td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.cft-meta{color:var(--mut);font-size:14px}
.cft-post-card{padding:26px 0;border-bottom:1px solid var(--line)}
.cft-post-card h2{font-size:26px;margin-bottom:.2em}.cft-post-card h2 a{color:var(--ink);text-decoration:none}
.cft-hero-img{border-radius:10px;margin:20px 0}
.cft-404 .cft-lead{margin-bottom:24px}
.nav-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
input[type="search"],input[type="text"],input[type="email"],textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);max-width:100%}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.cft-header,.cft-footer,.cft-announce{display:none}body{background:#fff;color:#000}}
