
  :root{
    --ink:#1F2428;
    --ink-soft:#4E575E;
    --navy:#16324F;
    --copper:#A67C2E;
    --line:#E4E1DA;
    --paper:#FFFFFF;
    --wash:#F7F5F0;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
    font-size:23px;
    line-height:1.85;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:920px;margin:0 auto;padding:0 26px;}

  /* ---------- header ---------- */
  header{
    border-bottom:1px solid var(--line);
    padding:22px 0 0;
  }
  .brand{
    display:flex;align-items:center;gap:10px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:20px;font-weight:700;color:var(--navy);
    letter-spacing:.02em;
  }
  .brand .mark{
    display:inline-flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:8px;background:var(--navy);
    color:#F5EFE4;font-size:18px;font-weight:700;
  }
  .brand small{
    font-family:'Segoe UI',system-ui,sans-serif;
    font-size:12.5px;font-weight:400;color:var(--ink-soft);
    letter-spacing:.14em;text-transform:none;margin-left:4px;
  }
  .brandline{
    margin-top:20px;
    height:2px;width:56px;background:var(--copper);
  }

  /* ---------- hero ---------- */
  .hero{padding:56px 0 24px;}
  .hero::after{
    content:"";display:block;height:2px;width:100%;
    background:linear-gradient(90deg,var(--copper),rgba(166,124,46,0));
    border-radius:2px;margin-top:32px;opacity:.6;
  }
  .kicker{
    font-size:14px;font-weight:600;color:var(--copper);
    letter-spacing:.12em;text-transform:none;
  }
  .kicker::before{content:"◆";margin-right:8px;font-size:12px;vertical-align:1px;}
  h1{
    font-family:Georgia,'Times New Roman',serif;
    font-size:55px;line-height:1.14;font-weight:700;
    color:var(--navy);
    margin:14px 0 18px;
    max-width:15em;
  }
  .dek{
    font-size:23px;color:var(--ink-soft);
    max-width:38em;
    font-family:'Segoe UI',system-ui,sans-serif;
  }

  /* ---------- intro pull quote ---------- */
  .intro{
    margin:40px 0 8px;
    padding:0 0 0 26px;
    border-left:3px solid var(--copper);
  }
  .intro p{
    font-family:Georgia,'Times New Roman',serif;
    font-size:25px;line-height:1.65;color:var(--navy);
  }

  /* ---------- body text ---------- */
  .body p{margin:22px 0;color:var(--ink);}
  .body p.lead::first-letter{
    font-family:Georgia,'Times New Roman',serif;
    font-size:50px;font-weight:700;color:var(--copper);
    float:left;line-height:.82;padding-right:10px;padding-top:4px;
  }
  .section{margin-top:58px;}
  .sec-kicker{
    font-size:13.5px;font-weight:600;color:var(--copper);
    letter-spacing:.1em;text-transform:none;
    margin-bottom:10px;
  }
  .sec-kicker::before{content:"◆";margin-right:8px;font-size:11px;vertical-align:1px;}
  h2{
    font-family:Georgia,'Times New Roman',serif;
    font-size:36px;font-weight:700;color:var(--navy);
    margin-bottom:14px;
  }

  /* ---------- figures ---------- */
  figure{margin:36px 0;}
  figure img{
    display:block;width:100%;height:auto;
    border:1px solid var(--line);border-radius:10px;
    box-shadow:0 8px 22px rgba(22,50,79,.10);
    transition:transform .35s ease, box-shadow .35s ease;
  }
  figure img:hover{transform:scale(1.015);box-shadow:0 14px 30px rgba(22,50,79,.18);}
  figure.sixteen img{aspect-ratio:16/9;object-fit:cover;}
  figure.fourthree img{aspect-ratio:4/3;object-fit:cover;}
  figcaption{
    margin-top:12px;font-size:23px;color:var(--ink-soft);
    line-height:1.6;
  }
  figcaption .no{color:var(--copper);font-weight:600;margin-right:6px;}
  .figpair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0;}
  .figpair figure{margin:0;}
  .figpair figcaption{margin-top:10px;}


  /* ---------- closing ---------- */
  .closing{
    margin:64px 0 44px;
    text-align:center;
    padding-top:48px;
  }
  .closing::before{
    content:"";display:block;width:130px;height:3px;
    margin:0 auto 28px;border-radius:2px;
    background:linear-gradient(90deg,transparent,var(--copper),transparent);
  }
  .closing blockquote{
    font-family:Georgia,'Times New Roman',serif;
    font-size:28px;line-height:1.55;color:var(--navy);
    max-width:26em;margin:0 auto;
  }
  .closing .attr{
    margin-top:20px;font-size:16px;color:var(--ink-soft);
    font-family:'Segoe UI',system-ui,sans-serif;
  }

  footer{
    background:var(--navy);
    padding:30px 0 42px;
    font-size:15px;color:#C9D4DC;
    display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;
  }
  footer .f-brand{color:#E8C97A;font-weight:600;font-family:Georgia,serif;letter-spacing:.03em;}

  @media (max-width:640px){
    body{font-size:20px;}
    h1{font-size:38px;}
    .intro p{font-size:22px;}
    h2{font-size:29px;}
    .figpair{grid-template-columns:1fr;}
    .closing blockquote{font-size:24px;}
      }
