*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff8f1;color:#2f2926;font-family:Inter,sans-serif}a{text-decoration:none;color:inherit}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:#fffaf4;border-bottom:1px solid #ead7c6;position:sticky;top:0;z-index:10}.brand{font-family:"Cormorant Garamond",serif;font-size:38px;font-weight:600}.brand:before,.brand:after{content:"❦";color:#bda375;font-size:22px;margin:0 10px}.brand em{font-family:Parisienne,cursive;color:#b3685d;font-style:normal}nav{display:flex;gap:24px;font-size:12px;text-transform:uppercase;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;background:#b3685d;color:white;padding:0 22px;border:0;text-transform:uppercase;font-size:12px;letter-spacing:.08em;font-weight:600;cursor:pointer}.hero{height:455px;position:relative;display:grid;place-items:center;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.82)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0004,#fff1,#0003)}.langs{position:absolute;top:18px;right:4vw;background:#fffaf4e8;padding:9px 14px;display:flex;gap:10px;z-index:2}.langs button{border:1px solid #ead7c6;background:white;padding:7px 10px}.invite{position:relative;background:#fffaf4ee;border:1px solid #d9bba2;width:min(620px,78vw);text-align:center;padding:34px 40px;box-shadow:0 20px 60px #0004;z-index:1}.invite h1{font-family:"Cormorant Garamond",serif;text-transform:uppercase;font-size:54px;margin:10px 0}.invite h1 em{font-family:Parisienne,cursive;color:#b3685d;text-transform:none;font-style:normal}.invite h2{font-family:"Cormorant Garamond",serif;color:#b3685d;text-transform:uppercase;letter-spacing:.28em;font-size:24px}.invite h3{font-family:"Cormorant Garamond",serif;text-transform:uppercase;letter-spacing:.12em;font-size:18px;line-height:1.4}.invite p{text-transform:uppercase;letter-spacing:.2em;font-family:"Cormorant Garamond",serif}.orn,.heart{color:#b3685d}.flowers{position:absolute;right:17%;bottom:15px;font-size:88px;color:#dac4aa;z-index:2}.welcome{display:grid;grid-template-columns:minmax(320px,450px) 1fr;gap:55px;align-items:center;padding:38px 5vw;background:#fffaf4;position:relative}.polaroid{margin:0;background:white;padding:9px 9px 18px;border:1px solid #eaded3;box-shadow:0 8px 28px #0002;transform:rotate(-2.5deg)}.polaroid img{width:100%;height:190px;object-fit:cover;display:block}.welcome-text{text-align:center}.welcome h2{font-family:Parisienne,cursive;font-size:58px;color:#b3685d;font-weight:400;margin:0}.welcome p{font-family:"Cormorant Garamond",serif;font-size:20px;margin:4px 0}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;padding:24px 4vw 30px}.card{background:#fffaf4;border:1px solid #ead7c6;text-align:center;padding:22px 14px 14px;min-height:315px}.icon{font-size:32px;color:#b3685d}.card h3{text-transform:uppercase;font-family:"Cormorant Garamond",serif;font-size:17px}.card p{font-family:"Cormorant Garamond",serif;font-size:17px;min-height:50px}.photo{height:112px;margin:12px -1px;border-top:1px solid #ead7c6;border-bottom:1px solid #ead7c6;background-size:cover;background-position:center}.venue{background-image:url("assets/masia-del-olivar.png")}.room{background:linear-gradient(135deg,#f5eadc,#c9a987)}.coast{background:linear-gradient(135deg,#93b7c5,#2f6c85)}.food{background:radial-gradient(circle,#d4ac70 0 16%,#fff7ef 17% 40%,#d8c4ab 41% 43%,#fff 44%)}.rsvp{background:linear-gradient(135deg,#fff,#efd9c8)}.outline,.mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 16px;border:1px solid #ead7c6;background:white;text-transform:uppercase;font-size:12px;font-weight:600}.panels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;padding:0 4vw 32px}.panel{background:#fffaf4;border:1px solid #ead7c6;padding:26px;text-align:center}.panel h3,.program h2,.hotels h2,.form-section h2{font-family:"Cormorant Garamond",serif;color:#b3685d;text-transform:uppercase;letter-spacing:.08em;font-size:24px}.panel p,.program p,.form-section p{font-family:"Cormorant Garamond",serif;font-size:18px}.qr{width:110px;height:110px;object-fit:cover;border:6px solid white;display:block;margin:10px auto}.panel button{display:block;margin:8px auto;padding:9px 18px;border:1px solid #ead7c6;background:white}.wa{font-size:54px;color:#269c45}.script{font-family:Parisienne,cursive!important;color:#b3685d}.program,.form-section{text-align:center;padding:36px 4vw;background:#fff7ef}.hotels{padding:34px 4vw;text-align:center}.hotel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.hotel{background:#fffaf4;border:1px solid #ead7c6;padding-bottom:18px}.hotel-img{height:120px;background:url("assets/masia-del-olivar.png") center/cover;margin-bottom:14px}.hotel h3{font-family:"Cormorant Garamond",serif;text-transform:uppercase}.hotel p{font-family:"Cormorant Garamond",serif}.rsvp-form{max-width:860px;margin:24px auto 0;text-align:left;background:#fffaf4;border:1px solid #ead7c6;padding:26px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;text-transform:uppercase;font-weight:600;margin-bottom:14px}input,select,textarea{width:100%;padding:12px;border:1px solid #ead7c6;margin-top:7px;font:inherit}fieldset{border:1px solid #ead7c6;margin:8px 0 18px;padding:16px}fieldset label{display:inline-flex;align-items:center;gap:7px;text-transform:none;margin-right:15px}fieldset input{width:auto;margin:0}.bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:34px 4vw}.bottom article{background:#fffaf4;border:1px solid #ead7c6;padding:24px;text-align:center}.bottom h3{font-family:"Cormorant Garamond",serif;color:#b3685d;text-transform:uppercase}.bottom p{font-family:"Cormorant Garamond",serif}.footer-info{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:28px 4vw;background:#f0e2d4;text-align:center}.footer-info h4{font-family:"Cormorant Garamond",serif;color:#b3685d;text-transform:uppercase}footer{background:#b3685d;color:white;text-align:center;padding:15px;text-transform:uppercase;letter-spacing:.15em;font-size:12px}@media(max-width:1100px){nav{display:none}.cards{grid-template-columns:repeat(3,1fr)}.hotel-grid{grid-template-columns:repeat(2,1fr)}.welcome{grid-template-columns:1fr}.panels{grid-template-columns:1fr}}@media(max-width:740px){.topbar{height:auto;flex-wrap:wrap;padding:14px 18px}.hero{height:540px}.invite{width:90vw}.invite h1{font-size:38px}.invite h2{font-size:18px}.flowers{display:none}.cards,.hotel-grid,.bottom,.footer-info,.two{grid-template-columns:1fr}.welcome h2{font-size:48px}}
.hero-card{max-width:540px!important;padding:38px!important}
.lang-box{border:1px solid #d9c2b2;border-radius:12px;padding:12px;background:#fffdfb;max-width:320px;margin:auto}
.faq-box,.updates-box{background:#fffaf6;border:1px solid #ead7c6;border-radius:18px;padding:24px}


.dress-note{
display:block;
margin-top:8px;
font-size:13px;
font-style:italic;
color:#b67d6b;
}

.langues-box{
border:1px solid #d8c3b2;
border-radius:14px;
padding:12px;
background:#fffdf9;
}

.floral-divider{
background:linear-gradient(to right,#fff,#f7efe8,#fff);
height:40px;
border-radius:20px;
margin:20px 0;
}

.hero-card{
max-width:560px;
padding:38px !important;
}

.updates-box{
background:#fffaf6;
border:1px solid #ead7c6;
border-radius:18px;
padding:24px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}
