/*
Theme Name: BSOS Landing Page
Theme URI: https://bsos.ca
Author: Bridging Strategies
Author URI: https://bridgingstrategies.com
Description: A custom bespoke theme for the BSOS Landing Page to ensure 100% exact styling.
Version: 1.0
Text Domain: bsos-landing
*/

:root{
    --green:#1c3a2d;
    --green-dark:#132a20;
    --gold:#c9a227;
    --gold-light:#e3c766;
    --cream:#faf7f0;
    --ink:#22302a;
    --muted:#5c6b63;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:Calibri,'Segoe UI',Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
  h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px}
  .narrow{max-width:780px;margin:0 auto;padding:0 24px}
  .eyebrow{display:inline-block;color:var(--gold);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
  .eyebrow.on-light{color:var(--green)}
  .btn{display:inline-block;background:var(--gold);color:var(--green-dark);font-weight:700;font-size:1.05rem;padding:16px 38px;border-radius:6px;text-decoration:none;letter-spacing:.02em;transition:transform .15s ease, box-shadow .15s ease}
  .btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .btn.ghost{background:transparent;border:2px solid var(--gold);color:var(--gold-light)}
  .btn.ghost:hover{background:rgba(201,162,39,.12)}
  .btn.outline{background:transparent;border:2px solid var(--green);color:var(--green)}
  .btn-note{font-size:.9rem;margin-top:14px;opacity:.85}
  section{padding:72px 0}
  section h2{font-size:clamp(1.7rem,3.5vw,2.3rem);color:var(--green);margin-bottom:20px}
  section p{font-size:1.06rem;margin-bottom:18px}

  /* Header */
  header{background:#fff;border-bottom:1px solid #e8e4da;position:sticky;top:0;z-index:50}
  .header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1080px;margin:0 auto}
  .header-inner img{height:44px;width:auto}
  .header-brand{font-family:Georgia,serif;display:inline-flex;flex-direction:column;line-height:1.15;border-left:5px solid var(--gold);padding-left:14px}
  .hb-top{color:var(--green);font-size:1.1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
  .hb-bottom{color:var(--gold);font-size:.95rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase}
  .header-cta{background:var(--green);color:#fff;font-weight:700;font-size:.92rem;padding:10px 22px;border-radius:6px;text-decoration:none}
  .header-cta:hover{background:var(--green-dark)}

  /* Hero */
  .hero{background:linear-gradient(160deg,var(--green) 0%,var(--green-dark) 100%);color:#fff;text-align:center;padding:96px 0 88px}
  .hero h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.15;max-width:840px;margin:0 auto 22px}
  .hero .sub{font-size:clamp(1.05rem,2.2vw,1.3rem);max-width:720px;margin:0 auto 8px;color:#e9e5d8}
  .hero .sub strong{color:var(--gold-light)}
  .hero-actions{margin-top:32px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

  /* Stat band */
  .stats{background:var(--cream);border-top:4px solid var(--gold);padding:48px 0}
  .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
  .stat-grid .num{font-family:Georgia,serif;font-size:2.6rem;color:var(--green);font-weight:700}
  .stat-grid p{font-size:.9rem;color:var(--muted);margin-top:6px}
  @media(max-width:760px){.stat-grid{grid-template-columns:repeat(2,1fr)}}

  /* Quote band */
  .quote-band{background:var(--green);color:#fff;text-align:center;padding:64px 24px}
  .quote-band blockquote{font-family:Georgia,serif;font-size:clamp(1.5rem,3.5vw,2.2rem);line-height:1.3;max-width:800px;margin:0 auto}
  .quote-band blockquote span{color:var(--gold-light)}
  .quote-band cite{display:block;margin-top:18px;font-style:normal;font-size:1rem;color:#cfc9b8}

  /* Learn */
  .learn h2{text-align:center;margin-bottom:12px}
  .learn .lead{text-align:center;color:var(--muted);max-width:680px;margin:0 auto 44px}
  .learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
  .learn-card{background:var(--cream);border-left:5px solid var(--gold);border-radius:6px;padding:26px 28px}
  .learn-card h3{color:var(--green);font-size:1.15rem;margin-bottom:8px}
  .learn-card p{font-size:.98rem;margin-bottom:0}
  @media(max-width:760px){.learn-grid{grid-template-columns:1fr}}

  /* Definition */
  .define{background:var(--cream)}
  .define-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:34px}
  .define-card{background:#fff;border:1px solid #e5e0d2;border-radius:8px;padding:30px 32px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
  .define-card.highlight{border:2px solid var(--gold)}
  .define-card h3{color:var(--green);font-size:1.25rem;margin-bottom:12px}
  .define-card.plain h3{color:var(--muted)}
  .define-card p{font-size:1rem;margin-bottom:0}
  @media(max-width:760px){.define-grid{grid-template-columns:1fr}}
  .anchor{font-family:Georgia,serif;font-size:1.3rem;color:var(--green);border-left:5px solid var(--gold);padding-left:18px;margin:28px 0 0}

  /* CALM cards */
  .calm h2{text-align:center;margin-bottom:12px}
  .calm .lead{text-align:center;color:var(--muted);max-width:620px;margin:0 auto 44px}
  .calm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .calm-card{background:var(--green);color:#fff;border-radius:8px;padding:28px 22px;text-align:center}
  .calm-card .letter{font-family:Georgia,serif;font-size:2.4rem;color:var(--gold-light);font-weight:700}
  .calm-card h3{font-size:1.1rem;margin:6px 0 10px}
  .calm-card p{font-size:.88rem;color:#d9d4c4;margin-bottom:0}
  .calm .thread{text-align:center;font-family:Georgia,serif;font-size:1.15rem;color:var(--green);margin-top:36px}
  @media(max-width:820px){.calm-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.calm-grid{grid-template-columns:1fr}}

  /* Evidence */
  .evidence{background:var(--cream)}
  .evidence .sources{font-size:.85rem;color:var(--muted);margin-top:24px}

  /* Pollination */
  .pol-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin:36px auto;max-width:1080px;padding:0 24px;box-sizing:border-box}
  .flow-card{background:var(--green);color:#fff;border-radius:8px;padding:26px;text-align:center}
  .flow-card h3{color:var(--gold-light);font-size:1.05rem;margin-bottom:10px}
  .flow-card p{font-size:.95rem;color:#d9d4c4;margin-bottom:0}
  .flow-arrows{font-size:2rem;color:var(--gold);text-align:center;line-height:1.2}
  @media(max-width:700px){.pol-flow{grid-template-columns:1fr}.flow-arrows{transform:rotate(90deg)}}

  /* Signs */
  .signs{background:var(--cream)}
  .signs ol{max-width:760px;margin:8px 0 0;padding-left:0;list-style:none;counter-reset:sign}
  .signs li{counter-increment:sign;display:flex;gap:20px;align-items:flex-start;padding:18px 0;border-bottom:1px solid #e5e0d2;font-size:1.04rem}
  .signs li:last-child{border-bottom:none}
  .signs li::before{content:counter(sign);flex:0 0 44px;height:44px;border-radius:50%;background:var(--green);color:var(--gold-light);font-family:Georgia,serif;font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
  .cta-strip{background:#fff;border-top:1px solid #e5e0d2;padding:44px 24px;text-align:center}
  .cta-strip h3{font-family:Georgia,serif;color:var(--green);font-size:1.4rem;margin-bottom:10px}
  .cta-strip p{max-width:620px;margin:0 auto 22px;color:var(--muted)}

  /* Solution with photo */
  .framework-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
  .section-img{width:100%;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.12);display:block}
  @media(max-width:860px){.framework-grid{grid-template-columns:1fr}}

  /* CALM System */
  .system{background:var(--cream)}
  .sys-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
  .sys-card{background:#fff;border:1px solid #e5e0d2;border-radius:8px;padding:22px 24px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
  .sys-card h3{color:var(--green);font-size:1.02rem;margin-bottom:6px}
  .sys-card p{font-size:.92rem;color:var(--muted);margin-bottom:0}
  @media(max-width:860px){.sys-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.sys-grid{grid-template-columns:1fr}}
  .system h3.books-head{font-family:Georgia,serif;color:var(--green);font-size:1.5rem;margin:54px 0 8px;text-align:center}
  .system .books-lead{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 36px}
  .book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:900px;margin:0 auto}
  .book-card{background:#fff;border:1px solid #e5e0d2;border-radius:8px;padding:22px;text-align:center;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(0,0,0,.04)}
  .book-card img{width:100%;max-width:180px;margin:0 auto 16px;border-radius:4px}
  .book-card h4{font-family:Georgia,serif;color:var(--green);font-size:1rem;margin-bottom:8px}
  .book-card p{font-size:.88rem;color:var(--muted);flex:1;margin-bottom:14px}
  .book-card a{color:var(--green);font-weight:700;font-size:.9rem;text-decoration:none;border-bottom:2px solid var(--gold)}
  @media(max-width:860px){.book-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.book-grid{grid-template-columns:1fr}}
  .system .sys-cta{text-align:center;margin-top:44px}

  /* Strategy */
  .strategy{background:var(--green);color:#fff}
  .strategy h2{color:#fff}
  .strategy .lead-in{color:#e9e5d8;max-width:780px}
  .strat-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px}
  .strat-card{background:rgba(255,255,255,.06);border-left:4px solid var(--gold);border-radius:6px;padding:24px 26px}
  .strat-card h3{color:var(--gold-light);font-size:1.1rem;margin-bottom:8px}
  .strat-card p{font-size:.96rem;color:#d9d4c4;margin-bottom:0}
  @media(max-width:760px){.strat-grid{grid-template-columns:1fr}}

  /* Researcher */
  .presenter .inner{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:center}
  .portrait{width:240px;height:240px;border-radius:50%;object-fit:cover;object-position:top;border:6px solid var(--gold);box-shadow:0 6px 24px rgba(0,0,0,.15)}
  @media(max-width:760px){.presenter .inner{grid-template-columns:1fr;text-align:center}.portrait{margin:0 auto}}
  .presenter-links{margin-top:20px;display:flex;gap:14px;flex-wrap:wrap}
  .presenter-links a{display:inline-block;border:2px solid var(--green);color:var(--green);font-weight:700;font-size:.9rem;padding:9px 20px;border-radius:6px;text-decoration:none;transition:background .15s ease, color .15s ease}
  .presenter-links a:hover{background:var(--green);color:#fff}
  @media(max-width:760px){.presenter-links{justify-content:center}}
  .next{background:#fff}
  .next h2{text-align:center}
  .next .lead{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 40px}
  .next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1040px;margin:0 auto}
  .next-card{background:var(--cream);border-top:5px solid var(--gold);border-radius:8px;padding:30px 28px;display:flex;flex-direction:column}
  .next-card h3{color:var(--green);font-size:1.2rem;margin-bottom:12px}
  .next-card p{font-size:.98rem;flex:1}
  .next-card .btn{align-self:flex-start;font-size:.95rem;padding:13px 26px}
  @media(max-width:860px){.next-grid{grid-template-columns:1fr}}

  /* Final */
  .final{background:linear-gradient(160deg,var(--green) 0%,var(--green-dark) 100%);color:#fff;text-align:center;padding:88px 24px}
  .final h2{font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.6rem);max-width:780px;margin:0 auto 18px;color:#fff}
  .final p{max-width:600px;margin:0 auto 34px;color:#e9e5d8;font-size:1.1rem}

  footer{background:var(--green-dark);color:#b9c2bc;padding:44px 24px;font-size:.9rem}
  .footer-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center}
  footer a{color:var(--gold-light);text-decoration:none}
  .footer-brand{font-family:Georgia,serif;color:#fff;font-size:1.05rem;letter-spacing:.12em}

/* WordPress Generic Page Styles & Menu */
.page-content { padding: 96px 0; min-height: 50vh; }
.page-content h1 { font-size: clamp(2.1rem, 5vw, 3rem); color: var(--green); margin-bottom: 24px; }
.entry-content p { margin-bottom: 20px; font-size: 1.1rem; }

.primary-nav ul { list-style: none; display: flex; gap: 28px; margin: 0; padding: 0; align-items: center; }
.primary-nav a { text-decoration: none; color: var(--ink); font-size: 1rem; font-weight: 600; transition: color 0.15s ease; }
.primary-nav a:hover { color: var(--green); }
@media (max-width: 860px) {
    .primary-nav { display: none; } /* Simple hide on mobile for now */
}
