/*
Theme Name: The 4th Man Factor — Reference Edition
Theme URI: https://4thmanfactor.org/
Author: The 4th Man Factor
Description: A cinematic editorial WordPress theme for The 4th Man Factor. Preserves the existing FMF courses, lessons, podcast, resources and membership plugin data.
Version: 1.0.1
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: fourth-man-reference
*/

:root {
  --ink:#071a34; --ink-deep:#031124; --blue:#087fc6; --blue-bright:#1bb1e7;
  --blue-pale:#dff4fb; --ember:#f05a3c; --ember-deep:#d94429;
  --cream:#f5f0e7; --paper:#fbfaf7; --white:#fff; --text:#10223c;
  --muted:#5c6878; --line:rgba(7,26,52,.16); --shadow:0 24px 80px rgba(3,17,36,.14);
  --serif:"Iowan Old Style",Baskerville,"Times New Roman",serif;
  --sans:Inter,Geist,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.admin-bar .site-header{top:32px}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--blue-bright);outline-offset:4px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-shell{min-height:100vh;overflow:hidden}
.shell{width:min(87vw,1600px);margin-inline:auto}
.eyebrow{margin:0 0 24px;color:var(--blue);font-size:11px;font-weight:750;letter-spacing:.23em;text-transform:uppercase}
.eyebrow.light{color:#74d0f2}
.display{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(44px,5vw,76px);font-weight:400;letter-spacing:-.05em;line-height:1;text-wrap:balance}
.button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:18px;padding:0 24px;border:0;border-radius:2px;background:var(--ember);color:#fff;font-size:12px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{background:var(--ember-deep);box-shadow:0 16px 38px rgba(0,0,0,.18);transform:translateY(-2px)}
.button.dark{background:var(--ink)}
.text-link{display:inline-flex;width:max-content;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid;font-size:12px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.section{padding:clamp(90px,10vw,150px) 0}

/* Header */
.site-header{position:sticky;z-index:900;top:0;min-height:96px;border-bottom:1px solid rgba(7,26,52,.1);background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}
.header-inner{display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;gap:32px;min-height:96px}
.brand{display:inline-flex;width:max-content;align-items:center;gap:12px;color:var(--ink)}
.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.brand-copy{display:grid;line-height:1}
.brand-copy strong{font-size:15px;letter-spacing:-.02em}
.brand-copy small{margin-top:5px;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.26em;text-transform:uppercase}
.primary-nav ul{display:flex;align-items:center;gap:clamp(16px,2vw,34px);padding:0;margin:0;list-style:none}
.primary-nav a{position:relative;display:block;padding:39px 0 36px;color:#354256;font-size:13px;font-weight:650}
.primary-nav a::after{position:absolute;right:100%;bottom:27px;left:0;height:2px;background:var(--ember);content:"";transition:right .24s}
.primary-nav li:hover>a::after,.primary-nav .current-menu-item>a::after{right:0}
.header-cta{justify-self:end}
.menu-toggle{display:none;background:transparent;border:0;color:var(--ink)}

/* Hero */
.home-hero{position:relative;display:grid;min-height:calc(100svh - 96px);grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:4vw;overflow:hidden;padding:clamp(80px,11vh,140px) 6.5vw 96px;background:radial-gradient(circle at 74% 42%,rgba(27,177,231,.18),transparent 25%),linear-gradient(125deg,var(--ink-deep),#08294f 58%,#074672);color:#fff}
.home-hero::before{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:82px 82px;content:"";opacity:.42;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.hero-copy,.hero-art{position:relative;z-index:2}
.hero-copy{max-width:820px}
.hero-copy h1{margin:0;color:#fff;font-family:var(--serif);font-size:clamp(64px,7.2vw,126px);font-weight:400;letter-spacing:-.065em;line-height:.88;text-wrap:balance}
.hero-copy h1 em{color:#86ddf6;font-weight:400}
.hero-intro{max-width:620px;margin:38px 0 0;color:rgba(255,255,255,.78);font-family:var(--serif);font-size:clamp(18px,1.6vw,25px);line-height:1.5}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:34px;margin-top:42px}
.hero-art{display:grid;min-height:550px;place-items:center}
.orbital-mark{position:relative;width:min(36vw,540px);aspect-ratio:1;border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:inset 0 0 100px rgba(27,177,231,.09),0 0 100px rgba(27,177,231,.08)}
.orbital-mark::before,.orbital-mark::after{position:absolute;inset:12%;border:1px solid rgba(255,255,255,.1);border-radius:50%;content:""}
.orbital-mark::after{inset:28%}
.orbit{position:absolute;bottom:22%;width:10%;border-radius:50% 50% 12% 12%/65% 65% 24% 24%;background:linear-gradient(#fff,#ffbf67 48%,var(--ember));filter:drop-shadow(0 0 18px rgba(240,90,60,.36));transform-origin:bottom;animation:breathe 4s ease-in-out infinite}
.orbit:nth-child(1){left:27%;height:36%;transform:rotate(-6deg)}.orbit:nth-child(2){left:40%;height:45%;animation-delay:-.8s}.orbit:nth-child(3){left:54%;height:32%;transform:rotate(7deg);animation-delay:-1.8s}.orbit:nth-child(4){left:66%;width:11%;height:57%;background:linear-gradient(#fff,#79d9f4 45%,#1f93ce);filter:drop-shadow(0 0 24px rgba(27,177,231,.55));animation-delay:-2.5s}
.art-caption{position:absolute;right:-1vw;bottom:8%;margin:0;padding-left:20px;border-left:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.06em;line-height:1.7;text-transform:uppercase}

/* Home sections */
.meaning{display:grid;grid-template-columns:.34fr 1fr;gap:5vw}
.section-number{padding-top:14px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.meaning-lead{margin:0 0 28px;color:var(--blue);font-family:var(--serif);font-size:clamp(19px,2vw,30px)}
.meaning h2{max-width:1050px;margin:0 0 48px;color:var(--ink);font-family:var(--serif);font-size:clamp(46px,5.5vw,92px);font-weight:400;letter-spacing:-.045em;line-height:1}
.meaning h2 em{color:var(--ember);font-weight:400}
.pathway-section{background:#fff}
.pathways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:64px;box-shadow:var(--shadow)}
.pathway{display:grid;min-width:0;min-height:510px;grid-template-rows:auto 1fr auto;padding:34px;transition:transform .28s}
.pathway:hover{z-index:2;transform:translateY(-10px)}
.pathway.blue{background:linear-gradient(160deg,var(--blue),#075a94);color:#fff}.pathway.cream{background:var(--cream);color:var(--ink)}.pathway.ember{background:linear-gradient(160deg,var(--ember),var(--ember-deep));color:#fff}
.pathway-index{font-size:11px;letter-spacing:.12em;opacity:.72}.pathway-body{display:grid;align-self:end;gap:18px}.pathway-body small{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.72}.pathway-body strong{font-family:var(--serif);font-size:clamp(42px,4vw,66px);font-weight:400;letter-spacing:-.04em}.pathway-body p{max-width:340px;margin:0;font-size:15px;line-height:1.75;opacity:.82}
.quote-band{padding:clamp(120px,15vw,220px) 12vw;background:var(--ink-deep);color:#fff;text-align:center}.quote-band blockquote{max-width:1120px;margin:0 auto;font-family:var(--serif);font-size:clamp(40px,5.1vw,82px);font-weight:400;letter-spacing:-.04em;line-height:1.06}.quote-band cite{display:block;margin-top:40px;color:#74d0f2;font-size:11px;font-style:normal;font-weight:750;letter-spacing:.2em;text-transform:uppercase}
.founder-preview{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:8vw;background:var(--cream)}
.founder-image{position:relative}.founder-image img{width:100%;aspect-ratio:.84;object-fit:cover;box-shadow:36px 36px rgba(8,127,198,.13)}
.founder-copy p:not(.eyebrow){max-width:670px;margin:28px 0 38px;color:var(--muted);font-size:17px;line-height:1.8}
.dynamic-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:58px}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.content-card{display:flex;min-width:0;min-height:100%;flex-direction:column;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.content-card img,.card-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;background:linear-gradient(145deg,#0b4f7f,#061c37)}
.content-card-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:28px}.card-meta{color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.content-card h3{margin:12px 0 0;color:var(--ink);font-family:var(--serif);font-size:clamp(24px,2vw,32px);font-weight:400;letter-spacing:-.03em;line-height:1.12;overflow-wrap:anywhere}.content-card p{margin:16px 0 26px;color:var(--muted);font-size:14px;line-height:1.7}.content-card .text-link{margin-top:auto}
.newsletter-band{display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:7vw;padding:76px 8vw;background:var(--blue);color:#fff}.newsletter-band h2{margin:0;font-family:var(--serif);font-size:clamp(42px,4.2vw,68px);font-weight:400;letter-spacing:-.04em}.newsletter-band p:last-child{color:rgba(255,255,255,.76)}

/* Interior and plugin content */
.page-hero{position:relative;overflow:hidden;padding:clamp(100px,12vw,170px) 8vw;background:linear-gradient(135deg,#053863,var(--blue));color:#fff}.page-hero h1{max-width:1050px;margin:0;font-family:var(--serif);font-size:clamp(64px,8vw,132px);font-weight:400;letter-spacing:-.06em;line-height:.9}.page-hero p{max-width:760px;margin:34px 0 0;color:rgba(255,255,255,.76);font-family:var(--serif);font-size:clamp(18px,1.6vw,24px);line-height:1.6}
.entry-content{padding:clamp(80px,9vw,140px) 0}.entry-content>*{max-width:900px;margin-inline:auto}.entry-content>.elementor{max-width:none}.entry-content h2,.entry-content h3{font-family:var(--serif);font-weight:400;color:var(--ink)}.entry-content h2{font-size:clamp(38px,4vw,64px);letter-spacing:-.04em}.entry-content p,.entry-content li{font-size:17px;line-height:1.8}.entry-content a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.archive-card{padding:38px;background:#fff;box-shadow:var(--shadow)}.archive-card h2{font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.05}.archive-card p{color:var(--muted);line-height:1.7}
.protected-note{padding:28px;border-left:3px solid var(--ember);background:var(--cream)}

/* Compatibility with existing Elementor and FMF Core plugin markup */
.elementor>.e-con,.elementor>.elementor-section{padding-inline:max(24px,6.5vw)}
.fmf-section{padding-block:clamp(80px,9vw,140px)}
.fmf-section--soft{background:var(--cream)}
.fmf-section--white{background:#fff}
.fmf-split>.e-con-inner,.fmf-split{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:48px}
.fmf-card-grid>.e-con-inner,.fmf-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}
.fmf-card{min-width:0;padding:34px;background:#fff}.fmf-card:nth-child(2){background:var(--cream)}.fmf-card:nth-child(3){background:var(--blue-pale)}
.fmf-card h2,.fmf-card h3{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);font-weight:400;line-height:1.15}.fmf-card p{color:var(--muted);line-height:1.7}
.fmf-feature-actions>.e-con-inner,.fmf-action-links>.e-con-inner,.fmf-feature-actions,.fmf-action-links{display:flex!important;flex-flow:row wrap;align-items:center;gap:18px}
.fmf-row-heading>.e-con-inner,.fmf-row-heading{display:flex!important;align-items:end;justify-content:space-between;gap:28px}
.fmf-collection,.fmf-content-grid,.fmf-episode-grid,.fmf-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.fmf-content-card{display:flex;min-width:0;min-height:100%;flex-direction:column;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.fmf-content-card__image{width:100%;aspect-ratio:16/10;object-fit:cover}.fmf-content-card__body{display:flex;min-width:0;flex:1;flex-direction:column;padding:26px}.fmf-content-card__body h2,.fmf-content-card__body h3{margin:10px 0 0;color:var(--ink);font-family:var(--serif);font-size:clamp(22px,2vw,30px);font-weight:400;line-height:1.15;overflow-wrap:anywhere}.fmf-content-card__body p{color:var(--muted);font-size:14px;line-height:1.7}.fmf-content-card__body .fmf-link{margin-top:auto}
.fmf-badge{color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.fmf-episode-list{display:grid}.fmf-episode-list__item{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.fmf-episode-list__body h3{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(24px,2.4vw,38px);font-weight:400}.fmf-episode-list__body p{margin:8px 0 0;color:var(--muted)}.fmf-episode-list__play{display:grid;width:46px;height:46px;flex:0 0 auto;border-radius:50%;background:var(--ember);color:#fff;place-items:center}
.fmf-quote{margin:0;padding:32px;border-left:1px solid var(--blue-bright);background:#fff}.fmf-quote p{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(22px,2.2vw,34px);line-height:1.3}.fmf-quote footer{margin-top:24px;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.fmf-course-list{display:grid;gap:64px}.fmf-course-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:38px;padding-bottom:64px;border-bottom:1px solid var(--line)}.fmf-course-card__image{width:100%;aspect-ratio:4/3;object-fit:cover}.fmf-course-card__body h2{font-family:var(--serif);font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1}.fmf-course-card__summary{color:var(--muted);line-height:1.7}
.fmf-form{display:grid;gap:18px}.fmf-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fmf-field{display:grid;gap:8px}.fmf-field input,.fmf-field textarea,.fmf-field select,.fmf-form input,.fmf-form textarea,.fmf-form select{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;color:var(--ink)}.fmf-form button{min-height:52px;padding:0 22px;border:0;background:var(--ember);color:#fff;font-weight:700}
.fmf-member-grid,.fmf-forum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.fmf-reveal{opacity:1!important;transform:none!important;visibility:visible!important}

/* Footer */
.site-footer{padding:80px 0 28px;background:var(--ink-deep);color:#cbd5e1}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-brand p{max-width:420px;color:#94a3b8;line-height:1.7}.footer-label{color:#64748b;font-size:10px;font-weight:750;letter-spacing:.2em;text-transform:uppercase}.footer-links{display:grid;gap:11px;padding:0;list-style:none}.footer-base{display:flex;justify-content:space-between;margin-top:58px;padding-top:24px;border-top:1px solid #334155;color:#64748b;font-size:12px}

@keyframes breathe{0%,100%{transform:scaleY(1) translateY(0);opacity:.84}50%{transform:scaleY(1.075) translateY(-3px);opacity:1}}
@media(max-width:1100px){.header-inner{grid-template-columns:1fr auto}.primary-nav{position:fixed;inset:96px 0 auto;display:none;padding:28px;background:var(--ink-deep)}.primary-nav.is-open{display:block}.primary-nav ul{align-items:stretch;flex-direction:column}.primary-nav a{padding:12px;color:#fff}.primary-nav a::after{bottom:4px}.menu-toggle{display:block}.header-cta{display:none}.home-hero{grid-template-columns:1fr 380px}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}.shell{width:min(100% - 40px,1600px)}.home-hero{min-height:780px;grid-template-columns:1fr;padding:80px 24px 330px}.hero-copy h1{font-size:clamp(55px,16vw,82px)}.hero-art{position:absolute;right:50%;bottom:42px;min-height:0;transform:translateX(50%)}.orbital-mark{width:min(72vw,320px)}.art-caption{display:none}.meaning,.founder-preview,.newsletter-band{grid-template-columns:1fr}.pathways,.content-grid,.archive-grid,.footer-grid,.fmf-card-grid>.e-con-inner,.fmf-card-grid,.fmf-collection,.fmf-content-grid,.fmf-episode-grid,.fmf-testimonials,.fmf-member-grid,.fmf-forum-grid,.fmf-split>.e-con-inner,.fmf-split,.fmf-course-card,.fmf-form__row{grid-template-columns:1fr}.pathway{min-height:360px}.dynamic-heading,.fmf-row-heading>.e-con-inner,.fmf-row-heading{align-items:start;flex-direction:column}.founder-image img{box-shadow:18px 18px rgba(8,127,198,.13)}.page-hero{padding:90px 24px}.footer-base{align-items:flex-start;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
