/* AHK "Margin Ledger" theme. See /DESIGN.md. Loaded after styles.css on every page. */
:root{
  --paper:#f4f1e8;--paper-2:#fbf9f3;--ink:#0c0e13;--lime:#c9f31d;--on-lime:#0c0e13;
  --bg-primary:#f4f1e8;--bg-secondary:#fbf9f3;--bg-tertiary:#fbf9f3;
  --bg-overlay:rgba(244,241,232,.94);--bg-overlay-strong:rgba(244,241,232,.97);
  --text-primary:#0c0e13;--text-secondary:#4b4f5a;--text-tertiary:#565a66;--text-muted:#565a66;
  --text-on-accent:#f4f1e8;
  --accent:#0c0e13;--accent-hover:#2a2e3a;--accent-violet:#0c0e13;--accent-gradient:#0c0e13;
  --accent-solid:#c9f31d;--accent-solid-hover:#b6df10;--on-solid:#0c0e13;
  --accent-a05:rgba(12,14,19,.04);--accent-a10:rgba(12,14,19,.07);--accent-a15:rgba(12,14,19,.1);--accent-a20:rgba(12,14,19,.14);--accent-a30:rgba(12,14,19,.2);--accent-a40:rgba(12,14,19,.28);--accent-a50:rgba(12,14,19,.36);--accent-violet-a10:rgba(12,14,19,.07);
  --border:#d8d3c4;--rule-strong:#0c0e13;
  --shadow:transparent;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--shadow-xl:none;--shadow-accent:none;--shadow-accent-sm:none;--shadow-accent-md:none;--shadow-accent-lg:none;
  --icon-bg:#c9f31d;--icon-color:#0c0e13;
  --font-body:Archivo,system-ui,sans-serif;--font-display:Archivo,system-ui,sans-serif;
  --radius-xs:0;--radius-sm:0;--radius-md:0;--radius-lg:0;
  --margin:208px;--gap:40px
}
body.ahk .theme-toggle,body.ahk [data-theme-toggle]{display:none!important}

/* ---------- base ---------- */
body.ahk{font-family:var(--font-body);font-size:17px;background:var(--bg-primary);color:var(--text-primary)}
body.ahk main{background:var(--bg-primary)}
body.ahk h1,body.ahk h2,body.ahk h3,body.ahk h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--text-primary)}
body.ahk h3,body.ahk h4{letter-spacing:-.02em;line-height:1.2;font-weight:600}
body.ahk p,body.ahk li{color:var(--text-secondary)}
body.ahk strong{color:var(--text-primary);font-weight:600}
body.ahk a{transition:color .12s ease-out,background-color .12s ease-out,border-color .12s ease-out}
body.ahk *,body.ahk *::before,body.ahk *::after{box-shadow:none!important;text-shadow:none!important}
/* legacy scroll-reveal is retired: content is visible by default, motion.js (Anime.js) drives entrances */
body.ahk :is(.section-title,.section-subtitle,.service-item,.problem-item,.client-logo,.flywheel-item,.edge-item,.work-item,.founder-panel,.faq-item,.pricing-strip-item){opacity:1;transform:none;transition:none}
html.motion body.ahk .hero-content > *{opacity:0}
body.ahk .scroll-progress{background:var(--accent-solid)}
@media(prefers-reduced-motion:reduce){body.ahk *{transition:none!important;animation:none!important}}

/* ---------- buttons and links ---------- */
body.ahk .btn-primary,body.ahk .btn-secondary,body.ahk .btn-nav,body.ahk .footer-cta-link{border-radius:0;font-weight:600;letter-spacing:-.005em;transform:none}
body.ahk .btn-primary,body.ahk .footer-cta-link,body.ahk .btn-nav,body.ahk .mobile-btn-nav{background:var(--ink);color:var(--paper);border:2px solid var(--ink)}
body.ahk .btn-primary:hover,body.ahk .footer-cta-link:hover,body.ahk .btn-nav:hover{background:var(--lime);border-color:var(--ink);color:var(--ink);transform:none}
body.ahk .btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--rule-strong)}
body.ahk .btn-secondary:hover{background:var(--rule-strong);color:var(--bg-primary);transform:none}
body.ahk .service-link,body.ahk .pricing-band-cta,body.ahk .inline-text-link,body.ahk .work-link{color:var(--text-primary);font-weight:600;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:4px;text-underline-offset:5px}
body.ahk .service-link:hover,body.ahk .pricing-band-cta:hover,body.ahk .inline-text-link:hover,body.ahk .work-link:hover{background:var(--lime);color:var(--ink)}
body.ahk .ahk-sticky-book,body.ahk .lp-sticky-cta{background:var(--ink)}
body.ahk .ahk-sticky-book-btn,body.ahk .lp-sticky-cta a,body.ahk .lp-sticky-cta .btn-primary{color:var(--lime);background:transparent;border:0}

/* ---------- section scaffold: text column + working margin ---------- */
body.ahk :is(.services,.problem,.solution,.pricing-band,.resources-band,.clients,.founder,.faq-section,.edge-band,.work-band){padding:88px 0;border-top:1px solid var(--border);background:transparent}
body.ahk .section-header{text-align:left;max-width:none;margin:0 0 48px}
body.ahk .section-title{font-size:clamp(32px,4.6vw,54px);line-height:1;max-width:18ch;margin-bottom:20px}
body.ahk .section-subtitle{max-width:58ch;color:var(--text-secondary);font-size:19px;line-height:1.6;margin:0}
body.ahk :is(.services,.problem,.solution,.pricing-band,.resources-band,.clients,.founder,.faq-section,.edge-band,.work-band) > .container{position:relative}

/* stamps: the signature. Only on sections where the claim is true. */
body.ahk .stamp,body.ahk :is(.pricing-band,.resources-band,.faq-section,.founder,.edge-band,.work-band,.clients) > .container::before{
  display:inline-block;font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;line-height:1;
  color:var(--ink);border:2px solid var(--ink);padding:7px 10px;transform:rotate(-2deg) scale(calc(1 + (1 - var(--stamp,1)) * .6));opacity:var(--stamp-o,1);transform-origin:left top;background:var(--lime);white-space:nowrap}
body.ahk .pricing-band > .container::before{content:"Priced openly"}
body.ahk .resources-band > .container::before{content:"Free"}
body.ahk .faq-section > .container::before{content:"Answered"}
body.ahk .founder > .container::before{content:"Direct line"}
body.ahk .edge-band > .container::before{content:"Tracked"}
body.ahk .work-band > .container::before{content:"Booked"}
body.ahk .clients > .container::before{content:"On the books"}
@media(min-width:1024px){
  body.ahk :is(.services,.problem,.solution,.pricing-band,.resources-band,.clients,.founder,.faq-section,.edge-band,.work-band) > .container{padding-left:calc(var(--container-pad-x) + var(--margin) + var(--gap))}
  body.ahk :is(.pricing-band,.resources-band,.faq-section,.founder,.edge-band,.work-band,.clients) > .container::before{position:absolute;left:var(--container-pad-x);top:8px}
  body.ahk .margin-note{position:absolute;left:var(--container-pad-x);top:72px;width:var(--margin);font-size:14px;line-height:1.5;color:var(--text-secondary)}
}
@media(max-width:1023px){
  body.ahk :is(.pricing-band,.resources-band,.faq-section,.founder,.edge-band,.work-band,.clients) > .container::before{margin-bottom:24px}
  body.ahk .margin-note{display:block;margin-bottom:16px;font-size:14px}
}

/* ---------- ledger rows instead of boxes ---------- */
body.ahk :is(.services-grid,.problem-grid,.flywheel-grid,.pricing-strip,.edge-grid,.work-grid,.services-grid-3cols){gap:0;border-top:0;background:transparent;border-radius:0;max-width:none}
body.ahk :is(.services-grid,.problem-grid,.flywheel-grid,.pricing-strip,.edge-grid,.work-grid,.services-grid-3cols,.resources-list,.faq-list,.clients-grid)::before{content:"";display:block;grid-column:1/-1;height:1px;background:var(--rule-strong);transform:scaleX(var(--draw,1));transform-origin:left}
body.ahk :is(.service-item,.problem-item,.flywheel-item,.pricing-strip-item,.edge-item,.work-item){background:transparent;border:0;border-radius:0;padding:28px 28px 32px 0;min-width:0}
body.ahk :is(.service-item,.problem-item,.flywheel-item,.pricing-strip-item,.edge-item,.work-item)+:is(.service-item,.problem-item,.flywheel-item,.pricing-strip-item,.edge-item,.work-item){padding-left:28px;border-left:1px solid var(--border)}
body.ahk :is(.service-item,.problem-item,.flywheel-item):hover{background:transparent;transform:none}
body.ahk .service-mark,body.ahk .problem-icon,body.ahk .solution-closing-icon,body.ahk .flywheel-arrow{display:none}
body.ahk .service-title,body.ahk .problem-title{font-size:24px;letter-spacing:-.02em;line-height:1.15;font-weight:800;color:var(--text-primary)}
body.ahk .service-description,body.ahk .problem-text{font-size:16px;color:var(--text-secondary)}
body.ahk .platform-pill{background:transparent;border:1px solid var(--border);border-radius:0;color:var(--text-primary)}
body.ahk .flywheel-number{background:var(--lime);color:var(--ink);border-radius:0;width:36px;height:36px;display:grid;place-items:center;font-weight:800}
body.ahk .flywheel-item,body.ahk .flywheel-item .service-title{text-align:left;align-items:flex-start}
body.ahk .solution-closing{margin-top:40px}
body.ahk .solution-closing-content{background:var(--ink);border:0;border-radius:0;padding:28px 32px;max-width:66ch}
body.ahk .solution-closing-content p{color:var(--paper);font-size:19px}
body.ahk .solution-closing-content strong{color:var(--lime)}

/* pricing */
body.ahk .pricing-item-label{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--text-secondary)}
body.ahk .pricing-item-price{font-family:var(--font-display);font-weight:800;font-size:clamp(44px,5.4vw,72px);letter-spacing:-.045em;line-height:1;color:var(--text-primary)}
body.ahk .pricing-item-price span{display:block;font-size:14px;font-weight:400;letter-spacing:0;margin-top:8px;color:var(--text-secondary)}
body.ahk .pricing-band-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px;text-align:left}
body.ahk .pricing-disclaimer{font-size:14px;color:var(--text-secondary)}

/* resources, faq, clients, founder */
body.ahk .resources-list{max-width:none}
body.ahk .resources-list-item{background:transparent;border-bottom:1px solid var(--border);border-radius:0}
body.ahk .resources-list-item:hover{background:var(--lime)}
body.ahk .resources-list-item:hover *{color:var(--ink)}
body.ahk .resources-list-eyebrow{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--text-secondary)}
body.ahk .faq-list{max-width:none}
body.ahk .faq-item{background:transparent;border-radius:0}
body.ahk .faq-item-q{font-size:21px;letter-spacing:-.01em}
body.ahk .clients-grid{max-width:none;gap:0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-left:1px solid var(--border)}
body.ahk .client-logo{background:transparent;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;min-height:100px;font-weight:600}
body.ahk .client-logo img{filter:brightness(0) opacity(.72)}
body.ahk .founder-panel{max-width:none;margin:0;background:transparent;border:0;border-top:1px solid var(--rule-strong);border-radius:0;padding:32px 0 0}
body.ahk .founder-photo{border-radius:0;border:0}
body.ahk .founder-role{font-size:14px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}

/* ---------- inner-page heroes: headline in the column, eyebrow in the margin ---------- */
body.ahk .hero{min-height:0;padding:128px 0 72px;display:block;background:var(--bg-primary);overflow:visible}
body.ahk .hero .hero-gradient{display:none}
body.ahk .hero .container{max-width:var(--container-max)}
body.ahk .hero-content{margin:0;max-width:none;text-align:left}
body.ahk .hero-headline{font-size:clamp(38px,6vw,84px);line-height:1;letter-spacing:-.04em;font-weight:800;min-height:0;margin-bottom:28px;max-width:16ch;color:var(--text-primary)}
body.ahk .hero-headline .highlight{background:linear-gradient(transparent 10%,var(--lime) 10%,var(--lime) 90%,transparent 90%);-webkit-text-fill-color:currentColor;color:var(--ink);padding:0 .1em;margin:0 -.05em;text-decoration:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}
body.ahk .hero-headline .highlight.underline{text-decoration:none}
body.ahk .hero-headline .highlight.underline::after{display:none}
body.ahk .hero-description{font-family:var(--font-body);font-size:20px;line-height:1.55;color:var(--text-secondary);min-height:0;max-width:56ch;margin-bottom:36px}
body.ahk .hero-tagline{font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.4;color:var(--text-primary);margin:0}
@media(min-width:1024px){
  body.ahk .hero-content{display:grid;grid-template-columns:var(--margin) minmax(0,1fr);column-gap:var(--gap);align-items:start}
  body.ahk .hero-content > *{grid-column:2}
  body.ahk .hero-content > .hero-tagline{grid-column:1;grid-row:1;padding-top:14px;border-top:3px solid var(--ink);margin-top:12px;max-width:var(--margin)}
  body.ahk .hero-content > .hero-headline{grid-row:1}
}
@media(max-width:1023px){body.ahk .hero-tagline{margin-top:20px;order:9}}
body.ahk.lp-page .hero{padding:72px 0 56px}
body.ahk.industry-page .hero{padding:112px 0 56px}
@media(max-width:768px){body.ahk .hero{padding:96px 0 48px}body.ahk.lp-page .hero{padding:48px 0 40px}body.ahk .hero-description{font-size:18px}}
body.ahk nav.breadcrumbs{padding-left:var(--container-pad-x);padding-right:var(--container-pad-x)}

/* ---------- case studies (results page) ---------- */
body.ahk .case-study{background:transparent;border:0;border-top:1px solid var(--rule-strong);border-radius:0;padding:32px 0 36px;position:relative;cursor:default}
body.ahk .case-study-logo{border-radius:0;border:1px solid var(--border);background:transparent}
body.ahk .case-study-toggle{border-radius:0;border:1px solid var(--rule-strong);background:transparent;color:var(--text-primary)}
body.ahk .case-study-toggle:hover{background:var(--rule-strong);color:var(--bg-primary)}
body.ahk .case-study-title{font-size:clamp(30px,4vw,48px);letter-spacing:-.03em;font-weight:800}
body.ahk .case-study-subtitle{font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--text-secondary);text-transform:none}
body.ahk .case-studies-container{max-width:none;gap:0}
body.ahk #lucas-collective::before,body.ahk #terrain-tamer::before,body.ahk #sole-motive::before{position:absolute;right:0;top:32px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--lime);border:2px solid var(--ink);padding:7px 10px;transform:rotate(2deg) scale(calc(1 + (1 - var(--stamp,1)) * .6));opacity:var(--stamp-o,1)}
body.ahk #lucas-collective::before{content:"Booking-tracked"}
body.ahk #terrain-tamer::before{content:"Search-led"}
body.ahk #sole-motive::before{content:"20x ROAS"}

/* ---------- forms and closing call to action ---------- */
body.ahk .form-panel{background:transparent;border:0;border-top:1px solid var(--rule-strong);border-radius:0;padding:28px 0 0}
body.ahk input[type=text],body.ahk input[type=email],body.ahk input[type=tel],body.ahk input[type=url],body.ahk select,body.ahk textarea{border-radius:0;border:1px solid var(--rule-strong);background:var(--bg-secondary);color:var(--text-primary)}
body.ahk .form-panel-wrap{max-width:560px;margin-left:0;margin-right:auto}
body.ahk .cta{background:var(--ink);border-top:0;padding:104px 0;text-align:left}
body.ahk .cta .cta-content{text-align:left;max-width:none;margin:0}
body.ahk .cta .cta-title{font-size:clamp(36px,5.6vw,76px);line-height:1;letter-spacing:-.04em;max-width:15ch;color:var(--paper)}
body.ahk .cta .cta-subtitle,body.ahk .cta p{color:var(--paper);opacity:.82;max-width:56ch;font-size:19px}
body.ahk .cta .btn-primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}
body.ahk .cta .btn-primary:hover{background:var(--paper);border-color:var(--paper)}
body.ahk .cta .btn-secondary{color:var(--paper);border-color:var(--paper)}
body.ahk .cta .btn-secondary:hover{background:var(--paper);color:var(--ink)}
body.ahk .cta .btn-large{margin:12px 12px 0 0}
body.ahk .cta :is(input,select,textarea){background:var(--bg-primary);color:#312d2c;border-color:var(--bg-primary)}
body.ahk .cta label,body.ahk .cta .form-panel-label{color:var(--paper)}

/* ---------- mobile ---------- */
@media(max-width:768px){
  body.ahk :is(.services,.problem,.solution,.pricing-band,.resources-band,.clients,.founder,.faq-section,.edge-band,.work-band){padding:56px 0}
  body.ahk :is(.services-grid-3cols,.flywheel-grid,.pricing-strip,.edge-grid,.work-grid,.problem-grid){grid-template-columns:1fr}
  body.ahk :is(.service-item,.problem-item,.flywheel-item,.pricing-strip-item,.edge-item,.work-item)+:is(.service-item,.problem-item,.flywheel-item,.pricing-strip-item,.edge-item,.work-item){padding-left:0;border-left:0;border-top:1px solid var(--border)}
  body.ahk .cta{padding:64px 0}
  body.ahk #lucas-collective::before,body.ahk #terrain-tamer::before,body.ahk #sole-motive::before{position:static;display:inline-block;margin-bottom:16px}
}
@media(min-width:769px) and (max-width:1023px){body.ahk .problem-grid{grid-template-columns:1fr 1fr}}
body.ahk .problem-title{font-size:21px;hyphens:none;overflow-wrap:normal}
body.ahk .hero-headline .highlight.underline{text-decoration:none}
body.ahk .skip-link,[data-theme=dark] body.ahk .skip-link{background:var(--rule-strong);color:var(--bg-primary);top:-80px;border-radius:0}
body.ahk .skip-link:focus{top:0}
body.ahk.lp-page .hero-content{text-align:left;align-items:start}
body.ahk.lp-page .hero-description{margin-left:0;margin-right:0}
body.ahk.lp-page .hero-cta{justify-content:flex-start}
body.ahk.lp-page .hero-headline{max-width:18ch}
body.ahk.lp-page .hero .container,body.ahk.lp-page .hero-content{text-align:left!important;max-width:var(--container-max)!important;margin:0 auto!important}
body.ahk.lp-page .hero-content > *{margin-left:0!important;margin-right:0!important;text-align:left!important}
body.ahk.lp-page .hero-cta{justify-content:flex-start!important}
