@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Playfair+Display:ital,wght@0,600;1,500&display=swap');
.clp{font-family:'DM Sans',sans-serif;color:#211d1a;background:#fffaf5;padding:18px;box-sizing:border-box}.clp *{box-sizing:border-box}.clp section,.clp blockquote{max-width:1180px;margin:0 auto 90px}.clp-card{background:#fffdfb;border:1px solid #efd7c5;border-radius:26px;box-shadow:0 18px 50px #a8652710}.clp small{color:var(--accent);font-weight:700;letter-spacing:2px}.clp h1,.clp h2,.clp h3,.clp blockquote{font-family:'Playfair Display',serif}.clp-hero{display:grid;grid-template-columns:44% 56%;padding:14px;min-height:700px}.clp-copy{padding:100px 40px}.clp-copy h1{font-size:76px;margin:20px 0 0;line-height:1}.clp-copy h2{font-size:40px;font-style:italic;color:var(--accent);margin:8px 0 20px}.clp-copy p{font-size:18px;line-height:1.6;max-width:390px}.clp-gallery{position:relative;border-radius:20px;overflow:hidden;min-height:600px}.clp-gallery img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:.5s}.clp-gallery img.active{opacity:1}.clp-cap{position:absolute;right:22px;bottom:18px;color:white;font-weight:700;z-index:2}.clp-count{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:32px 0}.clp-count b{text-align:center;border-block:1px solid #efd7c5;padding:15px 4px}.clp-count span{display:block;color:var(--accent);font:28px 'Playfair Display'}.clp-count em{font-style:normal;font-size:9px;letter-spacing:1px}.clp-btn{display:inline-block;background:var(--accent);color:#fff!important;border:0;border-radius:999px;padding:17px 25px;font-weight:700;text-decoration:none;cursor:pointer}.clp blockquote{text-align:center;font-size:36px;font-style:italic;max-width:800px}.clp-program{display:grid;grid-template-columns:42% 58%;gap:65px;align-items:center}.clp-program>div:first-child h2{font-size:50px;line-height:1.05}.clp-timeline{padding:45px}.clp-timeline h3{font-size:35px;margin:8px 0 30px}.clp-timeline article{display:grid;grid-template-columns:70px 1fr;gap:15px;border-left:1px solid #ffb17c;padding:0 0 24px 20px}.clp-timeline time,.clp-info b{color:var(--accent);font-weight:700}.clp-timeline p{margin:6px 0;color:#6f655f}.clp-info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.clp-info article{padding:30px;min-height:230px}.clp-info i{background:#fff0e6;color:var(--accent);padding:12px;border-radius:13px}.clp-info h3{font-size:25px;margin-bottom:2px}.clp-location{display:grid;grid-template-columns:1fr 1fr;gap:55px}.clp-location>.clp-card{padding:36px}.clp-location h2{font-size:38px}.clp-map{height:160px;border:1px solid #f1c5a8;border-radius:20px;background:repeating-linear-gradient(0deg,transparent 0 35px,#f2d5c2 36px),repeating-linear-gradient(90deg,transparent 0 70px,#f2d5c2 71px);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:34px}.clp-map span{font-size:12px;background:white;border:1px solid #f1c5a8;border-radius:20px;padding:7px}.clp-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.clp-actions a{text-align:center;border:1px solid var(--accent);border-radius:30px;padding:14px;color:var(--accent);text-decoration:none;font-weight:700}.clp-location-photo img{width:100%;height:100%;min-height:490px;object-fit:cover;border-radius:25px}.clp-rsvp{padding:55px;max-width:900px!important}.clp-rsvp h2{font-size:52px;max-width:620px}.clp-rsvp form{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #edd5c3;padding-top:30px}.clp-rsvp label{font-size:12px;font-weight:700}.clp-rsvp input[type=text],.clp-rsvp input[name=name],.clp-rsvp input[name=phone]{display:block;width:100%;padding:17px;border:1px solid #edd5c3;border-radius:14px;margin-top:8px;font-size:15px}.clp-rsvp fieldset{grid-column:1/-1;border:0;padding:0;display:flex;gap:8px}.clp-rsvp legend{font-size:12px;font-weight:700;margin-bottom:8px}.clp-rsvp fieldset label{flex:1}.clp-rsvp fieldset input{display:none}.clp-rsvp fieldset span{display:block;text-align:center;border:1px solid #edd5c3;border-radius:12px;padding:13px}.clp-rsvp fieldset input:checked+span{background:var(--accent);color:white}.clp-rsvp .clp-msg{grid-column:1/-1}.clp-msg{font-weight:700;color:var(--accent)}
.clp-gallery video,.clp-gallery iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#111;z-index:1}
@media(max-width:780px){html{scroll-behavior:smooth}.clp{padding:0;overflow:hidden}.clp section,.clp blockquote{width:100%;margin-bottom:46px}.clp-card{border-radius:18px}.clp-hero,.clp-program,.clp-location{grid-template-columns:1fr}.clp-hero{padding:0;border:0;border-radius:0}.clp-copy{padding:42px 20px 32px}.clp-copy small{font-size:10px}.clp-copy h1{font-size:clamp(48px,16vw,68px);margin-top:16px}.clp-copy h2{font-size:30px}.clp-copy p{font-size:16px}.clp-copy strong{font-size:13px}.clp-count{margin:24px 0;gap:4px}.clp-count span{font-size:24px}.clp-btn{width:100%;text-align:center;min-height:52px}.clp-gallery{min-height:62vh;border-radius:18px;margin:0 8px 8px}.clp blockquote{padding:0 22px;font-size:26px}.clp-program{gap:22px;padding:0 16px}.clp-program>div:first-child h2,.clp-rsvp h2{font-size:36px}.clp-timeline{padding:28px 20px}.clp-timeline article{grid-template-columns:58px 1fr;padding-left:14px}.clp-info{grid-template-columns:1fr;padding:0 12px;gap:12px}.clp-info article{min-height:0;padding:24px}.clp-location{gap:14px;padding:0 12px}.clp-location>.clp-card{padding:26px 20px}.clp-location-photo img{min-height:330px}.clp-actions{grid-template-columns:1fr}.clp-actions a{min-height:50px}.clp-rsvp{padding:34px 18px;border-radius:18px!important}.clp-rsvp form{grid-template-columns:1fr;gap:16px}.clp-rsvp input[name=name],.clp-rsvp input[name=phone]{min-height:54px;font-size:16px}.clp-rsvp fieldset{flex-wrap:wrap;gap:7px}.clp-rsvp fieldset label{min-width:29%}.clp-rsvp fieldset span{min-height:48px;padding:14px 8px}.clp-rsvp .checks label{min-width:46%}}
.clp-install{display:block;margin-top:10px;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:13px 20px;font-weight:700;cursor:pointer}@media(max-width:780px){.clp-install{width:100%;min-height:50px}}@media(max-width:380px){.clp-copy{padding-inline:16px}.clp-count em{font-size:8px}.clp-program,.clp-info,.clp-location{padding-inline:8px}.clp-rsvp .checks label{min-width:100%}}
