:root{--color-primary:#8da399;--color-primary-dark:#6e847a;--color-secondary:#e6cec9;--color-text:#4a4a4a;--color-text-light:#777;--color-bg:#fff;--color-white:#fff;--color-border:#e2dcd4;--color-error:#d9534f;--color-success:#5cb85c;--font-cantoni-pro:"cantoni-pro", serif;--font-cantoni-diy:"cantoni-diy-wedding", sans-serif;--font-cantoni-ornaments:"cantoni-ornaments", sans-serif;--font-cantoni-flourishes:"cantoni-flourishes", sans-serif;--font-script:var(--font-cantoni-pro);--font-body:"Playfair Display", serif}sup{font-size:.5em}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:16px;line-height:1.8}h1,h2,h3{font-family:var(--font-script);text-align:center;color:var(--color-primary-dark);margin-top:0;font-weight:700}h2{margin-bottom:0;font-size:4rem}h3{font-family:var(--font-body);color:var(--color-secondary);filter:brightness(.8);margin-bottom:.1rem;font-size:1.6rem}a{color:var(--color-primary-dark);text-decoration:underline;-webkit-text-decoration-color:var(--color-secondary);text-decoration-color:var(--color-secondary);transition:all .3s}a:hover{color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.banner{background-image:url(/images/banner.png);background-position:top;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.banner:after{content:"";position:absolute;inset:0}.banner-content{z-index:1;text-align:center;position:relative}.banner-content h1{color:var(--color-primary-dark);margin:0;font-size:6rem;line-height:6rem}.banner-content .date{font-family:var(--font-body);text-transform:uppercase;letter-spacing:4px;color:var(--color-text-light);margin-top:1rem;font-size:1.1rem}.content{max-width:800px;margin:0 auto;padding:2rem 1.5rem 5rem}.divider{text-align:center;margin:3rem 0}.divider img{opacity:.8;width:768px;max-width:100%}section{text-align:center;margin-bottom:2rem}.details-block{margin-bottom:2rem}.details-block p{margin-top:0}.details-block ul{margin:1.5rem 0;padding:0;list-style:none}.details-block ul li{color:var(--color-primary-dark);font-family:var(--font-body);margin-bottom:.8rem;font-weight:600}.btn{background:var(--color-primary);font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;cursor:pointer;border:none;border-radius:4px;padding:.8rem 2rem;font-size:.9rem;transition:background .3s,transform .2s;display:inline-block;color:var(--color-white)!important;text-decoration:none!important}.btn:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.btn.btn-outline{border:1px solid var(--color-primary);background:0 0;color:var(--color-primary-dark)!important}.btn.btn-outline:hover{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text)!important}.btn:disabled{background:var(--color-border);cursor:default;transform:none}.maps-container{flex-direction:column;gap:2rem;margin-bottom:2rem;display:flex}.maps-container .map h3{margin-bottom:.5rem}.maps-container .map iframe{border:1px solid var(--color-border);border-radius:8px;max-width:100%;box-shadow:0 4px 15px #00000014}.calendar-link{margin-top:2rem}.rsvp-form{background:var(--color-white);border:1px solid var(--color-border);text-align:left;border-radius:8px;max-width:600px;margin:0 auto;padding:3rem;box-shadow:0 4px 25px #0000000f}.form-group{margin-bottom:1.5rem}.form-group label,.form-group .label-like{color:var(--color-primary-dark);margin-top:.5rem;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.form-group input[type=text],.form-group textarea,.form-group select{border:1px solid var(--color-border);width:100%;font-family:var(--font-body);box-sizing:border-box;background:var(--color-bg);border-radius:4px;padding:.8rem;font-size:1rem;transition:border-color .3s}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);background:var(--color-white);outline:none}.form-group input[type=radio]{margin:3px}.radio-group{flex-direction:column;gap:.5rem;display:flex}.radio-group label{color:var(--color-text);cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.form-message{text-align:center;border-radius:4px;margin-top:1rem;padding:1rem;font-size:.9rem;display:none}.form-message:not(:empty){display:block}.form-message.success{color:var(--color-success);background:#eaf5ea;border:1px solid #d4ebd4}.form-message.error{color:var(--color-error);background:#fdf2f2;border:1px solid #fadcdc}.first-name{margin-bottom:20px;line-height:8rem;display:block}.ampersand{margin-bottom:-40px;font-size:4.5rem;display:block}.second-name{margin-bottom:-20px;line-height:8rem;display:block}h1 *{display:inline-block}footer{text-align:center;background:var(--color-secondary);color:var(--color-text);letter-spacing:1px;padding:2rem;font-size:.8rem}.flourish-k{-moz-font-feature-settings:"swsh";-webkit-font-feature-settings:"swsh";font-feature-settings:"swsh";font-feature-settings:"ss01" 1}.ligature-ty{font-variant:common-ligatures, oldstyle-nums}.flourish-m{-moz-font-feature-settings:"swsh";-webkit-font-feature-settings:"swsh";font-feature-settings:"swsh";font-feature-settings:"ss02" 1}.diy-wedding{font-family:var(--font-cantoni-diy);font-size:10rem;font-weight:400;line-height:5rem;display:block}@media (width>=768px){.maps-container{flex-direction:row}.maps-container .map{flex:1}.banner-content h1{font-size:6rem}.radio-group{flex-direction:row;gap:1.5rem}.banner{background-size:contain}}
