:root{--bg:#b6c8a9;--surface:#f4f7f3;--surface-solid:#b6c8a9;--text:#382f2e;--text-strong:#382f2e;--muted:#9d8f83;--line:#7c60492e;--accent:#1c2518;--accent-dark:#253120;--accent-soft:#ead7c9;--success:#2f6b4f;--error:#9b3a32;--shadow:0 24px 70px #53382329;--sans:"Cormorant Garamond", "Times New Roman", serif;--serif:"Cormorant Garamond", "Times New Roman", serif;color:var(--text);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text-strong)}#root{min-height:100svh}main{background:linear-gradient(#95a48b 0% 54%,#c9d6c1 100%);min-height:100svh;position:relative;overflow:hidden}.section.invitation-section{width:min(100%,1080px);margin:0 auto;display:block!important}.section.invitation-section .section-heading{margin:0 auto 12px;text-align:center!important;position:static!important}.section.invitation-section .invitation-card--invite{box-shadow:none!important;background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;padding:clamp(20px,4vw,48px)!important;display:flex!important}.section.invitation-section .invite-file{max-width:100%;display:block;width:min(100%,1720px)!important;height:auto!important}.hero-section,.section,.footer{z-index:1;width:min(100%,1080px);margin:0 auto;padding:88px 24px;position:relative}.language-toggle{z-index:5;border:1px solid var(--line);color:var(--accent-dark);letter-spacing:.08em;background:#fffaf4d6;border-radius:999px;padding:10px 14px;font-weight:800;position:fixed;top:24px;right:24px;box-shadow:0 12px 32px #5338231f}.invitation-card,.location-card,.rsvp-form,.detail-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.opening-content h1,.hero-section h1{font-family:var(--serif);letter-spacing:-.055em;flex-flow:wrap;justify-content:center;align-items:center;gap:8px;margin:18px 0;font-size:clamp(3.6rem,9vw,6.6rem);font-weight:400;line-height:.9;display:flex}.hero-title{opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s}.hero-title.is-ready{opacity:1;visibility:visible}.hero-section h1 span{color:var(--accent);letter-spacing:0;font-family:Great Vibes,Segoe Script,Brush Script MT,cursive;font-size:clamp(2.4rem,6vw,4rem);font-style:normal;font-weight:400;line-height:1}.hero-section h1 small{color:var(--accent);letter-spacing:0;font-family:Great Vibes,Segoe Script,Brush Script MT,cursive;font-size:clamp(1.6rem,5vw,2.8rem);font-style:normal;font-weight:400;line-height:1}.eyebrow{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:700}.primary-button{background:var(--accent);color:#fffaf4;letter-spacing:.04em;border:0;border-radius:999px;justify-content:center;margin-top:30px;padding:14px 28px;font-weight:700;transition:background .18s,transform .18s;display:inline-flex}.primary-button:hover{background:var(--accent-dark);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.68;transform:none}.site-shell{z-index:1;position:relative}.flower-banner{pointer-events:none;z-index:0;justify-content:center;width:100%;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.flower-banner img{width:100%;max-width:100vw;height:auto;display:block}.hero-section{z-index:1;margin-top:-10px;padding-top:230px;position:relative}.tabs-navigation{border-bottom:1px solid var(--line);z-index:10;background:linear-gradient(#f7f0e7 0%,#fbf6ef 54%,#fffaf4 100%);flex-wrap:wrap;justify-content:center;gap:0;width:min(100%,1080px);margin:0 auto;padding:0 24px;display:flex;position:sticky;top:0}.tab-button{min-width:140px;color:var(--muted);font-family:var(--serif);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:16px 20px;font-size:.95rem;font-weight:600;transition:all .2s}.tab-button:hover{color:var(--accent-dark);background:#9a6b4f0d}.tab-button.active{color:var(--accent-dark);border-bottom-color:var(--accent)}.tabs-content{min-height:50vh;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:.8}to{opacity:1}}.hero-section{text-align:center;grid-template-rows:auto auto auto auto;align-content:center;place-items:center;gap:16px;min-height:100svh;margin-top:-20px;padding-top:190px;display:grid}.invitation-section{width:min(100%,1080px);margin:0 auto;display:block;border-top:none!important;padding-top:0!important}.invitation-card--invite{box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;margin-top:-140px;padding:clamp(24px,4vw,36px);display:flex}.invite-file{width:100%;max-width:100%;height:auto;display:block}.tabs-content{padding-top:20px}.location-images{grid-template-columns:1fr;gap:18px;display:grid}.wedding-date{color:var(--accent-dark);letter-spacing:.18em;font-size:clamp(1rem,2.2vw,1.5rem);font-weight:700}.hero-copy{max-width:620px;color:var(--text-strong);font-family:var(--serif);font-size:clamp(1.1rem,2.2vw,1.7rem);font-style:italic;line-height:1.35}.countdown{grid-template-columns:repeat(4,1fr);gap:12px;width:min(100%,620px);margin:34px 0;display:grid}.countdown-card{border:1px solid var(--line);background:#fffaf4a3;padding:18px 8px}.countdown-card span{color:var(--text-strong);font-family:var(--serif);font-size:clamp(1.8rem,5vw,3rem);line-height:1;display:block}.countdown-card small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.section{border-top:1px solid var(--line);grid-template-columns:minmax(180px,.44fr) minmax(0,1fr);gap:44px;display:grid}.rsvp-section{width:min(100%,1180px);display:block}.rsvp-section .section-heading{text-align:center;margin-bottom:28px;position:static}.section-heading{align-self:start;position:sticky;top:40px}.section-heading h2{font-family:var(--serif);letter-spacing:-.04em;margin-top:10px;font-size:clamp(2.1rem,3.6vw,3.8rem);font-weight:400;line-height:1}.invitation-card,.location-card{color:var(--text-strong);font-family:var(--serif);gap:18px;padding:clamp(28px,5vw,52px);font-size:clamp(1.25rem,1.7vw,1.7rem);line-height:1.45;display:grid}.invitation-card p,.location-card p{font-family:var(--serif)}.details-section .detail-card p{text-align:justify;text-justify:inter-word}.location-section{width:min(100%,1080px);margin:0 auto;display:block!important}.location-section .location-card{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex}.location-section .location-card h2{font-family:var(--serif);letter-spacing:-.04em;margin:0;font-size:clamp(2.1rem,3.6vw,3.8rem);font-weight:400;line-height:1}.location-subtitle{color:var(--accent-dark);font-family:var(--serif);letter-spacing:.08em;margin:0;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:400}.location-image{object-fit:cover;border-radius:8px;width:100%;height:auto;max-height:400px;margin:18px 0}.timeline{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:18px;padding:clamp(28px,5vw,52px);display:grid}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:24px;padding:24px 0;display:grid}.timeline-item:last-child{border-bottom:none}.timeline-icon{object-fit:contain;flex-shrink:0;width:90px;height:90px}.timeline-content{flex-direction:column;gap:8px;display:flex}.timeline-header{flex-direction:column;gap:4px;display:flex}.timeline-item time{color:var(--accent);font-family:var(--serif);order:-1;font-size:1.7rem}.timeline-emoji{display:none}.timeline-item p{font-family:var(--serif)}.timeline-item h3,.detail-card h3{font-family:var(--serif);margin-bottom:8px;font-size:1.7rem;font-weight:400}.detail-card p{font-family:var(--serif);font-size:1.25rem;line-height:1.45}.text-link{color:var(--accent-dark);font-family:var(--serif);text-underline-offset:5px;font-size:1rem;font-weight:700}.deadline,.rsvp-note{font-family:var(--serif)}.deadline{color:var(--text-strong);text-align:center;font-family:var(--serif);margin-bottom:24px}.rsvp-note{max-width:740px;color:var(--text-strong);text-align:center;font-weight:600;font-family:var(--serif);margin:0 auto 24px}.rsvp-form{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 20px;width:min(100%,1080px);margin:0 auto;padding:clamp(28px,4vw,46px);display:grid}.rsvp-form label{color:var(--text-strong);font-family:var(--serif);grid-column:span 4;gap:8px;font-weight:700;display:grid}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;height:52px;min-height:52px;color:var(--text-strong);font-family:var(--serif);border-radius:0;padding:13px 14px}.rsvp-form textarea.additional-notes{resize:vertical;height:auto;min-height:180px}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--accent);outline:3px solid #9a6b4f26}.full-width{grid-column:1/-1}.field-third{grid-column:span 4}.field-half{grid-column:span 6}.checkbox-label{flex-direction:row;align-items:flex-start;font-size:1.02rem;font-weight:700!important;display:flex!important}.checkbox-label input{width:auto;margin-top:6px}.rsvp-form .checkbox-label{align-self:start}.rsvp-form .rsvp-english-allergies textarea{margin-top:-2px}.empty-row-spacer{grid-column:span 4;height:0;margin-top:0}.rsvp-bulgarian-empty-row{grid-column:1/-1;height:0;margin-top:0}.form-status{text-align:center;grid-column:1/-1;margin-top:16px;font-size:1.05rem;font-weight:700}.form-status.success{color:var(--success)}.form-status.error{color:var(--error)}.details-section{width:min(100%,1080px);margin:0 auto;display:block}.details-section .section-heading{text-align:center;margin-bottom:28px;position:static}.details-section .details-grid{grid-template-columns:1fr;gap:16px;width:min(100%,1080px);margin:0 auto;display:grid}.detail-card{padding:28px}.dresscode-palette{grid-template-columns:repeat(8,minmax(24px,1fr));gap:10px;margin-top:18px;display:grid}.dresscode-palette span{aspect-ratio:1;border:1px solid #30231f14;border-radius:50%;width:100%;min-width:24px;box-shadow:inset 0 0 0 1px #ffffff2e}.dresscode-container{grid-template-columns:1fr 1fr;align-items:center;gap:20px;margin-top:18px;display:grid}.outfit-images{grid-template-columns:1fr 1fr;gap:12px;display:grid}.outfit-img{object-fit:cover;border-radius:8px;width:100%;height:100%}.footer{border-top:1px solid var(--line);text-align:center;flex-wrap:wrap;justify-content:center;gap:14px 24px;display:flex}.footer p{flex-basis:100%}.footer a{color:var(--accent-dark);font-weight:700;text-decoration:none}@media (width<=760px){main{background:linear-gradient(#95a48b 0% 54%,#c9d6c1 100%)}.tabs-navigation{padding:0 12px}.tab-button{min-width:100px;padding:12px 10px;font-size:.78rem}.hero-section,.section,.footer{padding:48px 14px}.language-toggle{padding:8px 12px;top:14px;right:14px}.hero-section h1{letter-spacing:-.08em;font-size:clamp(3.8rem,18vw,6rem)}.hero-section{min-height:auto;padding-top:124px;padding-bottom:44px}.floral-border{opacity:1;width:min(40vw,280px);height:min(40vw,280px)}.wedding-date{font-size:.9rem}.hero-copy{font-size:1rem}.countdown-card small{font-size:.7rem}.invitation-card,.location-card{font-size:clamp(1.1rem,1.5vw,1.4rem)}.detail-card h3{font-size:1.4rem}.detail-card p{font-size:1rem}.section{grid-template-columns:1fr;gap:28px}.section-heading{text-align:center;position:static}.section-heading h2{font-size:clamp(2.2rem,12vw,3.4rem)}.invitation-card,.location-card,.rsvp-form,.detail-card{box-shadow:0 16px 48px #5338231f}.invitation-card--invite{margin-top:0!important;padding:0!important}.invitation-section{margin:0;width:100%!important;padding:0!important}.location-images{grid-template-columns:1fr}.invitation-section .invite-file{border-radius:0!important;width:calc(100vw + 8px)!important;max-width:none!important;margin-left:-30px!important;margin-right:-30px!important;padding:0!important}.invitation-card--invite{padding:clamp(16px,6vw,32px)!important}.location-image{max-height:280px}.location-section{padding:58px 18px!important}.countdown{grid-template-columns:repeat(2,1fr);gap:10px}.timeline-item,.rsvp-form,.details-grid{grid-template-columns:1fr}.rsvp-form label{grid-column:1/-1}.dresscode-palette{grid-template-columns:repeat(6,1fr)}.dresscode-container{grid-template-columns:1fr;gap:16px}.outfit-images{grid-template-columns:1fr 1fr;max-height:240px}.outfit-img{max-height:240px}.timeline-item{border:1px solid var(--line);background:#fffaf49e;gap:8px;padding:22px}.timeline-item time{font-size:1.1rem}.timeline-item h3{font-size:1rem}.primary-button{width:100%}.ampersand{font-family:Times New Roman,serif}}
