@font-face { font-family:'Instrument Serif'; src:url('fonts/instrument-serif.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Instrument Serif'; src:url('fonts/instrument-serif-italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'DM Sans'; src:url('fonts/dm-sans.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
:root { --paper:#f4f2eb; --ink:#282823; --muted:#66665f; --rule:#cbc9bf; --red:#ad3c25; --serif:'Instrument Serif',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; color-scheme:light; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans); }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-underline-offset:4px; }
button { color:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible { outline:2px solid var(--red); outline-offset:6px; }
::selection { background:#dcc3b5; color:var(--ink); }
.nd-page { max-width:1800px; margin:0 auto; padding:0 clamp(22px,4.6vw,88px); min-height:100svh; display:flex; flex-direction:column; }
.nd-header { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--rule); }
.nd-brand { display:block; text-decoration:none; font:30px/.88 var(--serif); letter-spacing:-.025em; }
.nd-brand span { display:block; }
.nd-header-note { margin:0; font-size:12px; color:var(--muted); }
.nd-header-note em { color:var(--ink); font:17px var(--serif); margin-left:14px; }
.nd-main { flex:1; }
.nd-label { font:11px/1.5 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.nd-home { padding:32px 0 34px; min-height:calc(100svh - 230px); display:flex; flex-direction:column; justify-content:space-between; }
.nd-home-top { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; }
.nd-intro { max-width:290px; margin:13px 0 0; font:24px/1.25 var(--serif); }
.nd-intro em { font-style:italic; }
.nd-calendar { width:160px; flex-shrink:0; text-align:center; color:var(--red); position:relative; }
.nd-calendar .nd-label { display:block; }
.nd-calendar strong { display:block; font:400 108px/.95 var(--serif); letter-spacing:-.05em; margin:6px 0 0; }
.nd-calendar small { display:block; font:11px/1.5 var(--sans); margin-top:8px; color:var(--muted); }
.nd-title { font:400 clamp(112px,min(25.2vw,39svh),445px)/.87 var(--serif); letter-spacing:-.045em; margin:0 0 12px; white-space:nowrap; }
.nd-title .nd-letter { display:inline-block; transition:transform 450ms cubic-bezier(.2,.8,.2,1),opacity 450ms ease; }
.nd-title .nd-full-stop { color:var(--red); }
.nd-title .nd-letter.nd-absent { opacity:0; transform:translateY(-.04em); }
.nd-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.nd-subtitle { margin:0; font-size:15px; color:var(--muted); max-width:330px; }
.nd-go { display:flex; justify-content:space-between; align-items:center; gap:52px; padding:13px 0; border-bottom:1px solid var(--ink); text-decoration:none; font-size:18px; min-width:245px; transition:color 200ms,border-color 200ms; }
.nd-go svg { width:25px; height:25px; transition:transform 250ms; }
.nd-go:hover { color:var(--red); border-color:var(--red); }
.nd-go:hover svg { transform:translateX(4px); }
.nd-footer { display:flex; justify-content:space-between; align-items:center; gap:22px; min-height:118px; border-top:1px solid var(--rule); }
.nd-nav { display:flex; flex-wrap:wrap; gap:12px 34px; }
.nd-nav a { text-decoration:none; display:flex; gap:10px; align-items:center; min-height:44px; font-size:13px; }
.nd-nav a:hover { color:var(--red); }
.nd-nav a[aria-current="page"] { text-decoration:underline; }
.nd-footer-content { min-width:0; }
.nd-site-nav { display:flex; flex-wrap:wrap; gap:2px 22px; margin-top:4px; }
.nd-site-nav a { display:inline-flex; align-items:center; min-height:36px; font-size:11px; color:var(--muted); text-decoration:none; }
.nd-site-nav a:hover { color:var(--red); }
.nd-site-nav a[aria-current="page"] { color:var(--ink); text-decoration:underline; }
.nd-footer:has(.nd-site-nav) { padding:18px 0; }
.nd-nav a svg { width:14px; height:14px; }
.nd-footer-note { margin:0; text-align:right; font:17px/1.3 var(--serif); }
.nd-footer-note span { display:block; }
.nd-room { min-height:calc(100svh - 230px); display:grid; place-content:center; text-align:center; padding:80px 0; }
.nd-room-dot { width:16px; height:16px; background:var(--red); border-radius:50%; margin:0 auto 32px; }
.nd-room h1 { font:400 clamp(42px,6.5vw,90px)/1 var(--serif); letter-spacing:-.025em; margin:0; }
.nd-room p { font-size:13px; color:var(--muted); margin:22px 0 0; }
.nd-room-whisper { animation:nd-whisper 12s ease both; }
@keyframes nd-whisper { 0%,55% { opacity:1; } 100% { opacity:.25; } }
.nd-page[data-page="nothing"] .nd-header-note { visibility:hidden; }
.nd-page[data-page="nothing"] .nd-footer-note { visibility:hidden; }
.nd-detail { padding:66px 0 72px; }
.nd-story-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(40px,8vw,150px); }
.nd-story-heading { align-self:start; position:sticky; top:36px; }
.nd-story-heading .nd-label { color:var(--red); margin:0 0 26px; }
.nd-story-heading h1 { margin:0; max-width:440px; font:400 clamp(52px,6.2vw,90px)/.98 var(--serif); letter-spacing:-.025em; }
.nd-story-heading h1 em { font-style:italic; }
.nd-story-aside { max-width:245px; font-size:12px; color:var(--muted); margin:35px 0 0; }
.nd-story-body { max-width:650px; }
.nd-story-body > p { margin:0 0 24px; color:var(--muted); font-size:15px; line-height:1.8; }
.nd-story-body .nd-lead { color:var(--ink); font:32px/1.18 var(--serif); margin:0 0 34px; }
.nd-story-body a:hover { color:var(--red); }
details { border-top:1px solid var(--rule); }
details:last-of-type { border-bottom:1px solid var(--rule); }
summary { list-style:none; cursor:pointer; position:relative; padding:23px 32px 23px 0; font-size:14px; }
summary::-webkit-details-marker { display:none; }
summary::after { content:'+'; position:absolute; right:0; top:16px; font:30px var(--serif); color:var(--red); }
details[open] summary::after { content:'\2212'; }
details p { color:var(--muted); font-size:14px; line-height:1.8; margin:0 0 22px; }
.nd-story-body .nd-sources { font-size:11px; line-height:1.8; margin:30px 0 12px; }
.nd-story-body .nd-independent { font-size:11px; line-height:1.8; margin:0; }
.nd-info-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:clamp(40px,8vw,150px); }
.nd-info-heading { align-self:start; position:sticky; top:36px; }
.nd-info-heading .nd-label { color:var(--red); margin:0 0 26px; }
.nd-info-heading h1 { margin:0; font:400 clamp(52px,6vw,84px)/1 var(--serif); letter-spacing:-.025em; }
.nd-info-heading > p:not(.nd-label) { color:var(--muted); font-size:12px; max-width:260px; margin:28px 0 0; }
.nd-info-body { max-width:680px; min-width:0; }
.nd-info-body h2 { font:400 31px/1.15 var(--serif); letter-spacing:-.015em; margin:38px 0 16px; }
.nd-info-body h2:first-child { margin-top:0; }
.nd-info-body p,.nd-info-body li { color:var(--muted); font-size:14px; line-height:1.85; }
.nd-info-body p { margin:0 0 20px; }
.nd-info-body ul { padding-left:20px; margin:0 0 24px; }
.nd-info-body li + li { margin-top:8px; }
.nd-info-body a { overflow-wrap:anywhere; }
.nd-info-body a:hover { color:var(--red); }
.nd-info-body .nd-lead { color:var(--ink); font:30px/1.2 var(--serif); margin:0 0 30px; }
.nd-info-body .nd-contact-email { font:26px/1.3 var(--serif); color:var(--ink); }
.nd-cookie-list { margin:24px 0; padding:0; }
.nd-cookie-list > div { border-top:1px solid var(--rule); padding:18px 0; }
.nd-cookie-list > div:last-child { border-bottom:1px solid var(--rule); }
.nd-cookie-list dt { font-size:14px; color:var(--ink); overflow-wrap:anywhere; }
.nd-cookie-list dd { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.nd-slip-layout { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:clamp(36px,7vw,110px); align-items:start; }
.nd-slip-heading h1 { font:400 clamp(50px,5vw,76px)/.98 var(--serif); margin:22px 0 26px; letter-spacing:-.025em; }
.nd-slip-heading > p { color:var(--muted); font-size:14px; max-width:260px; }
.nd-form { margin-top:40px; max-width:300px; }
.nd-form label { display:block; font-size:12px; }
.nd-form input { width:100%; border:0; border-bottom:1px solid var(--ink); background:transparent; padding:13px 0; margin-top:6px; color:var(--ink); border-radius:0; }
.nd-text-button { border:0; border-bottom:1px solid var(--ink); background:none; padding:12px 0; margin-top:14px; min-height:44px; font-size:13px; }
.nd-text-button:hover { color:var(--red); border-color:var(--red); }
.nd-name-note { color:var(--muted); font-size:11px; margin:16px 0; }
.nd-certificate { position:relative; background:#fbfaf5; border:1px solid var(--ink); padding:30px clamp(24px,4vw,56px) 36px; min-height:440px; }
.nd-certificate-top { display:flex; justify-content:space-between; gap:22px; padding-bottom:20px; border-bottom:1px solid var(--rule); }
.nd-certificate-top p { font:10px/1.5 var(--sans); letter-spacing:.06em; text-transform:uppercase; margin:0; }
.nd-certificate-top p:last-child { text-align:right; color:var(--muted); }
.nd-certificate h2 { font:400 clamp(42px,4.4vw,66px)/.98 var(--serif); letter-spacing:-.02em; margin:32px 0 28px; max-width:400px; }
.nd-person { font:32px/1.25 var(--serif); border-bottom:1px solid var(--ink); padding-bottom:12px; margin:0; overflow-wrap:anywhere; }
.nd-certificate-copy { font-size:12px; color:var(--muted); max-width:280px; margin:20px 0 60px; }
.nd-stamp { position:absolute; right:28px; bottom:29px; display:grid; place-content:center; width:97px; height:97px; border:2px solid var(--red); border-radius:50%; color:var(--red); text-align:center; transform:rotate(-12deg); font:10px/1.5 var(--sans); letter-spacing:.05em; text-transform:uppercase; }
.nd-stamp::after { content:''; position:absolute; inset:5px; border:1px solid var(--red); border-radius:50%; }
.nd-slip-fine { font:10px/1.5 var(--sans); color:var(--muted); margin:0; max-width:calc(100% - 110px); }
.nd-slip-actions { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
.nd-slip-actions p { color:var(--muted); font-size:11px; margin:14px 0 0; }
@media(min-width:1600px) { .nd-home { min-height:740px; } }
@media(max-width:900px) { .nd-title { font-size:25vw; } .nd-story-layout { grid-template-columns:.85fr 1.15fr; gap:45px; } .nd-slip-layout { grid-template-columns:1fr; gap:36px; } .nd-slip-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:40px; } .nd-slip-heading h1 { grid-column:1; } .nd-slip-heading > .nd-label { grid-column:1 / -1; } .nd-slip-heading > p:not(.nd-label) { grid-column:1; } .nd-form { grid-column:2; grid-row:2 / 4; margin-top:22px; } .nd-name-note { grid-column:2; } }
@media(max-width:600px) {
  .nd-header { min-height:98px; } .nd-brand { font-size:27px; } .nd-header-note { max-width:130px; text-align:right; font-size:10px; } .nd-header-note em { display:block; font-size:16px; margin:5px 0 0; }
  .nd-home { min-height:calc(100svh - 226px); padding:30px 0 40px; } .nd-intro { font-size:21px; max-width:180px; margin-top:6px; } .nd-calendar { width:90px; } .nd-calendar strong { font-size:78px; } .nd-calendar small { font-size:9px; } .nd-calendar .nd-label { font-size:10px; }
  .nd-title { font-size:25vw; margin:36px 0 38px; } .nd-bottom { align-items:stretch; flex-direction:column; gap:26px; } .nd-subtitle { font-size:13px; max-width:255px; } .nd-go { align-self:flex-end; font-size:16px; min-width:218px; gap:36px; padding:12px 0; }
  .nd-footer { min-height:128px; align-items:center; gap:18px; } .nd-nav { flex-direction:column; gap:0; } .nd-nav a { font-size:12px; min-height:44px; } .nd-footer-note { font-size:15px; }
  .nd-room { min-height:calc(100svh - 226px); padding:80px 0; } .nd-room h1 { font-size:49px; } .nd-room p { max-width:240px; margin:22px auto 0; }
  .nd-detail { padding:40px 0 48px; } .nd-story-layout { grid-template-columns:1fr; gap:42px; } .nd-story-heading { position:static; } .nd-story-heading h1 { max-width:350px; font-size:65px; } .nd-story-aside { margin:24px 0 0; max-width:290px; }
  .nd-story-body .nd-lead { font-size:28px; } .nd-story-body > p { font-size:14px; } .nd-slip-heading { display:block; } .nd-form { margin-top:30px; max-width:none; } .nd-slip-heading > p { max-width:320px; } .nd-slip-heading h1 { max-width:310px; font-size:61px; }
  .nd-certificate { padding:24px; } .nd-certificate h2 { font-size:47px; } .nd-stamp { right:20px; bottom:24px; width:87px; height:87px; font-size:9px; } .nd-slip-fine { max-width:calc(100% - 90px); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } .nd-title .nd-letter.nd-absent { transform:none; } }
@media(max-width:900px) { .nd-info-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px; } }
@media(max-width:600px) {
  .nd-info-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
  .nd-info-heading { position:static; }
  .nd-info-heading h1 { font-size:58px; }
  .nd-info-heading > p:not(.nd-label) { margin-top:20px; }
  .nd-info-body .nd-lead { font-size:27px; }
  .nd-site-nav { gap:2px 16px; }
  .nd-footer:has(.nd-site-nav) { align-items:flex-start; }
  .nd-footer:has(.nd-site-nav) .nd-footer-note { margin-top:14px; flex-shrink:0; }
}
@media print {
  @page { margin:20mm; }
  body { background:#fff; }
  .nd-page { padding:0; min-height:0; }
  .nd-header,.nd-footer,.nd-slip-heading,.nd-slip-actions,#nd-slip-status { display:none !important; }
  .nd-detail { padding:0; } .nd-slip-layout { display:block; }
  .nd-certificate { background:#fff; min-height:145mm; padding:12mm; break-inside:avoid; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .nd-certificate h2 { font-size:64px; } .nd-certificate-copy { margin-bottom:90px; }
  .nd-info-layout { display:block; }
  .nd-info-heading { position:static; margin-bottom:12mm; }
  .nd-info-body { max-width:none; }
}
