@font-face { font-family: "Manrope"; src: url("assets/fonts/manrope-latin-wght-normal.woff2") format("woff2"); font-style: normal; font-weight: 200 800; font-display: swap; }
@font-face { font-family: "Archivo Black"; src: url("assets/fonts/archivo-black-latin-400-normal.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
.std[data-font="archivo"] .hero-word, .std[data-font="archivo"] .headline { font-family: "Archivo Black", sans-serif; font-weight: 400; }
.std, .std * { box-sizing: border-box; }
.std { --ink: #181716; --green: #237d3b; --paper-texture: url("assets/textures/Dr4YOmpxVx.jpg"); position: relative; width: 100%; height: 100%; overflow: hidden; isolation: isolate; background: #fdfcf9; color: var(--ink); font-family: "Manrope", sans-serif; -webkit-font-smoothing: antialiased; }
.std h1, .std p { margin: 0; }
.std .std-paper { position: absolute; inset: 0; background: var(--paper-texture) center / cover no-repeat; opacity: .42; pointer-events: none; }
.std .clip { position: absolute; inset: 0; pointer-events: none; }
.std .ink { -webkit-mask-image: url("assets/textures/ink-mask.png"); mask-image: url("assets/textures/ink-mask.png"); mask-size: 450px 450px; }
.std .hero-word { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 294px; line-height: 1; letter-spacing: -.072em; font-weight: 800; transform-origin: 50% 52%; }
.std .hero-word span { display: block; padding: 0 22px 30px 0; }
.std .hero-the { font-size: 340px; }
.std .hero-date { font-size: 296px; }
.std .headline-pose { position: absolute; left: 36px; right: 36px; top: 36px; text-align: center; }
.std .headline { font-size: 86.4px; line-height: 1.12; font-weight: 800; letter-spacing: -.045em; white-space: nowrap; }
.std .date-pose { position: absolute; top: 252px; left: 0; width: 100%; text-align: center; transform-origin: 50% 50%; }
.std .festival-date { font-size: 76px; line-height: 1.12; font-weight: 800; letter-spacing: -.055em; white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.std .calendar-pose { position: absolute; left: 46px; top: 224px; width: 808px; height: 226px; transform-origin: 50% 0; }
.std .calendar-sheet { position: relative; width: 100%; height: 100%; background: linear-gradient(#fffefa66, #fffefa66), #fffefa var(--paper-texture) center / cover no-repeat; box-shadow: 0 4px 10px #2520180d; }
.std .calendar-heading { position: absolute; left: 19px; right: 20px; top: 16px; display: flex; justify-content: space-between; font-size: 19px; line-height: 1; font-weight: 700; letter-spacing: .05em; }
.std .calendar-grid { position: absolute; top: 55px; left: 3px; right: 3px; bottom: 4px; display: grid; grid-template-columns: repeat(7, 1fr); }
.std .day { position: relative; }
.std .weekday { position: absolute; left: 12px; top: 12px; font-size: 14px; font-weight: 700; line-height: 1; }
.std .day-number { position: absolute; top: 33px; left: 11px; font-size: 32px; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.std .day-before { color: #66625e; }
.std .month-note { font-size: 10px; letter-spacing: 0; font-weight: 600; }
.std .stamp { position: absolute; top: 91px; left: 12px; width: 91px; height: 57px; transform-origin: 50% 60%; mask-image: url("assets/textures/ink-mask.png"); mask-size: 170px 170px; }
.std .stamp img { display: block; width: 100%; height: auto; }
.std .check { position: absolute; right: 5px; top: 12px; width: 36px; height: 34px; overflow: visible; }
.std .check-stroke { stroke: var(--green); stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.std .calendar-lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.std .rule { stroke: var(--ink); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.std .lines-mobile { display: none; }
.std .closing { position: absolute; left: 40px; right: 40px; top: 503px; display: flex; justify-content: center; gap: .35em; font-size: 29px; line-height: 1.35; font-weight: 600; letter-spacing: -.035em; }
.std .closing p { display: block; }
.std[data-layout="mobile"] .hero-word { font-size: 184px; }
.std[data-layout="mobile"] .hero-the { font-size: 220px; }
.std[data-layout="mobile"] .hero-date { font-size: 187px; }
.std[data-layout="mobile"] .headline-pose { top: 38px; left: 25px; right: 25px; }
.std[data-layout="mobile"] .headline { font-size: 75.6px; }
.std[data-layout="mobile"][data-font="archivo"] .headline { font-size: 66px; line-height: 1.28; }
.std[data-layout="mobile"] .date-pose { top: 337px; }
.std[data-layout="mobile"] .festival-date { font-size: 54px; }
.std[data-layout="mobile"] .calendar-pose { left: 48px; top: 225px; width: 504px; height: 374px; }
.std[data-layout="mobile"] .calendar-heading { top: 18px; font-size: 21px; }
.std[data-layout="mobile"] .calendar-grid { top: 57px; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }
.std[data-layout="mobile"] .day-before, .std[data-layout="mobile"] .lines-desktop { display: none; }
.std[data-layout="mobile"] .lines-mobile { display: block; }
.std[data-layout="mobile"] .weekday { left: 17px; top: 16px; font-size: 19px; }
.std[data-layout="mobile"] .day-number { left: 16px; top: 43px; font-size: 43px; }
.std[data-layout="mobile"] .month-note { font-size: 15px; }
.std[data-layout="mobile"] .stamp { top: 63px; left: 88px; width: 143px; height: 88px; }
.std[data-layout="mobile"] .check { right: 16px; top: 12px; width: 40px; height: 38px; }
.std[data-layout="mobile"] .closing { top: 642px; display: block; text-align: center; font-size: 32px; line-height: 1.4; }
