/*
Theme Name: The Owner's Almanac
Theme URI: https://theownersalmanac.com
Author: Kevin Doherty
Description: Custom publication theme for The Owner's Almanac — a daily forecast for business owners navigating the AI era.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: owners-almanac
*/

:root{
  --navy:#1E2A57; --navy-deep:#16203F; --gold:#C9A258; --gold-soft:#E3CD9A;
  --cream:#FFFFFF; --paper:#FDFBF6; --ink:#2B2B28; --ink-soft:#565550;
  --display:'Playfair Display', Georgia, serif;
  --body:'Spectral', Georgia, serif;
  --utility:'Space Grotesk', 'Helvetica Neue', sans-serif;
}
*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.032'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); color:var(--ink); font-family:var(--body); font-size:18px; line-height:1.65;}
img,svg{display:block; max-width:100%; height:auto;}
a{color:var(--navy);}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
.label{font-family:var(--utility); font-size:15px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:500;}

/* Almanac double-rule page border */
.page-rule{border-top:3px solid var(--navy);}
.page-rule::after{content:""; display:block; height:1px; background:var(--gold); margin-top:3px;}

/* Top bar + nav */
.mast-bar{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; font-family:var(--utility); font-size:15px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); flex-wrap:wrap;}
.mast-bar .star{color:var(--gold); font-size:17px;}
.mast-nav{display:flex; gap:24px;}
.mast-nav a{text-decoration:none; color:var(--ink-soft);}
.mast-nav a:hover{color:var(--navy); border-bottom:2px solid var(--gold);}
.mast-nav ul{display:flex; gap:24px; list-style:none;}

/* Masthead nameplate */
.masthead{display:flex; align-items:center; justify-content:center; gap:34px; padding:26px 0 14px;}
.mast-tag{text-align:center; font-family:var(--utility); font-size:13px; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-soft); padding:0 0 16px; border-bottom:1px solid rgba(30,42,87,.18);}
.mast-tag b{color:var(--gold); font-weight:500;}
.masthead .crest{width:clamp(96px,11vw,124px); flex-shrink:0;}
.mast-text{text-align:left;}
.masthead .the{font-family:var(--utility); color:var(--gold); letter-spacing:.55em; font-size:14px; font-weight:500;}
.masthead .site-title{font-family:var(--display); color:var(--navy); font-weight:700; font-size:clamp(40px,5.6vw,66px); line-height:1.02; margin:6px 0 2px;}
.masthead .site-title a{color:inherit; text-decoration:none;}
.masthead .apos{display:inline-block; width:.26em; height:.30em; vertical-align:.54em; margin:0 .03em;}
.masthead .apos svg{display:block; width:100%; height:100%;}
.masthead .alm{font-family:var(--utility); color:var(--gold); letter-spacing:.5em; font-size:clamp(13px,1.8vw,19px); font-weight:500; margin-top:6px;}
@media (max-width:560px){ .masthead{flex-direction:column; gap:14px;} .mast-text{text-align:center;} }

/* Hero */
.hero{padding:56px 0 22px; text-align:center; position:relative;}
.hero::before{content:""; position:absolute; left:0; right:0; top:-60px; height:420px; background:radial-gradient(ellipse 68% 60% at 50% 0%, rgba(201,162,88,.06), transparent 72%); pointer-events:none; z-index:-1;}
.hero .eyebrow{margin-bottom:18px;}
.hero h1{font-family:var(--display); color:var(--navy); font-size:clamp(32px,4.4vw,52px); line-height:1.14; font-weight:600; max-width:840px; margin:0 auto;}
.hero .tagline{margin-top:18px; letter-spacing:.18em;}
.hero p.sub{font-size:21px; color:var(--ink); max-width:680px; margin:22px auto 0;}
form.signup{display:flex; gap:12px; justify-content:center; max-width:560px; margin:34px auto 0; flex-wrap:wrap;}
form.signup input[type=email]{flex:1 1 300px; font-family:var(--body); font-size:17px; padding:16px 18px; border:2px solid var(--navy); background:var(--paper); color:var(--ink); border-radius:2px;}
form.signup input[type=email]:focus{outline:3px solid var(--gold); outline-offset:2px;}
form.signup button{font-family:var(--utility); font-size:16px; letter-spacing:.06em; padding:16px 28px; background:var(--navy); color:var(--cream); border:2px solid var(--navy); border-radius:2px; cursor:pointer; transition:background .18s, color .18s;}
form.signup button:hover{background:var(--gold); border-color:var(--gold); color:var(--navy-deep);}
form.signup button:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
.trust{font-family:var(--utility); font-size:15px; letter-spacing:.05em; color:var(--ink-soft); margin-top:16px;}
.trust b{color:var(--navy); font-weight:500;}
.confirm{display:none; font-size:18px; color:var(--navy); background:var(--paper); border:1px solid var(--gold); padding:14px 20px; max-width:560px; margin:20px auto 0; border-radius:2px;}

/* Issue card (homepage latest + single posts) */
.sample{padding:64px 0 30px;}
.section-head{text-align:center; margin-bottom:38px;}
.section-head h2{font-family:var(--display); font-size:clamp(30px,3.6vw,42px); color:var(--navy); font-weight:600; margin-top:10px;}
.section-head p{max-width:620px; margin:14px auto 0; color:var(--ink-soft);}
.issue{background:var(--paper); border:1px solid rgba(30,42,87,.25); box-shadow:0 1px 0 var(--gold), 0 14px 34px rgba(30,42,87,.08); max-width:820px; margin:0 auto; padding:46px 52px 40px; position:relative;}
.issue::before{content:""; position:absolute; inset:10px; border:1px solid rgba(201,162,88,.45); pointer-events:none;}
.issue .dateline{font-family:var(--utility); font-size:15px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); text-align:center; margin-bottom:26px;}
.issue .kicker{font-family:var(--utility); font-size:15px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; display:flex; align-items:center; gap:10px;}
.issue .kicker::after{content:""; height:1px; background:rgba(201,162,88,.4); flex:1;}
.issue .signal, .issue h1.signal{font-family:var(--display); font-size:clamp(24px,3vw,31px); line-height:1.25; color:var(--navy); font-weight:600;}
.issue .signal a{color:inherit; text-decoration:none;}
.issue p{font-size:17.5px; margin-bottom:16px;}
.issue-body h3{font-family:var(--utility); font-size:15px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:26px 0 8px; display:flex; align-items:center; gap:10px;}
.issue-body h3::after{content:""; height:1px; background:rgba(201,162,88,.4); flex:1;}
.issue-body h2{font-family:var(--display); font-size:24px; color:var(--navy); margin:26px 0 10px;}
.issue-body ul, .issue-body ol{margin:0 0 16px 22px;}
.issue-body blockquote{background:#F8F3EA; border-left:3px solid var(--gold); padding:16px 20px; margin-bottom:16px;}
.issue-body a{color:var(--navy); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px;}
.issue .readmore{text-align:center; margin-top:14px;}
.issue .readmore a{font-family:var(--utility); font-size:16px; letter-spacing:.05em; color:var(--navy); text-decoration:none; border-bottom:2px solid var(--gold);}

/* Conditions gauges */
.conditions{margin:64px 0 0; background:var(--navy); color:var(--cream); padding:44px 0 40px; border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);}
.conditions .head{display:flex; align-items:center; gap:16px; justify-content:center; margin-bottom:34px;}
.conditions .head .rule{height:1px; background:rgba(201,162,88,.5); flex:0 1 120px;}
.gauges{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:920px; margin:0 auto;}
.gauge{text-align:center; padding:0 10px;}
.gauge svg{margin:0 auto 10px; width:150px; height:88px;}
.gauge .g-arc{stroke:rgba(248,241,231,.22); stroke-width:8; fill:none;}
.gauge .g-fill{stroke:var(--gold); stroke-width:8; fill:none; stroke-linecap:round;}
.gauge .g-needle{stroke:var(--cream); stroke-width:3.5; stroke-linecap:round; transform-origin:75px 80px;}
.gauge h3{font-family:var(--display); font-size:23px; font-weight:600; color:var(--gold-soft); margin-bottom:6px;}
.gauge p{font-size:16.5px; color:rgba(248,241,231,.85); line-height:1.5;}
.conditions .foot{text-align:center; font-family:var(--utility); font-size:15px; letter-spacing:.1em; color:rgba(248,241,231,.6); margin-top:32px; text-transform:uppercase;}

/* Format grid */
.format{padding:70px 0 76px;}
.fives{display:grid; grid-template-columns:repeat(5,1fr); gap:2px; background:rgba(30,42,87,.2); border:1px solid rgba(30,42,87,.2); max-width:1020px; margin:0 auto;}
.five{background:var(--paper); padding:26px 20px 28px; transition:transform .18s;}
.five:hover{transform:translateY(-4px);}
.five .glyph{color:var(--gold); font-size:22px; margin-bottom:12px; font-family:var(--utility);}
.five h3{font-family:var(--display); font-size:20px; color:var(--navy); font-weight:600; line-height:1.25; margin-bottom:8px;}
.five p{font-size:16px; color:var(--ink-soft); line-height:1.55;}

/* Founder */
.founder{background:var(--navy-deep); color:var(--cream); padding:80px 0; border-top:3px solid var(--gold);}
.founder .inner{max-width:760px; margin:0 auto; display:grid; grid-template-columns:120px 1fr; gap:38px; align-items:start;}
.founder .emblem{width:120px;}
.founder h2{font-family:var(--display); font-size:clamp(28px,3.4vw,38px); color:var(--gold-soft); font-weight:600; margin-bottom:18px;}
.founder p{font-size:18px; color:rgba(248,241,231,.92); margin-bottom:16px;}
.founder .sig{font-family:var(--display); font-style:italic; font-size:20px; color:var(--gold); margin-top:6px;}
@media (max-width:860px){
  .gauges{grid-template-columns:1fr; gap:36px;}
  .fives{grid-template-columns:1fr 1fr;}
  .founder .inner{grid-template-columns:1fr;}
  .founder .emblem, .founder .founder-photo{margin:0 auto;}
  .issue{padding:36px 26px 34px;}
}
@media (max-width:520px){ .fives{grid-template-columns:1fr;} }

/* Final CTA */
.final{padding:84px 0 90px; text-align:center;}
.final h2{font-family:var(--display); font-size:clamp(30px,4vw,46px); color:var(--navy); font-weight:600;}
.final p{max-width:560px; margin:16px auto 0; font-size:20px;}

/* Archive list */
.archive-list{max-width:820px; margin:0 auto; padding:56px 0 80px;}
.archive-list .page-title{font-family:var(--display); font-size:clamp(30px,4vw,44px); color:var(--navy); font-weight:600; text-align:center; margin-bottom:8px;}
.archive-list .page-sub{text-align:center; color:var(--ink-soft); margin-bottom:44px;}
.entry-row{display:flex; gap:26px; align-items:baseline; padding:22px 4px; border-bottom:1px solid rgba(30,42,87,.16);}
.entry-row .date{font-family:var(--utility); font-size:15px; letter-spacing:.08em; color:var(--ink-soft); flex:0 0 130px; text-transform:uppercase;}
.entry-row h2{font-family:var(--display); font-size:23px; font-weight:600; line-height:1.3;}
.entry-row h2 a{color:var(--navy); text-decoration:none;}
.entry-row h2 a:hover{border-bottom:2px solid var(--gold);}
@media (max-width:560px){ .entry-row{flex-direction:column; gap:6px;} }

/* Pages (About, etc.) */
.page-prose{max-width:720px; margin:0 auto; padding:56px 0 90px; font-size:20px; line-height:1.72;}
.page-prose h1{font-family:var(--display); font-size:clamp(30px,4vw,44px); color:var(--navy); font-weight:600; margin-bottom:24px;}
.page-prose h2{font-family:var(--display); font-size:26px; color:var(--navy); margin:30px 0 12px;}
.page-prose p{margin-bottom:16px;}

/* Single issue */
.single-issue{padding:56px 0 80px;}
.post-nav{display:flex; justify-content:space-between; max-width:820px; margin:26px auto 0; font-family:var(--utility); font-size:15px;}
.post-nav a{text-decoration:none; color:var(--navy); border-bottom:2px solid var(--gold);}

/* Footer */
.site-footer{border-top:3px solid var(--navy); padding:26px 0 40px;}
.site-footer::before{content:""; display:block; height:1px; background:var(--gold); margin-top:-23px; margin-bottom:26px;}
.foot-row{display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap;}
.foot-brand{font-family:var(--display); color:var(--navy); font-size:19px; font-weight:600;}
.foot-brand .apos-sm{display:inline-block; width:.26em; height:.30em; vertical-align:.5em; margin:0 .02em;}
.foot-brand .apos-sm svg{display:block; width:100%; height:100%;}
.foot-links{display:flex; gap:26px; font-family:var(--utility); font-size:15px; letter-spacing:.05em;}
.foot-links a{text-decoration:none; color:var(--ink-soft);}
.foot-links a:hover{color:var(--navy);}
.disclosure{font-size:15px; color:var(--ink-soft); margin-top:18px; max-width:640px;}

/* Reveal choreography */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  .five{transition:none;}
  html{scroll-behavior:auto;}
}


/* Form microcopy + promise section */
.form-lead{font-size:19px; color:var(--ink); max-width:600px; margin:30px auto -16px; font-weight:500; text-align:center;}
.promise{padding:64px 0 8px;}
.promise .inner{max-width:720px; margin:0 auto;}
.promise .label{display:block; text-align:center; margin-bottom:28px;}
.promise p{font-size:20px; line-height:1.75; margin-bottom:22px;}
.promise p:first-of-type::first-letter{font-family:var(--display); font-size:64px; line-height:.86; color:var(--gold); float:left; padding:8px 12px 0 0; font-weight:600;}

/* Kartra embed + CTA buttons */
.kartra-wrap{max-width:560px; margin:30px auto 0;}
.cta-btn-row{margin-top:30px; text-align:center;}
.btn-like{display:inline-block; font-family:var(--utility); font-size:16px; letter-spacing:.06em; padding:16px 32px; background:var(--navy); color:var(--cream); border:2px solid var(--navy); border-radius:2px; text-decoration:none; transition:background .18s, color .18s;}
.btn-like:hover{background:var(--gold); border-color:var(--gold); color:var(--navy-deep);}

/* Founder photo */
.founder .founder-photo{width:120px; height:120px; object-fit:cover; border-radius:50%; border:3px solid var(--gold); box-shadow:0 0 0 6px rgba(201,162,88,.25);}
