/* NANCY: Geotechnical Project Workflow, phase memorandum pages.
   Same night-sky / gold look as NANCY/index.html; the memo itself is a light "paper" sheet for easy reading. */
:root{
  --night:#0a0f1e;--deep:#111833;--line:rgba(232,196,106,.28);
  --gold:#e8c46a;--gold2:#f6e3a6;--emerald:#6cc04a;--violet:#9b7bff;--mist:#c9c3b3;--paper:#ece6d6;
  --sheet:#f7f2e4;--sheet-ink:#24211b;--sheet-soft:#5b5446;--sheet-rule:#d9cfb4;--wax:#8e1f1f;
}
.arcane{background:radial-gradient(1200px 600px at 80% -10%,#2a2160 0%,transparent 60%),radial-gradient(900px 500px at 0% 25%,#123a2c 0%,transparent 55%),linear-gradient(180deg,var(--night),#0d1428 60%,var(--night));color:var(--paper);font-family:"Public Sans",system-ui,sans-serif;position:relative;overflow:hidden;padding-bottom:70px}
.arcane .wrap{position:relative;z-index:2}
.arcane a{color:inherit}
#dust{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}

/* breadcrumb + hero */
.crumb{padding-top:26px;font:600 12px/1 "Cinzel",serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(232,196,106,.8)}
.crumb a{text-decoration:none;color:var(--gold)!important}
.crumb a:hover{text-decoration:underline;text-underline-offset:4px}
.crumb span{margin:0 8px;opacity:.6}
.ph-hero{display:flex;align-items:center;gap:28px;padding:30px 0 10px}
.medal{position:relative;flex:none;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#253064,#121935 70%);border:1px solid rgba(232,196,106,.6);box-shadow:0 0 0 6px rgba(232,196,106,.08),0 0 40px -6px rgba(232,196,106,.45)}
.medal::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(232,196,106,.35);animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.medal svg{width:78px;height:78px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(232,196,106,.5))}
.medal svg .f{fill:rgba(232,196,106,.18)}.medal svg .g{stroke:var(--emerald)}.medal svg .v{stroke:var(--violet)}
.ph-kick{font:700 12.5px/1 "Cinzel",serif;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.ph-hero h1{margin:10px 0 10px;font:900 clamp(32px,5vw,58px)/1.04 "Cinzel",serif!important;letter-spacing:.02em;
  background:linear-gradient(100deg,#b88a2e 0%,var(--gold2) 22%,#fff7da 32%,var(--gold) 45%,#a87a22 60%,var(--gold2) 80%,var(--gold) 100%);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent!important;animation:sheen 9s linear infinite}
@keyframes sheen{to{background-position:-220% 0}}
.ph-hero p{margin:0;font:italic 500 clamp(18px,2vw,22px)/1.45 "Cormorant Garamond",serif;color:var(--mist);max-width:60ch}
@media (max-width:640px){.ph-hero{flex-direction:column;align-items:flex-start;gap:18px}.medal{width:96px;height:96px}.medal svg{width:58px;height:58px}}

/* six-phase stepper */
.stepper{list-style:none;margin:26px 0 34px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;position:relative}
.stepper::before{content:"";position:absolute;left:8%;right:8%;top:19px;height:2px;background:linear-gradient(90deg,var(--gold),var(--violet),var(--emerald),var(--gold));opacity:.55}
.stepper a{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:var(--mist)!important;font:600 11.5px/1.25 "Public Sans",sans-serif;text-align:center}
.stepper b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#121935;border:1px solid rgba(232,196,106,.55);color:var(--gold);font:700 13px/1 "Cinzel",serif;transition:box-shadow .2s,background .2s}
.stepper a:hover b{box-shadow:0 0 18px rgba(232,196,106,.55)}
.stepper a[aria-current="page"]{color:var(--gold2)!important}
.stepper a[aria-current="page"] b{background:linear-gradient(135deg,#f3d98d,#c9962f);color:#1a1404;border-color:transparent;box-shadow:0 0 0 4px rgba(232,196,106,.18),0 0 24px rgba(232,196,106,.6)}
@media (max-width:640px){.stepper a span{display:none}}

/* the memorandum sheet */
.memo{position:relative;max-width:900px;margin:0 auto;background:linear-gradient(180deg,#fbf7ec,var(--sheet));color:var(--sheet-ink);border-radius:6px;padding:52px 60px 46px;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.95),0 0 0 1px rgba(232,196,106,.5),0 0 0 8px rgba(17,24,51,.9),0 0 0 9px rgba(232,196,106,.35);font:17px/1.65 "Cormorant Garamond",Georgia,serif}
.memo::before{content:"";position:absolute;inset:14px;border:1px solid var(--sheet-rule);border-radius:3px;pointer-events:none}
.memo .seal{position:absolute;top:-26px;right:44px;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 38% 32%,#c0392b,var(--wax) 60%,#5a1010);box-shadow:0 6px 14px rgba(0,0,0,.45),inset 0 0 0 5px rgba(0,0,0,.12),inset 0 0 0 7px rgba(255,220,180,.18)}
.memo .seal svg{width:46px;height:46px;stroke:#f4d9a8;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.memo .seal svg *{stroke:#f4d9a8!important}.memo .seal svg .f{fill:rgba(244,217,168,.18)}
.memo-t{font:700 15px/1 "Cinzel",serif;letter-spacing:.42em;text-transform:uppercase;color:#7a5a17;margin:0 0 20px}
.memo-h{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0 0 18px;padding:0 0 18px;border-bottom:2px solid #24211b;font:15px/1.4 "IBM Plex Mono",monospace}
.memo-h dt{font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--sheet-soft)}
.memo-h dd{margin:0;color:var(--sheet-ink)}
.memo-h dd b{font-weight:600}
.memo h2{font:700 15px/1.2 "Cinzel",serif!important;letter-spacing:.14em;text-transform:uppercase;color:#7a5a17!important;margin:28px 0 8px;display:flex;align-items:center;gap:10px}
.memo h2::before{content:attr(data-n);display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#24211b;color:var(--gold2);font:700 12px/1 "Cinzel",serif;letter-spacing:0}
.memo p{margin:0 0 12px;color:var(--sheet-ink)}
.memo ol,.memo ul{margin:6px 0 14px;padding-left:22px}
.memo li{margin:0 0 8px}
.memo li::marker{color:#7a5a17;font-weight:700}
.memo b{font-weight:700}
.memo .std{font:13px/1 "IBM Plex Mono",monospace;background:#efe6cd;border:1px solid var(--sheet-rule);border-radius:3px;padding:1px 5px;white-space:nowrap}
.io{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin:12px 0 6px}
.io div{background:#fffaf0;border:1px solid var(--sheet-rule);border-radius:6px;padding:12px 16px}
.io h3{margin:0 0 6px;font:700 12px/1 "Cinzel",serif!important;letter-spacing:.16em;text-transform:uppercase;color:var(--sheet-soft)!important}
.io ul{margin:0;padding-left:18px;font-size:16px}
.io .arr{display:grid;place-items:center;background:none;border:0;padding:0;font:700 26px/1 "Cinzel",serif;color:#b48a2c}
.sign{margin:30px 0 0;padding-top:16px;border-top:1px solid var(--sheet-rule);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:14px/1.5 "IBM Plex Mono",monospace;color:var(--sheet-soft)}
.sign i{font:italic 500 22px/1 "Cormorant Garamond",serif;color:var(--sheet-ink);display:block;margin-bottom:4px}
@media (max-width:700px){.memo{padding:46px 24px 32px;font-size:16.5px}.memo .seal{right:20px;width:66px;height:66px}.memo .seal svg{width:36px;height:36px}.memo-h{font-size:13px;gap:4px 12px}.io{grid-template-columns:1fr}.io .arr{transform:rotate(90deg)}}

/* tools for this phase */
.tools-h{text-align:center;margin:56px 0 8px;font:700 clamp(24px,3vw,32px)/1.1 "Cinzel",serif!important;color:var(--gold2)!important;text-shadow:0 0 18px rgba(232,196,106,.35)}
.tools-s{text-align:center;margin:0 auto 26px;color:var(--mist);font:italic 500 18px/1.5 "Cormorant Garamond",serif}
.tlinks{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.tlinks a{display:flex;align-items:center;gap:12px;min-width:240px;max-width:340px;flex:1 1 240px;padding:16px 18px;border-radius:14px;text-decoration:none;background:rgba(17,24,51,.75);border:1px solid var(--line);color:var(--paper)!important;transition:transform .2s,box-shadow .2s,border-color .2s}
.tlinks a:hover,.tlinks a:focus-visible{transform:translateY(-3px);border-color:rgba(232,196,106,.7);box-shadow:0 0 28px -8px rgba(232,196,106,.6)}
.tlinks a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.tlinks .rune{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px dashed rgba(232,196,106,.6);color:var(--gold2);font:700 11px/1 "Cinzel",serif}
.tlinks b{display:block;font:700 15px/1.2 "Cinzel",serif;letter-spacing:.03em}
.tlinks small{display:block;color:var(--mist);font-size:12.5px;margin-top:3px}
.lockseal{display:inline-block;font:700 9.5px/1 "Public Sans",sans-serif;letter-spacing:.08em;color:#1a1404;background:linear-gradient(135deg,#f3d98d,#c9962f);padding:4px 6px;border-radius:999px;margin-left:6px;vertical-align:2px}

/* previous / next */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px;margin:46px auto 0}
.pn a{display:flex;flex-direction:column;gap:6px;padding:18px 22px;border-radius:14px;text-decoration:none;border:1px solid var(--line);background:rgba(17,24,51,.6);color:var(--paper)!important;transition:border-color .2s,box-shadow .2s}
.pn a:hover,.pn a:focus-visible{border-color:rgba(232,196,106,.7);box-shadow:0 0 26px -8px rgba(232,196,106,.6)}
.pn small{font:700 11px/1 "Cinzel",serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.pn b{font:700 18px/1.2 "Cinzel",serif}
.pn .nx{text-align:right;grid-column:2}
@media (max-width:560px){.pn{grid-template-columns:1fr}.pn .nx{grid-column:1}}

.rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
.arcane + .site-footer{margin-top:0}
@media (prefers-reduced-motion:reduce){.medal::before,.ph-hero h1{animation:none!important}.rv{opacity:1;transform:none;transition:none}}
@media print{
  .masthead,.dbx-sec,.site-footer,#dust,.crumb,.ph-hero,.stepper,.tools-h,.tools-s,.tlinks,.pn{display:none!important}
  .arcane{background:none;padding:0}.memo{box-shadow:none;padding:0;max-width:none}.memo::before,.memo .seal{display:none}
}

/* ---- 2026-10-17b: smaller headers ---- */
.crumb{padding-top:20px;font-size:11px}
.ph-hero{gap:18px;padding:18px 0 4px}
.medal{width:84px;height:84px}
.medal::before{inset:-9px}
.medal svg{width:50px;height:50px}
.ph-kick{font-size:11px;letter-spacing:.26em}
.ph-hero h1{font-size:clamp(24px,3.2vw,36px)!important;margin:6px 0 6px}
.ph-hero p{font-size:clamp(16px,1.6vw,18px)}
.stepper{margin:18px 0 26px}
.memo h2{font-size:13px!important;margin:22px 0 6px}
.memo h2::before{min-width:24px;height:24px;font-size:11px}
.tools-h{font-size:clamp(20px,2.4vw,26px)!important;margin-top:44px}
.pn b{font-size:16px}
@media (max-width:640px){.ph-hero{flex-direction:row;align-items:center}.medal{width:64px;height:64px}.medal svg{width:38px;height:38px}}

/* ---- memo as a collapsed dropdown (opens on click) ---- */
.memo-d{max-width:900px;margin:0 auto}
.memo-s{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:10px;
  background:linear-gradient(180deg,#fbf7ec,var(--sheet));color:var(--sheet-ink);
  box-shadow:0 18px 40px -24px rgba(0,0,0,.95),0 0 0 1px rgba(232,196,106,.5),0 0 0 6px rgba(17,24,51,.9),0 0 0 7px rgba(232,196,106,.35);transition:box-shadow .2s,transform .2s}
.memo-s::-webkit-details-marker{display:none}
.memo-s:hover{transform:translateY(-2px);box-shadow:0 22px 44px -22px rgba(0,0,0,.95),0 0 0 1px rgba(232,196,106,.8),0 0 0 6px rgba(17,24,51,.9),0 0 0 7px rgba(232,196,106,.6),0 0 30px -4px rgba(232,196,106,.45)}
.memo-s:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.ms-seal{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 32%,#c0392b,var(--wax) 60%,#5a1010);box-shadow:0 4px 10px rgba(0,0,0,.4),inset 0 0 0 4px rgba(0,0,0,.12)}
.ms-seal svg{width:30px;height:30px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ms-seal svg *{stroke:#f4d9a8!important}.ms-seal svg .f{fill:rgba(244,217,168,.18)}
.ms-t{flex:1;min-width:0}
.ms-t b{display:block;font:700 13px/1 "Cinzel",serif;letter-spacing:.38em;text-transform:uppercase;color:#7a5a17}
.ms-t span{display:block;margin-top:7px;font:500 13.5px/1.35 "IBM Plex Mono",monospace;color:var(--sheet-ink)}
.ms-hint{flex:none;display:flex;align-items:center;gap:10px;font:700 11px/1 "Cinzel",serif;letter-spacing:.16em;text-transform:uppercase;color:#7a5a17}
.ms-hint i{width:30px;height:30px;border-radius:50%;background:#24211b;display:grid;place-items:center;transition:transform .25s}
.ms-hint i::before{content:"";width:8px;height:8px;border-right:2px solid var(--gold2);border-bottom:2px solid var(--gold2);transform:translateY(-2px) rotate(45deg)}
.memo-d[open] .ms-hint i{transform:rotate(180deg)}
.ms-hint .h-c,.memo-d[open] .ms-hint .h-o{display:none}
.memo-d[open] .ms-hint .h-c{display:inline}
.memo-d[open] .memo-s{border-radius:10px 10px 0 0}
.memo-d .memo{margin-top:0;border-radius:0 0 6px 6px;padding-top:30px}
.memo-d[open] .memo{animation:unfold .35s ease}
@keyframes unfold{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:640px){.memo-s{flex-wrap:wrap;gap:12px;padding:14px}.ms-hint{width:100%;justify-content:flex-end}.ms-seal{width:44px;height:44px}.ms-seal svg{width:26px;height:26px}}
@media (prefers-reduced-motion:reduce){.memo-d[open] .memo{animation:none}}
@media print{.memo-s{display:none}}
.memo-d .memo{box-shadow:0 30px 70px -30px rgba(0,0,0,.95),0 0 0 1px rgba(232,196,106,.5),0 0 0 6px rgba(17,24,51,.9),0 0 0 7px rgba(232,196,106,.35)}
.memo-d[open] .memo-s{box-shadow:0 0 0 1px rgba(232,196,106,.5),0 0 0 6px rgba(17,24,51,.9),0 0 0 7px rgba(232,196,106,.35);transform:none;border-bottom:1px solid var(--sheet-rule)}

/* ---- previous / next memorandum ---- */
.mnav{max-width:900px;margin:0 auto 14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.mnav a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--paper)!important;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(17,24,51,.6);transition:border-color .2s,box-shadow .2s;min-width:0}
.mnav a:hover,.mnav a:focus-visible{border-color:rgba(232,196,106,.75);box-shadow:0 0 22px -6px rgba(232,196,106,.6)}
.mnav a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.mnav .mn-n{justify-self:end;text-align:right}
.mnav .mn-p{justify-self:start}
.mnav i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:700 18px/1 "Cinzel",serif;font-style:normal;color:#1a1404;background:linear-gradient(135deg,#f3d98d,#c9962f)}
.mnav span{min-width:0;font:700 13px/1.2 "Cinzel",serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mnav small{display:block;font:600 10px/1.2 "Public Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.mn-c{font:700 11px/1 "Cinzel",serif;letter-spacing:.22em;text-transform:uppercase;color:rgba(232,196,106,.8);white-space:nowrap}
.mnav-in{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 0;padding-top:14px;border-top:1px dashed var(--sheet-rule);font:600 14px/1.3 "IBM Plex Mono",monospace}
.mnav-in a{color:#7a5a17!important;text-decoration:none}
.mnav-in a:hover{text-decoration:underline;text-underline-offset:3px}
.mnav-in a:last-child{margin-left:auto;text-align:right}
@media (max-width:640px){.mnav{grid-template-columns:1fr 1fr}.mn-c{display:none}.mnav span{font-size:12px}}
@media print{.mnav,.mnav-in{display:none!important}}
