*{margin:0;padding:0;box-sizing:border-box;}
  body{background:#F4EFE3;color:#1a1610;font-family:'Inter Tight',-apple-system,sans-serif;line-height:1.7;overflow-x:hidden;}
  :root{--cream:#F4EFE3;--cream2:#FBF7EC;--paper:#FFF;--ink:#1a1610;--ink3:#5a5048;--muted:#888780;--rule:#C8C0B0;--rule-soft:#E0D9CB;--oxblood:#7A1F2B;--serif:'Source Serif 4',Georgia,serif;}
  a{pointer-events:auto;}
  .wrap{max-width:760px;margin:0 auto;padding:0 40px;}

  /* nav */
  nav{border-bottom:1px solid var(--rule-soft);background:var(--cream);position:relative;}
  .nav-inner{max-width:1040px;margin:0 auto;padding:16px 40px;display:flex;justify-content:space-between;align-items:center;gap:28px;}
  .nav-brand{font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--ink);text-decoration:none;}
  .nav-brand em{color:var(--oxblood);font-style:normal;}
  .nav-links{display:flex;gap:26px;flex-wrap:wrap;}
  .nav-link{font-size:13.5px;color:var(--ink3);text-decoration:none;transition:color .15s;white-space:nowrap;}
  .nav-link:hover{color:var(--oxblood);}
  .nav-cta{font-size:13px;color:var(--oxblood);text-decoration:none;font-weight:600;border:1px solid var(--oxblood);padding:6px 14px;border-radius:3px;transition:all .15s;white-space:nowrap;}
  .nav-cta:hover{background:var(--oxblood);color:var(--cream);}

  /* hero */
  header.hero{padding:80px 0 56px;}
  .kicker{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--oxblood);margin-bottom:24px;}
  h1{font-family:var(--serif);font-size:clamp(34px,6vw,62px);line-height:1.08;letter-spacing:-.02em;color:var(--ink);font-weight:400;margin-bottom:10px;}
  .tm{font-size:.4em;vertical-align:super;color:var(--oxblood);font-weight:400;}
  .abbr-line{font-size:14px;color:var(--muted);letter-spacing:.02em;margin-bottom:32px;font-style:italic;font-family:var(--serif);}
  .abbr-line strong{color:var(--ink);font-style:normal;font-weight:400;}
  .standfirst{font-family:var(--serif);font-size:clamp(18px,2.4vw,25px);line-height:1.5;color:var(--ink3);font-weight:300;font-style:italic;margin-bottom:8px;}
  .standfirst strong{color:var(--ink);font-weight:400;font-style:normal;}

  /* sections */
  section{padding:8px 0 40px;}
  h2{font-family:var(--serif);font-size:clamp(23px,3.2vw,33px);letter-spacing:-.01em;color:var(--ink);font-weight:400;margin:44px 0 16px;}
  h3{font-family:var(--serif);font-size:19px;color:var(--oxblood);font-weight:600;margin:28px 0 8px;}
  p{font-size:16px;color:var(--ink3);margin-bottom:18px;}
  p strong{color:var(--ink);font-weight:500;}
  a.inline{color:var(--oxblood);text-decoration:none;border-bottom:1px solid rgba(122,31,43,.28);}
  a.inline:hover{border-bottom-color:var(--oxblood);}
  .rule{height:1px;background:var(--rule-soft);margin:8px 0;}

  /* the two-things definition block */
  .defblock{background:var(--cream2);border-left:3px solid var(--oxblood);border-radius:0 4px 4px 0;padding:26px 30px;margin:36px 0;}
  .defblock p{margin:0 0 12px;font-size:16px;color:var(--ink);}
  .defblock p:last-child{margin-bottom:0;}
  .defblock .term{font-family:var(--serif);color:var(--oxblood);font-weight:600;}

  /* elements grid */
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--rule-soft);border:1px solid var(--rule-soft);border-radius:4px;overflow:hidden;margin:24px 0;}
  .cell{background:var(--paper);padding:18px 20px;}
  .cell-name{font-family:var(--serif);font-size:17px;color:var(--oxblood);margin-bottom:5px;}
  .cell-desc{font-size:13.5px;color:var(--ink3);line-height:1.55;}

  /* onward CTA to ptoda.org */
  .onward{background:var(--ink);color:var(--cream);border-radius:6px;padding:40px 36px;margin:52px 0 20px;}
  .onward .kicker{color:#C98A93;}
  .onward h2{color:var(--cream);margin-top:0;}
  .onward p{color:#D9D1C4;}
  .onward a.btn{display:inline-block;margin-top:10px;background:var(--oxblood);color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:13px 26px;border-radius:4px;transition:background .15s;}
  .onward a.btn:hover{background:#94303d;}

  /* footer */
  footer{border-top:1px solid var(--rule-soft);margin-top:40px;padding:36px 0 56px;}
  .f-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
  .f-brand{font-family:var(--serif);font-size:14px;font-weight:700;color:var(--ink);}
  .f-brand em{color:var(--oxblood);font-style:normal;}
  .f-links{display:flex;gap:20px;flex-wrap:wrap;}
  .f-links a{font-size:13px;color:var(--ink3);text-decoration:none;}
  .f-links a:hover{color:var(--oxblood);}
  .f-abbr{font-size:13px;color:var(--ink);margin-bottom:8px;}
  .f-abbr strong{color:var(--oxblood);}
  .f-copy{font-size:12px;color:var(--muted);line-height:1.7;}

  /* tablet */
  @media(max-width:900px){
    .nav-inner{max-width:100%;padding:14px 28px;gap:18px;}
    .nav-links{gap:18px;}
    .nav-link{font-size:13px;}
  }
  /* small tablet / large phone: drop inline nav links, keep brand + CTA */
  @media(max-width:760px){
    .nav-links{display:none;}
    .nav-inner{justify-content:space-between;}
    .wrap,.page-wrap{padding:0 24px;}
  }
  /* phone */
  @media(max-width:600px){
    header.hero{padding:48px 0 36px;}
    .sub-hero{padding:44px 0 26px;}
    .onward{padding:30px 24px;}
    .grid{grid-template-columns:1fr;}
    .author-card{flex-direction:column;align-items:flex-start;gap:10px;}
    h1{font-size:clamp(30px,8vw,42px);}
  }
  /* large screens: a touch more presence, never a ribbon */
  @media(min-width:1100px){
    .nav-inner{max-width:1100px;}
  }

  /* --- shared additions for sub-pages --- */
  .page-wrap{max-width:760px;margin:0 auto;padding:0 40px;}
  .sub-hero{padding:64px 0 32px;}
  .breadcrumb{font-size:12px;color:var(--muted);margin-bottom:18px;letter-spacing:.04em;}
  .breadcrumb a{color:var(--oxblood);text-decoration:none;}
  .faq-item{border-top:1px solid var(--rule-soft);padding:22px 0;}
  .faq-item:last-child{border-bottom:1px solid var(--rule-soft);}
  .faq-q{font-family:var(--serif);font-size:19px;color:var(--ink);margin-bottom:8px;font-weight:600;}
  .faq-a{font-size:16px;color:var(--ink3);}
  .faq-a a{color:var(--oxblood);text-decoration:none;border-bottom:1px solid rgba(122,31,43,.28);}
  .cite-box{background:var(--cream2);border-left:3px solid var(--oxblood);border-radius:0 4px 4px 0;padding:20px 24px;margin:22px 0;font-family:var(--serif);font-size:15px;color:var(--ink);line-height:1.6;}
  .author-card{display:flex;align-items:center;gap:16px;background:var(--cream2);border:1px solid var(--rule-soft);border-radius:6px;padding:20px 24px;margin:32px 0;}
  .author-card .ac-name{font-family:var(--serif);font-size:17px;color:var(--ink);font-weight:600;}
  .author-card .ac-role{font-size:13px;color:var(--muted);}
  .author-card .ac-links{margin-top:4px;}
  .author-card .ac-links a{font-size:13px;color:var(--oxblood);text-decoration:none;margin-right:14px;}
