/*
Theme Name: Mike Moore Executive AI Coaching
Theme URI: https://mooreaicoach.com/
Author: Mike Moore
Description: A focused, responsive site for confidential executive AI coaching.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mike-ai-coaching
*/

    :root {
      color-scheme: light;
      --paper: #cbd8dd;
      --sheet: #e7edef;
      --ink: #111c20;
      --ink-soft: #46545a;
      --rule: #9eafb6;
      --accent: #e34b60;
      --accent-hover: #c9344a;
      --accent-light: #ff7b8b;
      --night: #101d21;
      --night-soft: #d7e0e3;
      --display: "Arial Black", "Segoe UI", Arial, sans-serif;
      --sans: "Segoe UI", Arial, sans-serif;
      --mono: "Cascadia Mono", Consolas, monospace;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: var(--sans);
      font-size: 16px;
      line-height: 1.6;
    }
    a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
    a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
    .wrap { width: min(1180px, calc(100% - 56px)); margin-inline: auto; }
    .masthead {
      min-height: 88px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 0;
    }
    header.masthead { width: 100%; max-width: none; margin-inline: 0; padding-inline: max(28px, calc((100% - 1180px) / 2)); color: #fff; background: var(--night); }
    .wordmark { display: flex; gap: 13px; align-items: center; text-decoration: none; }
    .monogram {
      width: 40px; height: 40px; display: grid; place-items: center;
      border: 1px solid currentColor; border-radius: 50%; font: 14px Georgia, serif; letter-spacing: -.04em;
    }
    .wordmark strong { font: 800 17px var(--display); letter-spacing: -.035em; }
    .wordmark small { display: block; margin-top: -3px; color: #c6d1d5; font-size: 11px; letter-spacing: .04em; }
    nav { display: flex; gap: 32px; align-items: center; font-size: 13px; }
    nav a { text-decoration: none; }
    nav a:hover { color: var(--accent-light); }
    .top-note { color: #fff; background: var(--accent); padding: 11px 15px; font-weight: 700; }
    .hero {
      display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr);
      align-items: center; gap: clamp(48px, 8vw, 112px); padding-block: 96px 112px;
    }
    section.hero { width: 100%; max-width: none; margin: 0; padding-inline: max(28px, calc((100% - 1180px) / 2)); color: #fff; background: var(--night); }
    .eyebrow, .note-label, .mini-label {
      font: 10px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase;
    }
    .eyebrow { color: var(--accent); margin: 0 0 25px; }
    h1, h2, h3, p { margin-top: 0; }
    h1 { max-width: 680px; margin-bottom: 25px; font: 900 clamp(48px, 6vw, 78px)/.98 var(--display); letter-spacing: -.055em; }
    .hero-copy { max-width: 580px; color: #d5dfe2; font-size: 18px; line-height: 1.65; }
    .hero-copy strong { color: #fff; font-weight: 700; }
    section.hero .eyebrow { color: var(--accent-light); }
    .actions { margin-top: 34px; display: flex; gap: 25px; align-items: center; flex-wrap: wrap; }
    .button {
      display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px;
      color: var(--sheet); background: var(--accent); text-decoration: none; font-size: 13px;
      transition: background-color .2s ease, transform .2s ease;
    }
    .button:hover { background: var(--accent-hover); transform: translateY(-2px); }
    .text-link { color: #fff; font-size: 13px; }
    .offerings { padding-block: 82px; border-top: 1px solid var(--rule); }
    .offerings-head { display: grid; grid-template-columns: .72fr 1.28fr; gap: 10vw; margin-bottom: 36px; }
    .offerings h2 { max-width: 560px; margin-bottom: 0; font: 850 clamp(34px, 4.5vw, 54px)/1.02 var(--display); letter-spacing: -.05em; }
    .offer-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
    .offer-list li { display: grid; grid-template-columns: minmax(190px, .72fr) 1.28fr; gap: 10vw; padding: 24px 0; border-bottom: 1px solid var(--rule); }
    .offer-list h3 { margin: 0; font: 700 22px/1.2 var(--display); letter-spacing: -.03em; }
    .offer-list p { max-width: 66ch; margin: 0; color: var(--ink-soft); }
    .coaching-format { display: grid; grid-template-columns: minmax(190px, .72fr) 1.28fr; gap: 10vw; margin-top: 66px; padding: 34px 0 0; border-top: 1px solid var(--rule); }
    .coaching-format h3 { max-width: 400px; margin: 0; font: 800 clamp(26px, 3vw, 36px)/1.08 var(--display); letter-spacing: -.04em; }
    .format-copy { max-width: 680px; color: var(--ink-soft); }
    .format-copy p { max-width: 66ch; }
    .format-copy ul { margin: 24px 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
    .format-copy li { padding: 14px 0; border-bottom: 1px solid var(--rule); }
    .format-copy strong { color: var(--ink); }
    .credentials {
      display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center;
      gap: 32px; padding-block: 18px; margin: 0 auto;
    }
    .credentials p { margin: 0; padding: 10px 0; color: var(--ink-soft); font-size: 13px; line-height: 1.45; }
    .credentials strong { display: block; color: var(--accent); font: 800 21px/1.2 var(--display); }
    .workbench {
      position: relative; overflow: hidden; padding: clamp(23px, 3vw, 34px);
      color: #fff; background: #1b2a2f; border: 1px solid #43545a;
      box-shadow: 0 24px 70px rgba(0,0,0,.25);
    }
    .workbench::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--accent); }
    .workbench-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-bottom: 21px; border-bottom: 1px solid rgba(220,227,248,.2); }
    .workbench-head .mini-label { color: var(--accent-light); }
    .sample-tag { color: var(--night-soft); font: 9px var(--mono); letter-spacing: .06em; }
    .workbench h2 { max-width: 440px; margin: 22px 0 10px; font: 750 clamp(26px, 3vw, 34px)/1.05 var(--display); letter-spacing: -.04em; }
    .workbench-intro { max-width: 50ch; margin-bottom: 22px; color: var(--night-soft); font-size: 12px; }
    .choice-label { display: block; margin: 0 0 9px; color: #c1cdd1; font: 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
    .task-picker, .tool-picker { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 18px; padding: 0; border: 0; }
    .choice { min-height: 34px; padding: 6px 10px; color: #e6ecee; background: transparent; border: 1px solid #4b5b60; border-radius: 2px; font: 11px var(--sans); cursor: pointer; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
    .choice:hover { border-color: var(--accent-light); }
    .choice[aria-pressed="true"] { color: #fff; background: var(--accent); border-color: var(--accent); }
    .choice:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
    .workbench-flow { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; align-items: center; gap: 8px; margin: 23px 0 14px; }
    .flow-node { min-height: 74px; padding: 11px 12px; border: 1px solid #405256; background: rgba(255,255,255,.035); transition: border-color .22s ease, background-color .22s ease, transform .22s ease; }
    .flow-node small { display: block; margin-bottom: 7px; color: var(--accent-light); font: 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
    .flow-node strong { display: block; color: #fff; font-size: 11px; line-height: 1.4; font-weight: 500; }
    .flow-link { position: relative; height: 1px; background: #6a7e83; }
    .flow-link::after { content: ""; position: absolute; top: -3px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--accent-light); opacity: .3; }
    .sample-result { margin: 3px 0 0; padding: 18px 18px 14px; color: var(--ink); background: var(--sheet); border-top: 3px solid var(--accent); }
    .result-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 13px; }
    .result-head .mini-label { color: var(--accent); }
    .result-head span:last-child { color: var(--ink-soft); font: 9px var(--mono); }
    .sample-result h3 { margin: 0 0 13px; font: 750 21px/1.15 var(--display); letter-spacing: -.035em; }
    .result-rows { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
    .result-row { padding-top: 10px; border-top: 1px solid #bdcbd0; }
    .result-row small { display: block; margin-bottom: 5px; color: var(--accent); font: 9px var(--mono); letter-spacing: .06em; text-transform: uppercase; }
    .result-row p { margin: 0; color: #3b4660; font-size: 10px; line-height: 1.45; }
    .sample-result.is-changing { animation: result-change .3s ease-out both; }
    @keyframes result-change { from { opacity: .55; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
    .workbench-output { display: grid; grid-template-columns: .78fr 1.22fr; gap: 16px; padding-top: 17px; border-top: 1px solid rgba(220,227,248,.2); }
    .workbench-output p { margin: 0; color: var(--night-soft); font-size: 11px; line-height: 1.5; }
    .workbench-output strong { display: block; margin: 0 0 6px; color: #fff; font-size: 11px; }
    .demo-status { margin: 0; color: #c1cdd1; font-size: 10px; }
    .section { padding-block: 90px; border-top: 1px solid var(--rule); }
    .section-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 10vw; }
    .section h2 { max-width: 560px; margin-bottom: 23px; font: 850 clamp(34px, 4.5vw, 54px)/1.02 var(--display); letter-spacing: -.05em; }
    .section-copy { max-width: 680px; color: var(--ink-soft); }
    .section-copy p { max-width: 66ch; }
    .section-copy strong { color: var(--ink); }
    .steps { margin: 40px 0 0; padding: 0; list-style: none; counter-reset: steps; border-top: 1px solid var(--rule); }
    .steps li { counter-increment: steps; display: grid; grid-template-columns: 44px 180px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--rule); align-items: baseline; }
    .steps li::before { content: "0" counter(steps); color: var(--accent); font: 11px var(--mono); }
    .steps strong { font: 700 18px var(--display); letter-spacing: -.025em; }
    .steps span { color: var(--ink-soft); font-size: 14px; }
    .trust { padding-block: 88px; background: var(--night); }
    .trust h2, .trust blockquote { color: var(--sheet); }
    .trust .eyebrow { color: var(--accent-light); }
    .trust .section-grid { align-items: start; }
    .trust blockquote { margin: 0; max-width: 680px; font: 800 clamp(24px, 3vw, 36px)/1.15 var(--display); letter-spacing: -.04em; }
    .trust p { margin-top: 18px; max-width: 66ch; color: #e1e9eb; }
    .about { padding-block: 92px; }
    .portrait { display: block; width: 154px; height: 154px; min-width: 154px; flex: 0 0 154px; aspect-ratio: 1 / 1; object-fit: cover; border: 3px solid var(--accent); border-radius: 50%; }
    .about .section-grid { align-items: center; }
    .about .section-copy { font-size: 15px; }
    footer { padding-block: 27px; border-top: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 20px; color: var(--ink-soft); font-size: 11px; }
    footer p { margin: 0; }
    footer p:last-child { max-width: 64ch; }
    @media (max-width: 820px) {
      .wrap { width: min(100% - 40px, 680px); }
      nav { gap: 17px; }
      .hero { grid-template-columns: 1fr; gap: 54px; padding-block: 72px 86px; }
      .workbench { width: min(100%, 590px); margin-inline: auto; }
      .section-grid { grid-template-columns: 1fr; gap: 26px; }
      .offerings-head, .offer-list li, .coaching-format { grid-template-columns: 1fr; gap: 18px; }
      .credentials { gap: 20px; }
    }
    @media (max-width: 560px) {
      .wrap { width: calc(100% - 36px); }
      .masthead { min-height: 74px; }
      nav { gap: 14px; font-size: 12px; }
      nav a:first-child { display: none; }
      .wordmark { gap: 9px; }
      .monogram { width: 35px; height: 35px; }
      .wordmark strong { font-size: 13px; }
      header.masthead, section.hero { padding-inline: 18px; }
      .hero { padding-block: 60px 70px; gap: 45px; }
      h1 { font-size: clamp(45px, 14vw, 65px); }
      .hero-copy { font-size: 16px; }
      .workbench { padding: 22px 18px; }
      .workbench-flow { grid-template-columns: 1fr; gap: 6px; }
      .flow-node { min-height: 0; }
      .flow-link { width: 1px; height: 12px; margin-left: 18px; }
      .workbench-output { grid-template-columns: 1fr; gap: 12px; }
      .result-rows { grid-template-columns: 1fr; gap: 9px; }
      .result-row { padding-top: 8px; }
      .workbench-head { align-items: flex-start; flex-direction: column; }
      .section, .about { padding-block: 66px; }
      .credentials { grid-template-columns: 1fr; gap: 2px; padding-block: 12px; }
      .credentials p { padding: 7px 0; }
      .steps li { grid-template-columns: 34px 1fr; gap: 8px 12px; }
      .steps li span { grid-column: 2; }
      .trust { padding-block: 65px; }
      footer { flex-direction: column; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    }
  
.contact { background: var(--sheet); }
.contact-intro { max-width: 55ch; color: var(--ink-soft); }
.privacy-note { max-width: 55ch; margin-top: 30px; padding-left: 16px; border-left: 3px solid var(--accent); color: var(--ink-soft); font-size: 13px; }
.privacy-note strong { color: var(--ink); }
.contact-form { max-width: 680px; }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.form-fields p { margin: 0 0 17px; }
.form-fields label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; }
.form-fields label span:not(.optional) { color: var(--accent); }
.form-fields label .optional { color: var(--ink-soft); font-weight: 400; }
.form-fields input, .form-fields textarea { display: block; width: 100%; padding: 12px; color: var(--ink); background: #fff; border: 1px solid var(--rule); border-radius: 0; font: inherit; }
.form-fields input:focus, .form-fields textarea:focus { outline: 3px solid var(--accent); outline-offset: 2px; }
.form-wide { grid-column: 1 / -1; }
.form-submit { border: 0; font: 700 13px var(--sans); cursor: pointer; }
.form-notice { padding: 14px 16px; margin-bottom: 18px; background: #fff; border-left: 3px solid #337752; color: var(--ink); }
.form-notice-error { border-color: var(--accent); }
.contact-trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.faq { background: var(--sheet); }
.faq-intro { max-width: 44ch; color: var(--ink-soft); }
.faq-list { border-top: 1px solid var(--rule); }
.faq-list details { border-bottom: 1px solid var(--rule); }
.faq-list summary { position: relative; padding: 19px 38px 19px 0; color: var(--ink); font: 700 17px/1.35 var(--display); letter-spacing: -.02em; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 3px; top: 15px; color: var(--accent); font: 28px/1 var(--sans); transition: transform .2s ease; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.faq-list details p { max-width: 68ch; margin: 0; padding: 0 34px 21px 0; color: var(--ink-soft); }
@media (max-width: 560px) { .form-fields { grid-template-columns: 1fr; } .form-wide { grid-column: auto; } }
