
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;-webkit-text-size-adjust:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
.lb-sec{position:relative;overflow:hidden}
.lb-inner{position:relative;z-index:2;max-width:1060px;margin:0 auto}
.lb-center{text-align:center}
.lb-btn{display:inline-block;text-decoration:none;cursor:pointer;transition:transform .2s,filter .2s}
.lb-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.lb-cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:640px;margin:26px auto 30px}
.lb-cd-box{text-align:center}
.lb-rsvp .mt_form_input{margin-bottom:14px}
.lb-rsvp input,.lb-rsvp textarea{width:100%;outline:none}
.lb-rsvp .lb-btn{width:100%}
.lb-form-note{text-align:center;margin:12px 0 0;min-height:1.4em;font-weight:600}
.lb-rsvp-contact a{font-weight:700;text-decoration:none}
.lb-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;text-decoration:none;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:0;pointer-events:none;transition:opacity .25s;z-index:50}
.lb-top.lb-show{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
@media (max-width:767px){.lb-cd{gap:8px}}

:root{--board:#2E4A40;--board2:#1F342C;--chalk:#F5F5EC;--pen:#F6C945;--red:#D8473A;--kraft:#E8D5AE;--kraft2:#DCC594;--blue:#3E7CB1;--paper:#FFFEF6;--ink:#2B2B2B;--wood:#8A5A2E}
body{font-family:'Patrick Hand',cursive;font-size:1.2rem;color:var(--ink);background:var(--kraft);line-height:1.6}
.lb-sec{padding:84px 20px}
.lb-kraft{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.18) 0 2px,transparent 3px) 0 0/26px 26px,var(--kraft)}
.lb-grid{background:linear-gradient(rgba(62,124,177,.18) 1px,transparent 1px) 0 0/100% 32px,linear-gradient(90deg,rgba(62,124,177,.14) 1px,transparent 1px) 0 0/32px 100%,var(--paper)}
.lb-board-sec{background:radial-gradient(ellipse at 50% 0,#3C5F52,var(--board) 55%,var(--board2));color:var(--chalk);border-top:12px solid var(--wood);border-bottom:12px solid var(--wood)}
.lb-eyebrow{font:700 1.5rem 'Caveat',cursive;color:var(--red);margin:0}
.lb-title{font-family:'Permanent Marker',cursive;font-weight:400;font-size:clamp(2rem,6vw,3.2rem);line-height:1.2;margin:0;color:var(--board)}
.lb-white .lb-title,.lb-white-t{color:var(--chalk)!important}.lb-white .lb-eyebrow{color:var(--pen)}.lb-pencil-t{color:var(--pen)!important}
.lb-head{margin-bottom:42px}
.lb-btn{background:var(--pen);color:#3A2A00;border:3px solid #3A2A00;border-radius:10px 14px 10px 14px;padding:10px 30px;font:400 1.4rem 'Permanent Marker',cursive;box-shadow:5px 6px 0 #3A2A00;transform:rotate(-1.5deg)}
.lb-btn:hover{box-shadow:2px 3px 0 #3A2A00;transform:rotate(0) translate(3px,3px)}
.lb-btn-line{background:transparent;color:var(--pen);border-color:var(--pen);box-shadow:5px 6px 0 var(--pen)}
.lb-tape{position:absolute;width:96px;height:28px;background:rgba(246,201,69,.75);box-shadow:0 1px 3px rgba(0,0,0,.2);z-index:3}
.lb-tape-l{top:-12px;left:30px;transform:rotate(-8deg)}.lb-tape-r{top:-12px;right:30px;transform:rotate(7deg)}.lb-tape-c{top:-12px;left:50%;margin-left:-48px;transform:rotate(-3deg)}
/* hero */
.lb-hero{background:linear-gradient(180deg,#B9945A,var(--kraft));padding:36px 14px 70px}
.lb-board{max-width:980px;margin:0 auto 24px;background:var(--wood);padding:16px;border-radius:10px;box-shadow:0 14px 30px rgba(0,0,0,.35),inset 0 0 0 3px #A3733D}
.lb-board-in{background:radial-gradient(ellipse at 30% 20%,#3F6A59,var(--board) 60%,var(--board2));border-radius:4px;padding:34px 20px 30px;box-shadow:inset 0 0 40px rgba(0,0,0,.5);position:relative}
.lb-board-in:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 40px,rgba(255,255,255,.025) 40px 44px);pointer-events:none}
.lb-tray{height:14px;margin:6px -6px -10px;background:#A3733D;border-radius:3px;position:relative;box-shadow:0 4px 8px rgba(0,0,0,.4)}
.lb-chalk{position:absolute;left:30px;top:-8px;width:34px;height:8px;background:#fff;border-radius:3px;transform:rotate(-4deg)}.lb-chalk2{left:74px;background:#F9B8D0;transform:rotate(3deg)}
.lb-eraser{position:absolute;right:40px;top:-14px;width:60px;height:16px;background:#4A4A4A;border-radius:3px;border-bottom:6px solid #E9D7A5}
.lb-chalk-sm{font:700 1.6rem 'Caveat',cursive;color:var(--pen);margin:0;letter-spacing:.06em}
.lb-hero-title{font-family:'Permanent Marker',cursive;font-weight:400;font-size:clamp(2.6rem,10vw,5.8rem);line-height:1.1;margin:4px 0 8px;color:var(--chalk);text-shadow:0 0 12px rgba(255,255,255,.35)}
.lb-chalk-sub{max-width:640px;margin:0 auto 16px;color:#DDE6DF;font:500 1.5rem 'Caveat',cursive;line-height:1.3}
.lb-chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.lb-chip{border:2.5px dashed var(--chalk);border-radius:999px;padding:2px 18px;color:var(--chalk);font-size:1.15rem}
.lb-scene{display:block;width:min(1000px,100%);margin:0 auto 24px;border:8px solid #fff;box-shadow:0 14px 30px rgba(0,0,0,.3);transform:rotate(-.6deg);background:#fff}
.lb-dust{position:absolute;top:60px;width:5px;height:5px;border-radius:50%;background:#fff;opacity:0;animation:lbDust 8s ease-in infinite;z-index:1}
.lb-d1{left:14%}.lb-d2{left:40%;animation-delay:2s}.lb-d3{left:66%;animation-delay:4s}.lb-d4{left:86%;animation-delay:6s}
/* invite */
.lb-note{max-width:760px;margin:0 auto;background:linear-gradient(transparent 39px,rgba(62,124,177,.35) 40px) 0 0/100% 40px,var(--paper);padding:60px 40px 36px 90px;position:relative;box-shadow:0 12px 28px rgba(0,0,0,.2);transform:rotate(-1deg);border-left:4px solid transparent}
.lb-note:before{content:"";position:absolute;left:62px;top:0;bottom:0;width:3px;background:rgba(216,71,58,.55)}
.lb-note:after{content:"";position:absolute;left:18px;top:30px;bottom:30px;width:18px;background:radial-gradient(circle,#B9945A 0 7px,transparent 8px) 0 0/18px 80px}
.lb-hand{font:700 2.1rem 'Caveat',cursive;color:var(--blue);margin:0 0 4px;line-height:1.4}
.lb-note-p{font:500 1.6rem 'Caveat',cursive;margin:0 0 4px;line-height:40px;color:#33384A}
.lb-sign{font:700 1.7rem 'Caveat',cursive;color:var(--red);text-align:right;margin:12px 0 0;line-height:1.4}
.lb-apple{position:absolute;right:-6px;bottom:-24px;width:84px;transform:rotate(14deg)}
.lb-pencil{position:absolute;left:-30px;bottom:-26px;width:200px;transform:rotate(-8deg)}
.lb-inner:has(.lb-note){position:relative;padding-bottom:30px}
/* polaroids */
.lb-pols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px;max-width:900px;margin:0 auto 30px}
.lb-pol{background:#fff;padding:12px 12px 14px;box-shadow:0 10px 20px rgba(0,0,0,.25);position:relative;text-align:center;transition:transform .25s}
.lb-pol:hover{transform:rotate(0) scale(1.05)!important;z-index:5}
.lb-pol img{display:block;width:100%;border:1px solid #ddd}
.lb-pol-n{font:700 1.7rem 'Caveat',cursive;margin:6px 0 0;color:var(--board);line-height:1.2}.lb-pol-t{margin:0;color:var(--red);font-size:1.05rem}
.lb-r0{transform:rotate(-3deg)}.lb-r1{transform:rotate(2.5deg)}.lb-r2{transform:rotate(-1.5deg)}.lb-r3{transform:rotate(3deg)}.lb-r4{transform:rotate(-2.5deg)}.lb-r5{transform:rotate(1.5deg)}
.lb-hand-sm{font:700 1.7rem 'Caveat',cursive;color:var(--blue);margin:0}
/* stickies */
.lb-stickies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
.lb-sticky{padding:34px 22px 24px;position:relative;box-shadow:6px 10px 16px rgba(0,0,0,.22);min-height:210px}
.lb-sy{background:#FFE57A}.lb-sp{background:#FFB8D2}.lb-sb{background:#A8DCFF}
.lb-t0{transform:rotate(-2.5deg)}.lb-t1{transform:rotate(2deg)}.lb-t2{transform:rotate(-1.5deg)}.lb-t3{transform:rotate(1.8deg)}.lb-t4{transform:rotate(-2deg)}.lb-t5{transform:rotate(2.4deg)}
.lb-pin{position:absolute;top:-8px;left:50%;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8a7a,#C32A1C);box-shadow:0 3px 4px rgba(0,0,0,.35)}
.lb-year{font:400 1.5rem 'Permanent Marker',cursive;margin:0;color:var(--red)}
.lb-sticky h4{font:700 2rem 'Caveat',cursive;margin:0;line-height:1.2;color:var(--board)}.lb-sticky p:last-child{margin:2px 0 0;font:500 1.4rem 'Caveat',cursive;line-height:1.25}
/* awards */
.lb-awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.lb-aw{border:3px dashed rgba(245,245,236,.7);border-radius:8px;padding:24px 16px 20px;background:rgba(255,255,255,.04)}
.lb-aw-i{font-size:2.8rem;display:block;line-height:1.2}
.lb-aw h4{font:700 1.8rem 'Caveat',cursive;margin:4px 0 0;color:var(--pen);line-height:1.15}.lb-aw-w{margin:6px 0 0;font-size:1.05rem;color:#CFE0D6}
/* timetable */
.lb-tt{max-width:900px;margin:0 auto;background:#fff;border:4px solid var(--board);box-shadow:8px 8px 0 var(--board)}
.lb-tt-h,.lb-tt-r,.lb-tt-r-last,.lb-tt-last{display:grid;grid-template-columns:1fr 1fr 3fr 1.3fr;gap:10px;padding:10px 20px;align-items:center}
.lb-tt-h{background:var(--board);color:var(--pen);font:400 1.3rem 'Permanent Marker',cursive}
.lb-tt-r{border-bottom:2px dashed rgba(46,74,64,.35)}.lb-tt-r:nth-child(even){background:#F4F8F6}
.lb-tt-p{font:700 1.5rem 'Caveat',cursive;color:var(--red)}
.lb-tt-last{background:var(--pen);font-weight:bold;border-top:3px solid var(--board)}
/* countdown */
.lb-cd-date{font:700 1.8rem 'Caveat',cursive;color:var(--chalk);margin:6px 0 0}
.lb-cd-box{border:3px solid var(--chalk);border-radius:6px;padding:14px 4px;background:rgba(0,0,0,.2)}
.lb-cd-box b{display:block;font:400 clamp(2rem,7vw,3.4rem)/1.1 'Permanent Marker',cursive;color:var(--pen)}.lb-cd-box span{font:700 1.3rem 'Caveat',cursive}
/* venue */
.lb-venue{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px}
.lb-vcard{background:var(--paper);padding:40px 30px 34px;box-shadow:0 12px 24px rgba(0,0,0,.22);position:relative;transform:rotate(-1deg)}
.lb-role{font:700 1.6rem 'Caveat',cursive;color:var(--red);margin:0}
.lb-vname{font:400 1.7rem 'Permanent Marker',cursive;margin:0 0 6px;line-height:1.3;color:var(--board)}.lb-vaddr{margin:0 0 4px}.lb-vtime{margin:0 0 18px;font-weight:bold;color:var(--blue)}
.lb-dress{background:#FFE57A;padding:30px 28px;box-shadow:6px 10px 16px rgba(0,0,0,.22);transform:rotate(1.5deg)}
.lb-dress h4{font:400 1.4rem 'Permanent Marker',cursive;color:var(--red);margin:0}.lb-dress p{margin:0 0 12px;font:500 1.45rem 'Caveat',cursive;line-height:1.25}
/* wall */
.lb-wall{columns:3;column-gap:22px;max-width:900px;margin:0 auto 24px}
.lb-sig{break-inside:avoid;font:700 1.9rem 'Caveat',cursive;margin:0 0 20px;padding:14px 16px;border:2px solid rgba(0,0,0,.08);background:#fff;box-shadow:0 5px 12px rgba(0,0,0,.12);line-height:1.2}
.lb-sga{color:var(--blue);transform:rotate(-1.5deg)}.lb-sgb{color:var(--red);transform:rotate(1.2deg)}.lb-sgc{color:#2B7A4B;transform:rotate(-.6deg)}
/* rsvp slip */
.lb-slip{max-width:620px;margin:0 auto;background:var(--paper);border:3px solid var(--board);padding:0;box-shadow:8px 8px 0 var(--board);position:relative}
.lb-slip-top{background:var(--board);color:var(--chalk);padding:12px 22px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:1.1rem}.lb-slip-top b{font:400 1.4rem 'Permanent Marker',cursive;color:var(--pen)}
.lb-rsvp{padding:26px 24px 8px}
.lb-rsvp input,.lb-rsvp textarea{font:500 1.5rem 'Caveat',cursive;background:transparent;border:0;border-bottom:2px dashed #7A8A83;padding:6px 4px;color:var(--blue);border-radius:0}
.lb-rsvp input::placeholder,.lb-rsvp textarea::placeholder{color:#8A9A92}
.lb-rsvp input:focus,.lb-rsvp textarea:focus{border-bottom-color:var(--red)}
.lb-rsvp .lb-btn{width:100%;margin-top:6px}
.lb-form-note{color:var(--red);font-weight:bold}.lb-rsvp-contact{text-align:center;padding:0 24px;color:#555}.lb-rsvp-contact a{color:var(--blue)}
.lb-cut{border-top:3px dashed #888;margin:18px 0 0;text-align:left;padding:2px 14px;color:#888;font-size:1.3rem;height:24px}
/* footer */
.lb-footer{background:radial-gradient(ellipse at 50% 0,#3C5F52,var(--board2));color:var(--chalk);padding:56px 20px 50px;border-top:12px solid var(--wood)}
.lb-foot-bell{height:110px;width:auto;margin:0 auto 4px;display:block}
.lb-big{font:400 clamp(2rem,8vw,3.8rem) 'Permanent Marker',cursive;margin:4px 0;color:var(--chalk);line-height:1.2}
.lb-foot-q{font:500 1.7rem 'Caveat',cursive;color:#DDE6DF;margin:0 0 10px}.lb-tiny{color:#9FB6AB;margin:0;font-size:1.05rem}
.lb-top{background:var(--pen);color:#3A2A00;border:3px solid #3A2A00;border-radius:10px;box-shadow:3px 4px 0 #3A2A00}
@keyframes lbDust{0%{transform:translateY(0);opacity:0}15%{opacity:.7}100%{transform:translateY(260px);opacity:0}}
@media (max-width:991px){.lb-awards,.lb-stickies{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-wall{columns:2}}
@media (max-width:767px){
  .lb-sec{padding:58px 16px}.lb-hero{padding:24px 8px 56px}
  .lb-pols{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
  .lb-venue{grid-template-columns:minmax(0,1fr)}
  .lb-note{padding:48px 18px 28px 56px}.lb-note:before{left:40px}.lb-note:after{left:10px}
  .lb-note-p{font-size:1.45rem}.lb-pencil{width:150px;left:-10px}
  .lb-tt-h{display:none}
  .lb-tt-r,.lb-tt-last{grid-template-columns:1fr 1fr;padding:10px 14px}.lb-tt-r span:nth-child(3),.lb-tt-last span:nth-child(3){grid-column:1/-1;font-size:1.25rem}.lb-tt-r span:nth-child(4),.lb-tt-last span:nth-child(4){grid-column:1/-1;color:var(--blue)}
  .lb-scene{border-width:4px}
  .lb-board{padding:10px}
}
@media (max-width:520px){.lb-stickies,.lb-awards{grid-template-columns:minmax(0,1fr)}.lb-wall{columns:1}.lb-pols{gap:22px 10px}.lb-pol{padding:8px 8px 10px}.lb-pol-n{font-size:1.4rem}.lb-rsvp{padding:20px 14px 6px}.lb-cd-box span{font-size:1.05rem}}
