@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');:root{--ink:#40282d;--pink:#ad657b;--wine:#762b42;--border:#e8d2d1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffaf8;color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.header{display:flex;align-items:center;justify-content:space-between;padding:12px clamp(20px,6vw,90px);background:#fffaf8;border-bottom:1px solid var(--border);position:relative;z-index:3}.logo{width:125px;height:95px;object-fit:contain}.header nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.btn{background:var(--wine);color:#fff;border:0;padding:17px 25px;display:inline-block;border-radius:4px;font-weight:700;font-size:14px;cursor:pointer}.btn:hover{background:#98465f}.btn:disabled{opacity:.6;cursor:wait}.btn.small{padding:13px 18px}.menu{display:none}.sr{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.hero{min-height:590px;display:grid;grid-template-columns:1.1fr .9fr;background:#f6e6e5}.hero-copy{padding:clamp(55px,8vw,110px) 30px clamp(50px,6vw,90px) clamp(24px,8vw,130px)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;color:#a35e72}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500}h1{font-size:clamp(40px,5vw,72px);line-height:1.15;letter-spacing:-2px;margin:25px 0}h2{font-size:clamp(36px,4vw,56px);line-height:1.15;letter-spacing:-1px;margin:25px 0}em{color:var(--pink);font-weight:400}.hero p,.section p,.feature p,.about p,.contact>p{font-size:17px;line-height:1.8;max-width:520px;color:#715c60}.hero-note{margin-top:48px;letter-spacing:2px;font-size:11px;color:#996a73}.hero-art{background:#f9f0ed;display:flex;align-items:center;justify-content:center;position:relative;min-height:430px}.hero-art img{width:min(75%,410px);mix-blend-mode:multiply}.sticker{position:absolute;bottom:32px;right:32px;background:var(--wine);color:#fff;padding:19px 24px;border-radius:50%;transform:rotate(12deg);text-align:center;font-size:13px;line-height:1.4;font-weight:700;letter-spacing:1px}.section{padding:100px clamp(22px,7vw,100px)}.center{text-align:center;margin:0 auto 45px;max-width:680px}.center p{margin:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.cards article{padding:38px 25px;min-height:230px;background:#f9ede9;border:1px solid #ead4d0}.cards span{font-size:12px;color:#a85d73}.cards h3,.steps h3{font-size:24px}.cards p,.steps p{font-size:14px;line-height:1.7}.feature{background:#f1d5d5;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:90px clamp(22px,8vw,120px)}.feature-art{height:370px;border:1px solid #a96b7a;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--wine);background:repeating-linear-gradient(45deg,#f9e8e6,#f9e8e6 18px,#f7dede 18px,#f7dede 19px);text-align:center}.feature-art span{font-size:50px}.feature-art strong{font-family:'Playfair Display',serif;font-size:62px;line-height:1.1}.feature-art small{margin-top:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps>div{border-top:1px solid #cda7ae;padding-top:24px}.steps b{color:var(--pink)}.about{background:#f9ece8;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:50px;padding:80px clamp(22px,9vw,140px)}.about img{width:100%;max-width:330px;mix-blend-mode:multiply}.signature{font-family:'Playfair Display',serif;font-style:italic;color:#a05c72!important}.faq{max-width:800px;margin:auto}.faq details{border-bottom:1px solid var(--border);padding:20px 0}.faq summary{cursor:pointer;font-weight:700;font-size:17px}.faq p{margin:15px 0 0 20px;font-size:15px!important}.contact{text-align:center;padding:95px 22px}.contact>p{margin:0 auto 35px}.contact form{max-width:760px;text-align:left;margin:auto;background:#fff3ee;border:1px solid var(--border);padding:32px;border-radius:12px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin-bottom:18px}.contact input,.contact textarea,.contact select{width:100%;padding:14px;border:1px solid #dfc5c1;border-radius:5px;background:white;color:var(--ink);font-weight:400}.status{color:#715c60;font-size:13px}.trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}footer{background:var(--wine);color:white;text-align:center;padding:40px 20px}footer img{width:120px;height:110px;object-fit:contain;background:white;border-radius:50%}footer small{opacity:.8}@media(max-width:750px){.logo{width:95px;height:75px}.menu{display:block;background:none;border:0;font-size:28px;color:var(--wine)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffaf8;padding:20px;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.hero,.feature,.about{grid-template-columns:1fr}.hero-copy{padding:60px 24px}.hero-art{min-height:330px}.hero-art img{max-width:280px}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.section{padding:70px 22px}.feature,.about{padding:65px 24px}.feature-art{height:300px}.fields{grid-template-columns:1fr}.contact form{padding:20px}h1{font-size:44px}}@media(max-width:430px){.cards{grid-template-columns:1fr}.sticker{font-size:10px;right:15px;bottom:15px}.feature-art strong{font-size:48px}}

/* Event customization questionnaire */
.form-section{padding:24px 0;border-bottom:1px solid #e4c9c9}.form-section:last-child{border:0}.form-section h3{font-family:Georgia,serif;font-size:25px;color:#762b42;margin:0 0 15px}.form-section .section-hint{font-size:14px;margin:0 0 16px}.form-section fieldset{border:0;padding:0;margin:20px 0}.form-section legend{font-weight:700;font-size:14px;margin-bottom:10px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.check-grid label,.confirm{display:flex!important;align-items:flex-start;flex-direction:row!important;gap:10px!important;font-weight:500!important;margin:0!important}.check-grid input,.confirm input{width:auto!important;flex:0 0 auto;margin-top:4px;accent-color:#a35e72}.dry-note{background:#f5e1e2;border-left:4px solid #a35e72;padding:16px;margin:20px 0;font-size:14px;line-height:1.65;text-align:left}.confirm{margin:20px 0!important}.form-section .btn{margin-top:22px}@media(max-width:620px){.check-grid{grid-template-columns:1fr}.form-section{padding:20px 0}}
