:root{--bg-cream: #faf8f5;--bg-paper: #f5f2ed;--bg-card: #fdfcfa;--ink: #4e3a35;--ink-plum: #5c4033;--ink-soft: #6b5048;--ink-muted: #8a7269;--ink-faint: #a89890;--accent: #6b4c5a;--accent-soft: rgba(107, 76, 90, .12);--line: rgba(78, 58, 53, .12);--line-strong: rgba(78, 58, 53, .22);--shadow-soft: 0 2px 16px rgba(78, 58, 53, .06);--shadow-card: 0 6px 28px rgba(78, 58, 53, .08);--radius-sm: 8px;--radius-md: 14px;--radius-pill: 2.5rem;--card-radius: 18px;--card-shadow: 0 4px 24px rgba(78, 58, 53, .07);--card-shadow-hover: 0 12px 40px rgba(78, 58, 53, .12);--card-border: 1px solid var(--line);--card-accent: linear-gradient(180deg, var(--accent), var(--accent-soft));--card-bg: linear-gradient(165deg, #fdfcfa 0%, #faf9f6 100%)}*{margin:0;padding:0;box-sizing:border-box}html{min-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}body{min-height:100%;min-height:100dvh;overflow-x:hidden;font-family:Outfit,sans-serif;background:var(--bg-paper);color:var(--ink);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.start-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-paper);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:opacity .6s ease}.start-screen.hidden{pointer-events:none;opacity:0}.start-screen .seal-wrap{width:500px;height:500px;margin-bottom:1.5rem;margin-top:-8vh;display:flex;align-items:center;justify-content:center}.start-screen .seal-wrap img{width:500px;height:100%;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(78,58,53,.15))}.start-screen .hint{font-family:Cormorant Garamond,serif;font-size:clamp(.9rem,3.2vw,1.05rem);font-weight:500;color:var(--ink-plum);letter-spacing:.18em;text-transform:uppercase;animation:pulse 2s ease-in-out infinite;margin-top:-2.5rem}.start-screen .script-intro{position:absolute;bottom:5rem;left:1.5rem;font-family:Great Vibes,cursive;font-size:clamp(1.25rem,4vw,1.5rem);color:var(--ink-plum);line-height:1.3}.sound-btn{position:fixed;bottom:max(1.5rem,env(safe-area-inset-bottom));right:max(1.5rem,env(safe-area-inset-right));width:44px;height:44px;border-radius:50%;border:none;background:var(--ink-plum);color:var(--bg-cream);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:100;transition:opacity .3s,transform .2s;-webkit-tap-highlight-color:transparent}.sound-btn:hover{transform:scale(1.05)}.sound-btn svg{width:20px;height:20px}.sound-btn.muted .icon-on{display:none}.sound-btn.muted .icon-off{display:block}.sound-btn .icon-off{display:none}@keyframes pulse{0%,to{opacity:.75}50%{opacity:1}}.video-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#000;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .9s ease}.video-intro.fade-out{opacity:0;pointer-events:none}.video-intro video{width:100%;height:100%;object-fit:cover}.section-padding{padding:clamp(1.5rem,5vw,2.5rem) clamp(1rem,4vw,2rem);padding-top:calc(clamp(1.5rem,5vw,2.5rem) + env(safe-area-inset-top));padding-bottom:calc(clamp(2rem,5vw,3rem) + env(safe-area-inset-bottom))}.bg-ivory{background-color:var(--bg-paper)}.section-padding.bg-ivory.overflow-hidden{position:relative;overflow-x:hidden;min-height:100dvh}.floral-border{position:absolute;top:0;bottom:0;width:150px;pointer-events:none;z-index:10;opacity:.5;background-repeat:repeat-y;background-size:auto;background-image:var( --floral-border-image, url(img/floral-border-J4FzR5M8.png) )}.floral-border-left{left:154px;background-position:right top;transform:scaleX(-1);transform-origin:left center}.floral-border-right{right:0;background-position:right top}.invitation{min-height:100dvh;padding:0;background:transparent;opacity:0;transform:translateY(16px);transition:opacity .8s ease .2s,transform .8s ease .2s;position:relative;z-index:2;overflow:visible}.invitation.visible{opacity:1;transform:translateY(0)}.invitation-inner{max-width:780px;margin:0 auto;position:relative;z-index:1;background:var(--bg-card);border-radius:var(--radius-pill);padding:clamp(2rem,6vw,2.75rem);box-shadow:var(--shadow-card);border:1px solid var(--line)}.header{text-align:center;margin-bottom:2.25rem;padding:0 .5rem}.header .label-wrap{text-align:center;margin-bottom:.5rem}.header .label{font-family:Great Vibes,cursive;font-size:clamp(1.4rem,4.5vw,1.75rem);font-weight:400;letter-spacing:.02em;color:var(--ink-plum)}.names{font-family:Great Vibes,cursive;font-size:clamp(2.5rem,9vw,3.5rem);font-weight:400;line-height:1.25;color:var(--ink-plum);letter-spacing:.02em;text-transform:none}.names span{display:block}.names .amp{font-family:Cormorant Garamond,serif;font-size:.5em;font-weight:500;color:var(--ink-muted);margin:.2em 0;letter-spacing:.1em}.divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:1.5rem auto 1.75rem;max-width:120px}.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}.divider-dot{width:4px;height:4px;border-radius:50%;background:var(--ink-plum);opacity:.6}.rings-motif{width:300px;height:200px;margin:0 auto;display:flex;align-items:center;justify-content:center}.rings-motif img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(78,58,53,.12))}.header-tagline{font-family:Great Vibes,cursive;font-size:clamp(1.85rem,5.5vw,2.35rem);font-weight:400;color:var(--ink-plum);margin-top:.25rem;margin-bottom:0}.nisanlandik-section .rings-motif{width:160px;height:160px;margin:0 auto 1rem}.intro-text{font-size:clamp(.95rem,2.8vw,1.05rem);font-weight:300;line-height:1.7;color:var(--ink-muted);text-align:center;margin-bottom:2.5rem}.section{margin-bottom:2.25rem}.section-title{font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.5rem}.section-desc{font-size:.9rem;font-weight:300;color:var(--ink-muted);margin-bottom:.75rem}.section-content{font-size:clamp(.95rem,2.8vw,1.05rem);font-weight:400;line-height:1.6;color:var(--ink)}.section-content strong{font-weight:500}.add-to-calendar{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1rem;padding:.75rem 1.35rem;font-size:.95rem;font-weight:600;color:var(--bg-cream);text-decoration:none;letter-spacing:.06em;border-radius:var(--card-radius);background:var(--accent);border:1px solid rgba(107,76,90,.4);box-shadow:var(--card-shadow);transition:color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}.add-to-calendar:hover{background:var(--ink-plum);color:var(--bg-cream);transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.add-to-calendar:active{transform:translateY(0);box-shadow:var(--card-shadow)}.add-to-calendar:focus-visible{outline:2px solid var(--ink-plum);outline-offset:3px}.add-to-calendar svg{width:20px;height:20px;stroke:currentColor;fill:none;flex-shrink:0;transition:transform .25s ease}.add-to-calendar:hover svg{transform:scale(1.08)}.footer{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--line);text-align:center}.footer-note{font-size:.9rem;color:var(--ink-muted);font-weight:400;letter-spacing:.1em;margin-bottom:1.5rem}.footer-note:before{content:"◆";display:block;font-size:.5rem;color:var(--ink-plum);opacity:.5;margin-bottom:.75rem}.footer-credit{font-size:.8rem;color:var(--ink-faint);font-weight:300;letter-spacing:.04em}.footer-credit a{color:var(--ink-soft);text-decoration:none;font-weight:500;transition:color .2s;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.footer-credit a:hover{color:var(--accent)}.footer-credit .linkedin-icon{width:16px;height:16px;flex-shrink:0}.footer-credit .linkedin-icon svg{width:100%;height:100%;fill:currentColor}.date-block,.couples-block,.family-side-card,.tagline,.venue-section,.nisanlandik-section{position:relative;overflow:hidden;border-radius:var(--card-radius);border:var(--card-border);box-shadow:var(--card-shadow);background:var(--card-bg);transition:box-shadow .3s ease,border-color .3s ease}.date-block:before,.couples-block:before,.family-side-card:before,.venue-section:before,.nisanlandik-section:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--card-accent);border-radius:var(--card-radius) var(--card-radius) 0 0}.tagline:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--card-accent);border-radius:var(--card-radius) var(--card-radius) 0 0}.date-block{text-align:center;margin-bottom:2rem;padding:1.75rem 1.5rem}.date-block .date-line{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;font-family:Cormorant Garamond,serif;font-size:clamp(.95rem,3.2vw,1.1rem);font-weight:600;color:var(--ink-plum);letter-spacing:.08em;text-transform:uppercase}.date-block .date-line span.bar{color:var(--line-strong);font-weight:400;-webkit-user-select:none;user-select:none}.date-block .date-line .date-day{font-size:clamp(1.5rem,6vw,2.25rem);font-weight:600;letter-spacing:.02em}.date-block .year{font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,4vw,1.35rem);font-weight:600;color:var(--ink-plum);margin-top:.35rem}.date-block .event-time{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line-strong);font-family:Cormorant Garamond,serif;font-size:clamp(.95rem,3vw,1.05rem);color:var(--ink-plum);letter-spacing:.05em}.date-block .event-time .event-name{font-weight:600;text-transform:uppercase}.date-block .event-time .event-hours{font-weight:500;color:var(--ink);letter-spacing:.08em}.couple-portrait{margin:2rem auto 2.25rem;max-width:min(320px,85vw);background:linear-gradient(145deg,#f5f2ee,#ebe6e0);border:1px solid var(--line-strong);border-radius:var(--card-radius);box-shadow:var(--shadow-card),inset 0 1px #fff9}.couple-portrait img{display:block;width:100%;height:auto;border-radius:calc(var(--card-radius) - 4px);object-fit:contain}.couples-block{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem 1.25rem;align-items:center;justify-items:center;max-width:340px;margin:0 auto 1.75rem;text-align:center;padding:1.75rem 1.5rem}.couples-block:hover{box-shadow:var(--card-shadow-hover)}.couples-block .name-main{font-family:Cormorant Garamond,serif;font-size:clamp(1.05rem,3.8vw,1.2rem);font-weight:600;color:var(--ink);letter-spacing:.06em}.couples-block .role{font-size:.7rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.18em;margin-bottom:.35rem}.couples-block .amp{font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:500;color:var(--ink-plum);opacity:.9}.families-block{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;max-width:420px;margin:0 auto 2rem}.family-side-card{padding:1.75rem 1.5rem;text-align:center}.family-side-card:hover{box-shadow:var(--card-shadow-hover)}.family-side-title{font-family:Cormorant Garamond,serif;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-plum);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.family-side-row{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1rem}.family-side-row:last-child{margin-bottom:0}.family-side-row .family-role{font-size:.65rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.15em}.family-side-row .family-name{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:500;color:var(--ink)}.tagline{text-align:center;margin-bottom:2rem;padding:2rem 1.75rem}.tagline .line1{font-family:Great Vibes,cursive;font-size:clamp(1.65rem,5vw,2rem);font-weight:400;color:var(--ink-plum);margin-bottom:.75rem;line-height:1.2;letter-spacing:.02em}.tagline .line-sep{width:24px;height:1px;background:var(--line-strong);margin:0 auto .85rem;opacity:.8}.tagline .line2{font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.8vw,1.1rem);color:var(--ink-muted);font-weight:400;font-style:italic;letter-spacing:.04em;line-height:1.45}.venue-section{margin-left:auto;margin-right:auto;margin-bottom:1.5rem;max-width:100%;padding:1.75rem 1.5rem;text-align:center}.venue-section:hover{box-shadow:var(--card-shadow-hover)}.venue-section .section-title{margin-bottom:.75rem;text-align:center}.venue-section .section-desc{text-align:center}.venue-name{font-family:Cormorant Garamond,serif;font-size:1.08rem;font-weight:600;color:var(--ink);margin-bottom:.5rem;line-height:1.4;text-align:center}.venue-detail{font-size:.9rem;color:var(--ink-muted);line-height:1.55;text-align:center}.venue-parking{font-size:.85rem;color:var(--ink-muted);text-align:center;margin-top:.5rem;margin-bottom:0}.map-wrap{border-radius:var(--card-radius);overflow:hidden;border:var(--card-border);margin-top:1.25rem;margin-left:auto;margin-right:auto;aspect-ratio:16/10;max-height:380px;min-height:240px;width:100%;box-shadow:var(--card-shadow)}.map-wrap iframe{width:100%;height:100%;border:0;display:block}.venue-section .map-link{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1.25rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;color:var(--bg-cream);background:var(--accent);text-decoration:none;letter-spacing:.06em;border-radius:var(--card-radius);border:1px solid rgba(107,76,90,.4);box-shadow:var(--card-shadow);transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.venue-section .map-link:hover{background:var(--ink-plum);color:var(--bg-cream);transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.venue-section .map-link:active{transform:translateY(0);box-shadow:var(--card-shadow)}.venue-section .map-link:focus-visible{outline:2px solid var(--ink-plum);outline-offset:3px}.map-link svg{width:20px;height:20px;stroke:currentColor;fill:none;flex-shrink:0;transition:transform .25s ease}.venue-section .map-link:hover svg{transform:scale(1.08)}.countdown-section{margin-bottom:2rem;text-align:center}.countdown-section.hidden{display:none}.countdown-heading{font-family:Cormorant Garamond,serif;font-size:clamp(.9rem,3.2vw,1.05rem);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.25rem}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;max-width:288px;margin:0 auto}.countdown-box{position:relative;overflow:hidden;padding:1.25rem .75rem;background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:box-shadow .3s ease}.countdown-box:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--card-accent);border-radius:var(--card-radius) var(--card-radius) 0 0}.countdown-box:hover{box-shadow:var(--card-shadow-hover)}.countdown-value{font-family:Cormorant Garamond,serif;font-size:clamp(1.4rem,5vw,1.85rem);font-weight:600;color:var(--ink);line-height:1.2;display:block;letter-spacing:.02em}.countdown-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);margin-top:.35rem}.nisanlandik-section{text-align:center;margin-bottom:2rem;padding:1.75rem 1.5rem;display:none;background:var(--card-bg)}.nisanlandik-section.visible{display:block;animation:fadeIn .6s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.nisanlandik-section .heart-icon{width:52px;height:52px;margin:0 auto 1rem}.nisanlandik-section .heart-icon svg{width:100%;height:100%;stroke:var(--ink-plum);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.nisanlandik-section .main-text{font-family:Cormorant Garamond,serif;font-size:clamp(1.55rem,6vw,2.1rem);font-weight:600;color:var(--ink);letter-spacing:.03em;margin-bottom:.4rem}.nisanlandik-section .date-text{font-size:.95rem;color:var(--ink-muted);font-weight:400;letter-spacing:.04em}@media (max-width: 768px){.start-screen .seal-wrap{width:min(320px,85vw);height:min(320px,85vw);margin-top:-4vh;margin-bottom:1rem}.start-screen .seal-wrap img{width:100%;height:100%}.start-screen .hint{font-size:clamp(.8rem,2.5vw,.95rem);letter-spacing:.12em;margin-top:-1.5rem}.start-screen .script-intro{font-size:clamp(1rem,4vw,1.2rem)}.invitation-inner{padding:clamp(1.25rem,4vw,2rem);margin-left:0;margin-right:0;border-radius:0}.header{margin-bottom:1.75rem}.rings-motif{width:220px;height:160px}.date-block{padding:1.25rem 1rem;margin-bottom:1.5rem}.add-to-calendar{width:100%;max-width:320px;margin-left:auto;margin-right:auto;min-height:48px;padding:.85rem 1.25rem}.couple-portrait{margin:1.5rem auto 1.75rem;max-width:min(280px,90vw)}.countdown-grid{gap:.5rem;max-width:100%;padding:0 .5rem}.countdown-box{padding:1rem .5rem}.countdown-value{font-size:clamp(1.25rem,5vw,1.5rem)}.families-block{position:relative;grid-template-columns:1fr 1fr;max-width:100%;gap:0;padding:0;border-radius:var(--card-radius);border:var(--card-border);box-shadow:var(--card-shadow);background:var(--card-bg);overflow:hidden}.families-block:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--card-accent)}.families-block .family-side-card{border:none;border-radius:0;box-shadow:none;background:transparent}.families-block .family-side-card:before{display:none}.families-block .family-side-card:first-child{border-right:1px solid var(--line)}.venue-section{padding:1.25rem 1rem}.venue-name{font-size:1rem;line-height:1.35}.venue-detail{font-size:.85rem}.map-wrap{min-height:200px;margin-top:1rem}.venue-section .map-link{width:100%;max-width:320px;margin-left:auto;margin-right:auto;min-height:48px;padding:.85rem 1.25rem}.tagline{padding:1.5rem 1rem}.footer{margin-top:2rem;padding-top:1.5rem}.footer-note{font-size:.85rem}}@media (max-width: 480px){.start-screen .seal-wrap{width:min(260px,78vw);height:min(260px,78vw)}.names{font-size:clamp(2rem,10vw,2.75rem)}.header-tagline{font-size:clamp(1.5rem,6vw,1.85rem)}.date-block .date-line{gap:.5rem}.date-block .date-line .date-day{font-size:clamp(1.35rem,8vw,1.75rem)}.countdown-grid{grid-template-columns:repeat(2,1fr);max-width:260px}.sound-btn{width:44px;height:44px;right:1rem;top:1rem}}
