@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/fraunces-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cabin';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/cabin-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cabin';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/cabin-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --script:'Fraunces','Iowan Old Style',Georgia,'Times New Roman',serif;
  --leaf:'Cabin',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --seal:#8c1d40;
  --seal-deep:#6d1632;
  --ink:#16130f;
  --whisper:#5b544e;
  --page:#ffffff;
  --wash:#f7f5f1;
  --edge:#ded8ce;
  --span:70rem;
  --band:clamp(56px,9vw,104px);
  --step:24px 0 24px 0;
  --step-flip:0 24px 0 24px;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--page);color:var(--ink);
  font-family:var(--leaf);font-size:1.0625rem;line-height:1.62;
  font-weight:400;text-rendering:optimizeLegibility;
}
img,svg{max-width:100%}
img{height:auto;display:block}
a{color:var(--seal);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--seal-deep)}
h1,h2,h3{font-family:var(--script);font-weight:600;margin:0;line-height:1.12;letter-spacing:-.015em}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
::selection{background:#f0dde3;color:var(--ink)}

.dd-folio{width:100%;max-width:var(--span);margin-inline:auto;padding-inline:clamp(18px,5vw,40px)}
.dd-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dd-skip{position:absolute;left:-9999px;top:0;z-index:90;background:var(--ink);color:var(--page);
  padding:14px 22px;border-radius:var(--step);font-weight:600;text-decoration:none}
.dd-skip:focus{left:14px;top:14px;color:var(--page)}
section[id],article[id]{scroll-margin-top:98px}

/* ---------------- masthead ---------------- */
.dd-crest{position:sticky;top:0;z-index:50;background:var(--page)}
.dd-crest--lifted{box-shadow:0 14px 26px -22px rgba(22,19,15,.7)}
.dd-crest__row{display:flex;align-items:center;justify-content:space-between;gap:18px;
  min-height:72px;position:relative}
.dd-crest__mark{font-family:var(--script);font-size:1.42rem;letter-spacing:-.02em;
  text-decoration:none;color:var(--ink);padding-block:10px}
.dd-crest__mark-b{color:var(--seal)}
.dd-crest__mark:hover .dd-crest__mark-a{color:var(--seal)}
.dd-crest__list{display:flex;align-items:center;gap:clamp(4px,1.6vw,20px)}
.dd-crest__link{display:inline-flex;align-items:center;min-height:48px;padding:0 10px;
  font-size:.95rem;font-weight:600;color:var(--ink);text-decoration:none}
.dd-crest__link:hover,.dd-crest__link:focus-visible{color:var(--seal)}
.dd-crest__link--seal{color:var(--seal)}
.dd-crest__toggle{display:none;width:48px;height:48px;padding:0;background:none;border:0;
  color:var(--ink);cursor:pointer;align-items:center;justify-content:center;border-radius:14px 0 14px 0}
.dd-crest__bars,.dd-crest__bars::before,.dd-crest__bars::after{display:block;width:22px;height:2px;
  background:currentColor;content:"";position:relative;transition:transform .25s ease,opacity .2s ease}
.dd-crest__bars::before{position:absolute;top:-7px}
.dd-crest__bars::after{position:absolute;top:7px}
.dd-open .dd-crest__bars{background:transparent}
.dd-open .dd-crest__bars::before{transform:translateY(7px) rotate(45deg)}
.dd-open .dd-crest__bars::after{transform:translateY(-7px) rotate(-45deg)}

/* ---------------- overture ---------------- */
.dd-overture{padding-block:clamp(40px,7vw,84px) 0;text-align:center}
.dd-overture__eyebrow{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--whisper);margin-bottom:22px}
.dd-overture__title{font-size:clamp(2.3rem,6.4vw,4.15rem);line-height:1.02;letter-spacing:-.028em;
  max-width:11em;margin-inline:auto}
.dd-overture__lede{margin:26px auto 0;max-width:35em;color:var(--whisper);font-size:1.08rem}
.dd-overture__acts{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px}
.dd-overture__facts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 34px;
  margin:38px auto 0;width:fit-content;background:var(--wash);padding:16px clamp(20px,4vw,34px);
  border-radius:28px 0 28px 0;font-size:.88rem;color:var(--whisper);text-align:left}
.dd-overture__fact b{font-weight:600;color:var(--ink)}
.dd-overture__plate{margin-top:clamp(38px,5vw,56px)}
.dd-overture__plate-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--whisper);margin-bottom:16px}
.dd-overture__crests{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.dd-overture__crests img{width:64px;height:64px;border-radius:14px 0 14px 0}

/* ---------------- buttons ---------------- */
.dd-act{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 26px;font-family:var(--leaf);font-size:.95rem;font-weight:600;
  text-decoration:none;cursor:pointer;border:0;border-radius:var(--step);
  transition:border-radius .3s ease,background-color .25s ease,color .25s ease,transform .18s ease}
.dd-act--fill{background:var(--seal);color:var(--page)}
.dd-act--fill:hover,.dd-act--fill:focus-visible{background:var(--seal-deep);color:var(--page);border-radius:var(--step-flip)}
.dd-act--line{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.dd-act--line:hover,.dd-act--line:focus-visible{color:var(--seal);border-color:var(--seal);background:var(--wash);border-radius:var(--step-flip)}
.dd-act:active{transform:translateY(1px)}

/* ---------------- about the desk ---------------- */
.dd-desk{padding-block:var(--band) 0}
.dd-desk__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,4vw,64px)}
.dd-desk__label,.dd-ledger__label,.dd-compare__label,.dd-queries__label,.dd-leaf__label{
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--seal);margin-bottom:14px}
.dd-desk__title{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.dd-desk__lead{position:sticky;top:104px;align-self:start}
.dd-desk__aside{margin-top:20px;font-size:.92rem;color:var(--whisper);max-width:22em}
.dd-desk__prose p{max-width:37em}
.dd-desk__prose p:nth-of-type(2){font-family:var(--script);font-size:clamp(1.35rem,2.6vw,1.72rem);
  line-height:1.28;color:var(--seal);margin-block:30px 30px;max-width:16em}

/* ---------------- catalogue ---------------- */
.dd-ledger{padding-block:var(--band) 0}
.dd-ledger__title{font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:15em}
.dd-ledger__intro{margin-top:18px;margin-bottom:clamp(26px,4vw,42px);max-width:38em;color:var(--whisper)}
.dd-ledger__row{display:grid;grid-template-columns:84px minmax(0,1fr) clamp(240px,26vw,300px);
  grid-template-areas:"seat id shot" "seat body shot";
  column-gap:clamp(16px,2.4vw,30px);row-gap:14px;align-items:start;
  padding:clamp(20px,2.6vw,30px) clamp(16px,2.4vw,28px);border-radius:30px 0 30px 0}
.dd-ledger__row:nth-of-type(even){background:var(--wash)}
.dd-ledger__seat{grid-area:seat;width:84px;height:84px;border-radius:18px 0 18px 0}
.dd-ledger__id{grid-area:id}
.dd-ledger__name{font-size:1.3rem}
.dd-ledger__maker{margin:6px 0 0;font-size:.86rem;color:var(--whisper)}
.dd-ledger__score{margin:12px 0 0;display:flex;align-items:center;gap:10px}
.dd-ledger__shot{grid-area:shot;width:100%;border-radius:20px 0 20px 0}
.dd-ledger__stars-empty{fill:var(--edge)}
.dd-ledger__stars-full{fill:var(--seal)}
.dd-ledger__mark{font-family:var(--script);font-size:1.3rem;color:var(--seal);line-height:1}
.dd-ledger__body{grid-area:body}
.dd-ledger__note{max-width:46em;margin-bottom:16px}
.dd-ledger__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.dd-ledger__chip{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--whisper);
  background:var(--wash);padding:8px 13px;border-radius:14px 0 14px 0}
.dd-ledger__row:nth-of-type(even) .dd-ledger__chip{background:var(--page)}
.dd-ledger__link{font-size:.9rem;padding:0 20px}

/* ---------------- comparison ---------------- */
.dd-compare{padding-block:var(--band) 0}
.dd-compare__title{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.dd-compare__frame{overflow-x:auto;margin-top:clamp(20px,2.6vw,28px);padding-bottom:4px}
.dd-compare__table{width:100%;min-width:52rem;border-collapse:collapse;font-size:.92rem}
.dd-compare__intro{margin-top:18px;max-width:42em;color:var(--whisper);font-size:.98rem}
.dd-compare__caption{caption-side:top;text-align:left;color:var(--whisper);font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase;padding-bottom:16px}
.dd-compare__table th,.dd-compare__table td{padding:15px 16px;text-align:left;vertical-align:top}
.dd-compare__table thead th{font-family:var(--leaf);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--whisper);font-weight:600;border-bottom:1px solid var(--edge);
  padding-bottom:12px}
.dd-compare__table tbody th{font-family:var(--script);font-size:1.02rem;font-weight:600;width:14rem}
.dd-compare__table tbody tr:nth-child(even){background:var(--wash)}
.dd-compare__flag{display:inline-flex;align-items:center;gap:8px}
.dd-compare__tick{color:var(--seal);flex:none}
.dd-compare__tick--flat{color:var(--whisper)}
.dd-compare__foot{margin-top:24px;max-width:42em;color:var(--whisper);font-size:.95rem}

/* ---------------- questions ---------------- */
.dd-queries{padding-block:var(--band) 0}
.dd-queries__grid{display:block}
.dd-queries__lead{margin-bottom:clamp(22px,3.2vw,40px)}
.dd-queries__set{width:100%}
.dd-queries__title{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.dd-queries__aside{margin-top:18px;color:var(--whisper);font-size:.95rem;max-width:24em}
.dd-queries__item{background:var(--wash);border-radius:26px 0 26px 0;padding:2px clamp(18px,2.4vw,26px);
  margin-bottom:10px}
.dd-queries__ask{margin:0;font-size:1rem}
.dd-queries__trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;
  min-height:60px;padding:16px 0;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--script);font-size:1.08rem;font-weight:600;color:var(--ink);line-height:1.3}
.dd-queries__trigger:hover{color:var(--seal)}
.dd-queries__chevron{flex:none;color:var(--seal);transition:transform .28s ease}
.dd-queries__trigger[aria-expanded="true"] .dd-queries__chevron{transform:rotate(180deg)}
.dd-queries__answer{padding-bottom:22px;color:var(--whisper);max-width:44em}

/* ---------------- legal leaf ---------------- */
.dd-leaf{padding-block:clamp(36px,6vw,68px) 0}
.dd-leaf__title{font-size:clamp(2rem,4.6vw,3.1rem);max-width:13em}
.dd-leaf__stamp{margin-top:16px;font-size:.86rem;color:var(--whisper)}
.dd-leaf__prose{margin-top:clamp(24px,3.4vw,38px);max-width:44em}
.dd-leaf__prose h2{font-size:clamp(1.3rem,2.4vw,1.62rem);margin-top:38px;margin-bottom:14px}
.dd-leaf__prose ul{margin:0 0 1.05em;padding-left:1.2em;list-style:disc}
.dd-leaf__prose li{margin-bottom:8px}
.dd-leaf__prose code{font-size:.9em;background:var(--wash);padding:2px 7px;border-radius:8px 0 8px 0}
.dd-leaf__back{margin-top:clamp(30px,4vw,46px)}

/* ---------------- colophon ---------------- */
.dd-colophon{background:#fff;margin-top:var(--band);padding-block:clamp(46px,6vw,78px) 34px}
.dd-colophon__title{font-size:clamp(1.7rem,3.2vw,2.3rem)}
.dd-colophon__lede{margin-top:16px;max-width:38em;color:var(--whisper)}
.dd-colophon__act{margin-top:24px}
.dd-colophon__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,3fr);
  gap:clamp(24px,4vw,48px);margin-top:clamp(46px,6vw,72px)}
.dd-colophon__brand{font-family:var(--script);font-size:1.3rem;margin-bottom:10px}
.dd-colophon__small{font-size:.88rem;color:var(--whisper);max-width:26em}
.dd-colophon__head{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--whisper);margin-bottom:12px}
.dd-colophon__list a{display:inline-flex;align-items:center;min-height:40px;font-size:.92rem;
  color:var(--ink);text-decoration:none}
.dd-colophon__list a:hover,.dd-colophon__list a:focus-visible{color:var(--seal);text-decoration:underline}
.dd-colophon__rule{margin-top:44px;font-size:.82rem;color:var(--whisper)}
.dd-colophon__contact a{word-break:break-word}

/* ---------------- storage notice + lift ---------------- */
.dd-note{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--page);
  box-shadow:0 -18px 44px -26px rgba(22,19,15,.85);padding-block:18px}
.dd-note__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.dd-note__text{margin:0;font-size:.88rem;color:var(--whisper);max-width:54em;line-height:1.55}
.dd-note__acts{display:flex;gap:10px;flex-wrap:wrap}
.dd-note__act{font-size:.88rem;padding:0 22px}
.dd-lift{position:fixed;right:clamp(14px,3vw,28px);bottom:var(--dd-lift-gap,24px);z-index:55;
  width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:var(--page);border-radius:20px 0 20px 0;text-decoration:none;
  transition:border-radius .3s ease,background-color .25s ease,bottom .2s ease}
.dd-lift:hover,.dd-lift:focus-visible{background:var(--seal);color:var(--page);border-radius:0 20px 0 20px}

/* ---------------- narrower screens ---------------- */
@media (max-width:1000px){
  .dd-desk__grid{grid-template-columns:minmax(0,1fr)}
  .dd-desk__lead{position:static}
  .dd-colophon__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dd-colophon__block:first-child{grid-column:1 / -1}
}
@media (max-width:900px){
  .dd-crest__toggle{display:inline-flex}
  .dd-crest__nav{position:absolute;top:100%;left:0;right:0;background:var(--page);
    box-shadow:0 22px 34px -26px rgba(22,19,15,.85);padding:8px clamp(18px,5vw,40px) 20px;display:none}
  .dd-open .dd-crest__nav{display:block}
  .dd-crest__list{flex-direction:column;align-items:stretch;gap:0}
  .dd-crest__link{min-height:52px;padding:0;font-size:1.02rem}
  .dd-ledger__row{grid-template-columns:64px minmax(0,1fr);
    grid-template-areas:"seat id" "shot shot" "body body";row-gap:16px}
  .dd-ledger__seat{width:64px;height:64px;border-radius:14px 0 14px 0}
  .dd-ledger__shot{aspect-ratio:16/9;object-fit:cover;object-position:center;max-height:200px}
  .dd-ledger__name{font-size:1.18rem}
}
@media (max-width:620px){
  body{font-size:1rem}
  .dd-overture__facts{flex-direction:column;gap:10px;width:100%}
  .dd-overture__crests{gap:10px}
  .dd-overture__crests img{width:56px;height:56px}
  .dd-overture__acts .dd-act{flex:1 1 100%}
  .dd-note__row{flex-direction:column;align-items:flex-start}
  .dd-note__acts{width:100%}
  .dd-note__act{flex:1 1 auto}
  .dd-colophon__grid{grid-template-columns:minmax(0,1fr)}
  .dd-ledger__link{width:100%}
  .dd-compare__table{min-width:44rem}
}
@media (max-width:380px){
  .dd-ledger__row{padding-inline:12px}
  .dd-ledger__stars{width:88px;height:15px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;
    scroll-behavior:auto !important}
}
