/*
Theme Name: ExitGuide.com.au
Theme URI: https://exitguide.com.au
Author: ExitGuide.com.au
Description: Custom theme for ExitGuide.com.au — an independent education + adviser-directory platform for Australian business owners planning their exit. Includes Guides (pillar/cluster articles), Listings (brokers/valuers/advisers), an interactive readiness quiz, and JSON-LD SEO.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: exitready
*/

/* ============ TOKENS ============ */
:root{
  --ground:#F4EFE6; --surface:#FFFFFF; --paper:#FBF8F1; --paper2:#FCFAF4;
  --evergreen:#123B33; --evergreen-mid:#1C5247; --footer:#0E2E27;
  --ink:#20251F; --body:#3C4138; --body-soft:#5C6157; --muted:#8A8F84; --muted2:#9A9486;
  --accent:#C56A3E; --accent-tint:#FBF1E9; --gold:#E9C39B; --verified:#1C6B4A;
  --line:#EFE7D8; --line2:#E6DECD; --line3:#E2D9C8; --line4:#DFD6C5;
  --serif:'Newsreader',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif;
  --maxw:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}

/* ============ TYPE ============ */
.eyebrow{font:700 12px var(--sans);letter-spacing:1.9px;text-transform:uppercase;color:var(--accent)}
.h1{font:500 46px/1.06 var(--serif);letter-spacing:-.9px;color:var(--evergreen);text-wrap:balance}
.h2{font:500 36px/1.1 var(--serif);letter-spacing:-.5px;color:var(--evergreen)}
.h3{font:600 22px/1.28 var(--serif);color:var(--evergreen)}
.dek{font:400 20px/1.5 var(--serif);font-style:italic;color:var(--body-soft)}
.lede{font:400 18px/1.62 var(--sans);color:var(--body-soft)}
.label{font:600 12px var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted2)}
.meta{font:500 14px var(--sans);color:var(--muted)}

/* ============ BUTTONS ============ */
.btn{display:inline-block;font:600 15px var(--sans);padding:13px 22px;border-radius:11px;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-align:center}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 22px -10px rgba(197,106,62,.5)}
.btn-primary:hover{background:#b85f34}
.btn-outline{background:#fff;color:var(--accent);border:1.5px solid var(--accent)}
.btn-dark{background:var(--evergreen);color:#fff}
.btn-ghost{background:transparent;color:var(--evergreen);border:1.5px solid var(--line3)}
.btn-sm{font-size:14px;padding:10px 18px}

/* ============ HEADER / NAV ============ */
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,239,230,.9);backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid var(--line2)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:15px;padding-bottom:15px}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:32px;height:32px;border-radius:50%;background:var(--evergreen);display:flex;align-items:center;justify-content:center;color:var(--gold);font:600 16px var(--serif)}
.brand-name{font:600 21px var(--serif);letter-spacing:-.3px;color:var(--evergreen)}
.brand-name .tld{color:var(--accent)}
.nav-links{display:flex;gap:27px;font:500 15px var(--sans);color:var(--body)}
.nav-links a.current,.nav-links a:hover{color:var(--evergreen);font-weight:600}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-phone{font:600 15px var(--sans);color:var(--evergreen);letter-spacing:.2px;white-space:nowrap}
.nav-toggle{display:none}

/* ============ FOOTER ============ */
.site-footer{background:var(--footer);color:#9DACA1}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:60px 32px 40px;max-width:var(--maxw);margin:0 auto}
.site-footer h4{font:600 13px var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--ground);margin-bottom:16px}
.site-footer .fcol a,.site-footer .fcol span{display:block;font:400 15px var(--sans);color:#9DACA1;margin-bottom:11px}
.site-footer .fcol a:hover{color:#fff}
.site-footer .blurb{max-width:280px;font:400 14.5px/1.6 var(--sans);color:#8F9E93}
.site-footer .bar{border-top:1px solid rgba(255,255,255,.08)}
.site-footer .bar .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:20px;padding-bottom:20px;font:400 13px var(--sans);color:#7B8A80}

/* ============ CARDS / CHIPS / BADGES ============ */
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px}
.chip{font:500 14px var(--sans);color:var(--body-soft);border:1px solid var(--line3);border-radius:999px;padding:7px 15px;background:var(--paper)}
.chip-sm{font-size:12.5px;padding:5px 11px}
.badge-verified{display:inline-flex;align-items:center;gap:4px;font:600 12px var(--sans);color:var(--verified);background:rgba(28,107,74,.1);border-radius:999px;padding:4px 11px}
.badge-accred{display:inline-flex;align-items:center;gap:4px;font:600 11px var(--sans);color:var(--evergreen);background:rgba(18,59,51,.08);border-radius:999px;padding:3px 9px}
.stars{font:600 15px var(--sans);color:var(--accent);letter-spacing:1px}
.sec{padding:80px 0}
.dark-band{background:var(--evergreen);color:#EAF0E8}
.dark-band .h2{color:var(--ground)}

/* ============ HERO / HOMEPAGE ============ */
.hero{position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(880px 520px at 80% 14%,#E8EDE0 0%,rgba(232,237,224,0) 62%)}
.hero .grid{position:relative;display:grid;grid-template-columns:1.06fr .92fr;gap:58px;align-items:center;padding:74px 0 84px}
.checklist{display:flex;flex-direction:column;gap:13px}
.checklist .row{display:flex;align-items:center;gap:12px;font:500 16px var(--sans);color:var(--body)}
.check{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:rgba(197,106,62,.13);color:var(--accent);display:flex;align-items:center;justify-content:center;font:700 13px var(--sans)}
.form-card{background:#fff;border:1px solid #EFE7D8;border-radius:20px;padding:32px;box-shadow:0 30px 70px -28px rgba(18,59,51,.32)}
.field{border:1px solid var(--line4);border-radius:11px;padding:13px 15px;font:400 15px var(--sans);background:var(--paper);width:100%;margin-bottom:15px;color:var(--ink)}
.field::placeholder{color:#ABA597}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.num{width:34px;height:34px;border-radius:50%;background:var(--evergreen);color:#fff;display:flex;align-items:center;justify-content:center;font:500 17px var(--serif)}
.media{display:flex;align-items:center;justify-content:center;font:11px ui-monospace,monospace;color:#8A9279;background:linear-gradient(135deg,#E9EFE2,#D6DEC8);border-radius:12px}
.media.illus{background:linear-gradient(135deg,#F0E3D3,#E6CDB4);color:#B08560}

/* roadmap node row */
.roadmap{position:relative;max-width:880px;margin:0 auto}
.roadmap .line{position:absolute;top:25px;left:7%;right:7%;height:2px;background:rgba(234,240,232,.22)}
.roadmap .nodes{position:relative;display:flex;justify-content:space-between}
.node{display:flex;flex-direction:column;align-items:center;gap:13px;width:92px}
.node .dot{width:52px;height:52px;border-radius:50%;background:var(--evergreen);border:2px solid rgba(234,240,232,.4);color:#F4EFE6;display:flex;align-items:center;justify-content:center;font:500 20px var(--serif)}
.node.active .dot{border-color:var(--accent)}
.node .lbl{font:600 13.5px var(--sans);color:#D6E0D5}

/* sticky cta */
#sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(252,250,244,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line2);box-shadow:0 -10px 30px -14px rgba(18,59,51,.3);transform:translateY(110%);transition:transform .35s ease}
#sticky-cta.show{transform:none}
#sticky-cta .container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:13px;padding-bottom:13px}

/* ============ ARTICLE ============ */
#readbar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:60}
.article-grid{display:grid;grid-template-columns:1fr 240px;gap:56px;align-items:start;max-width:1080px;margin:0 auto;padding:40px 32px 70px}
.article{max-width:680px}
.article-head{max-width:760px;margin:0 auto;padding:44px 32px 0}
.prose p{font:400 18px/1.72 var(--sans);color:var(--body);margin:0 0 22px}
.prose h2{font:500 30px var(--serif);letter-spacing:-.4px;color:var(--evergreen);margin:44px 0 14px;scroll-margin-top:96px}
.prose h3{font:500 25px var(--serif);color:var(--evergreen);margin:32px 0 12px}
.prose a{color:var(--accent);font-weight:600;border-bottom:1px solid rgba(197,106,62,.35)}
.prose ul,.prose ol{font:400 18px/1.72 var(--sans);color:var(--body);padding-left:1.2em;margin:0 0 22px}
.prose blockquote{background:var(--evergreen);color:#EAF0E8;border-radius:14px;padding:24px 26px;margin:26px 0;font:500 19px/1.5 var(--serif);font-style:italic}
.takeaways{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:26px 28px;margin-bottom:40px}
.takeaways .row{display:flex;gap:11px;margin-bottom:12px;font:400 16px/1.55 var(--sans);color:var(--body)}
.takeaways .row b{color:var(--ink)}
.sources{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin:38px 0 0}
.sources a{display:block;font:500 15.5px var(--sans);color:var(--evergreen);padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--line2)}
.sources a:last-child{border:0;padding:0;margin:0}
.disclaimer{font:400 13.5px/1.6 var(--sans);color:var(--muted2);font-style:italic;margin-top:30px}
.toc{position:sticky;top:104px}
.toc .links{display:flex;flex-direction:column;gap:9px;border-left:2px solid var(--line2);padding-left:16px}
.toc .links a{font:500 14px/1.35 var(--sans);color:var(--body-soft)}
.toc .links a:hover{color:var(--accent)}
.inline-cta{background:var(--accent-tint);border:1px solid #F0D9C7;border-radius:16px;padding:26px 28px;margin:34px 0;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.byline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid var(--line2)}

/* ============ GUIDES HUB ============ */
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.guide-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.guide-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px -24px rgba(18,59,51,.4)}
.guide-card .thumb{height:160px}
.guide-card .body{padding:22px}
.guide-card .cat{font:700 11px var(--sans);letter-spacing:1.3px;text-transform:uppercase;color:var(--accent);margin-bottom:11px}
.filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.pill{background:#fff;color:var(--body);border:1px solid var(--line3);font:600 14px var(--sans);padding:10px 17px;border-radius:999px;cursor:pointer}
.pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ============ DIRECTORY ============ */
.dir-grid{display:grid;grid-template-columns:248px 1fr;gap:40px;align-items:start}
.dir-side{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;position:sticky;top:96px}
.listing{display:flex;gap:22px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.listing .photo{width:104px;height:104px;border-radius:14px;flex-shrink:0}
.search-bar{display:flex;gap:12px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line3);border-radius:14px;padding:12px}

/* ============ PROFILE ============ */
.profile-grid{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start}
.profile-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
.stage-strip{display:flex;gap:8px;flex-wrap:wrap}
.stage{flex:1;min-width:90px;text-align:center;border:1.5px solid var(--line3);border-radius:11px;padding:13px 6px;opacity:.5}
.stage .n{font:500 16px var(--serif);color:var(--evergreen)}
.stage .s{font:600 12px var(--sans);color:var(--body-soft);margin-top:4px}
.stage.on{border-color:var(--accent);background:var(--accent-tint);opacity:1}
.stage.on .n{color:var(--accent)}
.stage.on .s{color:var(--evergreen)}
.accred{display:flex;align-items:center;gap:11px;border:1px solid var(--line3);border-radius:11px;padding:11px 15px;background:var(--paper)}
.accred .logo{flex-shrink:0;width:48px;height:48px;background:#fff;border:1px solid var(--line3);border-radius:8px;display:flex;align-items:center;justify-content:center;font:600 11px var(--sans);color:var(--muted)}
.glance .row{display:flex;justify-content:space-between;margin-bottom:13px}
.review{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--paper)}

/* ============ QUIZ ============ */
.quiz-wrap{max-width:660px;margin:0 auto;padding:52px 24px}
.quiz-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:0 24px 56px -30px rgba(18,59,51,.28)}
.progress{height:6px;background:var(--line2);border-radius:99px;overflow:hidden;margin-bottom:34px}
.progress .fill{height:100%;background:var(--accent);border-radius:99px;transition:width .35s ease}
.option{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1.5px solid #E6DDCC;border-radius:13px;cursor:pointer;font:500 16.5px var(--sans);color:#2C312A}
.option .ring{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:2px solid #C3BBA8}
.option.sel{background:var(--accent-tint);border-color:var(--accent)}
.option.sel .ring{border-color:var(--accent);background:var(--accent)}
.dial{flex-shrink:0;width:122px;height:122px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.dial .inner{width:92px;height:92px;border-radius:50%;background:var(--evergreen);display:flex;flex-direction:column;align-items:center;justify-content:center}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .hero .grid,.article-grid,.dir-grid,.profile-grid,.steps,.guide-grid{grid-template-columns:1fr;gap:28px}
  .toc,.profile-side,.dir-side{position:static}
  .nav-links,.nav-phone{display:none}
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .h1{font-size:36px}.h2{font-size:28px}
  .roadmap .nodes{flex-wrap:wrap;gap:18px;justify-content:center}.roadmap .line{display:none}
}
@media(max-width:560px){.container{padding:0 20px}.site-footer .cols{grid-template-columns:1fr}}
