/* Grammar of Meaning — house stylesheet (gom.css) v1
   Field Notes skeleton x Living Garden skin. Locked 2026-07-02.
   Load ALSO in each page <head>: the Google Fonts link (Newsreader + Inter + IBM Plex Mono). */

:root{
    /* ---- GROUNDS (Garden skin) ---- */
    --paper:#FCFBF7;        /* herbarium rag paper — warm ground */
    --paper-2:#EFE7D3;      /* recessed card / panel ground */
    --paper-3:#FFFFFF;      /* raised plate ground */
    --rule:#C9BE9F;         /* hairline rules on paper (Swiss separators) */
    --rule-soft:rgba(110,123,58,.26);

    /* ---- INK (Garden — no near-black) ---- */
    --ink:#24302A;          /* deep pine ink — body text */
    --ink-2:#52605A;        /* secondary text */
    --ink-3:#7C8478;        /* captions / metadata */

    /* ---- LIVING GREENS ---- */
    --fern:#3F7D57;         /* luminous fern — primary accent */
    --moss:#2C4A38;         /* moss — headlines / dark grounds */
    --sage:#8AA88B;         /* sage — soft supporting fills */
    --olive:#6E7B3A;        /* olive — botanical linework / diagram spine */

    /* ---- WARM COUNTER-ACCENTS ---- */
    --terracotta:#C4602F;   /* soil — the pop; outcome edge / signal */
    --honey:#E0A93B;        /* honey gold — seed-node / bloom highlight */

    --maxw:920px;
    --grid:8px;
    --serif:'Newsreader',Georgia,serif;
    --sans:'Inter',system-ui,sans-serif;
    --mono:'IBM Plex Mono',ui-monospace,monospace;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:var(--sans);font-size:16px;line-height:1.62;
    -webkit-font-smoothing:antialiased;
    /* Garden rag-paper grain, CSS only */
    background-image:
      radial-gradient(circle at 16% 10%, rgba(224,169,59,.05), transparent 42%),
      radial-gradient(circle at 84% 82%, rgba(63,125,87,.055), transparent 46%),
      repeating-linear-gradient(0deg, rgba(110,123,58,.014) 0 2px, transparent 2px 5px),
      repeating-linear-gradient(90deg, rgba(196,96,47,.011) 0 3px, transparent 3px 7px);
    background-attachment:fixed;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  a{color:var(--fern);text-decoration:none}
  a:hover{text-decoration:underline;text-underline-offset:3px}

  /* ---------- TYPE SCALE ---------- */
  h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-0.01em;color:var(--moss);margin:0}
  .label{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:0.035em;text-transform:none;color:var(--terracotta)}
  .label-mute{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:0.035em;text-transform:none;color:var(--ink-3)}

  /* ---------- SECTION FRAME (Swiss) ---------- */
  section{padding:60px 0;border-top:1px solid var(--rule)}
  .sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:26px}
  .sec-num{font-family:var(--mono);font-size:12px;color:var(--terracotta);font-weight:600}
  .sec-title{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:0.035em;text-transform:none;color:var(--ink-2)}
  .sec-line{flex:1;height:1px;background:var(--rule);align-self:center}
  .rationale{font-size:15px;color:var(--ink-2);line-height:1.62;margin-top:6px}
  .rationale b{color:var(--ink)}

  /* ---------- reading-time chip ---------- */
  .rt-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;font-weight:500;
    letter-spacing:0.04em;color:var(--ink-2);background:var(--paper-3);border:1px solid var(--rule);
    border-radius:999px;padding:4px 11px}
  .rt-chip .leaf{width:11px;height:11px;flex:0 0 auto}

  /* ---------- NAV ---------- */
  .topbar{position:sticky;top:0;z-index:50;background:rgba(252,251,247,0.92);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--rule)}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:58px;max-width:1120px}
  .brandmark{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:-0.01em;color:var(--moss)}
  .brandmark .mark{width:22px;height:22px;flex:0 0 auto}
  .nav{display:flex;gap:4px}
  .nav a{font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--ink-2);padding:6px 10px;border-radius:4px;border-bottom:2px solid transparent}
  .nav a:hover{background:var(--paper-2);color:var(--moss);text-decoration:none}
  .nav a.active{color:var(--moss);border-bottom-color:var(--honey)}
  /* far-right external CTA (Substack) — separated from the internal nav group */
  .nav a.nav-out{margin-left:10px;padding-left:15px;border-left:1px solid var(--rule);color:var(--fern);font-weight:600}
  .nav a.nav-out:hover{color:var(--moss);background:transparent}


  /* ---------- HERO ---------- */
  .hero{padding:84px 0 68px;border-top:none;position:relative;overflow:hidden;
    background:var(--paper)}
  .hero-grid{position:absolute;inset:0;pointer-events:none;
    background-image:linear-gradient(90deg,var(--rule) 1px,transparent 1px);
    background-size:calc(100%/12) 100%;opacity:0.32;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000 60%,transparent);
            mask-image:linear-gradient(180deg,transparent,#000 40%,#000 60%,transparent)}
  .hero .watermark{position:absolute;right:-30px;bottom:-70px;width:330px;height:330px;z-index:1;opacity:.18;pointer-events:none}
  .hero .wrap{position:relative;z-index:2}
  .kicker{font-family:var(--mono);font-size:12px;letter-spacing:0.06em;color:var(--ink-3);margin-bottom:22px}
  .kicker b{color:var(--terracotta);font-weight:600}
  .hero h1{font-size:clamp(46px,8vw,84px);line-height:0.98;letter-spacing:-0.03em;font-weight:600;color:var(--moss)}
  .hero .sub{font-family:var(--serif);font-style:italic;font-size:clamp(20px,3.4vw,29px);color:var(--fern);margin-top:16px;font-weight:400}
  .hero .lede{max-width:560px;margin-top:24px;font-size:17px;color:var(--ink-2);line-height:1.62}
  .hero-cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
  .btn{font-family:var(--sans);font-weight:600;font-size:14px;padding:11px 20px;border-radius:8px;border:1px solid transparent;cursor:pointer}
  .btn-primary{background:var(--fern);color:#F7F3E7}
  .btn-primary:hover{background:var(--moss);text-decoration:none}
  .btn-ghost{background:rgba(255,255,255,.4);color:var(--moss);border-color:var(--rule)}
  .btn-ghost:hover{border-color:var(--fern);color:var(--fern);text-decoration:none}

  /* ---------- house-pattern header band ---------- */
  .hp-head{padding:52px 0 44px;border-top:none}
  .hp-head .lockup{display:flex;align-items:center;gap:12px;margin-bottom:16px}
  .hp-head .lockbadge{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.03em;text-transform:none;
    color:var(--paper);background:var(--moss);border-radius:999px;padding:5px 13px}
  .hp-head h2{font-size:clamp(30px,5vw,44px);letter-spacing:-0.02em;max-width:20ch;line-height:1.06}
  .hp-head .two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
  @media(max-width:640px){.hp-head .two{grid-template-columns:1fr}}
  .hp-card{border:1px solid var(--rule);border-radius:12px;background:var(--paper-3);padding:20px 22px}
  .hp-card .t{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:0.03em;text-transform:none;color:var(--terracotta);margin-bottom:8px}
  .hp-card .t.g{color:var(--fern)}
  .hp-card p{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.55}
  .hp-card p b{color:var(--ink)}

  /* home "from the essays" — 2 featured essay cards */
  .hp-essays{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media(max-width:680px){.hp-essays{grid-template-columns:1fr}}
  a.he-card{display:flex;gap:20px;align-items:center;text-decoration:none;background:var(--paper-3);
    border:1px solid var(--rule);border-radius:12px;padding:20px 22px;box-shadow:0 4px 18px rgba(44,74,56,.07);
    transition:border-color .15s ease, transform .15s ease}
  a.he-card:hover{border-color:var(--sage);transform:translateY(-1px);text-decoration:none}
  .he-card img{flex:0 0 140px;width:140px;height:140px;object-fit:cover;border-radius:10px;border:3px solid var(--sage)}
  .he-body{display:block;min-width:0}
  .he-eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--olive)}
  .he-title{display:block;font-family:var(--serif);font-size:20px;color:var(--moss);margin-top:5px;line-height:1.15}
  .he-deck{display:block;font-size:14px;color:var(--ink-2);margin-top:6px;line-height:1.5}
  @media(max-width:480px){.he-card img{display:none}}

  /* ---------- PALETTE ---------- */
  .chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
  .chip{border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 0 rgba(44,74,56,.04)}
  .chip .swatch{height:74px;position:relative}
  .chip .meta{padding:11px 13px 13px}
  .chip .role{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:0.06em;text-transform:none;color:var(--moss)}
  .chip .hex{font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--ink);margin-top:3px}
  .chip .note{font-size:11.5px;color:var(--ink-3);margin-top:7px;line-height:1.45}

  /* ---------- TYPE SPECIMEN ---------- */
  .type-grid{display:grid;grid-template-columns:1fr;gap:18px}
  .spec{border:1px solid var(--rule);border-radius:12px;padding:24px 26px;background:var(--paper-3)}
  .spec .facelabel{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:12px;margin-bottom:16px}
  .spec .facelabel .fam{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--moss)}
  .spec .facelabel .use{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
  .spec .big{font-family:var(--serif);font-size:44px;line-height:1.05;font-weight:600;letter-spacing:-0.02em;color:var(--moss)}
  .spec .mid{font-family:var(--serif);font-size:23px;font-weight:500;margin-top:12px;color:var(--ink)}
  .spec .bodyset{font-family:var(--serif);font-size:17px;line-height:1.62;color:var(--ink);margin-top:14px;max-width:60ch}
  .spec .cap{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:14px;letter-spacing:0.02em}
  .spec.sans .big{font-family:var(--sans);font-weight:700;letter-spacing:-0.03em;color:var(--moss)}
  .spec.sans .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
  .spec.sans .pill{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0.03em;text-transform:none;padding:6px 12px;border:1px solid var(--rule);border-radius:20px;color:var(--ink-2)}
  .spec.sans .scale{font-family:var(--sans);display:flex;align-items:baseline;gap:20px;margin-top:16px;flex-wrap:wrap}
  .spec.sans .scale span{color:var(--ink)}

  /* ---------- COMPONENTS · content / specimen card ---------- */
  .specimen{background:var(--paper-3);border:1px solid var(--rule);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(44,74,56,.06);max-width:680px}
  .specimen .band{height:5px;background:linear-gradient(90deg,var(--fern),var(--olive) 60%,var(--terracotta))}
  .specimen .plate{display:grid;grid-template-columns:150px 1fr;gap:0}
  @media(max-width:560px){.specimen .plate{grid-template-columns:1fr}}
  .specimen .illo{background:radial-gradient(90% 70% at 50% 30%, rgba(63,125,87,.10), transparent),var(--paper-2);border-right:1px solid var(--rule);display:flex;align-items:center;justify-content:center;padding:14px}
  @media(max-width:560px){.specimen .illo{border-right:none;border-bottom:1px solid var(--rule)}}
  .specimen .meta{padding:22px 24px}
  .specimen .region{font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:none;color:var(--terracotta)}
  .specimen h3{font-size:25px;margin:4px 0 4px;color:var(--moss)}
  .specimen .taxon{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--olive)}
  .specimen p{margin:12px 0 0;font-size:15.5px;color:var(--ink);line-height:1.58}
  .specimen .datarow{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px dashed var(--rule)}
  .datarow .d .k{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.03em;text-transform:none;color:var(--ink-3)}
  .datarow .d .v{font-family:var(--serif);font-size:19px;color:var(--moss);margin-top:2px}

  /* ---------- MOVE SPECIMEN (Tufte diagram, Garden-recolored) ---------- */
  .diagram-frame{border:1px solid var(--rule);border-radius:16px;
    background:radial-gradient(100% 120% at 0% 0%, rgba(224,169,59,.06), transparent 55%),var(--paper-3);
    padding:30px 28px 26px}
  .diagram-frame .dtitle{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:6px}
  .diagram-frame .dtitle h3{font-size:22px}
  .diagram-frame .dtag{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
  .diagram-frame .dsub{font-family:var(--serif);font-style:italic;color:var(--ink-2);font-size:16px;margin-bottom:22px}
  svg{display:block;width:100%;height:auto;font-family:var(--sans)}
  .fig-caption{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:18px;line-height:1.55;border-top:1px solid var(--rule);padding-top:14px}
  .fig-caption b{color:var(--terracotta)}

  /* ---------- PULL QUOTE ---------- */
  .pull{border-left:3px solid var(--terracotta);padding:6px 0 6px 26px;margin:0;max-width:700px}
  .pull p{font-family:var(--serif);font-size:27px;line-height:1.32;font-weight:500;letter-spacing:-0.01em;color:var(--moss);margin:0}
  .pull p i{color:var(--fern);font-style:italic}
  .pull .attr{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0.02em;color:var(--ink-3);margin-top:16px}
  .pull .attr b{color:var(--terracotta)}

  /* ---------- RHYME COMPONENT ---------- */
  .rhyme{border:1px solid var(--rule);border-radius:16px;background:var(--paper-3);overflow:hidden;max-width:760px}
  .rhyme .rband{height:5px;background:linear-gradient(90deg,var(--fern),var(--honey))}
  .rhyme .rbody{padding:26px 28px}
  .rhyme .rkick{font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:none;color:var(--terracotta)}
  .rhyme h3{font-size:26px;margin-top:8px;letter-spacing:-0.01em;line-height:1.15}
  .rhyme .shared{font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink);margin-top:14px;max-width:64ch}
  .rgrid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:20px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
  @media(max-width:560px){.rgrid{grid-template-columns:1fr}}
  .rgrid .cell{background:var(--paper-3);padding:15px 17px}
  .rgrid .cell .t{font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:none;color:var(--fern)}
  .rgrid .cell .d{font-family:var(--serif);font-size:15px;color:var(--ink-2);margin-top:6px;line-height:1.5}
  .rhyme .rfoot{display:flex;gap:18px;margin-top:20px;padding-top:14px;border-top:1px dashed var(--rule);font-family:var(--mono);font-size:12px;color:var(--ink-3);flex-wrap:wrap}
  .rhyme .rfoot b{color:var(--terracotta);font-weight:600}

  /* ---------- SLOW-READING ACCORDION ("the workings, unhurried") ---------- */
  .slow-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:18px}
  .slow-head h3{font-size:26px}
  .slow-head .voice{font-family:var(--serif);font-style:italic;color:var(--ink-2);font-size:16px}
  .curious{border:1px solid var(--rule-soft);border-radius:14px;overflow:hidden;
    background:repeating-linear-gradient(135deg, rgba(110,123,58,.032) 0 12px, transparent 12px 24px),var(--paper-2)}
  .curious + .curious{margin-top:12px}
  .curious summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;gap:14px;user-select:none}
  .curious summary::-webkit-details-marker{display:none}
  .curious .leaf-toggle{width:28px;height:28px;flex:0 0 auto;transition:transform .3s ease;color:var(--fern)}
  .curious[open] .leaf-toggle{transform:rotate(90deg)}
  .curious .sum-txt{display:flex;flex-direction:column}
  .curious .sum-txt .kick{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.03em;text-transform:none;color:var(--terracotta)}
  .curious .sum-txt .ttl{font-family:var(--serif);font-size:19px;color:var(--moss);margin-top:2px;font-weight:600}
  .curious .rt-chip{margin-left:auto;align-self:center}
  .curious .inner{padding:2px 24px 24px 64px;border-top:1px solid var(--rule-soft)}
  @media(max-width:560px){.curious .inner{padding:2px 22px 22px 22px}}
  .curious .inner .lead{font-family:var(--serif);font-size:16.5px;line-height:1.62;color:var(--ink);margin:16px 0 0;max-width:62ch}
  .curious .inner .lead i{color:var(--fern)}
  .cgrid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:18px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
  @media(max-width:560px){.cgrid{grid-template-columns:1fr}}
  .cgrid .cell{background:var(--paper-3);padding:14px 16px}
  .cgrid .cell .t{font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:none;color:var(--terracotta)}
  .cgrid .cell .d{font-family:var(--serif);font-size:14.5px;color:var(--ink-2);margin-top:6px;line-height:1.5}
  .aside{font-family:var(--sans);font-size:13.5px;color:var(--ink-2);border-left:3px solid var(--honey);padding-left:14px;line-height:1.55;margin-top:16px;max-width:62ch}
  .aside b{color:var(--ink)}

  /* full 7-part anatomy list inside expander */
  .anatomy{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
  @media(max-width:560px){.anatomy{grid-template-columns:1fr}}
  .anatomy li{background:var(--paper-3);padding:13px 16px;display:flex;gap:12px;align-items:flex-start}
  .anatomy li .n{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--honey);flex:0 0 auto;margin-top:2px}
  .anatomy li .term{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:0.08em;text-transform:none;color:var(--moss);display:block}
  .anatomy li .gl{font-family:var(--serif);font-size:14px;color:var(--ink-2);margin-top:3px;display:block;line-height:1.45}

  /* ---------- botanical sprig divider ---------- */
  .sprig{display:block;margin:8px auto 0;width:150px;height:34px;opacity:.85}

  /* ---------- PICK-LIST FOOTER ---------- */
  footer{background:var(--moss);color:#E6E1CE;border-top:none}
  footer .wrap{padding:54px 24px}
  footer .flabel{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:0.04em;text-transform:none;color:var(--honey);margin-bottom:6px}
  footer h3{font-family:var(--serif);color:#F1EAD6;font-size:26px;margin-bottom:24px}
  .pickgrid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
  @media(max-width:640px){.pickgrid{grid-template-columns:1fr}}
  .picklist{font-family:var(--mono);font-size:13px;line-height:1.95}
  .picklist .k{color:var(--sage)}
  .picklist .v{color:#fff}
  .picklist .sw{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:8px;vertical-align:-1px;border:1px solid rgba(255,255,255,.2)}
  .foot-note{font-family:var(--sans);font-size:12px;color:var(--sage);margin-top:28px;line-height:1.6}
