@font-face{font-family:"Great Vibes";src:url("/assets/fonts/great-vibes.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/dm-sans-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/dm-sans-semibold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
:root{color-scheme:light;--paper:#f7efe4;--ink:#4d3b3a;--pink:#b73761;--soft-pink:#d8a1a5;--muted:#816c68}
*{box-sizing:border-box}
html{min-width:320px;background:var(--paper)}
body{margin:0;color:var(--ink);font:400 14px/1.5 "DM Sans",sans-serif;background-image:linear-gradient(90deg,rgba(177,124,110,.025) 1px,transparent 1px),linear-gradient(rgba(177,124,110,.025) 1px,transparent 1px);background-size:24px 24px;-webkit-font-smoothing:antialiased}
.page{max-width:1440px;min-height:100svh;margin:auto;padding:0 44px;display:flex;flex-direction:column}
.masthead{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d9c5b94d}
.wordmark{color:var(--ink);text-decoration:none;font-size:16px;font-weight:600;letter-spacing:-.6px;white-space:nowrap}
.wordmark span{display:inline-block;margin-right:5px;color:var(--pink);font-size:26px;line-height:1;vertical-align:-3px}
.wordmark:focus-visible{outline:2px solid var(--pink);outline-offset:6px;border-radius:2px}
.masthead-note{font-size:10px;letter-spacing:.6px;color:var(--muted)}

main{width:100%;flex:1}
.intro{text-align:center;padding:34px 0 31px;position:relative}

h1{font:400 clamp(64px,7.6vw,108px)/1.12 "Great Vibes","Brush Script MT",cursive;letter-spacing:-2px;color:var(--pink);margin:0 0 11px;padding:0 10px;text-wrap:balance}

.flourish{position:absolute;right:calc(50% - 365px);top:66px;font:400 43px/1 "Great Vibes",cursive;color:var(--soft-pink);transform:rotate(19deg)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;max-width:890px;margin:0 auto;padding:14px 12px 8px;align-items:start}
.postcard{position:relative;min-width:0;margin:0;background:#fffcf5;border:1px solid #e2d3c3;padding:10px 10px 11px;box-shadow:1px 3px 5px #5e3f3220,0 12px 30px -14px #72534c40;transform:rotate(var(--tilt));transform-origin:center 55%;transition:transform .25s ease,box-shadow .25s ease}
.postcard-learn{--tilt:-3deg;margin-top:6px}
.postcard-laugh{--tilt:1deg;margin-top:0}
.postcard-live{--tilt:3deg;margin-top:7px}
.tape{position:absolute;width:72px;height:24px;left:calc(50% - 36px);top:-13px;z-index:2;transform:rotate(-6deg);background:#e2ceb0b8;clip-path:polygon(1% 0,99% 2%,97% 13%,100% 27%,97% 42%,100% 65%,98% 81%,100% 100%,0 96%,3% 80%,0 63%,3% 45%,0 25%,3% 12%);box-shadow:0 1px 3px #5e3f3220;pointer-events:none}
.postcard-laugh .tape{transform:rotate(4deg);background:#d5b1b7a8}
.postcard-live .tape{transform:rotate(-8deg);background:#d6d5b0c0}
.photograph{display:block;cursor:zoom-in;position:relative;aspect-ratio:9/16;overflow:hidden;background:#e3d3c2}
.photograph img{display:block;width:100%;height:100%;object-fit:cover}

figcaption{text-align:center;padding:13px 1px 2px}
h2{margin:0 0 2px;color:var(--pink);font:400 40px/1.1 "Great Vibes","Brush Script MT",cursive}
figcaption p{margin:0;color:#74615a;font-size:10px;letter-spacing:.1px}

@media(hover:hover) and (prefers-reduced-motion:no-preference){.postcard:hover{transform:rotate(0deg) translateY(-5px);box-shadow:1px 5px 8px #5e3f3220,0 20px 35px -14px #72534c50}}
@media(min-width:900px) and (min-height:660px){.gallery{max-width:min(890px,max(700px,calc((100svh - 555px)*1.6875 + 144px)))}}
@media(max-width:780px){.page{padding:0 22px}.masthead-note{display:none}.masthead{min-height:67px}.intro{padding:32px 0}.flourish{display:none}.gallery{gap:16px;padding:12px 8px 8px}.postcard{padding:7px 7px 10px}.tape{width:58px;left:calc(50% - 29px);height:20px;top:-11px}figcaption{padding-top:12px}figcaption p{font-size:8px}h2{font-size:34px}}
@media(max-width:520px){.page{padding:0 18px}.masthead{min-height:66px}.wordmark{font-size:14px}.intro{padding:32px 0 34px}h1{font-size:clamp(48px,15.5vw,61px);letter-spacing:-1.9px;line-height:1.15;white-space:nowrap;margin-left:-8px;margin-right:-8px;padding:0}.gallery{gap:8px;padding:8px 0 4px}.postcard{padding:4px 4px 8px}.postcard-learn{--tilt:-3deg}.postcard-laugh{--tilt:0deg}.postcard-live{--tilt:3deg}.tape{width:37px;left:calc(50% - 18.5px);height:14px;top:-8px}figcaption{padding-top:9px}h2{font-size:27px}figcaption p{font-size:7px;line-height:1.5;min-height:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.photograph:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
