/* Field Assembly — shared design system (fa.css) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
:root{
  --paper:#FBF9F4; --paper-2:#F2EEE5; --paper-3:#E9E3D6;
  --ink:#262019; --ink-soft:#5C5347; --ink-faint:#877B6B;
  --rule:#D6CCB8; --rule-2:#E0D7C5; --red:#A83A2B; --red-deep:#8A2B20;
  --serif:"Newsreader",Georgia,serif; --sans:"Hanken Grotesk",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --pad-x:clamp(1.4rem,6vw,7rem);
}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
.skip-link{position:absolute;top:-100%;left:16px;padding:10px 18px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-decoration:none;z-index:100;}
.skip-link:focus{top:0;}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
.fa-mk{width:26px;height:26px;flex:none;display:inline-block;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Crect%20x='6'%20y='6'%20width='12'%20height='12'%20fill='none'%20stroke='%23262019'%20stroke-width='1.4'/%3E%3Cpath%20d='M12%203V9%20M12%2015V21%20M3%2012H9%20M15%2012H21'%20stroke='%23262019'%20stroke-width='1.15'%20fill='none'%20stroke-linecap='round'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='2.4'%20fill='%23A83A2B'/%3E%3C/svg%3E") center/contain no-repeat;}

/* masthead */
header.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem var(--pad-x);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(4px);}
.brand{display:flex;align-items:center;gap:.7rem;}
.brand b{font-family:var(--serif);font-weight:600;font-size:1.12rem;display:block;}
.brand span{font-family:var(--mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-top:1px;}
header.top nav{display:flex;gap:1.4rem;align-items:center;}
header.top nav a{font-family:var(--sans);font-size:.82rem;text-decoration:none;color:var(--ink-soft);padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color .18s,color .18s;white-space:nowrap;}
header.top nav a:hover{color:var(--ink);border-color:var(--red);}
header.top nav a[aria-current="page"]{color:var(--ink);border-color:var(--red);}
header.top nav a.mark{color:var(--red-deep);font-style:italic;font-family:var(--serif);font-size:.95rem;border:none;}
header.top nav a.mark:hover{color:var(--ink);}
@media(max-width:720px){header.top nav a:not(.mark){display:none;}.brand span{display:none;}}

/* generic containers */
.wrap{max-width:1100px;margin:0 auto;padding:0 var(--pad-x);}
.prose-wrap{max-width:760px;margin:0 auto;padding:clamp(2.4rem,5vw,4rem) var(--pad-x) clamp(3rem,7vw,6rem);}

/* page / document head */
.doc-head{max-width:1100px;margin:0 auto;padding:clamp(2.4rem,5vw,4rem) var(--pad-x) clamp(1.6rem,3vw,2.4rem);border-bottom:1px solid var(--rule);}
.doc-head .titleblk{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,max-content));border:1px solid var(--ink);width:max-content;max-width:100%;margin-bottom:1.8rem;}
.doc-head .titleblk div{padding:.45rem .8rem;border-right:1px solid var(--rule);}
.doc-head .titleblk div:last-child{border-right:none;}
.doc-head .titleblk .k{font-family:var(--mono);font-size:.55rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);display:block;}
.doc-head .titleblk .v{font-family:var(--mono);font-size:.78rem;color:var(--ink);display:block;margin-top:.15rem;}
.doc-kicker{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep);}
.doc-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,5vw,3.3rem);line-height:1.05;letter-spacing:-.01em;margin-top:.5rem;max-width:20ch;}
.doc-head .lede{font-family:var(--serif);font-size:clamp(1.1rem,2.2vw,1.35rem);color:var(--ink-soft);line-height:1.5;max-width:60ch;margin-top:1.3rem;}
@media(max-width:520px){.doc-head .titleblk{grid-template-columns:repeat(2,1fr);width:100%;} .doc-head .titleblk div{border-bottom:1px solid var(--rule);}}

/* prose (editorial pages) */
.prose h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.15;margin:2.4rem 0 1rem;letter-spacing:-.005em;}
.prose h3{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep);margin:1.8rem 0 .6rem;}
.prose p{font-family:var(--serif);font-size:1.12rem;color:var(--ink-soft);line-height:1.78;margin-bottom:1.15rem;}
.prose p.lead{font-size:1.3rem;color:var(--ink);line-height:1.5;}
.prose p:last-child{margin-bottom:0;}
.prose ul,.prose ol{margin:.6rem 0 1.3rem 1.4rem;font-family:var(--serif);font-size:1.08rem;color:var(--ink-soft);line-height:1.7;}
.prose li{margin-bottom:.5rem;}
.prose li::marker{color:var(--ink-faint);}
.prose a{color:var(--red-deep);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--rule);}
.prose a:hover{text-decoration-color:var(--red);color:var(--ink);}
.prose strong{color:var(--ink);font-weight:600;}
.prose blockquote{margin:1.6rem 0;padding-left:1.2rem;border-left:2px solid var(--red);}
.prose blockquote p{font-style:italic;color:var(--ink);}

/* section band + head (for hub pages) */
.band{padding:clamp(2.6rem,6vw,5rem) var(--pad-x);border-bottom:1px solid var(--rule);}
.sec-head{display:grid;grid-template-columns:9rem 1fr;gap:2rem;align-items:start;margin-bottom:2.4rem;}
.sec-head .idx .n{font-family:var(--mono);font-size:.72rem;color:var(--red-deep);display:block;}
.sec-head .idx .t{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-top:.3rem;}
.sec-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3.4vw,2.4rem);max-width:22ch;}
.sec-head .lede{grid-column:2;margin-top:.9rem;max-width:60ch;color:var(--ink-soft);font-size:1.1rem;font-family:var(--serif);}
@media(max-width:680px){.sec-head{grid-template-columns:1fr;gap:.5rem;}.sec-head .lede{grid-column:1;}}

/* archive index (plates) */
.arch{border-top:1px solid var(--ink);}
.arch a,.arch .row{display:grid;grid-template-columns:6rem 1fr auto;gap:1.4rem;align-items:center;padding:1.5rem 1.1rem 1.5rem .2rem;border-bottom:1px solid var(--rule-2);text-decoration:none;transition:padding-left .18s,background .18s;}
.arch a:hover{background:var(--paper-2);padding-left:1.4rem;}
.arch .pn{font-family:var(--mono);color:var(--red-deep);font-size:.78rem;}
.arch .nm{font-family:var(--serif);font-weight:600;font-size:1.34rem;}
.arch .ds{color:var(--ink-soft);font-size:.98rem;margin-top:.2rem;font-family:var(--serif);}
.arch .ar{font-family:var(--serif);font-style:italic;color:var(--ink-faint);}
.arch .row{color:var(--ink-faint);}
.arch .row .nm{font-weight:500;color:var(--ink-soft);}
.prep{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule);padding:.2rem .5rem;border-radius:2px;white-space:nowrap;}
@media(max-width:640px){.arch a,.arch .row{grid-template-columns:3.4rem 1fr;}.arch .ar{display:none;}}

/* materials index grid */
.mat-grid{border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(2,1fr);}
.mat-grid a,.mat-grid .row{display:grid;grid-template-columns:2.8rem 1fr;gap:1.1rem;padding:1.35rem 1.2rem 1.35rem .2rem;border-bottom:1px solid var(--rule-2);text-decoration:none;align-items:start;transition:background .16s;}
.mat-grid a:nth-child(odd),.mat-grid .row:nth-child(odd){border-right:1px solid var(--rule-2);padding-right:2rem;}
.mat-grid a:hover{background:var(--paper-2);}
.mat-grid .no{font-family:var(--mono);color:var(--red-deep);font-size:.8rem;padding-top:.3rem;}
.mat-grid .name{font-family:var(--serif);font-weight:600;font-size:1.16rem;}
.mat-grid .desc{color:var(--ink-soft);font-size:.96rem;margin-top:.2rem;font-family:var(--serif);}
.mat-grid .row{color:var(--ink-faint);}
.mat-grid .row .name{font-weight:500;color:var(--ink-soft);display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;}
@media(max-width:640px){.mat-grid{grid-template-columns:1fr;}.mat-grid a:nth-child(odd),.mat-grid .row:nth-child(odd){border-right:none;padding-right:1.2rem;}}

/* observations index */
.obs-index{border-top:1px solid var(--ink);}
.obs-index a,.obs-index .row{display:grid;grid-template-columns:4.5rem 1fr auto;gap:1.4rem;align-items:baseline;padding:1.4rem 1.1rem 1.4rem .2rem;border-bottom:1px solid var(--rule-2);text-decoration:none;transition:padding-left .18s,background .18s;}
.obs-index a:hover{background:var(--paper-2);padding-left:1.2rem;}
.obs-index .no{font-family:var(--mono);color:var(--red-deep);font-size:.76rem;}
.obs-index .ti{font-family:var(--serif);font-weight:500;font-size:1.28rem;line-height:1.25;}
.obs-index .dt{font-family:var(--mono);font-size:.64rem;letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase;}
@media(max-width:600px){.obs-index a,.obs-index .row{grid-template-columns:3rem 1fr;}.obs-index .dt{display:none;}}

/* before / after */
.ba{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);margin-top:1.6rem;}
.ba>div{padding:clamp(1.3rem,2.6vw,1.9rem);}
.ba .before{background:var(--paper-2);border-right:1px solid var(--rule);}
.ba .hd{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);}
.ba .after .hd{color:var(--red-deep);}
.ba ul{list-style:none;margin:.9rem 0 0;padding:0;}
.ba li{padding:.6rem 0;border-top:1px solid var(--rule-2);font-family:var(--serif);font-size:1.05rem;line-height:1.42;color:var(--ink);}
.ba .before li{color:var(--ink-faint);}
.ba .after li{padding-left:1.3rem;position:relative;}
.ba .after li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:8px;border-right:1.5px solid var(--red);border-bottom:1.5px solid var(--red);transform:rotate(45deg);}
@media(max-width:560px){.ba{grid-template-columns:1fr;}.ba .before{border-right:none;border-bottom:1px solid var(--rule);}}

/* buttons + inline link */
.btn{display:inline-block;font-family:var(--sans);font-size:.92rem;text-decoration:none;padding:.8rem 1.4rem;border:1px solid var(--ink);color:var(--ink);background:transparent;border-radius:2px;transition:background .18s,color .18s;}
.btn.solid{background:var(--ink);color:var(--paper);}
.btn:hover{background:var(--ink);color:var(--paper);}
.btn.solid:hover{background:var(--red-deep);border-color:var(--red-deep);}
.link-note{font-family:var(--serif);font-style:italic;font-size:1.02rem;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:1px;}
.link-note:hover{border-color:var(--red);color:var(--ink);}

/* small notes / observations blocks */
.fieldnote{border-left:2px solid var(--red);padding:.2rem 0 .2rem 1.1rem;margin:1.6rem 0;max-width:52ch;}
.fieldnote .l{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);display:block;margin-bottom:.35rem;}
.fieldnote p{margin:0;font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:1.05rem;}
.pull{padding:clamp(2.4rem,6vw,4rem) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:2.4rem 0;}
.pull q{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.22;quotes:"\201C" "\201D";}
.pull cite{display:block;margin-top:1.2rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-style:normal;}

/* quiet evidence list */
.evidence{border-top:1px solid var(--ink);margin-top:1.4rem;}
.evidence .prov{font-family:var(--serif);font-style:italic;color:var(--ink-faint);font-size:.98rem;margin:.9rem 0 0;}
.evidence ul{list-style:none;margin:1.2rem 0 0;padding:0;}
.evidence li{display:grid;grid-template-columns:7rem 1fr;gap:1.4rem;padding:1.05rem 0;border-top:1px solid var(--rule-2);align-items:baseline;}
.evidence li:first-child{border-top:none;}
.evidence .ts{font-family:var(--mono);font-size:.7rem;color:var(--ink-faint);letter-spacing:.03em;}
.evidence .ob{font-family:var(--serif);font-size:1.1rem;line-height:1.4;color:var(--ink);}
@media(max-width:640px){.evidence li{grid-template-columns:1fr;gap:.2rem;}}

/* plate motif svg wrap */
.motif{border:1px solid var(--rule);background:var(--paper);padding:clamp(1rem,2.5vw,2rem);}
.motif svg{display:block;width:100%;height:auto;max-width:480px;margin:0 auto;}
.motif figcaption{font-family:var(--serif);font-style:italic;color:var(--ink-soft);margin-top:1rem;font-size:1rem;text-align:center;}

/* materials-used chips */
.used{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;}
.used a{font-family:var(--mono);font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--rule);padding:.35rem .6rem;border-radius:2px;color:var(--ink-soft);text-decoration:none;transition:border-color .16s,color .16s;}
.used a:hover{border-color:var(--red);color:var(--ink);}

/* start here form */
.sh-q{margin:0 0 2.4rem;}
.sh-q .ql{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);margin-bottom:.9rem;}
.sh-q .qh{font-family:var(--serif);font-size:1.3rem;margin-bottom:1rem;}
.sh-opts{display:grid;gap:.7rem;}
.sh-opt{display:flex;gap:.8rem;align-items:flex-start;border:1px solid var(--rule);background:var(--paper);padding:.9rem 1.1rem;cursor:pointer;transition:border-color .16s,background .16s;}
.sh-opt:hover{border-color:var(--red);background:var(--paper-2);}
.sh-opt input{margin-top:.35rem;accent-color:var(--red);}
.sh-opt .ot{font-family:var(--serif);font-size:1.06rem;color:var(--ink);}
.sh-field{margin-top:.6rem;}
.sh-field label{font-family:var(--serif);font-size:1.06rem;display:block;margin-bottom:.6rem;}
.sh-field textarea{width:100%;min-height:130px;font-family:var(--serif);font-size:1.05rem;line-height:1.6;color:var(--ink);background:var(--paper);border:1px solid var(--rule);padding:1rem;resize:vertical;}
.sh-field textarea:focus{outline:2px solid var(--red);outline-offset:1px;}
.sh-upload{border:1.5px dashed var(--ink-faint);background:var(--paper);padding:1.6rem;text-align:center;color:var(--ink-soft);font-family:var(--serif);}
.sh-upload .kinds{font-family:var(--mono);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-top:.6rem;}

/* editions timeline */
.editions{border-top:1px solid var(--ink);}
.edition{display:grid;grid-template-columns:9rem 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--rule-2);}
.edition .en{font-family:var(--mono);font-size:.74rem;color:var(--red-deep);}
.edition .es{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-top:.4rem;}
.edition h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin-bottom:.6rem;}
.edition p{font-family:var(--serif);color:var(--ink-soft);font-size:1.06rem;line-height:1.6;margin-bottom:.8rem;}
.edition ul{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
.edition li{font-family:var(--mono);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--rule);padding:.28rem .55rem;color:var(--ink-faint);}
@media(max-width:640px){.edition{grid-template-columns:1fr;gap:.7rem;}}

/* shared footer */
.site-footer{border-top:2px solid var(--ink);background:var(--paper-2);padding:clamp(2.4rem,5vw,3.6rem) var(--pad-x) 2rem;}
.site-footer .sf-top{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr 2fr;gap:2.4rem;}
.site-footer .sf-brand{display:flex;align-items:flex-start;gap:.7rem;}
.site-footer .sf-brand b{font-family:var(--serif);font-weight:600;font-size:1.1rem;display:block;}
.site-footer .sf-tag{font-family:var(--mono);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);}
.site-footer .sf-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.site-footer .sf-col{display:flex;flex-direction:column;gap:.5rem;}
.site-footer .sf-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red-deep);margin-bottom:.3rem;}
.site-footer .sf-col a,.site-footer .sf-col span{font-family:var(--sans);font-size:.9rem;color:var(--ink-soft);text-decoration:none;line-height:1.3;}
.site-footer .sf-col a{border-bottom:1px solid transparent;width:max-content;}
.site-footer .sf-col a:hover{color:var(--ink);border-color:var(--red);}
.site-footer .sf-col a[aria-current="page"]{color:var(--red-deep);}
.site-footer .sf-base{max-width:1100px;margin:2.4rem auto 0;padding-top:1.4rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:1rem 2rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--ink-faint);flex-wrap:wrap;}
@media(max-width:760px){.site-footer .sf-top{grid-template-columns:1fr;gap:2rem;}.site-footer .sf-nav{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.site-footer .sf-nav{grid-template-columns:1fr;}}

.reveal{opacity:0;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;}html{scroll-behavior:auto;}}

.brand-link{display:inline-flex;align-items:center;text-decoration:none;}
.brand-logo{height:84px;width:auto;display:block;}
.site-footer .brand-logo-sm{height:30px;width:auto;display:block;}
@media(max-width:520px){.brand-logo{height:46px;}}

header.top{flex-wrap:wrap;row-gap:.4rem;}

/* ===== mobile refinements ===== */
img:not(.brand-logo):not(.brand-logo-sm){max-width:100%;}
header.top{flex-wrap:wrap;}
header.top nav{flex-wrap:wrap;}
@media (max-width:900px){ header.top nav a:not(.mark){display:inline-block !important;} }
@media (max-width:680px){
  header.top{position:static;padding-top:.7rem;padding-bottom:.7rem;}
  header.top nav{width:100%;justify-content:flex-start;gap:.15rem 1.15rem;margin-top:.4rem;padding-top:.55rem;border-top:1px solid var(--rule-2);}
  header.top nav a{padding:.5rem 0;font-size:.95rem;}
  .site-footer .sf-col a{padding:.2rem 0;}
}
@media (max-width:560px){ .brand-logo{height:46px;} }
@media (max-width:380px){ .brand-logo{height:40px;} }

/* full plate figure (Carpenter / GroundTruth) */
.plate-img{margin:0 auto;max-width:1100px;border:1px solid var(--rule);background:var(--paper);padding:clamp(1rem,2.5vw,1.8rem);}
.plate-img img{display:block;width:100%;height:auto;}
.plate-img figcaption{font-family:var(--serif);font-style:italic;color:var(--ink-soft);margin-top:1rem;font-size:1rem;text-align:center;}
.used span{font-family:var(--mono);font-size:.66rem;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--rule);padding:.35rem .6rem;border-radius:2px;color:var(--ink-soft);}
