@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
:root{--ink:#172531;--night:#111c24;--gold:#bc8e36;--goldlight:#e1c27d;--paper:#f8f4ed;--cream:#f0ebe3;--line:#dcd2c2;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:var(--paper);line-height:1.55}a{color:inherit}button,input,select,textarea{font:inherit}.layout{width:min(1180px,calc(100% - 64px));margin:auto}.skip{position:absolute;top:-100px;left:20px;background:white;padding:8px;z-index:99}.skip:focus{top:8px}.masthead{position:sticky;top:0;z-index:30;background:var(--night);color:#f8f3e9;box-shadow:0 3px 14px #0002}.header-wrap{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:20px}.site-name{text-decoration:none;letter-spacing:.16em;font-size:clamp(13px,1.4vw,19px);white-space:nowrap}.nav{display:flex;gap:23px;align-items:center}.nav a{font-size:14px;text-decoration:none;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:var(--goldlight)}.menu-button{display:none}.hero{position:relative;overflow:hidden;min-height:540px;background:linear-gradient(90deg,rgba(9,17,25,.94) 0%,rgba(18,28,36,.88) 38%,rgba(27,25,23,.44) 70%,rgba(35,27,19,.24) 100%), radial-gradient(circle at 78% 30%, rgba(230,168,83,.18) 0%, rgba(230,168,83,0) 22%), linear-gradient(180deg,#5b6470 0%,#d2a165 42%,#2c3137 100%);color:white}.hero-inner{min-height:540px;display:flex;align-items:center}.hero-copy{width:min(650px,62%);padding:70px 0 78px}.overline{font-family:Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:.19em;color:#9c7128;margin:0 0 13px;text-transform:uppercase}.gold{color:var(--goldlight)}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;line-height:1.12}h1{font-size:clamp(43px,5.1vw,76px);letter-spacing:-.04em;margin:0 0 18px}h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-.028em;margin-bottom:14px}h3{font-size:21px;line-height:1.25}.gold-rule{width:68px;height:3px;background:var(--goldlight);margin:24px 0}.lead{font-size:clamp(17px,2vw,24px);max-width:580px;font-style:italic;line-height:1.5;text-shadow:0 1px 10px #0009}.button-row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:46px;padding:13px 23px;text-decoration:none;border-radius:2px;border:1px solid var(--gold);font:700 12px/1.3 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button.filled{background:linear-gradient(120deg,#b7842d,#ebc66f);color:#15202a;border-color:#d9b45e}.button.transparent{background:#111b2377;color:white;border-color:#eadbb7}.button.dark{background:var(--night);color:white;border-color:var(--night)}.button.outline{background:transparent;color:var(--ink)}.section{padding:74px 0}.feature-section{background:var(--white)}.feature-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:90px;align-items:center}.book-image{max-width:360px;margin:auto}.book-image img{width:100%;display:block;filter:drop-shadow(0 18px 20px #0002);border-radius:2px}.book-copy .subtitle{font-style:italic;font-size:19px;color:#554738;margin:0 0 21px}.book-copy p:not(.overline):not(.micro){font-size:18px}.micro{font:700 11px Arial,sans-serif;letter-spacing:.14em;color:#8a765b;margin:24px 0}.text-action{display:inline-block;color:#89641f;font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-underline-offset:5px}.speaking{background:var(--paper)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:28px}.section-top>div{flex:1}.section-top>p{flex:0 1 420px;margin:0 0 10px;font-size:17px}.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}.topic{background:#fffaf3;border:1px solid var(--line);padding:25px 21px 23px;min-height:242px}.topic-icon{font-size:32px;line-height:1;color:#a37a2c}.topic h3{font-size:19px;margin:18px 0 9px}.topic p{font-size:15px;color:#4a4b4b;margin:0}.writing{background:#eee8df}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.media-card{display:flex;flex-direction:column;text-decoration:none;background:#fdfbf6;border:1px solid #ded4c5;padding:25px 20px;min-height:254px;transition:transform .15s,box-shadow .15s}.media-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #0e192417}.media-kicker{font:700 10px Arial,sans-serif;letter-spacing:.11em;color:#a77c32;margin-bottom:16px}.media-card h3{margin-bottom:10px}.media-card p{font-size:15px;line-height:1.5;flex:1}.media-link{font:700 12px Arial,sans-serif;color:#8b6528}.justice{background:#f7f4ee}.justice-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.jrf-logo{display:block;width:min(100%,380px);margin:25px 0 0;mix-blend-mode:multiply}.justice-text{font-size:17px}.justice-text p{margin-bottom:16px}.about{background:#e9e1d7}.about-grid{display:grid;grid-template-columns:210px 1fr;gap:54px;align-items:center}.headshot{width:210px;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:3px}.about-grid p:not(.overline){font-size:18px}.contact{background:var(--white)}.contact-grid{display:grid;grid-template-columns:.92fr 1.25fr .91fr;gap:40px}.contact-grid h2{margin-top:0}.contact-grid h3{font-size:21px}.contact-grid p{font-size:16px}.demo-note{background:#f5ecdd;border-left:3px solid var(--gold);padding:16px;font-size:14px;line-height:1.5;margin-top:26px}.form-fields{display:flex;flex-direction:column;gap:13px}.form-fields label{font:600 12px Arial,sans-serif;letter-spacing:.01em}.form-fields label>span{color:#b04532}.form-fields input:not([type=checkbox]),.form-fields select,.form-fields textarea{margin-top:8px;width:100%;border:1px solid #bfc3c1;border-radius:2px;padding:12px;color:var(--ink);background:#fff;font:15px Arial,sans-serif}.form-fields input:focus,.form-fields select:focus,.form-fields textarea:focus{outline:2px solid #bb8d38;outline-offset:1px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-fields .button{align-self:flex-start}.newsletter{padding-left:25px;border-left:1px solid var(--line)}.checkbox-line{display:flex;align-items:flex-start;gap:8px;font-size:11px!important;line-height:1.4}.checkbox-line input{margin:1px 0 0}.form-status{margin:0;color:#85601a;font:13px Arial,sans-serif}.footer{background:var(--night);color:#efe9db}.footer-inner{min-height:95px;display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-identity{display:flex;align-items:center;gap:13px;font:700 12px Arial,sans-serif;letter-spacing:.14em}.footer-identity img{object-fit:contain;mix-blend-mode:screen;border-radius:2px}.footer-links{display:flex;gap:20px}.footer a{font:13px Arial,sans-serif;text-decoration:none}.footer a:hover{text-decoration:underline}.footer small{font:11px Arial,sans-serif;color:#d6d0c4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:980px){.layout{width:min(100% - 42px,880px)}.nav{gap:12px}.nav a{font-size:12px}.feature-grid{gap:35px}.topic-grid{grid-template-columns:repeat(2,1fr)}.topic{min-height:190px}.media-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr 1.2fr}.newsletter{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.justice-grid{gap:38px}.hero-copy{width:64%}h1{font-size:clamp(42px,5.8vw,66px)}}
@media(max-width:700px){html{scroll-padding-top:68px}.layout{width:calc(100% - 36px)}.header-wrap{min-height:65px}.site-name{font-size:13px;letter-spacing:.1em}.menu-button{display:flex;flex-direction:column;gap:5px;border:1px solid #ffffff44;background:transparent;border-radius:3px;padding:11px;cursor:pointer}.menu-button span{display:block;width:20px;height:2px;background:white}.nav{display:none;position:absolute;top:65px;left:0;right:0;background:#121f2c;padding:20px 24px;box-shadow:0 10px 20px #0004;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{font-size:16px;padding:10px;border-bottom:1px solid #ffffff1c}.hero,.hero-inner{min-height:710px}.hero{background:linear-gradient(180deg,rgba(9,19,29,.90) 0%,rgba(12,22,30,.78) 36%,rgba(24,24,24,.26) 74%), radial-gradient(circle at 78% 70%, rgba(230,168,83,.14) 0%, rgba(230,168,83,0) 20%), linear-gradient(180deg,#5a626d 0%,#c89053 42%,#26313b 100%);background-repeat:no-repeat;background-position:center;background-color:#26313b}.hero-inner{align-items:flex-start}.hero-copy{width:100%;padding:45px 0 30px}.hero h1{font-size:clamp(38px,9vw,59px);max-width:560px}.lead{font-size:18px;max-width:475px}.button-row{gap:10px}.button{padding:12px 16px;font-size:11px}.section{padding:52px 0}.feature-grid,.justice-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.book-image{max-width:260px;order:0}.book-copy{order:1}.section-top{display:block}.section-top>p{margin-top:8px}.topic-grid{grid-template-columns:1fr 1fr;gap:10px}.topic{min-height:0;padding:18px 15px}.topic h3{font-size:17px;margin:10px 0 8px}.topic p{font-size:14px}.media-grid{grid-template-columns:1fr}.media-card{min-height:0}.about-grid{grid-template-columns:125px 1fr;gap:22px;align-items:start}.headshot{width:125px}.about-grid p:not(.overline){font-size:16px}.newsletter{grid-column:auto}.footer-inner{flex-wrap:wrap;padding:20px 0}.footer small{width:100%}}
@media(max-width:420px){.site-name{font-size:11px}.hero,.hero-inner{min-height:690px}.hero h1{font-size:39px}.hero-copy{padding-top:34px}.lead{font-size:17px}.hero{background-size:auto 55%,auto 63%;background-position:center center,70% bottom}.button-row{flex-direction:column;align-items:flex-start}.topic-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:100px 1fr;gap:15px}.headshot{width:100px}.two-fields{grid-template-columns:1fr}.footer-identity{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.media-card{transition:none}}

/* V3: approved sunset-overlook portrait. Maintained as independent layer for readable text. */
.hero{isolation:isolate}
.hero-portrait{position:absolute;z-index:0;right:0;bottom:0;height:100%;width:60%;pointer-events:none;background-image:url('assets/approved-hero-portrait.webp');background-position:right 30% top 14px;background-repeat:no-repeat;background-size:auto 96%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 42%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 42%,#000 100%)}
.hero-inner{position:relative;z-index:1}
@media(max-width:980px){.hero-portrait{width:60%;background-size:auto 90%;background-position:right 30% top 16px}.hero-copy{width:61%}}
@media(max-width:700px){.hero-portrait{top:auto;right:-2%;bottom:0;width:100%;height:50%;background-size:auto 92%;background-position:right 56% bottom;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 26%,#000 100%)}.hero-copy{width:100%}.hero{background-position:center}}
@media(max-width:420px){.hero-portrait{height:45%;right:-4%;background-size:auto 88%;background-position:right 60% bottom}}

/* V10: responsive Substack newsletter embed */
.substack-embed-wrap{width:100%;max-width:480px;overflow:hidden}
.substack-embed-wrap iframe{display:block;width:100%;max-width:100%;min-height:320px;border:1px solid #eee;background:white}
.subscribe-alt{margin-top:8px;font:13px/1.5 Arial,sans-serif}
.subscribe-alt a{color:#89641f;text-underline-offset:3px}


/* V12: editorial typography — sans-serif for reading/navigation, serif for titles. */
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
.site-name{font-family:Georgia,"Times New Roman",serif}
.nav,.footer-links,.lead,.book-copy .subtitle{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}

/* V12: mobile hero portrait occupies its own row below copy and calls to action.
   The buttons can no longer overlay or cover the figure on narrow screens. */
@media(max-width:700px){
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-inner{order:1;min-height:0;display:block}
  .hero-copy{padding:38px 0 18px}
  .hero-portrait{order:2;position:relative;top:auto;right:auto;bottom:auto;left:auto;display:block;width:100%;height:clamp(285px,82vw,440px);background-size:auto 100%;background-position:center bottom;flex:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 100%)}
  .button-row{margin-top:24px}
}
@media(max-width:420px){
  .hero-copy{padding:32px 0 14px}
  .hero-portrait{height:clamp(280px,92vw,375px);background-size:auto 100%;background-position:center bottom}
}

/* V13: Inter for navigation, reading text, controls and utility labels.
   Preserve the approved Georgia serif typography for headings and site name. */
:root{--font-reading:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{font-family:var(--font-reading)}
.nav,.nav a,.footer-links,.footer-links a,.lead,.book-copy .subtitle,
.overline,.micro,.text-action,.media-kicker,.media-link,.subscribe-alt,
.button,.form-fields label,.form-fields input,.form-fields select,
.form-fields textarea,.form-status,.footer-identity,.footer small,
.footer a,button,input,select,textarea{font-family:var(--font-reading)}
h1,h2,h3,.site-name{font-family:Georgia,"Times New Roman",serif}


/* V14: give the portrait additional vertical clearance on mobile.
   The CTA buttons remain above the image, with a visible gap before the face. */
@media (max-width:700px) {
  .hero-portrait {
    margin-top: 68px;
  }
}
@media (max-width:420px) {
  .hero-portrait {
    margin-top: 76px;
  }
}
