.hero{display:block;max-width:1320px;padding:35px 5vw 0}.embrace-cover{height:620px;position:relative;isolation:isolate;overflow:hidden;border-radius:12px;background:#ede0cb;border:1px solid #dfccb0;box-shadow:0 22px 50px #72573e12}
.embrace-image-wrap{position:absolute;right:0;top:0;width:72%;height:100%;overflow:hidden}.embrace-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 39%;transform:translateY(var(--portrait-y,0px)) scale(1.035);filter:saturate(.88) contrast(.97)}
.embrace-cover:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#f0e5d3 2%,#f0e5d3f5 19%,#f0e5d3c9 35%,#f0e5d347 52%,transparent 70%),linear-gradient(0deg,#63472d26,transparent 40%)}
.embrace-title-wrap{position:absolute;z-index:3;top:50%;left:6%;width:53%;transform:translateY(-38%)}.embrace-title-wrap .wedding-title h1{font-size:clamp(42px,5.3vw,72px);color:#72523a;line-height:1.55}.embrace-title-wrap .wedding-title-en{font-size:clamp(27px,3vw,40px);color:#8b6649}.embrace-title-wrap .wedding-title>.eyebrow{font-size:8px;color:#967757;letter-spacing:1.8px;line-height:1.8;margin:0 0 15px}.embrace-title-wrap .title-flourish{margin:22px 0;color:#ae865e}.embrace-caption{font:22px/1.3 var(--serif);color:#9b7b5d;margin:20px 0 0}.embrace-caption em{font-size:25px}
.embrace-monogram{position:absolute;z-index:3;top:32px;left:5%;width:76px;height:76px;border:1px solid #b99d7975;border-radius:50%;padding:9px;transform:rotate(-9deg);background:#fbf5e94d}.embrace-monogram img{width:100%;height:100%;object-fit:contain;filter:brightness(.67)}
.embrace-date-stamp{position:absolute;z-index:3;bottom:30px;right:28px;width:120px;height:120px;border:1px solid #f7ecd0a8;border-radius:50%;outline:1px dashed #f7ecd075;outline-offset:-7px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff4dc;background:#6d503333;backdrop-filter:blur(2px);transform:rotate(10deg)}.embrace-date-stamp>span{font-size:6px;letter-spacing:1.4px}.embrace-date-stamp strong{font:34px/1.2 var(--serif);margin:6px 0}
.embrace-route{position:absolute;width:65%;height:auto;bottom:5px;left:-30px;z-index:2;color:#ab865a65;pointer-events:none}.embrace-route>path:first-child{animation:embrace-trail 15s linear infinite}.embrace-light{position:absolute;inset:-20%;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 76% 12%,#ffe5b12d,transparent 45%),linear-gradient(115deg,transparent 40%,#fff4da0d 48%,transparent 58%);background-size:100% 100%,220% 100%;animation:embrace-light 14s ease-in-out infinite}.embrace-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero>.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:55px 6% 20px;text-align:left}.hero .couple-full-names{align-items:flex-start;margin:0}.hero .couple-full-names .person{align-items:flex-start}.hero-couple-column>.intro{margin-top:26px;color:#97785d}.hero-event-column>.hero-date{margin:0 0 15px}.hero-event-column>.dining-invite{margin-top:18px}.hero-event-column>.text-link{font-size:10px}.hero .hero-bottom{margin-top:12px}.hero-arrived .embrace-image{animation:embrace-image-enter 1.6s cubic-bezier(.2,.6,.2,1) both}.hero-arrived .embrace-title-wrap{animation:embrace-title-enter 1.1s .15s both}.hero-arrived .embrace-monogram{animation:embrace-seal-enter 1.1s .5s both}.hero-arrived .embrace-date-stamp{animation:embrace-stamp-enter 1.1s .6s both}.hero-arrived .embrace-title-wrap .wedding-title{animation:none}
@keyframes embrace-image-enter{from{opacity:.2;transform:scale(1.12)}to{opacity:1;transform:translateY(var(--portrait-y,0px)) scale(1.035)}}@keyframes embrace-title-enter{from{opacity:0;transform:translateY(calc(-38% + 25px))}to{opacity:1;transform:translateY(-38%)}}@keyframes embrace-seal-enter{from{opacity:0;transform:rotate(-18deg) scale(.85)}to{opacity:1;transform:rotate(-9deg) scale(1)}}@keyframes embrace-stamp-enter{from{opacity:0;transform:rotate(20deg) scale(.8)}to{opacity:1;transform:rotate(10deg) scale(1)}}@keyframes embrace-trail{to{stroke-dashoffset:-220}}@keyframes embrace-light{0%,65%,100%{background-position:0 0,180% 0}85%{background-position:0 0,-60% 0}}
@media(max-width:1000px) and (min-width:761px){.embrace-cover{height:540px}.embrace-title-wrap{left:5%;width:58%}.embrace-title-wrap .wedding-title h1{font-size:48px}.embrace-title-wrap .wedding-title-en{font-size:31px}.embrace-title-wrap .wedding-title>.eyebrow{font-size:7px;letter-spacing:1.1px}.hero>.hero-copy{gap:5vw;padding-left:3%;padding-right:3%}}
@media(max-width:760px){.hero{padding:18px 4vw 0}.embrace-cover{height:auto;aspect-ratio:.82;border-radius:10px}.embrace-image-wrap{width:100%}.embrace-image{object-position:50% 36%;transform:scale(1.035);filter:saturate(.9) contrast(.98)}.embrace-cover:after{background:linear-gradient(0deg,#3e2c21d6 0%,#5d42298a 20%,#75563a15 49%,transparent 65%),linear-gradient(180deg,#4f352218,transparent 28%)}.embrace-title-wrap{top:auto;left:7%;bottom:8%;width:86%;transform:none;text-align:left}.embrace-title-wrap .wedding-title{text-align:left}.embrace-title-wrap .wedding-title h1{font-size:clamp(39px,8.2vw,56px);color:#fff3df;line-height:1.6;text-shadow:0 2px 18px #3f281e22}.embrace-title-wrap .wedding-title-en{font-size:clamp(25px,5.4vw,36px);color:#f3d9b8}.embrace-title-wrap .wedding-title>.eyebrow{font-size:6px;letter-spacing:1.2px;color:#f3d9b8;margin-bottom:8px}.embrace-title-wrap .title-flourish{display:none}.embrace-caption{display:none}.embrace-monogram{left:18px;top:18px;width:58px;height:58px;border-color:#fff2d085;background:#5a423122;backdrop-filter:blur(3px);padding:6px}.embrace-monogram img{filter:none}.embrace-date-stamp{bottom:auto;top:18px;right:16px;width:77px;height:77px;background:#6d503322;outline-offset:-5px}.embrace-date-stamp>span{font-size:4px;letter-spacing:.8px}.embrace-date-stamp strong{font-size:22px;margin:4px 0}.embrace-route{left:-50px;bottom:-8px;width:125%;color:#f3d9b83d}.embrace-grain{opacity:.08}.hero>.hero-copy{grid-template-columns:1fr;gap:30px;padding:35px 5vw 10px;text-align:center}.hero .couple-full-names,.hero .couple-full-names .person{align-items:center}.hero-couple-column>.intro{margin:23px 0 0}.hero-event-column{border-top:1px solid #dbc6ac;padding-top:30px}.hero-event-column>.hero-date{margin-top:0}.hero .hero-bottom{font-size:6px;letter-spacing:1px;gap:13px}.hero-arrived .embrace-title-wrap{animation:embrace-title-mobile 1s .18s both}}
@media(max-width:760px){.embrace-cover{width:100%;max-height:calc(100svh - 100px)}}
@keyframes embrace-title-mobile{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.embrace-cover *,.hero-arrived .embrace-cover *{animation:none!important;transition:none!important}.embrace-image{transform:none!important;opacity:1}.embrace-title-wrap{opacity:1}}
