@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:wght@300;400;500;600&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--ivory:#f8f0e9;--paper:#fbf5ef;--blush:#e8b8b9;--blush-light:#f4d7d8;--silver:#bfc0c3;--silver-dark:#89878a;--ink:#191516;--muted:#7c7071;--mx:50vw;--my:50vh}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:82px;padding:0 clamp(20px,6vw,90px);display:flex;align-items:center;justify-content:space-between;background:rgba(251,247,241,.92);border-bottom:1px solid #e9deda;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.wordmark{font-family:'Cormorant Garamond',serif;font-size:23px;letter-spacing:.18em}.wordmark small{display:block;font:500 8px Montserrat,sans-serif;letter-spacing:.23em;margin-top:4px;color:#9b7b80}.site-header nav{display:flex;gap:clamp(15px,3vw,42px);font-size:9px;letter-spacing:.16em}.site-header nav a{transition:color .3s}.site-header nav a:hover{color:#b6818a}
.hero{min-height:calc(100svh - 82px);position:relative;display:grid;grid-template-columns:1fr .78fr;align-items:center;gap:4vw;padding:7vh clamp(22px,8vw,130px) 95px;overflow:hidden;background:radial-gradient(ellipse at 23% 48%,#fffdf9 0%,#fbf7f1 55%,#f2e5e1 100%)}.hero:before{content:"";position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(115deg,transparent 0 130px,rgba(255,255,255,.7) 131px 133px,transparent 134px 250px);pointer-events:none}.hero-copy{position:relative;z-index:2;text-align:center;padding:30px 0}.eyebrow{font-size:10px;letter-spacing:.20em;color:#000000 ;font:300 15px/2 'Cormorant Garamond',serif;text-align:center;line-height:1.8}.eyebrow span{color:#bfc0c3;margin:0 8px}.hero h1{font:400 clamp(100px,13vw,190px)/.82 'Allura','Brush Script MT',cursive;letter-spacing:0;margin:20px 0 10px;color:#c4c3c5;text-shadow:0 1px 0 #fff,0 2px 0 #8e8c90,0 5px 13px #c8b8b8;filter:drop-shadow(0 0 1px #fff)}.hero-sub{font:400 11px Montserrat,sans-serif;letter-spacing:.3em;margin:22px 0}.ornament{display:flex;align-items:center;justify-content:center;gap:17px;color:#a9a7aa;font-size:22px;animation:starGlow 3s ease-in-out infinite}.ornament i,.hairline i{display:block}.hairline{height:1px;width:min(240px,70%);background:linear-gradient(90deg,transparent,#aaa4a3,transparent);margin:24px auto;position:relative}.hairline span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0 12px;background:var(--ivory);color:#aaa5a7;font-size:23px}.motto{font-size:10px;letter-spacing:.32em;margin-top:28px}.hero-date{font:400 21px 'Cormorant Garamond',serif;letter-spacing:.25em}.hero-date span{color:#bd9098}.pill-button{display:inline-flex;gap:20px;align-items:center;margin-top:20px;padding:15px 24px;border:1px solid #cbb3b5;font-size:9px;letter-spacing:.18em;transition:all .35s;background:#fffaf7}.pill-button:hover{background:#1b1718;color:#fff;transform:translateY(-4px);box-shadow:0 12px 30px #cdb6b65c}.pill-button span{font-size:15px;color:#b68a92}.tiny-note{font:italic 14px 'Cormorant Garamond',serif;color:#95878a;margin-top:28px}
.invitation-wrap{position:relative;z-index:1;max-width:440px;width:100%;justify-self:center;perspective:1000px}.invitation-frame{padding:10px;background:#fffdf9;box-shadow:0 25px 70px #8c6b6c25,0 2px 8px #8c6b6c12;transform:rotate(1.4deg);transition:transform .7s cubic-bezier(.2,.8,.2,1);animation:cardDrift 8s ease-in-out infinite}.invitation-frame:hover{transform:rotate(0) scale(1.025)}.invitation-frame img{display:block;width:100%;height:auto}.frame-caption{display:block;text-align:center;margin-top:24px;font-size:8px;letter-spacing:.28em;color:#9a7b80}.frame-star{position:absolute;color:#a9a9ad;font-size:30px;filter:drop-shadow(0 2px 2px #c6b9b9);animation:floatStar 5s ease-in-out infinite}.star-one{top:-25px;right:-20px}.star-two{bottom:45px;left:-24px;animation-delay:-2s}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:54px;border-top:1px solid #e5d8d5;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,8vw,130px);font-size:8px;letter-spacing:.2em;color:#988b8d}.hero-bottom b{font-size:20px;font-weight:300;color:#b78e96;animation:arrowBounce 1.8s infinite}
.floating-stars{position:fixed;inset:0;pointer-events:none;z-index:10;overflow:hidden}.floating-stars span{position:absolute;color:#b7b6bb;text-shadow:0 0 8px #fff,0 0 15px #d8bfc2;opacity:0;animation:starDrift 11s linear infinite}.floating-stars span:nth-child(1){left:7%;top:85%;font-size:23px;animation-delay:0s}.floating-stars span:nth-child(2){left:20%;top:95%;font-size:18px;animation-delay:-2s}.floating-stars span:nth-child(3){left:42%;top:90%;font-size:20px;animation-delay:-5s}.floating-stars span:nth-child(4){left:68%;top:92%;font-size:15px;animation-delay:-7s}.floating-stars span:nth-child(5){left:87%;top:90%;font-size:24px;animation-delay:-4s}.floating-stars span:nth-child(6){left:33%;top:95%;font-size:16px;animation-delay:-8s}.floating-stars span:nth-child(7){left:55%;top:90%;font-size:19px;animation-delay:-3s}.floating-stars span:nth-child(8){left:77%;top:95%;font-size:18px;animation-delay:-6s}.floating-stars span:nth-child(9){left:12%;top:92%;font-size:20px;animation-delay:-9s}
.section{padding:clamp(8px,11vw,30px) clamp(22px,8vw,130px)}.welcome{text-align:center;background:var(--paper);position:relative}.welcome h2,.rsvp h2{font:300 clamp(38px,5vw,66px)/1.08 'Cormorant Garamond',serif;margin:24px 0}.welcome h2 em,.rsvp h2 em,.closing h2 em{color:#b88e96;font-weight:400}.welcome-copy{max-width:590px;margin:0 auto;color:#000000;font:300 15px/2 'Cormorant Garamond',serif}.star-divider{display:flex;align-items:center;gap:18px;justify-content:center;margin:44px auto;color:#b5b5ba;font-size:22px}.star-divider i{height:1px;width:80px;background:linear-gradient(90deg,transparent,#c8b8b9)}.star-divider i:last-child{transform:rotate(180deg)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}.info-card{padding:32px 18px;background:#fffdfa;border:1px solid #eee1df;box-shadow:0 12px 35px #a78a8a0b;transition:transform .4s,box-shadow .4s;opacity:0;transform:translateY(25px)}.info-card.visible{opacity:1;transform:translateY(0)}.info-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px #a78a8a20}.card-icon{font-size:30px;color:#b88e96}.card-label{font-size:12px;letter-spacing:.1em;color:#a17e85;margin-top:18px}.info-card h3{font:400 28px 'Cormorant Garamond',serif;margin:10px 0}.info-card p:last-child{font-size:12px;color:#928689}.pending-note{font:italic 15px 'Cormorant Garamond',serif;color:#a08b8e;margin-top:35px}
.rsvp{background:linear-gradient(135deg,#f5e5e5,#fffaf5 50%,#f4e7e3);position:relative;overflow:hidden}.rsvp:before,.rsvp:after{content:"✡";position:absolute;font-size:clamp(100px,20vw,260px);color:#d7c8c9;opacity:.16;animation:slowRotate 35s linear infinite}.rsvp:before{left:-60px;top:10%}.rsvp:after{right:-60px;bottom:0;animation-direction:reverse}.rsvp-panel{position:relative;z-index:1;max-width:650px;margin:auto;background:#fffdf9eF;border:1px solid #e4d0d0;padding:clamp(26px,6vw,65px);box-shadow:0 25px 80px #8f6f7420;opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.rsvp-panel.visible{opacity:1;transform:translateY(0)}.rsvp h2{text-align:center}.rsvp-text{text-align:center;font:300 15px 'Cormorant Garamond',serif;color:#827578;margin-bottom:30px}.rsvp-text strong{color:#a77882;font-weight:500}.rsvp form{display:flex;flex-direction:column;gap:10px}.rsvp label,.rsvp legend{font-size:9px;letter-spacing:.12em;color:#000000;text-transform:uppercase;margin-top:9px}.rsvp input:not([type=radio]),.rsvp select,.rsvp textarea{width:100%;padding:14px;border:1px solid #e4d4d3;background:#fffdfa;color:#251e20;border-radius:0;outline:none;transition:border .3s,box-shadow .3s}.rsvp input:focus,.rsvp select:focus,.rsvp textarea:focus{border-color:#bc929a;box-shadow:0 0 0 3px #edc8cd55}.rsvp fieldset{border:0;padding:0;margin:10px 0;display:grid;gap:10px}.rsvp legend{margin-bottom:14px}.radio-card{cursor:pointer}.radio-card input{position:absolute;opacity:0}.radio-card span{display:block;padding:15px;border:1px solid #e4d4d3;background:#fffdfa;transition:all .25s}.radio-card input:checked+span{border-color:#b88e96;background:#f8e8e8;box-shadow:inset 3px 0 #b88e96}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-fields>div{display:flex;flex-direction:column;gap:9px}.rsvp button{margin-top:14px;padding:17px;border:0;background:#211c1d;color:#fffaf7;font-size:9px;letter-spacing:.2em;cursor:pointer;position:relative;overflow:hidden}.rsvp button:after{content:"";position:absolute;top:0;bottom:0;left:-50%;width:35%;background:linear-gradient(90deg,transparent,#ffffff50,transparent);transform:skewX(-25deg);animation:buttonShimmer 4s infinite}.rsvp button span{color:#edc8cd;font-size:17px;margin-left:12px}.form-hint{text-align:center;font-size:9px;color:#000000;line-height:1.7}
.closing{text-align:center;padding:100px 20px 110px;background:linear-gradient(160deg,#fffdf9,#f5e7e5);border-top:1px solid #e8d9d7}.closing-stars{font-size:27px;letter-spacing:.3em;color:#b7b5bb;animation:starGlow 3s infinite}.closing h2{font:300 clamp(55px,9vw,105px)/.95 'Cormorant Garamond',serif;margin:25px 0}.closing>p:not(.eyebrow){font:italic 16px 'Cormorant Garamond',serif;color:#887a7c}.back-top{display:inline-block;margin-top:26px;font-size:8px;letter-spacing:.2em;border-bottom:1px solid #cbb4b7;padding:12px 0}footer{padding:24px clamp(20px,6vw,90px);display:flex;justify-content:space-between;gap:15px;background:#f5eee8;color:#9b898c;font-size:8px;letter-spacing:.17em;border-top:1px solid #e5d8d5}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal:nth-child(2){transition-delay:.12s}.reveal:nth-child(3){transition-delay:.2s}
@keyframes cardDrift{0%,100%{transform:rotate(1.4deg) translateY(0)}50%{transform:rotate(.3deg) translateY(-9px)}}@keyframes floatStar{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-13px) rotate(8deg)}}@keyframes starGlow{0%,100%{opacity:.65;filter:drop-shadow(0 0 1px #fff)}50%{opacity:1;filter:drop-shadow(0 0 8px #c7b2b8)}}@keyframes arrowBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes starDrift{0%{transform:translateY(0) rotate(0deg) scale(.7);opacity:0}12%{opacity:.85}80%{opacity:.75}100%{transform:translateY(-110vh) rotate(240deg) scale(1.2);opacity:0}}@keyframes slowRotate{to{transform:rotate(360deg)}}@keyframes buttonShimmer{0%,30%{left:-50%}65%,100%{left:130%}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:35px;padding-top:50px}.hero-copy{padding-bottom:0}.invitation-wrap{width:min(76%,360px)}.hero h1{font-size:clamp(92px,22vw,145px)}.hero-bottom{padding:0 22px}.site-header{height:72px}.wordmark{font-size:18px}.site-header nav{font-size:8px;gap:13px}.info-grid{grid-template-columns:1fr;max-width:430px}.info-card{padding:25px}.section{padding:75px 22px}.two-fields{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.site-header nav a:first-child{display:none}.wordmark{font-size:16px}.hero-sub{font-size:9px}.hero-date{font-size:18px}.invitation-wrap{width:83%}.two-fields{grid-template-columns:1fr}footer{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Signature lettering for Liora, inspired by the rhinestone script on the Save-the-Date card */

/* Use the actual rhinestone-script lettering from the user's reference image */
.hero h1.logo-heading{font:400 clamp(92px,11vw,156px)/1 'Great Vibes','Brush Script MT',cursive;letter-spacing:0;margin:18px auto 8px;width:100%;color:#a9a8ad;background:linear-gradient(105deg,#88878c 0%,#fdfdfd 18%,#aaa9af 34%,#fff 48%,#9a999f 63%,#f8f8f8 78%,#88878c 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 1px rgba(90,70,70,.16));animation:scriptSilverShine 9s ease-in-out infinite}
@keyframes scriptSilverShine{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}
@media(max-width:800px){.hero h1.logo-heading{font-size:clamp(78px,17vw,118px);margin:14px auto 6px}}

/* Text-based calligraphy for Liora's name: no logo image used */
.hero h1.logo-heading{font-family:'Great Vibes','Brush Script MT',cursive;font-size:clamp(92px,11vw,156px);font-weight:400;letter-spacing:0;line-height:1;color:#aaa9ae;background:linear-gradient(105deg,#88878c 0%,#fff 18%,#aaa9af 34%,#fff 48%,#9a999f 63%,#f8f8f8 78%,#88878c 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 1px rgba(90,70,70,.16));animation:scriptSilverShine 9s ease-in-out infinite}
@keyframes scriptSilverShine{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}

/* Rhinestone-inspired live text: diamonds are HTML/CSS, not a logo image */
.hero h1.diamond-lettering{position:relative;display:block;width:100%;isolation:isolate;font-family:'Great Vibes','Brush Script MT',cursive;font-size:clamp(96px,12vw,168px);line-height:1.04;letter-spacing:0;margin:22px auto 16px;color:#a7a6aa;background:linear-gradient(115deg,#77777c 0%,#fff 12%,#b2b1b6 22%,#fff 31%,#85848a 43%,#fff 54%,#aaa9ae 66%,#fff 78%,#77777c 91%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 1px rgba(80,65,65,.2));animation:gemSweep 8s ease-in-out infinite}
.hero h1.diamond-lettering span{position:relative;z-index:1;text-shadow:0 0 1px #fff}
.hero h1.diamond-lettering .gem{position:absolute;z-index:2;font-family:Georgia,serif;font-style:normal;font-size:clamp(17px,2vw,27px);line-height:1;color:#d0cfd3;-webkit-text-fill-color:#d0cfd3;text-shadow:0 0 2px #fff,0 0 5px #fff,1px 1px 1px #777,0 0 10px #e8d5d7;animation:gemTwinkle 2.8s ease-in-out infinite}
.hero h1.diamond-lettering .g1{left:15%;top:18%;animation-delay:-.2s}
.hero h1.diamond-lettering .g2{left:32%;top:66%;animation-delay:-1.1s}
.hero h1.diamond-lettering .g3{left:47%;top:12%;animation-delay:-1.7s}
.hero h1.diamond-lettering .g4{left:63%;top:60%;animation-delay:-.7s}
.hero h1.diamond-lettering .g5{left:79%;top:18%;animation-delay:-2s}
.hero h1.diamond-lettering .g6{left:89%;top:67%;animation-delay:-1.4s}
@keyframes gemTwinkle{0%,100%{opacity:.35;transform:scale(.8) rotate(0deg)}50%{opacity:1;transform:scale(1.25) rotate(18deg)}}
@keyframes gemSweep{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}
@media(max-width:800px){.hero h1.diamond-lettering{font-size:clamp(78px,17vw,124px);margin:15px auto 12px}.hero h1.diamond-lettering .gem{font-size:18px}}

/* Card removed: centered invitation hero, keeping the same palette and animated stars */
.hero{grid-template-columns:1fr;justify-items:center}
.hero-copy{width:min(100%,900px);margin:0 auto}

/* Liora's lettering: live calligraphy text with a faceted diamond/rhinestone pattern inside the letters */
.hero h1.diamond-lettering{
  position:relative; display:block; width:100%; isolation:isolate;
  font-family:'Great Vibes','Brush Script MT',cursive;
  font-size:clamp(104px,13vw,180px); font-weight:400; line-height:1.05;
  letter-spacing:0; margin:22px auto 16px; text-align:center;
  color:transparent;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%23b7b6ba'/%3E%3Cpath d='M12 1 L21 8 L17 20 L12 23 L4 18 L2 8 Z' fill='%23fdfdfd' stroke='%237d7c82' stroke-width='.8'/%3E%3Cpath d='M12 1 L12 23 M2 8 L21 8 M4 18 L17 20 M2 8 L12 1 L21 8 L12 23 L4 18 Z' fill='none' stroke='%23b4b3b8' stroke-width='.8'/%3E%3Cpath d='M12 1 L15 8 L12 23 L8 8 Z' fill='%23e9e9ec'/%3E%3Cpath d='M4 4 L6 2 L5 6 Z M19 13 L22 11 L20 16 Z' fill='%23fff'/%3E%3C/svg%3E"),
    linear-gradient(110deg,#77767c 0%,#fff 13%,#a9a8ae 25%,#fff 39%,#89888e 53%,#fff 66%,#aaa9af 80%,#fff 91%,#77767c 100%);
  background-size:24px 24px, 220% 100%;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 1px rgba(75,65,65,.18));
  animation:diamondGlimmer 8s ease-in-out infinite;
}
.hero h1.diamond-lettering span{position:relative; z-index:1}
.hero h1.diamond-lettering .gem{display:none}
@keyframes diamondGlimmer{0%,100%{background-position:0 0,100% 50%}50%{background-position:12px 12px,0% 50%}}
@media(max-width:800px){.hero h1.diamond-lettering{font-size:clamp(80px,18vw,132px);margin:15px auto 12px}}

/* Hero artwork blends into the site's warm ivory background */
.hero.hero-art{display:block;min-height:0;padding:0 0 54px;background:#f8f0e9;overflow:hidden}
.hero.hero-art:before{display:none}
.hero-art-wrap{width:100%;max-width:1500px;margin:0 auto;background:#f8f0e9;line-height:0}
.hero-art-image{display:block;width:100%;height:auto;mix-blend-mode:normal;object-fit:contain}
.hero.hero-art .hero-bottom{background:#f8f0e9;border-top:1px solid #e8d9d2}
@media(min-width:1000px){.hero-art-wrap{padding:0 2vw}}
@media(prefers-reduced-motion:reduce){.hero-art-wrap{animation:none}}

/* Final artwork treatment: half-size hero with a seamless warm blush-ivory canvas */
:root{--ivory:#f9eee7;--paper:#f9eee7;--blush:#eab9b9;--blush-light:#f3d8d5;--silver:#aaa9ad}
body,main,.hero,.hero.hero-art,.hero-art-wrap,.hero.hero-art .hero-bottom,
section,.site-shell{background-color:#f9eee7!important}
.hero.hero-art{display:block;min-height:0;padding:28px 20px 42px;overflow:hidden}
.hero-art-wrap{width:50%;max-width:720px;min-width:280px;margin:0 auto;background:#f9eee7;line-height:0;border-radius:2px;overflow:hidden}
.hero-art-image{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
.hero.hero-art .hero-bottom{max-width:760px;margin:20px auto 0;padding:18px 10px;border-top:1px solid #dfc9c2;color:#74666a;background:transparent!important}
@media(max-width:700px){.hero.hero-art{padding:16px 12px 28px}.hero-art-wrap{width:82%;min-width:0}.hero.hero-art .hero-bottom{margin-top:14px}}

/* Anti-spam honeypot field (kept out of sight) */
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;}
