
  @import url('https://fonts.googleapis.com/css2?family=Gloock&family=Work+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

  :root{
    --ink:#241A22;
    --ink-2:#5C4C56;
    --ink-3:#8E7E88;
    --paper:#F7F2EF;
    --surface:#FFFFFF;
    --blush:#F1DFE0;
    --plum:#2B1826;
    --blue:#D62E5A;          /* accent — name kept so existing rules pick it up */
    --accent-2:#E8825A;
    --rule:rgba(36,26,34,0.14);
    --rule-strong:rgba(36,26,34,0.3);
    --urgent:#B02334;
    --urgent-soft:rgba(176,35,52,0.07);
    --plum:#2A1626;
    --display:'Gloock', Georgia, serif;
    --body:'Work Sans', -apple-system, 'Segoe UI', sans-serif;
    --mono:'Work Sans', -apple-system, sans-serif;
    --gutter:clamp(1.25rem, 5vw, 3.5rem);
  }
  *{ box-sizing:border-box; }
  body{ background:var(--paper); color:var(--ink); font-family:var(--body); line-height:1.62; font-size:16px; -webkit-font-smoothing:antialiased; }
  .glow{ position:fixed; inset:0; pointer-events:none; z-index:0;
    background:
      radial-gradient(60rem 40rem at 78% -10%, rgba(214,46,90,0.13), transparent 60%),
      radial-gradient(48rem 36rem at 8% 18%, rgba(232,130,90,0.11), transparent 62%); }
  .shell, nav, header, section, footer, .bound{ position:relative; z-index:1; }
  ::selection{ background:var(--blue); color:#fff; }
  a{ color:var(--blue); }
  .bound{ max-width:900px; margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
  .hidden{ display:none !important; }

  nav{ border-bottom:1px solid var(--rule-strong); background:var(--paper); position:sticky; top:0; z-index:10; }
  .nav-inner{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:1.1rem 0; flex-wrap:wrap; }
  .wordmark{ font-family:var(--mono); font-size:0.75rem; letter-spacing:0.22em; text-transform:uppercase; text-decoration:none; color:var(--ink); }
  .nav-links{ display:flex; gap:1.5rem; font-family:var(--mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; }
  .nav-links a{ color:var(--ink-2); text-decoration:none; }
  .nav-links a:hover, .nav-links a.on{ color:var(--blue); }
  .nav-links a:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }

  header.hero{ padding-top:clamp(3rem,8vw,6rem); padding-bottom:clamp(2.5rem,6vw,4rem); border-bottom:4px solid var(--ink); }
  h1{ font-family:var(--display); font-weight:500; font-size:clamp(2.6rem,9vw,6rem); line-height:0.97; letter-spacing:-0.015em; margin:0 0 1.5rem; max-width:13ch; text-wrap:balance; }
  h1 em{ font-style:italic; color:var(--blue); }
  .hero-sub{ font-size:clamp(1.1rem,1.9vw,1.4rem); color:var(--ink-2); max-width:56ch; margin:2rem 0 0; }

  .hero-beat{ margin-top:clamp(2.25rem,5vw,3.25rem); padding-top:clamp(1.75rem,4vw,2.25rem); border-top:1px solid var(--rule-strong); max-width:62ch; }
  .hero-beat .q{ font-family:var(--display); font-style:italic; font-size:clamp(1.25rem,2.6vw,1.7rem); line-height:1.3; margin:0 0 0.7rem; }
  .hero-beat .a{ margin:0 0 0.7rem; font-size:1.02rem; font-weight:600; }
  .hero-beat .w{ margin:0; color:var(--ink-2); font-size:1.02rem; }

  .claim{ font-family:var(--display); font-weight:500; font-size:clamp(1.9rem,5.2vw,3.4rem); line-height:1.05; letter-spacing:-0.01em; margin:0 0 1.75rem; max-width:16ch; text-wrap:balance; }
  .claim em{ font-style:italic; color:var(--blue); }
  .turn-body{ max-width:60ch; }
  .turn-body p{ font-size:1.05rem; }
  .turn-kicker{ font-family:var(--display); font-size:clamp(1.2rem,2.4vw,1.55rem); line-height:1.3; border-left:2px solid var(--blue); padding-left:1.1rem; margin:1.6rem 0; }

  ol.method{ list-style:none; counter-reset:m; margin:1.4rem 0 1.6rem; padding:0; border-top:1px solid var(--rule); }
  ol.method li{ counter-increment:m; position:relative; padding:0.9rem 0 0.9rem 2.6rem; border-bottom:1px solid var(--rule); font-size:1.02rem; color:var(--ink-2); }
  ol.method li::before{ content:counter(m); position:absolute; left:0; top:0.95rem; font-family:var(--mono); font-size:0.78rem; color:var(--blue); font-variant-numeric:tabular-nums; }
  ol.method .m-name{ color:var(--ink); font-weight:600; }

  ul.prompts{ list-style:none; margin:0 0 1.1rem; padding:0; border-left:2px solid var(--blue); max-width:58ch; }
  ul.prompts li{ font-family:var(--display); font-style:italic; font-size:clamp(1.08rem,2.1vw,1.35rem); line-height:1.35; padding:0.5rem 0 0.5rem 1.1rem; }

  section{ border-bottom:1px solid var(--rule-strong); }
  .sec-inner{ padding-top:clamp(2.5rem,6vw,4rem); padding-bottom:clamp(2.5rem,6vw,4rem); }
  .sec-label{ font-family:var(--mono); font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--blue); margin:0 0 1.25rem; }
  h2{ font-family:var(--display); font-weight:500; font-size:clamp(1.7rem,3.6vw,2.6rem); line-height:1.06; margin:0 0 1rem; max-width:20ch; text-wrap:balance; }
  p{ margin:0 0 1rem; max-width:60ch; }
  p:last-child{ margin-bottom:0; }
  .muted{ color:var(--ink-2); }

  .btn{ display:inline-block; font-family:var(--mono); font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; padding:0.9rem 1.5rem; text-decoration:none; cursor:pointer; border:1px solid var(--ink); color:var(--ink); background:transparent; transition:background .15s ease,color .15s ease; }
  .btn:hover{ background:var(--ink); color:var(--paper); }
  .btn.solid{ background:var(--blue); border-color:var(--blue); color:#fff; }
  .btn.solid:hover{ background:var(--ink); border-color:var(--ink); }
  .btn.small{ padding:0.5rem 0.9rem; font-size:0.66rem; }
  .btn:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }

  .urgent{ border:1px solid var(--urgent); background:var(--urgent-soft); padding:1.1rem 1.25rem; margin:1.75rem 0 0; max-width:62ch; }
  .urgent .lbl{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--urgent); margin-bottom:0.5rem; }
  .urgent p{ margin:0; font-size:0.97rem; }
  .urgent strong{ font-variant-numeric:tabular-nums; }

  /* ---------- resources view ---------- */
  .res-head{ padding-top:clamp(2rem,5vw,3.5rem); padding-bottom:1.5rem; border-bottom:4px solid var(--ink); }
  .res-head h2{ font-size:clamp(1.9rem,5vw,3rem); margin-bottom:0.75rem; max-width:16ch; }

  .filters{ display:flex; gap:1.25rem; flex-wrap:wrap; padding:1.25rem 0; border-bottom:1px solid var(--rule-strong); }
  .filter{ display:flex; flex-direction:column; gap:0.35rem; }
  .filter label{ font-family:var(--mono); font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-3); }
  select{ font-family:var(--body); font-size:0.95rem; color:var(--ink); background:var(--surface); border:1px solid var(--rule-strong); padding:0.55rem 0.7rem; border-radius:0; min-width:210px; }
  select:focus{ outline:2px solid var(--blue); outline-offset:-1px; }

  .cat{ display:flex; align-items:baseline; gap:0.8rem; border-top:2px solid var(--ink); margin-top:2.5rem; padding:1.1rem 0 1rem;
        font-family:var(--display); font-size:clamp(1.3rem,3vw,1.7rem); line-height:1.15; letter-spacing:-0.01em; color:var(--ink); }
  .cat:first-child{ margin-top:0.5rem; }
  .cat .n{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue); white-space:nowrap; }

  .entry{ display:flex; gap:0.85rem; padding:0.85rem 0; border-bottom:1px solid var(--rule); align-items:baseline; }
  .entry .idx{ font-family:var(--mono); font-size:0.78rem; color:var(--ink-3); min-width:1.6rem; text-align:right; font-variant-numeric:tabular-nums; flex:none; }
  .entry .main{ flex:1; min-width:0; }
  .entry .t{ font-size:1.02rem; font-weight:600; line-height:1.3; }
  .entry .t a{ text-decoration:none; color:var(--ink); }
  .entry .t a:hover{ color:var(--blue); text-decoration:underline; }
  .entry .dom{ font-family:var(--mono); font-size:0.72rem; color:var(--ink-3); margin-left:0.4rem; font-weight:400; }
  .entry .d{ color:var(--ink-2); font-size:0.93rem; margin-top:0.2rem; }
  .entry .meta{ font-family:var(--mono); font-size:0.7rem; color:var(--ink-3); margin-top:0.4rem; display:flex; gap:0.9rem; flex-wrap:wrap; }
  .entry .meta button{ background:none; border:none; padding:0; font:inherit; color:var(--ink-3); cursor:pointer; text-decoration:underline; }
  .entry .meta button:hover{ color:var(--blue); }
  .num{ font-variant-numeric:tabular-nums; }

  /* helplines block */
  .lines{ padding:0.25rem 0 0.5rem; }
  .lines .sub{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-3); padding:0 0 0.85rem; }
  .emg{ border:1px solid var(--urgent); background:var(--urgent-soft); padding:0.8rem 1rem; margin:0 0 1rem; display:flex; flex-wrap:wrap; gap:0.4rem 1.5rem; align-items:baseline; }
  .emg .k{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--urgent); }
  .emg .p{ font-size:0.9rem; color:var(--ink-2); }
  .emg .p a{ font-size:1.05rem; font-weight:700; font-variant-numeric:tabular-nums; color:var(--ink); text-decoration:none; margin-left:0.35rem; }
  .emg .p a:hover{ color:var(--urgent); text-decoration:underline; }
  .lines .grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:0; border:1px solid var(--rule); }
  .line{ background:var(--paper); padding:1rem 1.1rem 1.05rem; display:flex; flex-direction:column; box-shadow:1px 0 0 var(--rule), 0 1px 0 var(--rule); }
  .line .nt{ flex:1; }
  .line .nm{ font-size:0.95rem; font-weight:600; line-height:1.3; }
  .line .no{ display:flex; flex-wrap:wrap; gap:0.15rem 1rem; align-items:baseline; margin-top:0.45rem; }
  .line .no a{ font-size:1.4rem; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-0.01em; color:var(--blue); text-decoration:none; line-height:1.15; }
  .line .no a:hover{ text-decoration:underline; }
  .line .no .alt{ font-size:0.85rem; color:var(--ink-3); }
  .line .no .alt a{ font-size:1rem; color:var(--ink); font-weight:600; }
  .line .nt{ font-size:0.88rem; color:var(--ink-2); margin-top:0.5rem; line-height:1.5; }
  .line .mt{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.06em; color:var(--ink-3); margin-top:0.8rem; }
  .line .hrs{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-3); margin-top:0.45rem; }
  .lines-note{ font-size:0.9rem; color:var(--ink-2); line-height:1.6; margin:1rem 0 0; max-width:62ch; }
  .opp-cta{ margin:0.7rem 0 0.2rem; }
  .apply{ margin:0.9rem 0 1.25rem; padding:1.25rem 1.35rem; background:var(--surface); border:1px solid var(--rule-strong); max-width:62ch; }
  .apply .hd{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue); margin-bottom:0.9rem; }
  .apply .lead{ font-size:0.95rem; line-height:1.6; color:var(--ink-2); margin:0 0 1.1rem; }
  .apply .f{ margin-bottom:0.95rem; }
  .apply label{ display:block; font-size:0.9rem; font-weight:600; line-height:1.4; margin-bottom:0.35rem; }
  .apply .q-sub{ display:block; font-weight:400; color:var(--ink-3); font-size:0.85rem; margin-top:0.1rem; }
  .apply input[type=text], .apply input[type=email], .apply textarea, .apply select{
    width:100%; font-family:var(--body); font-size:0.95rem; color:var(--ink);
    background:var(--paper); border:1px solid var(--rule-strong); padding:0.55rem 0.7rem; border-radius:0; }
  .apply textarea{ min-height:4.5rem; resize:vertical; }
  .apply .tog{ display:flex; gap:0.6rem; align-items:flex-start; font-size:0.9rem; font-weight:400; }
  .apply .tog input{ margin-top:0.25rem; flex:none; }
  .apply .fine{ font-size:0.82rem; line-height:1.55; color:var(--ink-3); margin:1rem 0 1.1rem; }
  .apply .row{ display:flex; gap:0.9rem; align-items:center; flex-wrap:wrap; }
  .apply .hint{ font-family:var(--mono); font-size:0.7rem; color:var(--ink-3); }
  .apply .done{ font-size:1rem; line-height:1.6; }
  .cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:0; border:1px solid var(--rule); margin:0.25rem 0 0.5rem; }
  .card{ background:var(--paper); padding:1rem 1.1rem 1.05rem; display:flex; flex-direction:column; box-shadow:1px 0 0 var(--rule), 0 1px 0 var(--rule); }
  .card .nm{ font-size:0.95rem; font-weight:600; line-height:1.3; }
  .card .nm a{ color:var(--ink); text-decoration:none; }
  .card .nm a:hover{ color:var(--blue); text-decoration:underline; }
  .card .no{ margin-top:0.45rem; }
  .card .no a{ font-size:1.3rem; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-0.01em; color:var(--blue); text-decoration:none; line-height:1.15; }
  .card .no a:hover{ text-decoration:underline; }
  .card .nt{ font-size:0.88rem; color:var(--ink-2); margin-top:0.5rem; line-height:1.5; flex:1; }
  .card .mt{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.06em; color:var(--ink-3); margin-top:0.8rem; display:flex; gap:0.9rem; flex-wrap:wrap; align-items:baseline; }
  .card .mt button{ background:none; border:none; padding:0; font:inherit; color:var(--ink-3); cursor:pointer; text-decoration:underline; }
  .card .mt button:hover{ color:var(--blue); }
  .lines .links-sub{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-3); padding:1.6rem 0 0.35rem; }

  .thread{ margin:0 0 1.25rem; padding:1rem 1.15rem; background:var(--surface); border:1px solid var(--rule-strong); }
  .thread.in-grid{ grid-column:1 / -1; margin:0; border:none; border-top:1px solid var(--rule-strong); background:var(--surface); }
  .thread .thread-hd{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue); margin-bottom:0.7rem; }
  .disc{ background:none; border:none; padding:0; font:inherit; color:var(--ink-3); cursor:pointer; display:inline-flex; align-items:center; gap:0.4rem; }
  .disc:hover{ color:var(--blue); }
  .disc .lbl{ text-decoration:underline; }
  .disc .cnt{ font-variant-numeric:tabular-nums; background:var(--blush); color:var(--ink); border-radius:999px; padding:0.05rem 0.42rem; font-size:0.66rem; font-weight:600; letter-spacing:0.02em; }
  .disc[aria-expanded="true"]{ color:var(--blue); }
  .disc .car{ font-size:0.6rem; }
  .mod-gate{ display:flex; gap:0.7rem; align-items:center; flex-wrap:wrap; padding:1rem 0 2rem; }
  #view-mod #mod-gate{ min-height:60vh; display:flex; align-items:center; }
  #view-mod #mod-gate .mod-gate{ padding:0; max-width:24rem; }
  #view-mod #mod-gate input{ flex:1 1 100%; }
  #view-mod #mod-gate label{ flex:1 1 100%; margin-bottom:-0.35rem; }
  #view-mod #mod-gate .hint{ flex:1 1 100%; }
  .mod-gate label{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-3); }
  .mod-gate input{ font-family:var(--body); font-size:0.95rem; padding:0.55rem 0.7rem; border:1px solid var(--rule-strong); background:var(--surface); color:var(--ink); }
  .mod-item{ border-top:1px solid var(--rule-strong); padding:1.1rem 0; }
  .mod-item .where{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--blue); }
  .mod-item .who{ font-family:var(--mono); font-size:0.7rem; color:var(--ink-3); margin-top:0.35rem; }
  .mod-item .body{ font-size:1rem; line-height:1.55; margin-top:0.4rem; white-space:pre-wrap; word-wrap:break-word; max-width:62ch; }
  .mod-item .acts{ margin-top:0.7rem; display:flex; gap:0.7rem; align-items:center; }
  .pending-tag{ font-family:var(--mono); font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent-2); border:1px solid var(--accent-2); padding:0.05rem 0.4rem; margin-left:0.45rem; }
  .cmt.is-pending{ opacity:0.8; }
  .cmt{ padding:0.6rem 0; border-bottom:1px solid var(--rule); }
  .cmt:last-of-type{ border-bottom:none; }
  .cmt .who{ font-family:var(--mono); font-size:0.7rem; color:var(--ink-3); margin-bottom:0.2rem; }
  .cmt .body{ font-size:0.95rem; white-space:pre-wrap; word-wrap:break-word; }
  .cmt-empty{ color:var(--ink-3); font-size:0.9rem; padding:0.4rem 0 0.8rem; }
  .cmt-form{ display:flex; flex-direction:column; gap:0.5rem; margin-top:0.8rem; }
  .cmt-form input, .cmt-form textarea{ font-family:var(--body); font-size:0.95rem; color:var(--ink); background:var(--paper); border:1px solid var(--rule-strong); padding:0.55rem 0.7rem; border-radius:0; width:100%; }
  .cmt-form input:focus, .cmt-form textarea:focus{ outline:2px solid var(--blue); outline-offset:-1px; }
  .cmt-form textarea{ min-height:70px; resize:vertical; }
  .cmt-form .row{ display:flex; gap:0.5rem; align-items:center; flex-wrap:wrap; }
  .cmt-form .hint{ font-family:var(--mono); font-size:0.66rem; color:var(--ink-3); }
  .cmt-form .as{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.06em; color:var(--ink-2); padding:0.15rem 0 0.1rem; }
  .cmt-form .as strong{ color:var(--ink); font-weight:600; }
  .cmt-form .as .why{ display:block; color:var(--ink-3); font-size:0.66rem; letter-spacing:0; margin-top:0.2rem; }
  .offline-note{ font-family:var(--mono); font-size:0.7rem; color:var(--ink-3); padding:0.5rem 0; }

  /* ---------- form ---------- */
  form.writein{ margin-top:1.75rem; max-width:520px; }
  .field{ margin-bottom:1rem; }
  .field label{ display:block; font-family:var(--mono); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-2); margin-bottom:0.4rem; }
  .field input, .field textarea{ width:100%; font-family:var(--body); font-size:1rem; color:var(--ink); background:var(--surface); border:1px solid var(--rule-strong); padding:0.75rem 0.85rem; border-radius:0; }
  .field input:focus, .field textarea:focus{ outline:2px solid var(--blue); outline-offset:-1px; border-color:var(--blue); }
  .field textarea{ min-height:130px; resize:vertical; }
  .toggle-row{ display:flex; gap:0.7rem; align-items:flex-start; padding:0.9rem 1rem; border:1px solid var(--rule-strong); background:var(--surface); margin-bottom:1rem; cursor:pointer; }
  .toggle-row input{ margin-top:0.25rem; width:16px; height:16px; accent-color:var(--blue); flex:none; }
  .toggle-row .t-text{ font-size:0.95rem; }
  .toggle-row .t-sub{ display:block; color:var(--ink-2); font-size:0.88rem; margin-top:0.2rem; }
  .consent{ border:2px solid var(--ink); background:var(--surface); padding:1.25rem 1.35rem; margin-top:1.25rem; max-width:520px; }
  .consent h3{ font-family:var(--display); font-size:1.25rem; font-weight:500; margin:0 0 0.85rem; }
  .consent p{ font-size:0.96rem; margin-bottom:0.8rem; }
  .consent .ack{ display:flex; gap:0.6rem; align-items:flex-start; margin:1.1rem 0; cursor:pointer; }
  .consent .ack input{ margin-top:0.2rem; width:16px; height:16px; accent-color:var(--blue); flex:none; }
  .consent-actions{ display:flex; gap:0.6rem; flex-wrap:wrap; }
  .sent{ border:2px solid var(--blue); padding:1.25rem 1.35rem; margin-top:1.25rem; max-width:520px; }
  .sent p{ margin:0; }

  #agency{ background:var(--ink); color:var(--paper); border-bottom:none; }
  #agency .sec-label{ color:#8C9BFF; }
  #agency h2{ color:var(--paper); font-size:clamp(1.4rem,2.6vw,1.9rem); }
  #agency p{ color:rgba(234,235,230,0.78); }
  #agency .btn{ border-color:var(--paper); color:var(--paper); }
  #agency .btn:hover{ background:var(--paper); color:var(--ink); }

  footer{ padding:1.75rem 0 2.5rem; font-family:var(--mono); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-2); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
  @media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }

  /* ---------- design system ---------- */
  h1, h2, .claim, .pull, .turn-kicker, ul.prompts li, .wordmark{ font-weight:400; }
  h1{ font-size:clamp(3.4rem,13vw,10rem); line-height:0.9; letter-spacing:-0.025em; max-width:11ch; }
  h2{ font-size:clamp(1.9rem,4.4vw,3.2rem); line-height:1.04; }
  .claim{ font-size:clamp(2.2rem,6vw,4rem); }
  .wordmark{ font-family:var(--display); font-size:1.25rem; letter-spacing:0; text-transform:none; }
  .sec-label{ font-family:var(--body); font-weight:600; font-size:0.74rem; letter-spacing:0.14em; }
  .nav-links{ font-family:var(--body); font-weight:500; font-size:0.74rem; letter-spacing:0.08em; }
  .btn{ font-family:var(--body); font-weight:600; font-size:0.78rem; letter-spacing:0.08em; border-radius:0; }
  .btn.solid{ background:var(--blue); border-color:var(--blue); color:#fff; }
  .btn.solid:hover{ background:var(--ink); border-color:var(--ink); }

  /* photo slots */
  .photo{ background:var(--blush); border:1px dashed rgba(214,39,92,0.5); display:flex; align-items:center; justify-content:center;
    font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:#A8627A; min-height:320px; }
  .about-grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:start; }
  @media (min-width:900px){ .about-grid{ grid-template-columns:1.05fr 1fr; gap:4rem; } }
  .about-photo{ aspect-ratio:4/5; max-width:100%; overflow:hidden; background:rgba(247,241,236,0.06); }
  .about-photo img{ width:100%; height:100%; object-fit:cover; object-position:62% 38%; display:block; }

  /* method block on blush */
  #turn{ background:var(--blush); border-bottom:none; }
  #turn .sec-label{ color:var(--blue); }
  #turn .turn-body p{ color:#3E2E38; }
  #turn ol.method li{ border-color:rgba(36,26,34,0.2); color:#5C4C56; }

  /* write-in block on plum */
  #submit{ background:var(--plum); color:var(--paper); border-bottom:none; }
  #submit .sec-label{ color:var(--accent-2); }
  #submit h2{ color:var(--paper); }
  #submit p, #submit .muted{ color:rgba(247,241,236,0.74); }
  #submit .field label{ color:rgba(247,241,236,0.6); }
  #submit .field input, #submit .field textarea{ background:rgba(247,241,236,0.08); border-color:rgba(247,241,236,0.25); color:var(--paper); }
  #submit .toggle-row{ background:rgba(247,241,236,0.06); border-color:rgba(247,241,236,0.25); }
  #submit .toggle-row .t-sub{ color:rgba(247,241,236,0.6); }
  #submit .toggle-row input, #submit .consent .ack input{ accent-color:var(--accent-2); }
  #submit .consent{ background:rgba(247,241,236,0.06); border-color:var(--paper); }
  #submit .consent h3{ color:var(--paper); font-weight:400; }
  #submit .consent p{ color:rgba(247,241,236,0.82); }
  #submit #anon-note{ color:var(--accent-2); }
  #submit .btn{ border-color:var(--paper); color:var(--paper); }
  #submit .btn:hover{ background:var(--paper); color:var(--plum); }
  #submit .btn.solid{ background:var(--blue); border-color:var(--blue); color:#fff; }
  #submit .sent{ border-color:var(--blue); }
  #submit .sent p{ color:var(--paper); }

  .form-actions{ display:flex; gap:0.6rem; flex-wrap:wrap; align-items:center; margin-top:0.4rem; }
  .footer-link{ color:var(--ink-2); text-decoration:none; }
  .footer-link:hover{ color:var(--blue); text-decoration:underline; }
  .field-hint{ display:block; font-size:0.82rem; color:var(--ink-3); margin-top:0.35rem; }
  #submit .field-hint{ color:rgba(247,241,236,0.55); }

  /* nav dropdown */
  .nav-drop{ position:relative; display:inline-block; }
  .nav-menu{
    position:absolute; top:100%; left:0; min-width:11rem;
    background:var(--surface); border:1px solid var(--rule-strong);
    padding:0.5rem 0; margin-top:0.6rem;
    opacity:0; visibility:hidden; transform:translateY(-4px);
    transition:opacity .14s ease, transform .14s ease, visibility .14s;
    z-index:20;
  }
  .nav-drop:hover .nav-menu, .nav-drop:focus-within .nav-menu{ opacity:1; visibility:visible; transform:none; }
  .nav-menu a{ display:block; padding:0.5rem 1rem; color:var(--ink-2); white-space:nowrap; }
  .nav-menu a:hover{ color:var(--blue); background:var(--blush); }

  /* submissions */
  .entry-card{ border-top:1px solid var(--rule-strong); padding:2.25rem 0; }
  .entry-meta{
    font-family:var(--body); font-weight:600; font-size:0.72rem; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--ink-3); margin-bottom:0.9rem;
    display:flex; gap:1rem; flex-wrap:wrap;
  }
  .entry-body{ font-size:1.08rem; line-height:1.65; max-width:62ch; }
  .entry-body p{ font-size:1.08rem; }
  .entry-reply{
    margin-top:1.5rem; padding:1.25rem 1.4rem; background:var(--blush);
    border-left:3px solid var(--blue); max-width:62ch;
  }
  .entry-reply .who{
    font-family:var(--body); font-weight:600; font-size:0.7rem; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--blue); margin-bottom:0.5rem;
  }
  .entry-reply p{ margin:0; font-size:1rem; line-height:1.6; color:#3E2E38; }
  .entry-actions{ margin-top:1.1rem; font-size:0.85rem; }
  .entry-actions button{
    background:none; border:none; padding:0; font:inherit; color:var(--ink-3);
    cursor:pointer; text-decoration:underline;
  }
  .entry-actions button:hover{ color:var(--blue); }
  .subs-empty{ border-top:1px solid var(--rule-strong); padding:3rem 0; color:var(--ink-2); max-width:56ch; }

  /* closing questions */
  #ask ul.prompts{ border-left-color:var(--blue); }
  #ask ul.prompts li{ font-size:clamp(1.3rem,3vw,2.1rem); line-height:1.22; padding-left:1.5rem; }

  /* hero — split with full-bleed portrait */
  header.hero{ padding-top:0; padding-bottom:0; border-bottom:4px solid var(--ink); }
  .hero-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,0.82fr); gap:0; align-items:stretch; min-height:78vh; }
  .hero-copy{ padding:clamp(2.5rem,6vw,5rem) clamp(2rem,4vw,3.5rem) clamp(2.5rem,6vw,4rem) max(var(--gutter), calc((100vw - 900px) / 2 + var(--gutter))); display:flex; flex-direction:column; justify-content:center; }
  header.hero h1{ max-width:11ch; font-size:clamp(2.4rem,5.4vw,4.4rem); line-height:0.98; }
  header.hero .hero-sub{ font-size:clamp(1.02rem,1.35vw,1.2rem); max-width:44ch; }
  header.hero .hero-beat{ max-width:52ch; }
  .hero-cta{ margin:2rem 0 0; display:flex; gap:0.6rem; flex-wrap:wrap; }
  .hero-portrait{ position:relative; background:var(--blush); overflow:hidden; }
  .hero-portrait img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
  .hero-tag{ position:absolute; left:0; right:0; bottom:0; background:rgba(42,22,38,0.86); color:#F4EBEF; padding:0.9rem 1.2rem; font-family:var(--mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; }
  @media(max-width:820px){
    .hero-split{ grid-template-columns:1fr; min-height:0; }
    .hero-copy{ padding:2.25rem var(--gutter) 2.5rem; }
    .hero-portrait{ aspect-ratio:4/3; }
  }
