/* ============================================================
   SPI landing system. Shared by the homepage, /find, /join.
   The registry aesthetic: official, verified, warm, authoritative.
   Keep the palette; everything else serves "this is a public registry".
   ============================================================ */

/* ── Self-hosted fonts (no CDN) ───────────────────────────── */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/fraunces-latin-full-normal.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url('/fonts/fraunces-latin-full-italic.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/dm-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/dm-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/dm-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/dm-sans-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/dm-sans-latin-400-italic.woff2') format('woff2');}

:root{
  --ink:#0f1a1a; --ink-soft:#2f3f3e; --ink-mute:#6b7d7d;
  --teal-950:#082e2e; --teal-900:#0a3d3d; --teal-800:#0d4f4f; --teal-700:#116363;
  --teal-100:#c5e8e8; --teal-50:#eef7f7;
  --amber:#e8a838; --amber-soft:#f4cb78; --gold-deep:#b88a1d;
  --foil:linear-gradient(115deg,#b88a1d 0%,#f4cb78 45%,#e8a838 60%,#b88a1d 100%);
  --paper:#faf7f0; --line:#e7e3d8; --card:#fffdf9;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:ui-monospace,'SF Mono','DejaVu Sans Mono',Menlo,monospace;
  --maxw:1140px; --radius:14px;
  --shadow-1:0 1px 2px rgba(10,61,61,.06),0 8px 28px rgba(10,61,61,.08);
  --shadow-2:0 2px 6px rgba(8,46,46,.18),0 24px 64px rgba(8,46,46,.32);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;}}
body{font-optical-sizing:auto;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.icon-xs{width:14px;height:14px;}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px;}

/* ── Markers ──────────────────────────────────────────────── */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold-deep);}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--foil);}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}
.sec-no{display:block;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold-deep);letter-spacing:1px;margin-bottom:10px;}
.ornament{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--gold-deep);margin:0 auto 14px;font-size:12px;}
.ornament::before,.ornament::after{content:"";width:56px;height:1px;background:var(--foil);opacity:.8;}

/* ── Nav ──────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .25s,box-shadow .25s;}
.nav:not(.scrolled){background:transparent;}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:18px 24px;display:flex;align-items:center;gap:28px;}
.nav.scrolled{background:rgba(250,247,240,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);}
.nav.scrolled .nav-inner{padding:12px 24px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;}
.brand-mark{width:34px;height:34px;background:var(--teal-900);color:#fff;font-family:var(--serif);font-size:19px;font-weight:600;display:grid;place-items:center;border-radius:4px;}
.brand-name{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink);letter-spacing:.2px;white-space:nowrap;}
.brand-name em{font-style:italic;font-weight:500;color:var(--teal-700);}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;white-space:nowrap;}
.nav-links a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--ink-soft);transition:color .15s;}
.nav-links a:hover{color:var(--teal-700);}
.nav-cta{background:var(--teal-900);color:#fff!important;text-decoration:none;padding:9px 20px;border-radius:999px;font-size:14px;font-weight:600;transition:background .15s;}
.nav-cta:hover{background:var(--teal-700);}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px;}
.nav-toggle .icon{width:24px;height:24px;}

/* ── Buttons ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:15px;font-weight:600;padding:14px 26px;border-radius:10px;text-decoration:none;cursor:pointer;border:0;transition:transform .14s,background .14s,color .14s,border-color .14s;}
.btn:active{transform:translateY(1px);}
.btn-amber{background:var(--amber);color:var(--teal-950);}
.btn-amber:hover{background:var(--amber-soft);}
.btn-teal{background:var(--teal-900);color:#fff;}
.btn-teal:hover{background:var(--teal-700);}
.btn-line{background:transparent;color:var(--teal-800);border:1px solid rgba(13,79,79,.3);}
.btn-line:hover{border-color:var(--teal-800);background:var(--teal-50);}
.btn-ghost{background:transparent;color:#ecf4f3;border:1px solid rgba(236,244,243,.35);}
.btn-ghost:hover{border-color:rgba(236,244,243,.8);}

/* ── Section scaffolding ──────────────────────────────────── */
section{padding:92px 0;}
.section-head{max-width:680px;margin-bottom:52px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-title{font-family:var(--serif);font-weight:600;font-size:clamp(32px,3.9vw,46px);line-height:1.1;letter-spacing:-.9px;margin:16px 0 16px;}
.section-title em{font-style:italic;color:var(--teal-700);}
.section-lede{font-size:16.5px;color:var(--ink-soft);font-weight:400;line-height:1.75;}

/* ── The record card (the core artifact) ──────────────────── */
.record{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-2);overflow:hidden;}
.record-head{display:flex;align-items:center;gap:11px;padding:14px 18px;background:linear-gradient(180deg,var(--teal-900),var(--teal-950));color:#eaf3f1;}
.record-head .mk{width:25px;height:25px;border-radius:5px;background:#fff;color:var(--teal-900);font-family:var(--serif);font-weight:600;font-size:15px;display:grid;place-items:center;flex:none;}
.record-head .tl{font-family:var(--mono);font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--amber-soft);}
.record-head .no{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.5px;color:rgba(234,243,241,.66);}
.record-id{display:flex;gap:16px;padding:18px;border-bottom:1px solid var(--line);}
.record-photo{width:82px;height:102px;border-radius:8px;flex:none;overflow:hidden;position:relative;background:linear-gradient(155deg,#0c4a4a,#15756e 55%,#c89a3c);}
.record-photo>img{width:100%;height:100%;object-fit:cover;display:block;}
.record-photo .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.5);}
.record-photo .ph svg{width:38px;height:38px;}
.record-name{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.08;color:var(--ink);}
.record-loc{font-size:12.5px;color:var(--ink-mute);margin-top:4px;}
.record-seal{display:inline-flex;align-items:center;gap:6px;margin-top:11px;font-family:var(--mono);font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--teal-700);background:var(--teal-50);border:1px solid rgba(13,79,79,.12);padding:4px 9px;border-radius:999px;}
.record-seal svg{width:11px;height:11px;color:var(--gold-deep);}
.record-fields{padding:4px 18px 6px;}
.rf{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);}
.rf:last-child{border-bottom:0;}
.rf .k{font-family:var(--mono);font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;}
.rf .v{font-size:13px;color:var(--ink);font-weight:500;text-align:right;}
.rf-ce .v{display:flex;align-items:center;gap:9px;}
.ce-mini{width:56px;height:5px;border-radius:999px;background:#e9e2d2;overflow:hidden;}
.ce-mini>i{display:block;height:100%;background:var(--foil);}
.rf-rate{background:#fcfaf4;margin:0 -18px;padding:12px 18px;border-bottom:0;}
.rf-rate .k{color:var(--gold-deep);}
.rf-rate .v{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--teal-900);}
.record-foot{display:flex;align-items:center;gap:10px;padding:13px 18px;border-top:1px solid var(--line);}
.record-foot .stamp{font-family:var(--mono);font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-mute);}
.record-foot .go{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--teal-800);text-decoration:none;}
.record-foot .go svg{width:14px;height:14px;}

/* photo placeholder helper (warm, not a gray box) */
.ph-photo{position:relative;overflow:hidden;background:linear-gradient(155deg,#0c4a4a 0%,#15756e 52%,#c89a3c 100%);}
.ph-photo>img{width:100%;height:100%;object-fit:cover;display:block;}
.ph-photo .ph{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.45);}

/* ── Footer ───────────────────────────────────────────────── */
.footer{background:var(--teal-950);color:rgba(233,242,241,.75);border-top:1px solid rgba(255,255,255,.08);padding:64px 0 40px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer .brand-name{color:#fff;}
.footer .brand-mark{background:#fff;color:var(--teal-900);}
.footer-mission{font-size:13.5px;max-width:40ch;margin-top:16px;}
.footer-tag{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--amber-soft);border:1px solid rgba(244,203,120,.35);padding:5px 10px;border-radius:999px;}
.footer h4{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#fff;margin-bottom:16px;}
.footer ul{list-style:none;display:grid;gap:10px;}
.footer ul a{text-decoration:none;font-size:14px;transition:color .15s;}
.footer ul a:hover{color:var(--amber-soft);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:26px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font-size:12.5px;}
.footer-bottom .legal{margin-left:auto;display:flex;gap:22px;}
.footer-bottom a{text-decoration:none;}
.footer-bottom a:hover{color:var(--amber-soft);}

/* ── Responsive base ──────────────────────────────────────── */
@media (max-width:760px){
  .nav-toggle{display:block;}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--teal-950);padding:8px 24px 20px;display:none;}
  .nav.scrolled .nav-links{background:var(--paper);box-shadow:0 18px 32px rgba(10,61,61,.12);}
  .nav-links.open{display:flex;}
  .nav-links li{padding:11px 0;}
  .nav.scrolled .nav-links a:not(.nav-cta){color:var(--ink-soft);}
  .nav-links .nav-cta{display:inline-block;text-align:center;margin-top:8px;}
  section{padding:64px 0;}
  .footer-grid{grid-template-columns:1fr;gap:36px;}
}
