:root {
  --charcoal:#171614;
  --umber:#2b211b;
  --ground:#efe5d1;
  --linen:#c8b79b;
  --ochre:#c48b38;
  --madder:#a33a43;
  --blue:#2c4f86;
  --green:#5e7e72;
  --hair:rgba(43,33,27,.28);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--charcoal); }
body { margin:0; color:var(--charcoal); background:var(--ground); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; }
img { display:block; width:100%; object-fit:cover; background:var(--linen); }
.folio-head { position:relative; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:2rem; min-height:82px; padding:18px clamp(20px,5vw,82px); color:var(--ground); background:var(--charcoal); border-bottom:1px solid rgba(239,229,209,.25); }
.folio-name { display:flex; align-items:baseline; gap:13px; text-decoration:none; }
.folio-name b { font:italic 700 1.5rem/1 Georgia,serif; color:var(--ochre); }
.folio-name span,.edge-link,.folio-label { font:700 .68rem/1.5 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; }
.edge-link { padding:8px 0; text-decoration:none; border-bottom:1px solid var(--madder); }
h1,h2,h3 { margin:0; font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.035em; }
h1 { font-size:clamp(4rem,9vw,9.2rem); line-height:.83; }
h2 { font-size:clamp(3.2rem,6.7vw,7.2rem); line-height:.88; }
h3 { font-size:clamp(2.3rem,4.2vw,4.8rem); line-height:.93; }
p { line-height:1.7; }
.surface-opening { display:grid; grid-template-columns:1.08fr .92fr; min-height:calc(100vh - 82px); background:var(--ground); overflow:hidden; }
.opening-image { position:relative; min-height:720px; padding:clamp(18px,3vw,42px); background:var(--umber); }
.opening-image img:first-child { height:100%; border-radius:48% 48% 4px 4px; }
.opening-image img:last-child { position:absolute; right:3%; bottom:2%; width:42%; height:39%; border:12px solid var(--ground); transform:rotate(-2.4deg); box-shadow:-18px 18px 0 rgba(163,58,67,.76); }
.opening-inscription { display:flex; flex-direction:column; justify-content:center; padding:clamp(42px,7vw,110px); background-image:linear-gradient(90deg,transparent 8%,rgba(43,33,27,.14) 8.15%,transparent 8.3%),linear-gradient(0deg,transparent 97%,rgba(43,33,27,.12) 97.2%); background-size:auto,100% 46px; }
.opening-inscription .folio-label { color:var(--madder); }
.opening-inscription>p:not(.folio-label) { max-width:37rem; font:italic 1.05rem/1.75 Georgia,serif; }
.thread-link { display:flex; justify-content:space-between; gap:2rem; width:min(100%,420px); padding:16px 0; margin-top:28px; border-bottom:2px solid var(--madder); text-decoration:none; font:700 .72rem/1 'Courier New',monospace; text-transform:uppercase; }
.thread-link span { color:var(--blue); font-size:1.4rem; }
.provenance-strip { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr; gap:1px; color:var(--ground); background:var(--charcoal); }
.provenance-strip>* { padding:19px clamp(12px,2vw,30px); border-right:1px solid rgba(239,229,209,.2); }
.provenance-strip span { font:700 .59rem/1.45 'Courier New',monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--ochre); }
.provenance-strip b { font:normal italic .88rem/1.4 Georgia,serif; }
.reveal-layer { --layer:var(--ochre); position:relative; display:grid; grid-template-columns:95px minmax(300px,.75fr) 1.25fr; min-height:760px; border-bottom:15px solid var(--charcoal); }
.layer-index { display:flex; flex-direction:column; align-items:center; padding:50px 0 20px; color:var(--ground); background:var(--layer); }
.layer-index b { font:400 4rem/1 Georgia,serif; }
.layer-index span { margin-top:auto; writing-mode:vertical-rl; transform:rotate(180deg); font:700 .7rem/1 'Courier New',monospace; letter-spacing:.16em; }
.layer-copy { align-self:center; padding:clamp(35px,5vw,84px); }
.layer-copy .folio-label { color:var(--layer); }
.layer-copy blockquote { margin:32px 0 0; padding:22px 0 22px 24px; border-left:5px solid var(--layer); font:italic 1.45rem/1.35 Georgia,serif; }
.layer-plate { min-height:100%; background:var(--charcoal); }
.plate-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:clamp(22px,4vw,60px); }
.plate-pair img { height:72%; align-self:center; border:9px solid var(--ground); }
.plate-pair img:last-child { transform:translateY(45px); }
.layer-madder { --layer:var(--madder); background:#e6d7c0; }
.layer-blue { --layer:var(--blue); background:#e8dfd1; }
.layer-verdigris { --layer:var(--green); background:#dad6c8; }
.layer-linen { --layer:#7d6849; background:var(--ground); }
.material-ledger { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:1px; background:var(--charcoal); }
.material-ledger figure { position:relative; margin:0; min-height:0; overflow:hidden; }
.material-ledger img { height:100%; }
.material-ledger figcaption { position:absolute; left:0; bottom:0; padding:10px 14px; color:var(--ground); background:var(--charcoal); font:700 .65rem/1 'Courier New',monospace; text-transform:uppercase; }
.comparison-table { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:clamp(22px,4vw,60px); background:var(--blue); }
.comparison-table img { height:100%; min-height:260px; border:1px solid rgba(239,229,209,.7); }
.comparison-table img:nth-child(2),.comparison-table img:nth-child(3) { border-radius:160px 0 0 0; }
.edge-window { position:relative; display:grid; grid-template-columns:1.25fr .75fr; gap:10px; padding:30px; background:var(--charcoal); }
.edge-window img { height:100%; min-height:320px; }
.edge-window img:first-child { grid-row:1/3; }
.edge-window p { margin:0; align-self:end; padding:22px; color:var(--charcoal); background:var(--ground); font:italic 1.3rem/1.4 Georgia,serif; }
.note-spread { display:flex; align-items:center; gap:16px; padding:35px; overflow:hidden; background:#75694f; }
.note-spread img { width:34%; height:70%; min-height:440px; border:8px solid var(--ground); }
.note-spread img:nth-child(2) { transform:translateY(-32px); }
.fragment-register { display:grid; grid-template-columns:.75fr 1fr 1.25fr; min-height:680px; padding:clamp(32px,6vw,90px); color:var(--ground); background:var(--charcoal); }
.register-title { padding-right:42px; }
.register-title .folio-label { color:var(--ochre); }
.register-title h2 { font-size:clamp(3rem,5vw,5.5rem); }
.fragment-register ol { list-style:none; margin:0; padding:0 36px; border-left:1px solid rgba(239,229,209,.3); }
.fragment-register li { display:flex; gap:13px; padding:16px 0; border-bottom:1px solid rgba(239,229,209,.2); font:italic 1rem/1.35 Georgia,serif; }
.fragment-register li b { color:var(--madder); font:700 .7rem/1.8 'Courier New',monospace; }
.register-film { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.register-film img { height:100%; border-radius:150px 150px 0 0; }
.authority-leaf { display:grid; grid-template-columns:1.15fr .85fr; min-height:650px; background:var(--ground); }
.authority-leaf img { height:100%; }
.authority-leaf>div { align-self:center; padding:clamp(36px,6vw,90px); }
.authority-leaf .folio-label { color:var(--madder); }
footer { display:flex; justify-content:space-between; padding:26px clamp(20px,5vw,82px); color:var(--ground); background:var(--charcoal); font:700 .64rem/1.5 'Courier New',monospace; letter-spacing:.08em; text-transform:uppercase; }

/* Privacy is presented as a four-ground folio with irregular entry widths. */
.policy-folio { background:var(--ground); }
.policy-cover { display:grid; grid-template-columns:.85fr 1.15fr; min-height:620px; color:var(--ground); background:var(--umber); }
.cover-copy { align-self:center; padding:clamp(38px,7vw,110px); }
.cover-copy .folio-label { color:var(--ochre); }
.policy-cover img { height:100%; }
.policy-index { display:grid; grid-template-columns:repeat(9,1fr); border:12px solid var(--ground); background:var(--charcoal); }
.policy-index a { min-height:90px; padding:13px 10px; color:var(--ground); border-right:1px solid rgba(239,229,209,.2); border-bottom:1px solid rgba(239,229,209,.2); text-decoration:none; font:700 .61rem/1.35 'Courier New',monospace; text-transform:uppercase; }
.policy-index b { display:block; margin-bottom:5px; color:var(--ochre); font-size:1rem; }
.folio-chapter { --pigment:var(--ochre); display:grid; grid-template-columns:30% 1fr 1fr; border-bottom:14px solid var(--charcoal); }
.folio-chapter>header { grid-row:span 3; display:flex; flex-direction:column; min-height:730px; padding:30px; color:var(--ground); background:var(--pigment); }
.folio-chapter>header span { font:700 .67rem/1.4 'Courier New',monospace; letter-spacing:.14em; }
.folio-chapter>header h2 { margin-top:14px; font-size:clamp(3rem,5vw,5.8rem); }
.folio-chapter>header img { height:45%; margin-top:auto; border:9px solid var(--ground); border-radius:180px 180px 0 0; }
.folio-chapter section { display:flex; gap:20px; min-height:300px; padding:clamp(26px,4vw,58px); border-right:1px solid var(--hair); border-bottom:1px solid var(--hair); scroll-margin-top:20px; }
.folio-chapter section em { color:var(--pigment); font:italic 400 2.2rem/1 Georgia,serif; }
.folio-chapter section>div { flex:1; }
.folio-chapter section h3 { color:var(--umber); }
.folio-chapter section>img { width:37%; min-width:180px; max-height:260px; align-self:stretch; border-radius:130px 130px 0 0; }
.folio-chapter section:nth-of-type(3),.folio-chapter section:nth-of-type(4) { grid-column:2/4; }
.folio-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; min-width:40%; }
.folio-pair img { height:240px; }
.pigment-madder { --pigment:var(--madder); background:#e9dcc8; }
.pigment-blue { --pigment:var(--blue); background:#e3dacb; }
.pigment-green { --pigment:var(--green); background:#ddd7c7; }

@media (max-width:980px) {
  .surface-opening,.authority-leaf,.policy-cover { grid-template-columns:1fr; }
  .opening-image { min-height:630px; }
  .provenance-strip { grid-template-columns:auto 1fr; }
  .reveal-layer { grid-template-columns:65px 1fr; }
  .layer-index { grid-row:1/3; }
  .reveal-layer>:last-child { grid-column:2; min-height:580px; }
  .fragment-register { grid-template-columns:1fr 1fr; }
  .register-film { grid-column:1/3; min-height:520px; margin-top:40px; }
  .policy-index { grid-template-columns:repeat(6,1fr); }
  .folio-chapter { grid-template-columns:1fr 1fr; }
  .folio-chapter>header { grid-column:1/3; grid-row:auto; min-height:510px; }
  .folio-chapter>header img { height:260px; }
  .folio-chapter section:nth-of-type(3),.folio-chapter section:nth-of-type(4) { grid-column:1/3; }
}
@media (max-width:650px) {
  .folio-head { align-items:flex-start; }
  .folio-name span { display:none; }
  .edge-link { max-width:170px; text-align:right; }
  h1 { font-size:4rem; }
  h2 { font-size:3rem; }
  .opening-image { min-height:500px; }
  .opening-image img:last-child { border-width:6px; }
  .reveal-layer { grid-template-columns:42px 1fr; }
  .layer-index b { font-size:2.2rem; }
  .plate-pair,.comparison-table { grid-template-columns:1fr; }
  .plate-pair img { height:310px; }
  .edge-window { grid-template-columns:1fr; }
  .edge-window img:first-child { grid-row:auto; }
  .note-spread { gap:5px; padding:15px 5px; }
  .note-spread img { min-height:360px; border-width:3px; }
  .fragment-register { display:block; }
  .fragment-register ol { margin:30px 0; padding:0; border:0; }
  .register-film { height:430px; }
  .policy-index { grid-template-columns:repeat(3,1fr); }
  .folio-chapter { display:block; }
  .folio-chapter section { display:block; }
  .folio-chapter section em { display:block; margin-bottom:12px; }
  .folio-chapter section>img { width:100%; min-width:0; height:250px; margin-top:20px; }
  .folio-pair { margin-top:20px; }
  footer { display:block; }
}
