  :root{
    --ink:#14213D;        /* deep night blue: headings, footer */
    --marian:#2B4C7E;     /* Marian blue: links, buttons */
    --gold:#B8893B;       /* candle gold: small accents only */
    --gold-soft:#E9D9B4;
    --parchment:#F7F3EA;  /* page background */
    --stone:#ECE5D6;      /* alternate section background */
    --text:#2A2A28;
    --muted:#5E5B54;
    --white:#FFFFFF;
    --apostle:#6B2B2B;    /* nod to APOSTLE World's brand, used only on its card */
    --radius:14px;
    --maxw:1120px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--parchment);color:var(--text);font:400 18px/1.65 "Source Sans 3",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:"Newsreader",Georgia,serif;color:var(--ink);font-weight:500;line-height:1.15;margin:0 0 .5em}
  h1{font-size:clamp(2.3rem,5.2vw,4rem);letter-spacing:-.01em}
  h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
  h3{font-size:1.4rem}
  p{margin:0 0 1em}
  a{color:var(--marian)}
  a:focus-visible,.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{font:600 .8rem/1 "Source Sans 3",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block}
  section{padding:96px 0}
  .alt{background:var(--stone)}

  /* Header */
  header{position:sticky;top:0;z-index:10;background:rgba(247,243,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(20,33,61,.08)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
  .brand-name{font-family:"Newsreader",serif;font-size:1.3rem;font-weight:600;letter-spacing:.04em}
  .brand-name small{font-family:"Source Sans 3",sans-serif;font-weight:500;font-size:.7rem;letter-spacing:.14em;color:var(--muted);margin-left:4px}
  .nav ul{list-style:none;display:flex;gap:28px;margin:0;padding:0}
  .nav ul a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem}
  .nav ul a:hover{color:var(--marian);text-decoration:underline;text-underline-offset:5px}

  /* Hero */
  .hero{padding:88px 0 104px;position:relative;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
  .lede{font-size:1.25rem;color:var(--muted);max-width:34em}
  .btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
  .btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;font-size:1rem;transition:transform .15s,background .15s}
  .btn-primary{background:var(--ink);color:var(--white)}
  .btn-primary:hover{background:var(--marian);transform:translateY(-1px)}
  .btn-ghost{border:1.5px solid var(--ink);color:var(--ink)}
  .btn-ghost:hover{background:var(--white)}
  .arch-art{width:100%;max-width:400px;justify-self:center}

  /* Mission */
  .mission{text-align:center}
  .mission .wrap{max-width:780px}
  .mission p.big{font-family:"Newsreader",serif;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.5;color:var(--ink)}
  .divider{width:56px;height:2px;background:var(--gold);margin:28px auto}

  /* Apps */
  .apps-head{max-width:640px;margin-bottom:48px}
  .apps-grid{display:grid;grid-template-columns:1fr;gap:24px}
  .card{background:var(--white);border-radius:var(--radius);padding:32px;box-shadow:0 1px 2px rgba(20,33,61,.06),0 10px 30px rgba(20,33,61,.06)}
  .card.feature{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;padding:48px}
  .feature-main{display:flex;flex-direction:column}
  .app-line{font-family:"Newsreader",serif;font-size:1.3rem;line-height:1.45;color:var(--ink);margin-bottom:.9em}
  .features ul{list-style:none;margin:0;padding:0}
  .features{margin:0;padding:28px 30px;background:var(--parchment);border-radius:12px;align-self:start}
  .features h4{font:700 .75rem/1 "Source Sans 3",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--apostle);margin:0 0 6px}
  .features li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(20,33,61,.09)}
  .features li:last-child{border-bottom:0;padding-bottom:4px}
  .features svg{flex:none;margin-top:3px}
  .features strong{display:block;color:var(--ink);font-size:1.02rem;line-height:1.35;margin-bottom:3px}
  .features span{color:var(--muted);font-size:.95rem;line-height:1.5}
  .app-top{display:flex;gap:18px;align-items:center;margin-bottom:18px}
  .app-icon{width:72px;height:72px;border-radius:16px;flex:none;display:block;object-fit:cover;box-shadow:0 0 0 1px rgba(20,33,61,.08),0 2px 6px rgba(20,33,61,.08)}
  .app-name{margin:0;font-size:1.75rem}
  .app-sub{color:var(--muted);font-size:.98rem;margin:0}
  .tag{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--apostle);background:#F3E6E3;border-radius:999px;padding:4px 10px;margin-bottom:10px}
  .badges{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 20px}
  .store-badge{display:flex;align-items:center;gap:10px;border:1.5px dashed #9C978C;border-radius:10px;padding:8px 14px;color:var(--muted);font-size:.85rem;line-height:1.2;background:#FAF8F3}
  .store-badge strong{display:block;color:var(--text);font-size:.95rem}
  .app-links{display:flex;flex-wrap:wrap;gap:18px;font-weight:600;font-size:.98rem;margin-top:auto}
  .card.placeholder{background:transparent;box-shadow:none;border:1.5px dashed #B9B2A3;display:flex;gap:24px;align-items:center;padding:28px 32px}
  .ph-icon{width:56px;height:56px;border-radius:14px;border:1.5px dashed #B9B2A3;display:grid;place-items:center;color:#9C978C;font-size:1.6rem;flex:none}
  .placeholder h3{color:var(--muted);margin:4px 0 4px}
  .placeholder p{color:var(--muted);font-size:.98rem;margin:0}
  .ph-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#9C978C}

  /* Approach */
  .values{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px}
  .value svg{margin-bottom:14px}
  .value h3{font-size:1.25rem}
  .value p{color:var(--muted);font-size:1rem}

  /* Privacy */
  .privacy{background:var(--ink);color:#DCE2EC}
  .privacy h2{color:var(--white)}
  .privacy .eyebrow{color:var(--gold-soft)}
  .privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .policy-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
  .policy-list li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  .policy-list .k{color:#fff;font-weight:600}
  .policy-list a{font-weight:600}
  .privacy a{color:var(--gold-soft)}

  /* Contact */
  .contact-card{background:var(--white);border-radius:var(--radius);padding:56px;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;box-shadow:0 10px 30px rgba(20,33,61,.06)}
  .email{font-family:"Newsreader",serif;font-size:clamp(1.3rem,2.6vw,1.9rem);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--gold);word-break:break-word}
  .contact-meta{color:var(--muted);font-size:1rem}
  .contact-meta dt{font-weight:700;color:var(--text);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-top:14px}
  .contact-meta dd{margin:2px 0 0}

  /* Footer */
  footer{background:#0F1930;color:#AEB7C7;padding:56px 0 40px;font-size:.95rem}
  .foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
  footer a{color:#DCE2EC;text-decoration:none}
  footer a:hover{text-decoration:underline}
  .foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px}
  .legal{margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

  /* Responsive */
  @media (max-width:960px){
    .hero-grid,.privacy-grid,.contact-card{grid-template-columns:1fr}
    .arch-art{max-width:300px;order:-1}
    .card.feature{grid-template-columns:1fr;gap:32px;padding:40px}
    .values{grid-template-columns:1fr 1fr}
  }
  @media (max-width:640px){
    body{font-size:17px}
    section{padding:64px 0}
    .hero{padding:48px 0 64px}
    .nav ul{display:none}
    .apps-grid,.values{grid-template-columns:1fr}
    .contact-card{padding:32px 24px}
    .privacy-grid,.contact-card{gap:28px}
    .card,.card.feature{padding:26px}
    .app-name{font-size:1.45rem}
    .features{padding:20px 22px}
    .card.placeholder{flex-direction:column;align-items:flex-start;gap:16px;padding:26px}
    .arch-art{max-width:220px}
    .btn{width:100%;text-align:center}
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

  /* Legal pages (privacy.html, terms.html) */
  .legal-page{padding:72px 0 96px}
  .legal-page .wrap{max-width:780px}
  .legal-page h1{font-size:clamp(2.1rem,4.4vw,3.2rem)}
  .legal-page .updated{color:var(--muted);font-size:.95rem;margin-bottom:2em}
  .legal-page h2{font-size:1.5rem;margin-top:1.8em}
  .legal-page ul{padding-left:1.2em;margin:0 0 1em}
  .legal-page li{margin-bottom:.4em}
  .legal-page .box{background:var(--white);border-radius:var(--radius);padding:44px 48px;box-shadow:0 1px 2px rgba(20,33,61,.06),0 10px 30px rgba(20,33,61,.06)}
  @media (max-width:640px){.legal-page{padding:40px 0 64px}.legal-page .box{padding:28px 22px}}
