/* Art direction: a pearl invitation suspended over a sculptural automotive showroom. */
:root{--ivory:#f7f5f1;--paper:#efede7;--solar:#f47b32;--terracotta:#b64b12;--ink:#252528;--muted:#6b625b}
.cover{display:block;position:relative;min-height:850px;padding:30px 24px 0;background:radial-gradient(ellipse at 90% 9%,#f4be9226,transparent 52%),linear-gradient(135deg,#fffdfa,#f2eee8);border-top:3px solid #e56e29;overflow:hidden}
.cover::before{content:"";position:absolute;inset:17px 15px 28px;border:1px solid #b9774126;border-radius:120px 120px 16px 16px;pointer-events:none;z-index:2}
.cover-center{position:relative;z-index:3;width:min(100%,780px)}
.cover-logo{width:62px;height:62px;margin:0 auto 22px;border-bottom:1px solid #df7d3c;padding-bottom:7px;box-sizing:content-box}
.ancestors{font-size:clamp(16px,4vw,22px);margin-bottom:26px;max-width:620px;color:#6b5a4b}
.family{margin-bottom:22px;font-size:clamp(20px,4.9vw,25px);line-height:1.4}
.family strong{font-size:clamp(23px,5.7vw,31px);margin-bottom:10px}
.family p:last-child{color:#a54818}
.hero-title{font-size:clamp(68px,19.3vw,145px);font-weight:500;letter-spacing:-.055em;color:#242427;line-height:1}
.hebrew{margin-top:12px;font-size:20px;color:#7f4c2b}
.showroom{position:relative;isolation:isolate;width:calc(100% + 48px);margin:8px -24px 0;height:330px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#b8b4ae42,transparent 62%)}
.showroom-halo{position:absolute;z-index:-1;width:115%;height:100%;left:-7.5%;bottom:-12%;border-radius:50%;background:radial-gradient(ellipse,#e777304a,transparent 62%);filter:blur(22px)}
.showroom-orbit{position:absolute;width:125%;height:140px;left:-12.5%;bottom:36px;border:1px solid #de713c4a;border-radius:50%;transform:rotate(-9deg);box-shadow:0 12px 40px #9e6d3520,inset 0 -2px 12px #fff9}
.car-reveal{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translate3d(60px,15px,0) scale(.96)}
.car-art{width:115%;max-width:none;height:100%;object-fit:contain;filter:drop-shadow(0 21px 13px #23272d26);transform:translate3d(calc(var(--hero-x)*.65),calc(var(--hero-scroll)*-.35 + var(--hero-y)*.5),0);will-change:transform}
.hero-start .car-reveal{animation:car-arrive 1.8s .45s cubic-bezier(.16,1,.3,1) forwards}
.showroom-line{position:absolute;bottom:28px;left:calc(50% - 28px);width:56px;height:2px;background:#d76525;transform:scaleX(0);transform-origin:left}
.hero-start .showroom-line{animation:line-arrive 1.4s 1.25s cubic-bezier(.16,1,.3,1) forwards}
.story-opening{min-height:490px;background:radial-gradient(ellipse at 50% 70%,#f2bf9125,transparent 64%);padding-block:86px 70px}
.story-opening::before{width:2px;height:42px;background:linear-gradient(transparent,#e0773b);top:12%}
.story-opening h2{font-size:clamp(37px,9.5vw,80px);line-height:1.08;color:#a54b21}
.story-opening h2 span{color:var(--ink)}
.story-opening .dates{color:#98502c;border:1px solid #bd83513d;border-radius:40px;padding:13px 19px;display:inline-block;background:#fffaf580}
.journey-stage{background:#f7f5f1}.journey-stage picture{background-size:auto 100%;opacity:.075}
.route{opacity:.7}.route-progress{stroke:#e27332;stroke-width:1.6}
.event{position:relative;min-height:740px;padding-top:44px;padding-bottom:44px}
.event::after{content:"";position:absolute;bottom:0;left:44px;right:28px;height:1px;background:linear-gradient(90deg,#ca895152,transparent)}
.event-number{font-style:italic;color:#b66b2110!important;right:10%;top:14%}
.event-kicker{color:#98512b!important;font-size:12px;letter-spacing:.1em}
.event-kicker::before{width:25px;height:3px;border-radius:3px;background:#e87632}
.event h2{margin-top:24px;margin-bottom:26px;font-size:clamp(46px,12vw,87px);font-weight:400}
.time{color:#ae501d;font-size:37px;line-height:1.2}
.map-link{position:relative;border-color:#c5764459!important;color:#98461d!important;transition:color .3s,background .3s;padding:12px 0;letter-spacing:.055em}
.map-link::after{content:"";position:absolute;height:1px;bottom:-1px;left:0;width:100%;background:#dc6b2c;transform:scaleX(0);transform-origin:left;transition:transform .45s}
.map-link:hover::after{transform:scaleX(1)}
.event .event-ending{padding-left:15px;border-left:2px solid #e48c585c;margin-top:27px}
.countdown{background:radial-gradient(ellipse at 100% 100%,#a14c202e,transparent 62%),linear-gradient(135deg,#23262a,#141719);color:#f2e9de;padding:72px 24px 64px;border-block:1px solid #ad744631}
.countdown .eyebrow{color:#e29563}.countdown h2{color:#fff5ea}.countdown #countdownDate{color:#c3bab1}
.countdown-digits{margin:40px 0 20px}.countdown-digits>div+div{border-color:#d8c4b323}.countdown-digits span{color:#f19c64;font-weight:400}.countdown-digits small{color:#cbbeb1;letter-spacing:.08em}
.countdown-horizon{max-width:170px;opacity:.65}
.rsvp{padding:80px 24px 48px;background:radial-gradient(ellipse at 0 35%,#e59b6120,transparent 58%),#f7f5f1}
.rsvp>.rsvp-inner>.eyebrow{color:#a95224}.rsvp h2{font-weight:400;font-size:clamp(54px,13vw,84px)}
.rsvp-simple{background:linear-gradient(150deg,#fffdf9ba,#ece7df78);border:1px solid #b3917233;border-radius:18px;padding:28px 20px 24px;box-shadow:0 16px 55px #44322408,inset 0 1px #fff;max-width:510px}
.rsvp-field input{border-color:#beaa974d}.rsvp-field input:focus-visible{outline:none;border-color:#d37438;box-shadow:0 1px #d37438}
.presence-buttons label{border-color:#bdad9e6b;background:#fff8f233;transition:background .25s,border .25s,transform .25s}
.presence-buttons label:has(:checked){border-color:#bd612b;background:#e9914b1a;box-shadow:inset 0 0 0 1px #e19b6540;color:#8d4019}
.rsvp-simple .submit{background:linear-gradient(115deg,#b75420,#984014);color:#fffaf5;border:1px solid #bf6c39;box-shadow:0 6px 18px #98421c20;transition:transform .3s,box-shadow .3s,background .3s}
.rsvp-simple .submit:hover{background:#a54819;box-shadow:0 8px 22px #98421c30;transform:translateY(-2px)}
.stepper button{transition:background .2s,color .2s;border-radius:50%;color:#9b471d}.stepper button:hover:not(:disabled){background:#e0955220}.rsvp-notice{font-size:16px;color:#70655c}
.contacts{border-color:#b3825b40;padding-top:30px}.contact{color:#986746}.contact a{color:#3b3530;transition:color .2s}.contact a:hover{color:#b25221}
.finale{min-height:200px;background:radial-gradient(ellipse at 50% 160%,#c86a323b,transparent 75%),#1d2023;border-top:1px solid #e8966438}
.signature::before{background:#d17b46}.signature{color:#b5b0aa}.signature strong{color:#eab795}
.gi-intro{background:radial-gradient(ellipse at 50% 70%,#d4a07935,transparent 60%),linear-gradient(145deg,#fbf7f0,#dcd9d4)}
.gi-envelope{filter:drop-shadow(0 30px 28px #38302830)}.gi-envelope-back{border-color:#c8844342}
.gi-front::after{opacity:.32;background-image:repeating-linear-gradient(97deg,#b4b1ab0c 0 1px,transparent 1px 4px)}
.gi-envelope-name{color:#e1b28d;letter-spacing:.42em;font-size:11px}.gi-seal{border:1px solid #ffad6b;box-shadow:0 5px 11px #0005,inset 0 0 0 3px #d461214d,inset 0 1px #ffd0a2}
.gi-prompt{color:#925125;letter-spacing:.14em}.gi-prompt::after{background:#c6723e}
@keyframes car-arrive{to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes line-arrive{to{transform:scaleX(1)}}
@media(min-width:700px){.cover{min-height:1000px;padding-top:38px}.cover::before{inset:22px 35px 28px;border-radius:220px 220px 20px 20px}.cover-logo{width:68px;height:68px;margin-bottom:25px}.family{margin-bottom:18px}.showroom{max-width:1280px;width:100%;height:470px;margin:0 auto}.car-art{width:86%;height:100%;max-width:1040px}.showroom-orbit{width:78%;left:11%;height:180px;bottom:48px}.showroom-halo{width:90%;left:5%}.showroom-line{bottom:30px}.event{min-height:710px;padding-inline:10vw}.event::after{left:10vw;right:10vw}.event-two .event-copy{padding-left:25px}.event-number{font-size:360px}.rsvp-simple{padding:36px 38px}.rsvp{padding-top:95px}.story-opening{min-height:540px}}
@media(max-width:370px){.cover{padding-inline:19px}.showroom{width:calc(100% + 38px);margin-inline:-19px}.ancestors{font-size:15px}.rsvp-simple{padding-inline:15px}.guest-counts{gap:10px}}
@media(prefers-reduced-motion:reduce){.car-reveal{opacity:1;transform:none}.car-art{transform:none;will-change:auto}.showroom-line{transform:none}.hero-start .car-reveal,.hero-start .showroom-line{animation:none}.rsvp-simple .submit:hover{transform:none}}
.car-art{width:100%;transform:translate3d(calc(var(--hero-x)*.65),calc(-28px + var(--hero-scroll)*-.35 + var(--hero-y)*.5),0)}
.showroom{height:310px}.cover{min-height:800px}
.rsvp-simple .submit{background-color:#a6491b;transition:transform .3s,box-shadow .3s}
.rsvp-simple .submit:hover{background:linear-gradient(115deg,#aa4b19,#8f3a10)}
@media(min-width:700px){.cover{min-height:920px}.showroom{height:390px;margin-top:-10px}.car-art{width:86%;transform:translate3d(calc(var(--hero-x)*.65),calc(-28px + var(--hero-scroll)*-.35 + var(--hero-y)*.5),0)}}
@media(prefers-reduced-motion:reduce){.car-art{transform:translateY(-28px)}}
.car-art{min-height:0;min-width:0;max-height:100%}
@media(min-width:700px){.car-art{object-fit:cover;object-position:center 65%;height:390px;transform:translate3d(calc(var(--hero-x)*.65),calc(var(--hero-scroll)*-.35 + var(--hero-y)*.5),0)}}
@media(min-width:700px) and (prefers-reduced-motion:reduce){.car-art{transform:none}}
