/*
Theme Name: Charles Conley Data + AI
Theme URI: https://example.com/charles-conley-data-ai
Author: Zillen Digital Strategy
Description: Exact WordPress reproduction of the approved Charles Conley one-page Data + AI leadership design.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: charles-conley-data-ai
*/

:root{
      --ink:#111111;
      --paper:#ffffff;
      --white:#ffffff;
      --blue:#2457ff;
      --blue-dark:#173ac0;
      --soft-blue:#dfe6ff;
      --acid:#d9ff43;
      --line:rgba(17,17,17,.18);
      --muted:#5d5c57;
      --max:1500px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:var(--paper);
      font-family:Arial, Helvetica, sans-serif;
      line-height:1.45;
      -webkit-font-smoothing:antialiased;
    }
    a{color:inherit}
    .shell{width:min(var(--max),calc(100% - 24px));margin:0 auto}
    .kicker{
      font:700 12px/1.2 "Courier New", monospace;
      letter-spacing:.15em;
      text-transform:uppercase;
    }
    .site-header{
      position:sticky;
      top:0;
      z-index:20;
      background:var(--ink);
      border-bottom:1px solid var(--ink);
    }
    .nav{
      min-height:72px;
      padding:18px 0;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .identity{text-decoration:none;display:flex;align-items:center;gap:14px}
    .identity-mark{
      width:38px;height:38px;border:1px solid var(--ink);
      display:grid;place-items:center;font-weight:800;font-size:12px;
      background:var(--acid)
    }
    .identity strong{display:block;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:29px;letter-spacing:-.02em}
    .identity span{display:block;color:var(--muted);font-size:16px;margin-top:2px}
    .nav-links{display:flex;align-items:center;gap:26px}
    .nav-links a{font-size:13px;text-decoration:none;font-weight:700}
    .nav-links a:hover{color:var(--blue)}
    .nav-cta{
      padding:10px 16px;border:2px solid var(--ink);background:var(--ink);color:white!important
    }
    .site-header .identity strong{color:#fff}
    .site-header .identity span{font:700 12.5px/1.4 "Courier New",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--acid);margin-top:5px}
    .site-header .nav-links a{color:#fff}
    .site-header .nav-links a:hover{color:var(--acid)}
    .site-header .nav-cta{background:var(--acid);border-color:var(--acid);color:var(--ink)!important}
    .site-header .nav-cta:hover{background:#fff;border-color:#fff}

    .hero{
      background:var(--acid);
      padding:0;
      border-bottom:1px solid var(--line);
      min-height:calc(100vh - 72px);
      display:flex;
      align-items:stretch;
    }
    .hero-grid{
      width:100%;
      display:grid;
      grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);
    }
    .hero-main{
      padding:82px max(24px,calc((100vw - var(--max))/2 + 12px)) 72px max(24px,calc((100vw - var(--max))/2 + 12px));
      display:flex;flex-direction:column;justify-content:space-between;
      min-height:780px;
    }
    .hero-side{
      background:var(--blue);
      color:var(--white);
      padding:82px max(24px,calc((100vw - var(--max))/2 + 12px)) 36px 36px;
      display:flex;flex-direction:column;justify-content:space-between;
      overflow:hidden;position:relative;
    }
    .hero-side::after,.contact-side::after{
      content:"";position:absolute;right:-50px;bottom:-60px;width:200px;height:200px;
      border:1px solid rgba(255,255,255,.32);border-radius:50%;
      background:radial-gradient(circle, #d9ff43 0 3.5px, transparent 4.5px 7px, rgba(217,255,67,.8) 7px 8px, transparent 9px);
      box-shadow:0 0 0 40px rgba(255,255,255,.075),0 0 0 80px rgba(255,255,255,.06),0 0 0 120px rgba(255,255,255,.045),0 0 0 160px rgba(255,255,255,.03),0 0 0 200px rgba(255,255,255,.02);
      pointer-events:none;
      animation:ringGlow 4.5s ease-in-out infinite;
    }
    .hero-side::before,.contact-side::before{
      content:"";position:absolute;right:-50px;bottom:-60px;width:200px;height:200px;
      border:1px solid rgba(217,255,67,.8);border-radius:50%;
      pointer-events:none;
      animation:waveOut 3.6s ease-out infinite;
    }
    @keyframes waveOut{
      0%{transform:scale(.12);opacity:.95}
      70%{opacity:.35}
      100%{transform:scale(2.4);opacity:0}
    }
    @keyframes ringGlow{
      0%,100%{border-color:rgba(255,255,255,.32)}
      50%{border-color:rgba(217,255,67,.65)}
    }
    @media (prefers-reduced-motion: reduce){
      .hero-side::after,.contact-side::after,.hero-side::before,.contact-side::before{animation:none}
    }
    .hero-copy{max-width:900px}
    h1{
      margin:28px 0 30px;
      font-size:clamp(58px,8vw,124px);
      line-height:.88;
      letter-spacing:-.075em;
      font-weight:800;
      max-width:980px;
    }
    h1 em{font-style:normal;color:var(--blue)}
    .hero-lead{
      max-width:780px;
      font-size:clamp(20px,2vw,28px);
      line-height:1.28;
      letter-spacing:-.025em;
      margin:0 0 34px;
    }
    .actions{display:flex;flex-wrap:wrap;gap:20px}
    .button{
      display:inline-flex;align-items:center;justify-content:center;min-height:50px;
      padding:0 20px;text-decoration:none;border:2px solid var(--ink);font-weight:800;font-size:13px;
      transition:.2s ease;
    }
    .button.primary{background:var(--ink);color:white}
    .button.primary:hover{background:var(--blue);border-color:var(--blue)}
    .button.secondary:hover{background:white}
    .hero-foot{
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
      border-top:1px solid var(--line);margin-top:70px
    }
    .hero-foot div{padding:16px 16px 0 0}
    .hero-foot div+div{border-left:1px solid var(--line);padding-left:20px}
    .hero-foot strong{display:block;font-size:16px}
    .hero-foot span{display:block;color:var(--muted);font-size:12px;margin-top:4px}

    .side-top{position:relative;z-index:2}
    .side-top .kicker{color:var(--acid)}
    .mandate{margin-top:48px;border-top:1px solid rgba(255,255,255,.36)}
    .mandate-row{
      display:grid;grid-template-columns:42px 1fr;gap:16px;padding:18px 0;
      border-bottom:1px solid rgba(255,255,255,.28)
    }
    .mandate-row b{font:700 12px/1 "Courier New",monospace;color:var(--acid)}
    .mandate-row span{font-size:17px;line-height:1.25;font-weight:700;letter-spacing:-.02em}
    .side-bottom{position:relative;z-index:2;margin-top:60px;max-width:330px}
    .side-bottom p{font-size:14px;color:rgba(255,255,255,.82);margin:0 0 18px}
    .side-link{display:inline-flex;gap:9px;align-items:center;color:white;text-decoration:none;font-weight:800;font-size:13px}
    .side-link:hover{color:var(--ink);background:var(--acid)}

    section{padding:110px 0;border-bottom:1px solid var(--line)}
    .section-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:64px}
    .section-label{position:sticky;top:110px;height:max-content}
    .section-label .number{font:700 12px/1 "Courier New",monospace;color:var(--blue);margin-bottom:12px;text-transform:uppercase;letter-spacing:.12em}
    .section-label h2{font-size:22px;line-height:1.05;letter-spacing:-.04em;margin:0;max-width:190px}
    .section-intro{
      font-size:clamp(30px,4vw,56px);line-height:1.02;letter-spacing:-.055em;
      margin:0 0 54px;max-width:900px;font-weight:800
    }
    .section-intro .accent{color:var(--blue)}

    .proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
    .proof{
      min-height:300px;padding:28px 28px 34px 0;border-bottom:1px solid var(--line)
    }
    .proof:nth-child(odd){border-right:1px solid var(--line);padding-right:40px}
    .proof:nth-child(even){padding-left:40px}
    .proof .org{font:700 11px/1.2 "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);margin-bottom:22px}
    .proof h3{font-size:30px;line-height:1.02;letter-spacing:-.04em;margin:0 0 18px}
    .proof p{color:var(--muted);font-size:15px;margin:0 0 20px;max-width:470px}
    .proof a{font-size:12px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px}
    .proof a:hover{color:var(--blue);border-color:var(--blue)}

    .capability-list{border-top:1px solid var(--ink)}
    .capability{
      display:grid;grid-template-columns:90px minmax(220px,.8fr) minmax(0,1.25fr);gap:28px;
      padding:28px 0;border-bottom:1px solid var(--line);align-items:start
    }
    .capability .cap-num{font:700 12px/1 "Courier New",monospace;color:var(--blue);padding-top:5px}
    .capability h3{font-size:25px;line-height:1.05;letter-spacing:-.035em;margin:0}
    .capability p{margin:0;color:var(--muted);font-size:15px;max-width:630px}

    .principle-wrap{background:var(--ink);color:white}
    .principle-wrap .section-label .number{color:var(--acid)}
    .principle-wrap .section-label h2{color:white}
    .principle{
      position:relative;padding:56px 0 24px;border-top:1px solid rgba(255,255,255,.35)
    }
    .principle blockquote{
      margin:0;max-width:980px;font-size:clamp(42px,6.3vw,82px);line-height:.98;
      letter-spacing:-.06em;font-weight:800
    }
    .principle blockquote span{color:var(--acid)}
    .principle-note{margin:42px 0 0;max-width:660px;color:rgba(255,255,255,.68);font-size:15px}

    .career{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
    .career-item{padding:28px 24px 36px 0;min-height:250px;border-bottom:1px solid var(--line)}
    .career-item+.career-item{border-left:1px solid var(--line);padding-left:24px}
    .career-item .era{font:700 11px/1.2 "Courier New",monospace;color:var(--blue);letter-spacing:.1em;text-transform:uppercase}
    .career-item h3{font-size:23px;line-height:1.05;letter-spacing:-.03em;margin:36px 0 15px}
    .career-item p{font-size:13px;color:var(--muted);margin:0}

    .contact{padding:0;border-bottom:0;background:var(--acid)}
    .contact-grid{display:grid;grid-template-columns:1.35fr .65fr;min-height:500px}
    .contact-main{padding:90px max(24px,calc((100vw - var(--max))/2 + 12px)) 80px max(24px,calc((100vw - var(--max))/2 + 12px))}
    .contact-main h2{font-size:clamp(58px,8vw,112px);line-height:.88;letter-spacing:-.07em;margin:20px 0 34px;max-width:850px}
    .contact-main p{font-size:19px;max-width:620px;margin:0 0 30px}
    .contact-side{background:var(--blue);color:white;padding:48px max(24px,calc((100vw - var(--max))/2 + 12px)) 48px 36px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
    
    .contact-side>*{position:relative;z-index:1}
    .contact-side p{font:700 13px/1.4 "Courier New",monospace;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);max-width:320px}
    .contact-side a.beyond{display:block;text-decoration:none;margin:0 0 34px;border-top:0;border-bottom:0;padding:0;text-align:center}
    .beyond-pic{position:relative;display:block;width:100%;max-width:300px;margin:0 auto;aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:1px solid var(--ink)}
    .beyond-pic img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .5s ease}
    .beyond-pic::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(36,87,255,.35);mix-blend-mode:multiply;transition:opacity .4s ease}
    .beyond span{display:inline-flex;gap:9px;align-items:center;justify-content:center;color:white;font-weight:800;font-size:13px;margin-top:16px}
    .beyond:hover .beyond-pic img{transform:scale(1.08)}
    .beyond:hover .beyond-pic::after{opacity:0}
    .beyond:hover span{color:var(--acid)}
    .contact-side a{display:block;text-decoration:none;font-size:23px;letter-spacing:-.02em;font-weight:800;padding:17px 0;border-top:1px solid rgba(255,255,255,.34)}
    .contact-side a:last-child{border-bottom:1px solid rgba(255,255,255,.34)}
    .contact-side a:hover{color:var(--ink);background:var(--acid)}

    footer{background:var(--ink);color:white;padding:28px 0}
    .footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:11px;color:rgba(255,255,255,.62)}

    @media (max-width:980px){
      .hero-grid,.contact-grid{grid-template-columns:1fr}
      .hero-main{min-height:auto;padding:72px 24px 62px}
      .hero-side{padding:44px 24px;min-height:560px}
      .section-grid{grid-template-columns:1fr;gap:36px}
      .section-label{position:static}
      .section-label h2{max-width:none}
      .career{grid-template-columns:repeat(2,1fr)}
      .career-item:nth-child(3){border-left:0;padding-left:0}
      .contact-main,.contact-side{padding:68px 24px}
    }
    @media (max-width:700px){
      .shell{width:min(var(--max),calc(100% - 32px))}
      .nav-links a:not(.nav-cta){display:none}
      h1{font-size:58px}
      .hero-foot{grid-template-columns:1fr}
      .hero-foot div+div{border-left:0;padding-left:0;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
      section{padding:78px 0}
      .proof-grid,.career{grid-template-columns:1fr}
      .proof:nth-child(odd){border-right:0;padding-right:0}
      .proof:nth-child(even){padding-left:0}
      .capability{grid-template-columns:48px 1fr;gap:16px}
      .capability p{grid-column:2}
      .career-item+.career-item{border-left:0;padding-left:0}
      .footer-row{flex-direction:column;align-items:flex-start}
    }

/* WordPress rendering resets: preserve the approved standalone design exactly. */
html { margin-top: 0 !important; }
body { padding: 0 !important; }
.wp-site-blocks {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 100vh;
}
.wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.wp-site-blocks .wp-block-html {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

    /* subpage shared */
    .sub-hero{background:var(--acid);border-bottom:1px solid var(--line);padding:84px 0 72px}
    .sub-hero h1{margin:22px 0 24px;font-size:clamp(48px,7vw,96px)}
    .sub-hero p{max-width:680px;font-size:clamp(18px,2vw,24px);line-height:1.3;letter-spacing:-.02em;margin:0}
    .cv-row{display:grid;grid-template-columns:150px minmax(220px,.9fr) minmax(0,1.3fr);gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
    .cv-row .dates{font:700 12px/1.6 "Courier New",monospace;color:var(--blue);letter-spacing:.1em;text-transform:uppercase}
    .cv-row h3{font-size:22px;line-height:1.08;letter-spacing:-.03em;margin:0}
    .cv-row .org{font:700 11px/1.6 "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:6px}
    .cv-row p{margin:0;color:var(--muted);font-size:15px;max-width:620px}
    .cv-list{border-top:1px solid var(--ink)}
    @media (max-width:700px){.cv-row{grid-template-columns:1fr;gap:8px}}
    .photo-band{padding:90px 0;border-bottom:1px solid var(--line)}
    .photo-band img{width:100%;max-width:560px;display:block;border:1px solid var(--ink)}
    .photo-band figcaption{font:700 11px/1.6 "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px}
    /* beyond-the-work: life layers infographic */
    .layerstack{display:block;margin:30px 0 0;overflow:visible}
    .layerstack .lyr{animation:lyrFloat 4.5s ease-in-out infinite}
    .layerstack .lyr2{animation-delay:.4s}.layerstack .lyr3{animation-delay:.8s}
    .layerstack .lyr4{animation-delay:1.2s}.layerstack .lyr5{animation-delay:1.6s}
    .layerstack .pin{animation:pinHop 2.2s ease-in-out infinite;transform-origin:center}
    @keyframes lyrFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
    @keyframes pinHop{0%,100%{transform:translateY(0)}30%{transform:translateY(-10px)}50%{transform:translateY(0)}60%{transform:translateY(-4px)}70%{transform:translateY(0)}}
    .layers{border-top:1px solid var(--ink)}
    .layer{display:grid;grid-template-columns:110px minmax(0,1fr);gap:26px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}
    .layer .lnum{font:700 12px/1.6 "Courier New",monospace;color:var(--blue);letter-spacing:.1em;text-transform:uppercase}
    .layer h3{font-size:22px;line-height:1.08;letter-spacing:-.03em;margin:0 0 8px}
    .layer p{margin:0;color:var(--muted);font-size:15px;max-width:560px}
    .layer .links{margin-top:12px;display:flex;gap:16px;flex-wrap:wrap}
    .layer .links a{font-weight:800;font-size:13px;color:var(--blue);text-decoration:none;border-bottom:2px solid var(--acid)}
    .layer .links a:hover{background:var(--acid)}
    @media (max-width:700px){.layer{grid-template-columns:1fr;gap:8px}}
    @media (prefers-reduced-motion: reduce){.layerstack .lyr,.layerstack .pin{animation:none}}

    /* beyond-the-work: hero portrait */
    .sub-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:56px;align-items:center}
    .hero-portrait{margin:0;text-align:center}
    .hero-portrait .pic{position:relative;display:block;width:320px;height:320px;border-radius:50%;overflow:hidden;border:2px solid var(--ink);margin:0 auto}
    .hero-portrait .pic img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .5s ease}
    .hero-portrait .pic::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(36,87,255,.35);mix-blend-mode:multiply;transition:opacity .4s ease}
    .hero-portrait:hover .pic img{transform:scale(1.08)}
    .hero-portrait:hover .pic::after{opacity:0}
    .hero-portrait figcaption{font:700 11px/1.6 "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-top:14px}
    .hero-portrait figcaption a{color:var(--blue);text-decoration:none}
    @media (max-width:820px){.sub-hero-grid{grid-template-columns:1fr;gap:34px}.hero-portrait .pic{width:240px;height:240px}}
    /* heading consistency: big headings sentence case, labels uppercase */
    h1,h2,h3{text-transform:none}
    .identity strong{text-transform:none}
    /* projects: full-description list */
    .projects-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 56px}
    @media (max-width:860px){.projects-list{grid-template-columns:1fr;gap:40px}}
    .project{border-top:1px solid var(--ink);padding:28px 0 0}
    .project .org{font:700 11px/1.2 "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);margin-bottom:14px}
    .project h3{font-size:clamp(22px,2.2vw,28px);line-height:1.08;letter-spacing:-.03em;margin:0 0 14px}
    .project p{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0 0 12px}
    .project p:last-of-type{margin-bottom:0}
    .project .links{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap}
    .project .links a{font-weight:800;font-size:13px;color:var(--blue);text-decoration:none;border-bottom:2px solid var(--acid)}
    .project .links a:hover{background:var(--acid)}
    .project-logo{height:48px;width:auto;display:block;margin-bottom:16px}
    .cv-row .org a{color:inherit;text-decoration:none;border-bottom:1px solid var(--acid)}
    .cv-row .org a:hover{color:var(--blue)}
    /* consistent link underlines sitewide */
    main a:not(.button){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--acid);border-bottom:0!important;transition:background .15s ease,color .15s ease}
    main a:not(.button):hover{background:var(--acid);color:var(--ink);text-decoration:none}
    header a,footer a,a.button,.button,.nav-cta{text-decoration:none}
    .hero-portrait figcaption a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--acid)}
    .hero-portrait figcaption a:hover{background:var(--acid);color:var(--ink);text-decoration:none}
    /* blinking separator dots, because it is fun */
    .blip{color:#f07422;font-weight:800;padding:0 2px;animation:blip 2.4s ease-in-out infinite;display:inline-block}
    .blip.b2{animation-delay:.6s}.blip.b3{animation-delay:1.2s}
    @keyframes blip{0%,100%{opacity:.25}50%{opacity:1}}
    @media (prefers-reduced-motion: reduce){.blip{animation:none;opacity:1}}
    /* highlighter hugs text on block links */
    main .contact-side a:hover{background:transparent}
    .contact-side a .hlt{transition:background .15s ease,color .15s ease}
    .contact-side a:hover .hlt{background:var(--acid);color:var(--ink);box-shadow:0 0 0 5px var(--acid)}
    main a.beyond:hover,main .contact-side a.beyond:hover{background:transparent!important}
    .nav-contact{padding:10px 16px;border:2px solid var(--acid);background:transparent;color:var(--acid)!important;text-decoration:none;font-size:13px;font-weight:700}
    .nav-contact:hover{background:var(--acid);color:var(--ink)!important}
    .contact-side .fa-item{display:block;font-size:23px;letter-spacing:-.02em;font-weight:800;padding:17px 0;border-top:1px solid rgba(255,255,255,.34);color:#fff}
    .contact-side .fa-item:last-of-type{border-bottom:1px solid rgba(255,255,255,.34)}
    /* keep tagline blip inline (identity span sets block) */
    .identity span .blip,.identity .blip{display:inline-block!important;margin-top:0}