@font-face{
  font-family:'Kalam';
  src:url('/fonts/kalam-light.woff2') format('woff2');
  font-style:normal;font-weight:300;font-display:swap;
}
.manifesto-layout{
  --handwriting:'Kalam',cursive;
  min-height:100svh;display:flex;flex-direction:column;
}
.manifesto-layout .skip-link{color:var(--paper)}
.manifesto-layout .site-header,.manifesto-layout .site-footer{flex-shrink:0}
.manifesto-page{max-width:660px;padding-block:24px;flex:1;display:grid;align-items:start}
.manifesto-experience[data-state="closed"],
.manifesto-experience[data-state="opening"]{align-self:stretch;display:grid;align-items:center;min-height:360px}
.manifesto-opening{
  width:min(100%,600px);
  margin-inline:auto;
}
.manifesto-envelope-button{
  display:block;width:100%;padding:0;border:0;border-radius:0;
  background:transparent;color:#222;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.manifesto-envelope-button:disabled{cursor:default;opacity:1}
.manifesto-envelope{
  --opening-shift:24px;
  position:relative;display:block;aspect-ratio:220/110;isolation:isolate;
  perspective:1200px;filter:drop-shadow(0 20px 26px #0005);
  transform:rotate(-3deg);transition:transform 300ms ease;
}
@media(hover:hover){
  .manifesto-envelope-button:not(:disabled):hover .manifesto-envelope{transform:translateY(-4px) rotate(-2deg)}
}
.manifesto-envelope-back,.manifesto-envelope-pocket,.manifesto-envelope-flap{
  position:absolute;inset:0;display:block;
}
.manifesto-envelope-back{z-index:0;background:#deded8;border:1px solid #d5d5cf;box-shadow:0 2px 0 #c6c6c0}
.manifesto-envelope-insert{
  position:absolute;inset:7% 5% 6%;z-index:1;display:flex;flex-direction:column;gap:18px;
  padding:26px;text-align:left;background:#fff;
  font:300 21px/1.4 var(--handwriting);box-shadow:0 0 3px #0002;
  transition:transform 380ms cubic-bezier(.2,.65,.3,1) 330ms;
}
.manifesto-envelope-insert .wordmark{font-size:20px}
.manifesto-envelope-pocket{
  z-index:2;
}
.manifesto-envelope svg{display:block;width:100%;height:100%;overflow:visible}
.manifesto-envelope-flap{
  z-index:3;filter:drop-shadow(0 3px 2px #00000024);
  transform-origin:50% 0;transform:rotateX(0deg);
  transition:transform 430ms cubic-bezier(.3,.1,.2,1) 80ms,z-index 0s 290ms;
}
.manifesto-envelope-address{
  position:absolute;z-index:4;left:18%;right:18%;bottom:12%;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.manifesto-envelope-sender{font-size:20px;line-height:1.2}
.manifesto-envelope-recipient{font:300 22px/1.3 var(--handwriting)}
[data-state="opening"] .manifesto-envelope-flap{transform:rotateX(180deg);z-index:0}
[data-state="opening"] .manifesto-envelope-insert{transform:translateY(-47%)}
[data-state="opening"] .manifesto-envelope{transform:translateY(var(--opening-shift)) rotate(0)}
/* Short screens need room for the raised flap, without off-centering the closed envelope. */
@media(min-width:761px) and (max-height:850px){.manifesto-envelope{--opening-shift:90px}}

/* A quiet printed letterhead; all handwritten content shares one scale. */
.manifesto-letter{
  --letter-size:19px;
  aspect-ratio:210/297;background:#fff;color:#202329;padding:48px 52px;
  font:300 var(--letter-size)/1.58 var(--handwriting);font-synthesis:none;
  letter-spacing:0;font-kerning:normal;font-variant-ligatures:common-ligatures contextual;
}
.manifesto-letterhead{margin-bottom:26px}
.manifesto-letterhead .wordmark{display:inline-block;font-size:20px;line-height:1.4}
.manifesto-page h1{font:inherit;letter-spacing:0;margin:0 0 20px;text-wrap:balance}
.manifesto-body,.manifesto-signoff{font:inherit}
.manifesto-body p{margin:0 0 18px}
.manifesto-signoff{margin-top:24px}
.manifesto-signoff p{margin:0}
.manifesto-signoff .manifesto-postscript{margin-top:24px}
.manifesto-sample{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#777}
.manifesto-sample:hover{text-decoration-color:currentColor}
.manifesto-sample:focus-visible{outline-color:#202020}
/* Focus hands reading to the heading; only interactive elements need a focus ring. */
.manifesto-page h1:focus{outline:none}
/* Fit the open A4 sheet and shared page chrome on taller screens, without compressing the letter's spacing. */
@media screen and (min-width:761px){
  .manifesto-experience:not([data-state="closed"]):not([data-state="opening"]){
    width:clamp(580px,calc(70.7070707svh - 192.323232px),660px);
    max-width:100%;margin-inline:auto;container-type:inline-size;
  }
  .manifesto-letter{--letter-size:clamp(17px,2.878788cqw,19px);padding:7.272727cqw 7.878788cqw}
  .manifesto-letterhead{margin-bottom:3.939394cqw}
  .manifesto-letterhead .wordmark{font-size:3.030303cqw}
  .manifesto-page h1{margin-bottom:3.030303cqw}
  .manifesto-body p{margin-bottom:2.727273cqw}
  .manifesto-signoff,.manifesto-signoff .manifesto-postscript{margin-top:3.636364cqw}
}
[data-state="open"] .manifesto-letter{animation:manifesto-unfold 320ms ease-out both}
@keyframes manifesto-unfold{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:760px){
  .manifesto-page{padding-block:24px}
  .manifesto-letter{aspect-ratio:auto;--letter-size:20px;padding:40px 28px}
  .manifesto-body p{margin-bottom:16px}
  .manifesto-envelope-address{bottom:10%;gap:4px}
  .manifesto-envelope-sender{font-size:16px}
  .manifesto-envelope-recipient{font-size:18px}
  .manifesto-envelope-insert{padding:16px;gap:12px;font-size:18px}
  .manifesto-envelope-insert .wordmark{font-size:16px}
}
@media(max-width:380px){
  .manifesto-letter{padding:36px 20px}
  .manifesto-envelope-sender{font-size:14px}
  .manifesto-envelope-recipient{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .manifesto-envelope,.manifesto-envelope-flap,.manifesto-envelope-insert{transition:none}
  [data-state="open"] .manifesto-letter{animation:none}
}
@media print{
  @page{size:A4;margin:18mm}
  .manifesto-layout{display:block;background:white;color:black;min-height:0}
  .manifesto-layout>.site-header,.manifesto-layout>.site-footer,
  .manifesto-layout>.skip-link,.manifesto-page .manifesto-opening{display:none!important}
  .manifesto-page.wrap{display:block;width:100%;max-width:none;margin:0;padding:0}
  .manifesto-page .manifesto-experience{display:block;width:100%;max-width:none;container-type:normal}
  .manifesto-page .manifesto-letter{
    display:block!important;aspect-ratio:auto;background:white;padding:0;
    --letter-size:11pt;line-height:1.5;animation:none;transform:none;opacity:1;
  }
  .manifesto-letterhead .wordmark{font-size:11pt}
  .manifesto-letterhead,.manifesto-page h1,.manifesto-body p{margin-bottom:12pt}
  .manifesto-signoff,.manifesto-signoff .manifesto-postscript{margin-top:12pt}
}
