:root{
    --sm-ivory:#fffaf2;
    --sm-pearl:#fffdf8;
    --sm-moon-silver:#ead8b8;
    --sm-blush:#dfb9b3;
    --sm-blush-deep:#a86f70;
    --sm-gold:#b78b43;
    --sm-gold-light:#ecd59e;
    --sm-taupe:#7f6d62;
    --sm-ink:#3b302b;
    --sm-muted:#86766d;
    --sm-line:rgba(157,116,55,.2);
    --sm-shadow:0 34px 100px rgba(92,62,47,.14);
    --sm-serif:"Italiana",Georgia,serif;
    --sm-script:"Parisienne",cursive;
    --sm-sans:"Manrope",Arial,sans-serif
}
.sm-body,.sm-body *,.sm-body *:before,.sm-body *:after{box-sizing:border-box}
.sm-html{scroll-behavior:smooth}
.sm-body{margin:0;overflow-x:hidden;color:var(--sm-ink);background:var(--sm-ivory);font-family:var(--sm-sans);font-weight:400;-webkit-font-smoothing:antialiased}
.sm-body.sm-opening-active{overflow:hidden}
.sm-body img{display:block;max-width:100%}
.sm-body a{color:inherit;text-decoration:none}
.sm-body button,.sm-body input,.sm-body select,.sm-body textarea{font:inherit}
.sm-body button,.sm-body a{-webkit-tap-highlight-color:transparent}
.sm-page{position:relative;overflow:clip;background:var(--sm-ivory)}
.sm-shell{position:relative;z-index:3;width:min(1200px,calc(100% - 72px));margin-inline:auto}
.sm-section{position:relative;padding:130px 0}
.sm-eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--sm-gold);font-size:9px;font-weight:600;letter-spacing:.25em;text-transform:uppercase}
.sm-eyebrow:before{width:26px;height:1px;content:"";background:currentColor}
.sm-heading{max-width:740px;margin:0 auto 68px;text-align:center}
.sm-heading h2,.sm-gift__intro h2,.sm-form-panel h2,.sm-wishes h2,.sm-story__intro h2{margin:18px 0 20px;font:400 clamp(52px,6vw,82px)/.96 var(--sm-serif);letter-spacing:-.035em}
.sm-heading p,.sm-gift__intro>p,.sm-form-panel>p,.sm-wishes>p,.sm-story__intro>p{max-width:580px;margin:0 auto;color:var(--sm-muted);font-size:13px;line-height:1.9}
.sm-depth,.sm-tilt,.sm-reveal{--mx:0px;--my:0px;--rx:0deg;--ry:0deg;--rz:0deg;--float-y:0px;--depth:0px;--sm-reveal-y:0px;transform:translate3d(var(--mx),calc(var(--my) + var(--float-y) + var(--sm-reveal-y)),var(--depth)) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz))}
.sm-tilt{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .45s ease;will-change:transform}

.sm-progress{position:fixed;z-index:190;inset:0 0 auto;height:2px;background:rgba(255,255,255,.35)}
.sm-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--sm-blush),#fff2c4,var(--sm-gold));box-shadow:0 0 12px rgba(190,144,71,.5)}
.sm-dust{position:fixed;z-index:26;inset:0;width:100%;height:100%;pointer-events:none}
.sm-petals{position:fixed;z-index:28;inset:0;overflow:hidden;pointer-events:none}
.sm-petal{position:absolute;top:-60px;width:26px;height:35px;opacity:0;background:url("assets/sakura-petal.svg") center/contain no-repeat;filter:drop-shadow(0 4px 4px rgba(124,75,75,.08));animation:sm-petal-drift linear forwards;will-change:transform,opacity}
@keyframes sm-petal-drift{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(0) rotateY(0)}14%{opacity:.65}82%{opacity:.42}100%{opacity:0;transform:translate3d(var(--sm-drift),108vh,0) rotate(var(--sm-spin)) rotateY(260deg)}}

.sm-opening{position:fixed;z-index:500;inset:0;display:grid;min-height:100svh;place-items:center;overflow:hidden;color:var(--sm-ink);background:radial-gradient(circle at 50% 38%,#fffef9 0,#f5e8da 44%,#d4aaa5 125%);transition:opacity 1s ease,visibility 1s ease}
.sm-opening.sm-leaving{opacity:0;visibility:hidden;pointer-events:none}
.sm-opening__wash{position:absolute;inset:-20%;background:conic-gradient(from 120deg at 50% 50%,transparent,rgba(255,255,255,.72),transparent 35%,rgba(237,211,164,.26),transparent 70%);filter:blur(22px);animation:sm-opening-light 12s linear infinite}
.sm-opening__ribbon{position:absolute;inset:0;background:url("assets/water-reflection.svg") center/cover no-repeat;opacity:.54;animation:sm-ribbon-breathe 8s ease-in-out infinite alternate}
.sm-opening__blossom{position:absolute;z-index:2;width:min(49vw,610px);filter:drop-shadow(0 35px 42px rgba(109,65,65,.22));pointer-events:none;will-change:transform,opacity}
.sm-opening__blossom--top{top:-19%;right:-10%;animation:sm-bloom-top 1.8s cubic-bezier(.16,1,.3,1) .1s both,sm-sakura-sway 8s ease-in-out 2s infinite alternate}
.sm-opening__blossom--bottom{bottom:-24%;left:-11%;animation:sm-bloom-bottom 1.8s cubic-bezier(.16,1,.3,1) .2s both,sm-sakura-sway 9s ease-in-out 2.1s infinite alternate-reverse}
.sm-opening__halo{position:absolute;z-index:1;width:min(82vw,820px);aspect-ratio:1;background:url("assets/moon-halo.svg") center/contain no-repeat;opacity:.18;animation:sm-halo-turn 36s linear infinite}
.sm-opening__panel{position:relative;z-index:6;width:min(630px,calc(100% - 42px));padding:66px 54px 57px;text-align:center;border:1px solid rgba(171,130,65,.28);border-radius:320px 320px 24px 24px;background:rgba(255,252,246,.69);box-shadow:0 48px 140px rgba(106,69,53,.2),inset 0 0 0 10px rgba(255,255,255,.2),inset 0 0 80px rgba(234,201,151,.12);backdrop-filter:blur(19px);animation:sm-opening-panel 1.2s cubic-bezier(.16,1,.3,1) .2s both}
.sm-opening__panel:before{position:absolute;inset:14px;content:"";pointer-events:none;border:1px solid rgba(178,135,65,.16);border-radius:305px 305px 16px 16px}
.sm-opening__panel:after{position:absolute;z-index:-1;inset:-68px;content:"";pointer-events:none;background:url("assets/night-window.svg") center/contain no-repeat;opacity:.13}
.sm-opening__monogram{position:relative;display:flex;width:86px;height:86px;align-items:center;justify-content:center;gap:5px;margin:27px auto 23px;border:1px solid var(--sm-line);border-radius:50%;color:var(--sm-blush-deep);background:rgba(255,255,255,.48);box-shadow:0 12px 38px rgba(112,74,55,.08);font:400 25px var(--sm-serif)}
.sm-opening__monogram:after{position:absolute;inset:7px;content:"";border:1px dotted rgba(183,139,67,.36);border-radius:50%}
.sm-opening__monogram i{color:var(--sm-gold);font:400 17px var(--sm-script)}
.sm-opening__panel h1{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:17px;margin:0;font:400 clamp(48px,7vw,76px)/.87 var(--sm-serif);letter-spacing:-.045em}
.sm-opening__panel h1 span:first-child{text-align:right}.sm-opening__panel h1 span:last-child{text-align:left}
.sm-opening__panel h1 span,.sm-names span,.sm-closing__names span{background:linear-gradient(104deg,#5d443a 10%,#bd847c 33%,#6d4b42 51%,#d8b06e 70%,#5b4139 92%);background-size:240% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sm-name-shimmer 10s linear infinite}
.sm-opening__panel h1 b{color:var(--sm-gold);font:400 .68em var(--sm-script)}
.sm-opening__panel>time{display:block;margin-top:20px;color:var(--sm-muted);font-size:8px;letter-spacing:.19em;text-transform:uppercase}
.sm-opening__guest{position:relative;margin:25px auto 19px;padding:13px;border-block:1px solid var(--sm-line)}
.sm-opening__guest small{display:block;color:var(--sm-muted);font-size:7px;letter-spacing:.16em;text-transform:uppercase}.sm-opening__guest strong{font:400 19px var(--sm-serif)}
.sm-opening__note{position:absolute;z-index:8;right:20px;bottom:18px;left:20px;margin:0;color:rgba(74,54,47,.43);font-size:7px;letter-spacing:.2em;text-align:center;text-transform:uppercase}
@keyframes sm-opening-light{to{transform:rotate(360deg)}}
@keyframes sm-ribbon-breathe{to{opacity:.75;transform:scale(1.05) translateY(10px)}}
@keyframes sm-bloom-top{from{opacity:0;transform:translate3d(100px,-80px,0) rotate(25deg) scale(.42)}to{opacity:1;transform:none}}
@keyframes sm-bloom-bottom{from{opacity:0;transform:translate3d(-100px,80px,0) rotate(-25deg) scale(.42)}to{opacity:1;transform:none}}
@keyframes sm-sakura-sway{to{transform:translate3d(0,14px,0) rotate(2deg)}}
@keyframes sm-halo-turn{to{transform:rotate(360deg)}}
@keyframes sm-opening-panel{from{opacity:0;transform:translateY(42px) scale(.95)}to{opacity:1;transform:none}}
@keyframes sm-name-shimmer{to{background-position:240% center}}

.sm-btn{position:relative;display:inline-flex;min-height:51px;align-items:center;justify-content:center;gap:17px;padding:0 27px;overflow:hidden;border:0;border-radius:999px;cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:box-shadow .3s ease,background .3s ease,transform .3s ease;touch-action:manipulation}
.sm-btn:before{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.33) 49%,transparent 80%);transform:translateX(-145%);transition:transform .75s ease}.sm-btn:hover:before{transform:translateX(145%)}
.sm-btn:hover{box-shadow:0 17px 40px rgba(112,76,43,.18)}.sm-btn:active{transform:scale(.97)}
.sm-btn--gold{color:#fffaf0;background:linear-gradient(135deg,#d1a766,#9e7135);box-shadow:0 14px 38px rgba(146,101,45,.23)}
.sm-btn--line{border:1px solid var(--sm-line);color:#755b4f;background:rgba(255,255,255,.31)}.sm-btn--line:hover{background:rgba(255,255,255,.68)}
.sm-btn:focus-visible,.sm-copy:focus-visible,.sm-music:focus-visible,.sm-dock a:focus-visible,.sm-gallery__item:focus-visible{outline:2px solid var(--sm-gold);outline-offset:4px}

.sm-hero{position:relative;display:grid;min-height:100svh;align-items:center;overflow:hidden;background:radial-gradient(circle at 78% 33%,rgba(255,255,255,.96),transparent 31%),linear-gradient(132deg,#fffdf7 0,#f3e5d6 51%,#d7b0aa 125%)}
.sm-hero:after{position:absolute;inset:0;content:"";pointer-events:none;opacity:.24;background:url("assets/moon-texture.svg") center/560px;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 34%,#000 68%,transparent)}
.sm-hero__beam{position:absolute;top:-28%;left:8%;width:38%;height:160%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.86),rgba(255,231,174,.16),transparent);filter:blur(18px);transform:rotate(18deg);animation:sm-hero-beam 10s ease-in-out infinite alternate}
.sm-hero__ribbon{position:absolute;z-index:1;right:-10%;bottom:-4%;left:-10%;height:42%;opacity:.48;background:url("assets/water-reflection.svg") center/cover no-repeat;animation:sm-ribbon-wave 10s ease-in-out infinite alternate}
.sm-corner{position:absolute;z-index:2;width:min(38vw,510px);filter:drop-shadow(0 28px 35px rgba(101,66,61,.14));pointer-events:none;opacity:.78}
.sm-corner--top{top:-12%;right:-8%}.sm-corner--bottom{--rz:180deg;bottom:-17%;left:-10%}
.sm-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:80px;align-items:center;padding:115px 0 78px}
.sm-hero__copy{position:relative;z-index:6}.sm-names{display:flex;width:min(100%,620px);flex-direction:column;align-items:flex-start;margin:31px 0 28px;font:400 clamp(90px,10vw,140px)/.66 var(--sm-serif);letter-spacing:-.062em}
.sm-names span{display:block;max-width:100%;overflow-wrap:anywhere}.sm-names span:last-child{align-self:flex-end;text-align:right}.sm-names b{align-self:center;margin:.1em 0 .13em;color:var(--sm-gold);font:400 .42em/.55 var(--sm-script)}
.sm-hero__copy>p{max-width:510px;margin:0 0 29px;color:var(--sm-muted);font:italic 400 17px/1.78 var(--sm-serif)}
.sm-date{display:flex;align-items:center;gap:15px;margin-bottom:31px;color:#795e50;font-size:8px;letter-spacing:.2em;text-transform:uppercase}.sm-date i{width:37px;height:1px;background:var(--sm-line)}
.sm-hero__stage{--sm-stage-scale:1;position:relative;display:grid;min-height:680px;place-items:center;perspective:1350px;animation:sm-stage-float 7s ease-in-out infinite alternate}
.sm-floral-halo{position:absolute;width:610px;height:610px}.sm-floral-halo:before{position:absolute;inset:0;content:"";background:url("assets/moon-halo.svg") center/contain no-repeat;filter:drop-shadow(0 25px 40px rgba(127,84,64,.13));animation:sm-halo-turn 42s linear infinite}
.sm-cover-card{position:relative;z-index:4;width:315px;padding:9px;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:158px 158px 22px 22px;background:linear-gradient(145deg,#f1d8cb,#aa7774);box-shadow:-42px 60px 120px rgba(95,59,54,.24),22px -14px 70px rgba(255,255,255,.74),inset 0 0 0 1px rgba(176,127,80,.22)}
.sm-cover-card>img,.sm-cover-card__fallback{width:100%;height:565px;object-fit:cover;border-radius:149px 149px 15px 15px}
.sm-cover-card>img{filter:saturate(.8) contrast(1.02)}
.sm-cover-card__fallback{display:flex;align-items:center;justify-content:center;gap:10px;color:#704d48;background:linear-gradient(145deg,#fff8ed,#d9aaa7);font:400 72px var(--sm-serif)}.sm-cover-card__fallback i{color:var(--sm-gold);font:400 37px var(--sm-script)}
.sm-cover-card__veil{position:absolute;inset:9px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 44%,rgba(58,38,33,.72));border-radius:149px 149px 15px 15px;pointer-events:none}
.sm-cover-card__caption{position:absolute;z-index:3;right:29px;bottom:33px;left:29px;color:#fffaf0;text-align:center;transform:translateZ(36px)}
.sm-cover-card__caption small{font-size:7px;letter-spacing:.18em;text-transform:uppercase}.sm-cover-card__caption strong{display:block;margin:12px 0 8px;font:400 30px/1 var(--sm-serif)}.sm-cover-card__caption strong i{color:#edd397;font:400 22px var(--sm-script)}.sm-cover-card__caption time{font-size:7px;letter-spacing:.17em;text-transform:uppercase}
.sm-pearl{position:absolute;z-index:5;border:1px solid rgba(255,255,255,.84);border-radius:50%;background:radial-gradient(circle at 28% 24%,#fff 0,rgba(255,250,232,.88) 20%,rgba(219,181,128,.3) 56%,rgba(138,93,68,.14) 100%);box-shadow:inset -15px -17px 30px rgba(111,75,52,.1),0 22px 50px rgba(99,62,52,.13);backdrop-filter:blur(7px)}.sm-pearl:after{position:absolute;top:14%;left:18%;width:24%;height:17%;content:"";border-radius:50%;background:rgba(255,255,255,.8);filter:blur(4px)}
.sm-pearl--one{top:12%;left:5%;width:95px;height:95px}.sm-pearl--two{right:7%;bottom:13%;width:67px;height:67px}
.sm-save-date{position:absolute;z-index:6;right:-1%;bottom:22%;padding:17px 20px;border:1px solid rgba(255,255,255,.66);border-radius:4px 26px 4px 26px;background:rgba(255,250,243,.63);box-shadow:0 20px 56px rgba(106,69,54,.15);backdrop-filter:blur(15px)}.sm-save-date small{display:block;color:var(--sm-muted);font-size:6px;letter-spacing:.16em;text-transform:uppercase}.sm-save-date strong{font:400 17px var(--sm-serif)}
.sm-scroll{position:absolute;z-index:7;bottom:24px;left:50%;display:flex;align-items:center;gap:12px;color:rgba(75,55,47,.47);font-size:7px;letter-spacing:.18em;text-transform:uppercase;transform:translateX(-50%)}.sm-scroll i{display:block;width:1px;height:33px;overflow:hidden;background:var(--sm-line)}.sm-scroll i:after{display:block;width:100%;height:50%;content:"";background:var(--sm-gold);animation:sm-scroll-line 2s ease infinite}
@keyframes sm-hero-beam{to{left:47%;transform:rotate(10deg);opacity:.65}}
@keyframes sm-ribbon-wave{to{transform:translate3d(4%,12px,0) scale(1.04);opacity:.66}}
@keyframes sm-stage-float{from{transform:scale(var(--sm-stage-scale)) translateY(0)}to{transform:scale(var(--sm-stage-scale)) translateY(-9px)}}
@keyframes sm-scroll-line{from{transform:translateY(-100%)}to{transform:translateY(200%)}}

.sm-countdown{overflow:hidden;background:#fffdfa url("assets/moon-texture.svg") center/560px}
.sm-countdown:before{position:absolute;top:-210px;right:-160px;width:510px;aspect-ratio:1;content:"";background:url("assets/sakura-blossom.svg") center/contain no-repeat;opacity:.1;transform:rotate(20deg)}
.sm-countdown__panel{display:grid;grid-template-columns:repeat(4,1fr);max-width:940px;margin:auto;overflow:hidden;border:1px solid var(--sm-line);border-radius:110px 8px 110px 8px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(238,216,184,.58));box-shadow:0 35px 100px rgba(107,72,51,.12),inset 0 0 0 9px rgba(255,255,255,.17);backdrop-filter:blur(15px)}
.sm-time{position:relative;padding:40px 14px;text-align:center;border-right:1px solid var(--sm-line)}.sm-time:last-child{border-right:0}.sm-time:before{position:absolute;top:15px;left:50%;width:5px;height:5px;content:"";border-radius:50%;background:var(--sm-gold);box-shadow:0 0 17px 5px rgba(183,139,67,.18);transform:translateX(-50%)}
.sm-time strong{display:block;color:#6e5043;font:400 clamp(52px,6vw,76px)/1 var(--sm-serif);font-variant-numeric:tabular-nums;text-shadow:0 10px 28px rgba(142,94,73,.09)}.sm-time span{color:var(--sm-muted);font-size:8px;letter-spacing:.2em;text-transform:uppercase}.sm-countdown__status{min-height:18px;margin:21px 0 0;color:var(--sm-muted);font-size:10px;text-align:center}

.sm-couple{overflow:hidden;background:radial-gradient(circle at 50% 47%,rgba(255,255,255,.92),transparent 37%),linear-gradient(180deg,#f5e6db,#ead0cc)}.sm-couple:before,.sm-couple:after{position:absolute;width:470px;aspect-ratio:1;content:"";background:url("assets/sakura-branch.svg") center/contain no-repeat;opacity:.24}.sm-couple:before{top:-130px;right:-120px}.sm-couple:after{bottom:-150px;left:-120px;transform:rotate(180deg)}
.sm-couple__glow{position:absolute;top:50%;left:50%;width:850px;height:850px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.87),rgba(255,244,218,.22) 48%,transparent 70%);transform:translate(-50%,-50%)}
.sm-couple__grid{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center}.sm-person{text-align:center}
.sm-person__portrait{position:relative;width:min(355px,100%);aspect-ratio:.8;margin:0 auto 38px;isolation:isolate}
.sm-person__portrait>img,.sm-person__initial{position:absolute;z-index:1;inset:30px 34px 27px;width:calc(100% - 68px);height:calc(100% - 57px);object-fit:cover;border-radius:160px 160px 18px 18px;box-shadow:0 28px 72px rgba(99,62,57,.14)}
.sm-person__portrait>img{filter:saturate(.82) contrast(1.02)}
.sm-person__initial{display:grid;place-items:center;color:#9e6967;background:linear-gradient(145deg,#fff8ec,#dbaaa7);font:400 135px var(--sm-serif)}
.sm-person__frame{position:absolute;z-index:3;inset:0;pointer-events:none;background:url("assets/night-window.svg") center/100% 100% no-repeat;filter:drop-shadow(0 24px 34px rgba(100,66,48,.13));transform:translateZ(34px)}
.sm-person__portrait:after{position:absolute;z-index:2;inset:30px 34px 27px;content:"";pointer-events:none;border-radius:160px 160px 18px 18px;background:linear-gradient(180deg,transparent 64%,rgba(76,47,42,.24))}
.sm-person__flower{position:absolute;z-index:4;right:-6%;bottom:-4%;width:42%;filter:drop-shadow(0 17px 20px rgba(112,70,67,.15));transform:translateZ(47px)}
.sm-person>small{color:var(--sm-gold);font-size:8px;letter-spacing:.22em;text-transform:uppercase}.sm-person h3{max-width:430px;margin:12px auto 13px;font:400 clamp(36px,4vw,50px)/1.04 var(--sm-serif)}.sm-person p{max-width:400px;margin:auto;color:var(--sm-muted);font-size:11px;line-height:1.82}
.sm-couple__and{display:flex;align-items:center;gap:13px}.sm-couple__and i{flex:1;height:1px;background:var(--sm-line)}.sm-couple__and span{color:var(--sm-gold);font:400 45px var(--sm-script)}

.sm-events{overflow:hidden;background:linear-gradient(135deg,#fffaf3,#ead9c3)}.sm-events:after{position:absolute;right:-190px;bottom:-230px;width:570px;aspect-ratio:1;content:"";background:url("assets/sakura-blossom.svg") center/contain no-repeat;opacity:.1}
.sm-events__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.sm-event{position:relative;padding:56px;overflow:hidden;border:1px solid var(--sm-line);border-radius:6px 82px 6px 82px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(237,213,180,.58));box-shadow:var(--sm-shadow);backdrop-filter:blur(12px)}
.sm-event:before{position:absolute;inset:10px;content:"";pointer-events:none;border:1px solid rgba(183,139,67,.1);border-radius:4px 71px 4px 71px}.sm-event:after{position:absolute;right:-85px;bottom:-94px;width:230px;aspect-ratio:1;content:"";pointer-events:none;background:url("assets/sakura-blossom.svg") center/contain no-repeat;opacity:.14}
.sm-event__number{position:absolute;top:26px;right:31px;color:rgba(137,92,65,.14);font:400 60px var(--sm-serif)}.sm-event__petal{display:grid;width:52px;height:52px;place-items:center;margin-bottom:20px;border:1px solid var(--sm-line);border-radius:50%;color:var(--sm-gold);background:rgba(255,255,255,.5);box-shadow:0 12px 35px rgba(113,75,50,.08)}
.sm-event>small{color:var(--sm-gold);font-size:7px;letter-spacing:.18em;text-transform:uppercase}.sm-event h3{margin:15px 0 8px;font:400 clamp(46px,5vw,64px)/.98 var(--sm-serif)}.sm-event time{color:#8f6c57;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.sm-event__time{margin:25px 0;color:var(--sm-muted);font-size:11px}.sm-event h4{margin:0 0 9px;font:400 22px var(--sm-serif)}.sm-event__address{min-height:48px;margin:0 0 29px;color:var(--sm-muted);font-size:11px;line-height:1.82}

.sm-story{overflow:hidden;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.82),transparent 34%),#e4c5c0 url("assets/moon-texture.svg") center/600px}.sm-story__flower{position:absolute;top:-150px;left:-120px;width:500px;aspect-ratio:1;background:url("assets/sakura-blossom.svg") center/contain no-repeat;opacity:.14;transform:rotate(-20deg)}
.sm-story__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:105px}.sm-story__intro{position:sticky;top:100px;height:max-content;padding-top:25px}.sm-story__intro h2{font-size:clamp(55px,7vw,89px)}.sm-story__intro>p{margin-left:0}.sm-story__signature{margin-top:40px;color:#7d5d50;font:400 33px var(--sm-script)}.sm-story__signature b{color:var(--sm-gold);font-weight:400}
.sm-timeline{position:relative}.sm-timeline:before{position:absolute;top:0;bottom:0;left:34px;width:1px;content:"";background:linear-gradient(var(--sm-gold),rgba(183,139,67,.06))}.sm-timeline__item{position:relative;display:grid;grid-template-columns:69px 1fr;gap:26px;padding-bottom:31px;transition-delay:calc(var(--sm-order,0) * 55ms)}
.sm-timeline__marker{position:relative;z-index:2;display:grid;width:69px;height:69px;place-items:center;border:1px solid var(--sm-line);border-radius:50%;background:rgba(255,250,241,.82);box-shadow:0 10px 30px rgba(103,66,52,.08)}.sm-timeline__marker:after{position:absolute;inset:7px;content:"";border:1px dotted rgba(183,139,67,.3);border-radius:50%}.sm-timeline__marker span{font:400 16px var(--sm-serif)}
.sm-timeline__content{padding:32px 36px;border:1px solid rgba(151,106,71,.15);border-radius:5px 38px 5px 38px;background:rgba(255,251,244,.7);box-shadow:0 20px 55px rgba(99,64,51,.08);backdrop-filter:blur(10px);transition:transform .35s ease,background .35s ease}.sm-timeline__content:hover{transform:translateX(6px);background:rgba(255,253,248,.9)}.sm-timeline__content small{color:var(--sm-gold);font-size:8px;letter-spacing:.18em;text-transform:uppercase}.sm-timeline__content h3{margin:8px 0 11px;font:400 30px var(--sm-serif)}.sm-timeline__content p{margin:0;color:var(--sm-muted);font-size:11px;line-height:1.86}

.sm-gallery{background:#fffdfa url("assets/moon-texture.svg") center/560px}.sm-gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:225px;gap:15px;perspective:1400px}.sm-gallery__item{position:relative;grid-column:span 4;margin:0;padding:0;overflow:hidden;border:7px solid rgba(255,255,255,.86);border-radius:5px 38px 5px 38px;cursor:zoom-in;background:#ead4c8;box-shadow:0 28px 78px rgba(102,64,53,.15);transition-delay:calc(var(--sm-order,0) * 65ms)}
.sm-gallery__item:nth-child(1){grid-column:span 7;grid-row:span 2}.sm-gallery__item:nth-child(2),.sm-gallery__item:nth-child(3){grid-column:span 5}.sm-gallery__item:nth-child(4){grid-column:span 5}.sm-gallery__item:nth-child(5){grid-column:span 7}.sm-gallery__item:nth-child(6),.sm-gallery__item:nth-child(7){grid-column:span 6}.sm-gallery__item:nth-child(even){border-radius:42px 5px 42px 5px}
.sm-gallery__item img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(1.04);transition:transform .85s cubic-bezier(.16,1,.3,1),filter .5s ease}.sm-gallery__item:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(68,42,37,.54));opacity:.6}.sm-gallery__item:hover img{transform:scale(1.065);filter:saturate(1) brightness(1.04)}.sm-gallery__item>span{position:absolute;z-index:3;right:17px;bottom:16px;color:#fff;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.sm-gallery__item>span i{display:inline-grid;width:37px;height:37px;place-items:center;margin-left:8px;border:1px solid rgba(255,255,255,.62);border-radius:50%;font-style:normal;backdrop-filter:blur(8px)}
.sm-gallery__blossom{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:45px;color:var(--sm-muted);font:400 20px var(--sm-script)}.sm-gallery__blossom i{width:75px;height:1px;background:linear-gradient(90deg,transparent,var(--sm-gold))}.sm-gallery__blossom i:last-child{background:linear-gradient(90deg,var(--sm-gold),transparent)}
.sm-lightbox{position:fixed;z-index:700;inset:0;display:grid;place-items:center;padding:30px;background:rgba(49,32,29,.9);backdrop-filter:blur(16px)}.sm-lightbox[hidden]{display:none}.sm-lightbox img{max-width:min(1120px,90vw);max-height:86vh;border:8px solid rgba(255,255,255,.9);border-radius:5px 45px 5px 45px;box-shadow:0 35px 110px rgba(0,0,0,.4)}.sm-lightbox button{position:absolute;top:20px;right:25px;width:48px;height:48px;border:1px solid rgba(255,255,255,.38);border-radius:50%;color:#fff;background:transparent;cursor:pointer;font-size:29px;font-weight:300}

.sm-gift{overflow:hidden;background:linear-gradient(135deg,#e8c9c4,#f7ecdc)}.sm-gift:after{position:absolute;right:-180px;bottom:-210px;width:540px;aspect-ratio:1;content:"";background:url("assets/sakura-blossom.svg") center/contain no-repeat;opacity:.16}.sm-gift__layout{display:grid;grid-template-columns:.77fr 1.23fr;gap:85px;align-items:center}.sm-gift__intro h2{font-size:clamp(56px,7vw,84px)}.sm-gift__intro>p{margin-left:0}
.sm-gift__address{display:flex;gap:15px;margin-top:31px;padding-top:23px;border-top:1px solid var(--sm-line)}.sm-gift__address>span{display:grid;flex:0 0 40px;height:40px;place-items:center;border:1px solid var(--sm-line);border-radius:50%;color:var(--sm-gold);background:rgba(255,255,255,.3)}.sm-gift__address small{color:var(--sm-muted);font-size:7px;letter-spacing:.14em;text-transform:uppercase}.sm-gift__address p{margin:5px 0 0;font-size:10px;line-height:1.72}
.sm-gift__cards{display:grid;gap:19px}.sm-bank{position:relative;min-height:225px;padding:36px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:5px 35px 5px 35px;color:#59433a;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(230,199,170,.64));box-shadow:0 30px 82px rgba(101,64,52,.15);backdrop-filter:blur(18px);transition-delay:calc(var(--sm-order,0) * 85ms)}.sm-bank:nth-child(2){margin-left:58px}.sm-bank__emboss{position:absolute;top:-76px;right:-40px;width:245px;aspect-ratio:1;background:url("assets/sakura-blossom.svg") center/contain no-repeat;filter:grayscale(1) sepia(.3);opacity:.11;transform:translateZ(18px)}
.sm-bank:after{position:absolute;inset:-75% auto -75% -35%;width:21%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);transform:rotate(21deg);animation:sm-card-shine 7.5s ease-in-out infinite}.sm-bank__head{position:relative;z-index:2;display:flex;justify-content:space-between;margin-bottom:40px;color:var(--sm-gold);font:400 21px var(--sm-serif)}.sm-bank>small{display:block;color:var(--sm-muted);font-size:7px;letter-spacing:.15em;text-transform:uppercase}.sm-bank>strong{display:block;margin-top:7px;font:400 clamp(25px,3vw,35px) var(--sm-serif);letter-spacing:.08em}.sm-bank>p{margin:8px 0 0;color:var(--sm-muted);font-size:9px;text-transform:uppercase}.sm-copy{position:absolute;z-index:3;right:29px;bottom:29px;padding:10px 15px;border:1px solid var(--sm-line);border-radius:30px;color:#655046;background:rgba(255,255,255,.48);cursor:pointer;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.sm-copy b{display:none;color:#7d925f}.sm-copy.sm-copied span{display:none}.sm-copy.sm-copied b{display:inline}
@keyframes sm-card-shine{0%,62%{transform:translateX(-140%) rotate(21deg)}90%,100%{transform:translateX(900%) rotate(21deg)}}

.sm-response{overflow:hidden;background:#fffdf9 url("assets/moon-texture.svg") center/560px}.sm-response__bloom{position:absolute;top:-210px;right:-150px;width:560px;aspect-ratio:1;background:url("assets/sakura-blossom.svg") center/contain no-repeat;opacity:.1}.sm-response__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:29px;align-items:start}.sm-response__grid--single{grid-template-columns:minmax(0,760px);justify-content:center}
.sm-form-panel,.sm-wishes{padding:53px;border:1px solid var(--sm-line);border-radius:6px 64px 6px 64px;background:rgba(255,252,247,.76);box-shadow:0 30px 88px rgba(100,65,49,.1);backdrop-filter:blur(13px)}.sm-form-panel h2,.sm-wishes h2{font-size:clamp(44px,5vw,63px)}.sm-form-panel>p,.sm-wishes>p{margin:0 0 32px}
.sm-field{display:block;margin-bottom:18px}.sm-field>span,.sm-attendance legend{display:block;margin-bottom:8px;color:var(--sm-muted);font-size:8px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.sm-field small{opacity:.55}.sm-field input,.sm-field select,.sm-field textarea{width:100%;min-height:51px;padding:13px 16px;outline:0;border:1px solid rgba(151,106,71,.18);border-radius:11px;color:var(--sm-ink);background:rgba(255,255,255,.66);transition:border-color .2s ease,box-shadow .2s ease}.sm-field textarea{resize:vertical}.sm-field input:focus,.sm-field select:focus,.sm-field textarea:focus{border-color:var(--sm-gold);box-shadow:0 0 0 3px rgba(183,139,67,.08)}.sm-field input::placeholder,.sm-field textarea::placeholder{color:rgba(83,65,57,.36)}
.sm-field-row{display:grid;grid-template-columns:1fr .64fr;gap:14px}.sm-attendance{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 20px;padding:0;border:0}.sm-attendance legend{grid-column:1/-1;padding:0}.sm-attendance input{position:absolute;opacity:0;pointer-events:none}.sm-attendance label span{display:grid;min-height:45px;place-items:center;padding:7px;border:1px solid var(--sm-line);border-radius:10px;color:var(--sm-muted);cursor:pointer;font-size:8px;text-align:center;transition:.22s ease}.sm-attendance input:checked+span{border-color:var(--sm-gold);color:#fff;background:linear-gradient(135deg,#ca9f5d,#98703b)}
.sm-submit{width:100%}.sm-submit>i{display:none;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:sm-spin .8s linear infinite}.sm-submit.sm-loading>i{display:block}.sm-submit.sm-loading{pointer-events:none;opacity:.64}.sm-form-status{min-height:18px;margin:13px 0 0;font-size:10px;text-align:center}.sm-form-status.sm-success{color:#718b5f}.sm-form-status.sm-error{color:#b45e57}@keyframes sm-spin{to{transform:rotate(360deg)}}
.sm-wishes__list{display:grid;max-height:390px;gap:11px;margin-top:24px;padding-right:4px;overflow-y:auto;scrollbar-color:var(--sm-gold) transparent}.sm-wishes__list article{display:grid;grid-template-columns:40px 1fr;gap:13px;padding:15px;border:1px solid rgba(151,106,71,.11);border-radius:4px 19px 4px 19px;background:rgba(255,255,255,.54);animation:sm-wish-in .5s ease both}.sm-wish__avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;color:#976764;background:rgba(222,177,171,.22);font:400 19px var(--sm-serif)}.sm-wishes__list strong{font:400 16px var(--sm-serif)}.sm-wishes__list article p{margin:4px 0 0;color:var(--sm-muted);font-size:10px;line-height:1.72}.sm-wishes__empty{color:var(--sm-muted);font-size:10px;font-style:italic}@keyframes sm-wish-in{from{opacity:0;transform:translateY(13px)}}

.sm-closing{position:relative;display:grid;min-height:95svh;place-items:center;overflow:hidden;text-align:center;background:linear-gradient(145deg,#dec0bb,#fff7e8)}.sm-closing__image,.sm-closing__veil{position:absolute;inset:0;width:100%;height:100%}.sm-closing__image{object-fit:cover;opacity:.28;filter:saturate(.62) brightness(1.08)}.sm-closing__veil{background:radial-gradient(circle at center,rgba(255,252,244,.88),rgba(239,220,198,.8) 48%,rgba(105,70,59,.32) 120%)}.sm-closing__halo{position:absolute;width:min(78vw,800px);aspect-ratio:1;background:url("assets/moon-halo.svg") center/contain no-repeat;opacity:.23;filter:drop-shadow(0 25px 35px rgba(103,65,54,.12))}.sm-closing__halo:after{position:absolute;inset:0;content:"";border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.06),0 0 0 80px rgba(255,255,255,.035);animation:sm-closing-pulse 6s ease-in-out infinite alternate}
.sm-closing__content{position:relative;z-index:3;width:min(760px,calc(100% - 42px))}.sm-closing h2{margin:22px 0;font:400 clamp(72px,10vw,125px)/.78 var(--sm-serif);letter-spacing:-.05em}.sm-closing p{max-width:570px;margin:32px auto;color:var(--sm-muted);font-size:14px;line-height:1.88}.sm-closing__names{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:40px 0;font:400 clamp(42px,6vw,69px) var(--sm-serif)}.sm-closing__names span:first-child{text-align:right}.sm-closing__names span:last-child{text-align:left}.sm-closing__names b{color:var(--sm-gold);font:400 .75em var(--sm-script)}.sm-closing__content>small{color:rgba(71,53,47,.43);font-size:7px;letter-spacing:.19em;text-transform:uppercase}@keyframes sm-closing-pulse{to{transform:scale(1.04);opacity:.62}}

.sm-music{position:fixed;z-index:180;top:20px;right:20px;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(183,139,67,.28);border-radius:50%;color:var(--sm-gold);background:rgba(255,252,247,.76);box-shadow:0 12px 34px rgba(96,63,48,.13);cursor:pointer;backdrop-filter:blur(14px)}.sm-music>span{display:flex;height:18px;align-items:end;gap:2px}.sm-music>span i{width:2px;height:45%;background:currentColor;animation:sm-bars .72s ease-in-out infinite alternate}.sm-music>span i:nth-child(2){animation-delay:-.2s}.sm-music>span i:nth-child(3){animation-delay:-.44s}.sm-music>span i:nth-child(4){animation-delay:-.1s}.sm-music svg{display:none;width:21px;fill:currentColor}.sm-music.sm-music--paused>span{display:none}.sm-music.sm-music--paused svg{display:block}@keyframes sm-bars{to{height:100%}}
.sm-dock{position:fixed;z-index:170;bottom:max(18px,env(safe-area-inset-bottom));left:50%;display:flex;gap:3px;padding:6px;border:1px solid rgba(183,139,67,.2);border-radius:999px;background:rgba(255,252,247,.8);box-shadow:0 20px 52px rgba(95,62,49,.15);backdrop-filter:blur(18px);transform:translateX(-50%) translateY(120px);transition:transform .65s cubic-bezier(.16,1,.3,1)}.sm-dock.sm-visible{transform:translateX(-50%) translateY(0)}.sm-dock a{display:grid;width:57px;height:46px;place-items:center;border-radius:30px;color:rgba(82,61,52,.48);transition:color .2s ease,background .2s ease}.sm-dock a span{font-size:15px;line-height:1}.sm-dock a small{font-size:6px;letter-spacing:.08em;text-transform:uppercase}.sm-dock a.sm-active{color:#fff;background:linear-gradient(135deg,#cb9d5a,#9f7137)}
.sm-reveal{--sm-reveal-y:34px;opacity:0;transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),box-shadow .45s ease}.sm-reveal--delay{transition-delay:.14s}.sm-reveal.sm-visible{--sm-reveal-y:0px;opacity:1}

@media(max-width:1200px){.sm-shell{width:min(1120px,calc(100% - 54px))}.sm-hero__grid{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:48px}.sm-corner{width:430px}.sm-gift__layout{gap:58px}.sm-story__layout{gap:70px}}
@media(max-width:960px){.sm-section{padding:105px 0}.sm-shell{width:min(780px,calc(100% - 42px))}.sm-hero{min-height:auto}.sm-hero__grid,.sm-story__layout,.sm-gift__layout,.sm-response__grid{grid-template-columns:1fr}.sm-hero__grid{gap:24px;padding:120px 0 75px}.sm-hero__copy{text-align:center}.sm-names{margin-inline:auto}.sm-hero__copy>p{margin-inline:auto}.sm-date{justify-content:center}.sm-hero__stage{min-height:650px}.sm-couple__grid{grid-template-columns:1fr;gap:31px}.sm-couple__and{width:160px;margin:auto}.sm-person__portrait{width:350px}.sm-story__layout{gap:58px}.sm-story__intro{position:static;text-align:center}.sm-story__intro>p{margin-inline:auto}.sm-gift__layout{gap:47px}.sm-gift__intro{text-align:center}.sm-gift__intro>p{margin-inline:auto}.sm-gift__address{max-width:570px;margin-inline:auto;text-align:left}.sm-response__grid{max-width:720px}}
@media(max-width:768px){.sm-section{padding:92px 0}.sm-heading{margin-bottom:50px}.sm-opening__blossom{width:440px}.sm-opening__panel{padding:57px 33px 50px}.sm-hero__grid{padding-top:105px}.sm-names{font-size:clamp(75px,18vw,105px)}.sm-events__grid{grid-template-columns:1fr}.sm-event{padding:43px 36px}.sm-gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.sm-gallery__item,.sm-gallery__item:nth-child(n){grid-column:span 1;grid-row:span 1}.sm-gallery__item:nth-child(1){grid-column:span 2;grid-row:span 2}.sm-gallery__item:nth-child(4){grid-column:span 2}.sm-response__grid{grid-template-columns:1fr}.sm-bank:nth-child(2){margin-left:0}}
@media(max-width:640px){.sm-shell{width:min(100% - 28px,560px)}.sm-section{padding:82px 0}.sm-heading h2,.sm-gift__intro h2,.sm-story__intro h2{font-size:47px}.sm-opening__panel{width:calc(100% - 30px);padding:49px 18px 44px;border-radius:210px 210px 20px 20px}.sm-opening__panel:before{border-radius:197px 197px 13px 13px}.sm-opening__panel h1{gap:8px;font-size:clamp(38px,12vw,55px)}.sm-opening__monogram{width:71px;height:71px;margin-block:21px 17px}.sm-opening__blossom{width:330px}.sm-opening__blossom--top{top:-10%;right:-28%}.sm-opening__blossom--bottom{bottom:-10%;left:-30%}.sm-opening__note{display:none}.sm-corner{width:280px;opacity:.55}.sm-corner--top{right:-32%}.sm-corner--bottom{left:-35%}.sm-hero__copy>p{font-size:15px}.sm-hero__stage{--sm-stage-scale:.82;min-height:550px;margin:-40px -45px}.sm-floral-halo{width:540px;height:540px}.sm-scroll{display:none}.sm-countdown__panel{grid-template-columns:repeat(2,1fr);border-radius:60px 5px 60px 5px}.sm-time:nth-child(2){border-right:0}.sm-time:nth-child(-n+2){border-bottom:1px solid var(--sm-line)}.sm-time{padding:31px 9px}.sm-time strong{font-size:55px}.sm-person__portrait{width:min(320px,94%)}.sm-person h3{font-size:36px}.sm-event{padding:37px 27px;border-radius:5px 55px 5px 55px}.sm-event:before{border-radius:4px 46px 4px 46px}.sm-event h3{font-size:49px}.sm-timeline:before{left:24px}.sm-timeline__item{grid-template-columns:50px 1fr;gap:14px}.sm-timeline__marker{width:50px;height:50px}.sm-timeline__marker span{font-size:12px}.sm-timeline__content{padding:25px 21px}.sm-timeline__content h3{font-size:25px}.sm-gallery__grid{grid-auto-rows:175px;gap:9px}.sm-gallery__item{border-width:4px;border-radius:4px 25px 4px 25px}.sm-gallery__item:nth-child(even){border-radius:27px 4px 27px 4px}.sm-bank{min-height:216px;padding:29px 22px}.sm-bank>strong{font-size:24px}.sm-copy{right:21px;bottom:24px}.sm-form-panel,.sm-wishes{padding:36px 23px;border-radius:5px 43px 5px 43px}.sm-form-panel h2,.sm-wishes h2{font-size:42px}.sm-field-row{grid-template-columns:1fr;gap:0}.sm-attendance{grid-template-columns:1fr}.sm-closing h2{font-size:80px}.sm-closing__names{gap:10px;font-size:40px}.sm-dock{width:calc(100% - 28px);justify-content:center}.sm-dock a{flex:1;max-width:60px}.sm-music{top:14px;right:14px}}
@media(max-width:480px){.sm-shell{width:calc(100% - 24px)}.sm-section{padding:75px 0}.sm-eyebrow{font-size:7px;letter-spacing:.18em}.sm-opening__panel{padding-inline:14px}.sm-opening__panel h1{font-size:clamp(35px,11.5vw,49px)}.sm-opening__guest{margin-block:18px 15px}.sm-names{font-size:clamp(68px,21vw,91px)}.sm-hero__stage{--sm-stage-scale:.73;margin:-62px -67px}.sm-gallery__grid{grid-auto-rows:155px}.sm-gallery__blossom span{font-size:17px}.sm-gallery__blossom i{width:38px}.sm-closing__names{font-size:35px}}
@media(prefers-reduced-motion:reduce){.sm-html{scroll-behavior:auto}.sm-body *,.sm-body *:before,.sm-body *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.sm-dust,.sm-petals{display:none}.sm-depth,.sm-tilt,.sm-reveal{--mx:0px!important;--my:0px!important;--rx:0deg!important;--ry:0deg!important;--float-y:0px!important;--depth:0px!important;--sm-reveal-y:0px!important;opacity:1!important}.sm-dock{transition:none}}

/* Sakura Moonlight art direction */
:root{
    --sm-ivory:#0a1028;
    --sm-pearl:#f7f3f4;
    --sm-moon-silver:#c9c5d9;
    --sm-blush:#e7b5cc;
    --sm-blush-deep:#b8799b;
    --sm-gold:#c8bfd6;
    --sm-gold-light:#f0d7e4;
    --sm-taupe:#a89bad;
    --sm-ink:#f7f1f5;
    --sm-muted:#c8bdcc;
    --sm-line:rgba(222,213,236,.2);
    --sm-shadow:0 38px 120px rgba(1,4,18,.4);
    --sm-serif:"Cormorant Garamond",Georgia,serif
}
.sm-body{color:var(--sm-ink);background:#080d22}
.sm-page{background:#080d22}
.sm-eyebrow{color:#d8c9df}
.sm-heading h2,.sm-gift__intro h2,.sm-form-panel h2,.sm-wishes h2,.sm-story__intro h2{font-weight:400;letter-spacing:-.02em}
.sm-heading p,.sm-gift__intro>p,.sm-form-panel>p,.sm-wishes>p,.sm-story__intro>p{color:var(--sm-muted)}
.sm-progress{background:rgba(255,255,255,.08)}
.sm-progress span{background:linear-gradient(90deg,#9e6b91,#f7dbea,#c5c2df,#eebbd3);box-shadow:0 0 16px rgba(229,188,219,.58)}
.sm-petal{filter:drop-shadow(0 8px 9px rgba(6,8,28,.28))}

.sm-opening{color:#f8f1f6;background:radial-gradient(circle at 50% 37%,rgba(229,225,238,.2) 0,rgba(77,66,106,.24) 23%,transparent 47%),linear-gradient(155deg,#070c24 0,#171b3d 53%,#5d3d5a 118%)}
.sm-opening:before{position:absolute;inset:0;content:"";background:url("assets/moon-texture.svg") center/600px;opacity:.28;mix-blend-mode:screen}
.sm-opening__wash{background:conic-gradient(from 120deg at 50% 48%,transparent,rgba(255,247,253,.2),transparent 31%,rgba(178,169,207,.13),transparent 68%);filter:blur(28px)}
.sm-opening__ribbon{opacity:.62;mix-blend-mode:screen}
.sm-opening__blossom{position:absolute;z-index:3;width:min(56vw,720px);pointer-events:none;filter:drop-shadow(0 34px 45px rgba(0,0,0,.38));will-change:transform,opacity}
.sm-opening__blossom--top{top:-15%;right:-9%;animation:sm-bloom-top 1.7s cubic-bezier(.16,1,.3,1) .05s both}
.sm-opening__blossom--bottom{bottom:-16%;left:-10%;transform:rotate(180deg);animation:sm-bloom-bottom 1.8s cubic-bezier(.16,1,.3,1) .12s both}
.sm-opening__halo{width:min(86vw,850px);opacity:.75;filter:drop-shadow(0 0 55px rgba(230,225,242,.22));animation:sm-moon-breathe 7s ease-in-out infinite alternate}
.sm-opening__panel{border-color:rgba(224,213,234,.28);border-radius:300px 300px 18px 18px;background:linear-gradient(155deg,rgba(19,24,53,.72),rgba(56,46,76,.5));box-shadow:0 48px 150px rgba(1,3,17,.52),inset 0 0 0 9px rgba(255,255,255,.035),inset 0 0 90px rgba(230,197,217,.06);backdrop-filter:blur(22px)}
.sm-opening__panel:before{border-color:rgba(234,225,242,.16);border-radius:285px 285px 11px 11px}
.sm-opening__panel:after{opacity:.22}
.sm-opening__monogram{color:#f2cbdd;background:rgba(240,231,243,.07);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.sm-opening__monogram:after{border-color:rgba(235,204,221,.42)}
.sm-opening__panel h1 span,.sm-names span,.sm-closing__names span{background:linear-gradient(104deg,#f9f1f6 7%,#e9bdd2 30%,#fffdf5 50%,#c6bfda 69%,#efc4d6 91%);background-size:240% auto;-webkit-background-clip:text;background-clip:text;color:transparent}
.sm-opening__panel h1 b,.sm-opening__monogram i{color:#e5bdd1}
.sm-opening__panel>time,.sm-opening__guest small{color:#c8becd}
.sm-opening__guest{border-color:rgba(222,213,235,.17)}
.sm-opening__note{color:rgba(239,228,238,.43)}
@keyframes sm-moon-breathe{to{opacity:.9;filter:drop-shadow(0 0 80px rgba(232,226,243,.35));transform:scale(1.025)}}
@keyframes sm-bloom-bottom{from{opacity:0;transform:translate3d(-100px,80px,0) rotate(155deg) scale(.42)}to{opacity:1;transform:rotate(180deg)}}

.sm-btn--gold{color:#17162b;background:linear-gradient(135deg,#f0dce7,#c3bad2 47%,#e5afca);box-shadow:0 15px 42px rgba(196,151,186,.22)}
.sm-btn--line{border-color:rgba(220,210,232,.3);color:#f3edf4;background:rgba(255,255,255,.045)}
.sm-btn--line:hover{background:rgba(255,255,255,.11)}
.sm-btn:hover{box-shadow:0 17px 48px rgba(175,141,187,.25)}

.sm-hero{background:radial-gradient(circle at 74% 38%,rgba(219,218,234,.19) 0,rgba(121,100,137,.09) 28%,transparent 47%),linear-gradient(140deg,#070c21 0,#101631 51%,#392944 118%)}
.sm-hero:before{position:absolute;z-index:0;inset:0;content:"";background:linear-gradient(180deg,transparent 63%,rgba(6,11,30,.78)),url("assets/moon-texture.svg") center/600px;opacity:.42}
.sm-hero:after{opacity:.2;mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent,#000 34%,#000 68%,transparent)}
.sm-hero__beam{left:0;background:linear-gradient(90deg,transparent,rgba(236,232,246,.16),rgba(228,196,219,.07),transparent);filter:blur(23px)}
.sm-hero__ribbon{height:37%;opacity:.72;mix-blend-mode:screen}
.sm-corner{width:min(43vw,590px);opacity:.84;filter:drop-shadow(0 30px 42px rgba(0,0,0,.38))}
.sm-corner--top{top:-7%;right:-8%}.sm-corner--bottom{bottom:-19%;left:-13%}
.sm-names{line-height:.72}
.sm-names b{color:#e4bdd1}
.sm-hero__copy>p{color:#cbc1cf}
.sm-date{color:#c9bfce}.sm-date i{background:rgba(224,214,234,.25)}
.sm-floral-halo{width:650px;height:650px}
.sm-floral-halo:before{filter:drop-shadow(0 0 42px rgba(226,222,241,.28));animation:sm-moon-turn 58s linear infinite}
.sm-floral-halo:after{position:absolute;inset:14%;content:"";border-radius:50%;box-shadow:0 0 65px rgba(225,220,239,.26);animation:sm-halo-glow 8s ease-in-out infinite alternate}
.sm-cover-card{width:330px;border-color:rgba(234,228,241,.4);border-radius:170px 170px 10px 10px;background:linear-gradient(145deg,#323858,#74556e);box-shadow:-42px 62px 125px rgba(1,4,17,.58),23px -12px 78px rgba(193,186,216,.13),inset 0 0 0 1px rgba(233,213,228,.16)}
.sm-cover-card>img,.sm-cover-card__fallback{height:578px;border-radius:160px 160px 5px 5px}
.sm-cover-card>img{filter:saturate(.76) contrast(1.05) brightness(.86)}
.sm-cover-card__fallback{color:#f2d0df;background:radial-gradient(circle at 50% 35%,rgba(233,230,242,.22),transparent 27%),linear-gradient(155deg,#111731,#60465f)}
.sm-cover-card__veil{border-radius:160px 160px 5px 5px;background:linear-gradient(180deg,rgba(217,218,235,.04),transparent 47%,rgba(5,8,25,.8))}
.sm-cover-card__caption{color:#fff7fb}
.sm-cover-card__caption strong i{color:#edc2d7}
.sm-pearl{border-color:rgba(227,223,239,.42);background:radial-gradient(circle at 28% 24%,rgba(255,255,255,.82),rgba(194,187,211,.2) 34%,rgba(90,73,112,.12) 70%,rgba(9,13,38,.08));box-shadow:inset -16px -19px 34px rgba(7,9,29,.3),0 24px 58px rgba(0,0,0,.32);backdrop-filter:blur(9px)}
.sm-save-date{border-color:rgba(225,216,236,.28);background:rgba(24,27,58,.58);box-shadow:0 22px 63px rgba(0,0,0,.35);color:#f5eef4}
.sm-save-date small,.sm-scroll{color:#bdb2c3}
@keyframes sm-moon-turn{to{transform:rotate(360deg)}}
@keyframes sm-halo-glow{to{opacity:.54;box-shadow:0 0 105px rgba(232,216,234,.38)}}

.sm-countdown{background:radial-gradient(circle at 90% 0,rgba(180,139,170,.17),transparent 34%),#0d132c url("assets/moon-texture.svg") center/600px}
.sm-countdown:before{width:430px;right:-130px;opacity:.1}
.sm-countdown__panel{border-color:rgba(224,215,234,.19);border-radius:120px 8px 120px 8px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(118,91,119,.08));box-shadow:0 35px 110px rgba(0,0,0,.3),inset 0 0 0 9px rgba(255,255,255,.018);backdrop-filter:blur(18px)}
.sm-time{border-color:rgba(224,215,234,.14)}
.sm-time strong{color:#f3eaf2;text-shadow:0 0 33px rgba(227,186,210,.22)}
.sm-time span,.sm-countdown__status{color:#bdb2c1}

.sm-couple{color:#29263a;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.98),rgba(245,239,244,.9) 42%,transparent 68%),linear-gradient(180deg,#dedce8,#ead9e3)}
.sm-couple:before,.sm-couple:after{width:520px;opacity:.2}
.sm-couple__glow{background:radial-gradient(circle,rgba(255,255,255,.96),rgba(226,216,231,.34) 48%,transparent 72%)}
.sm-couple .sm-heading p,.sm-person p{color:#716879}
.sm-couple .sm-eyebrow,.sm-person>small{color:#875e7a}
.sm-person__portrait>img,.sm-person__initial{border-radius:170px 170px 5px 5px;box-shadow:0 30px 86px rgba(32,25,48,.2)}
.sm-person__portrait>img{filter:saturate(.74) contrast(1.05)}
.sm-person__initial{color:#8f607d;background:radial-gradient(circle at 50% 30%,#fff 0,#e4d2df 45%,#a598ba)}
.sm-person__portrait:after{border-radius:170px 170px 5px 5px;background:linear-gradient(180deg,transparent 62%,rgba(21,18,44,.32))}
.sm-person__frame{filter:drop-shadow(0 27px 39px rgba(40,29,53,.2))}
.sm-person__flower{width:31%;right:-2%;bottom:3%;filter:drop-shadow(0 17px 22px rgba(61,38,67,.2))}
.sm-couple__and span{color:#a67895}.sm-couple__and i{background:rgba(99,74,105,.22)}

.sm-events{background:radial-gradient(circle at 12% 22%,rgba(189,151,180,.14),transparent 28%),linear-gradient(135deg,#090f26,#171a38 58%,#3b2940)}
.sm-events:before{position:absolute;inset:0;content:"";background:url("assets/moon-texture.svg") center/600px;opacity:.22}
.sm-events:after{opacity:.07}
.sm-event{border-color:rgba(225,215,234,.18);border-radius:4px 88px 4px 88px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(107,76,102,.09));box-shadow:0 36px 110px rgba(0,0,0,.32)}
.sm-event:before{border-color:rgba(229,218,237,.1)}
.sm-event:after{opacity:.08}
.sm-event__number{color:rgba(232,220,236,.09)}
.sm-event__petal{border-color:rgba(226,216,235,.22);color:#e6bdd1;background:rgba(255,255,255,.045);box-shadow:0 12px 39px rgba(0,0,0,.2)}
.sm-event>small,.sm-event time{color:#d9bdd0}
.sm-event__time,.sm-event__address{color:#c3b8c7}

.sm-story{background:radial-gradient(circle at 16% 13%,rgba(231,225,238,.13),transparent 32%),linear-gradient(155deg,#3c2b45,#17172f 64%,#0a1027);color:#f7eff5}
.sm-story:after{position:absolute;right:-13%;bottom:-25%;width:610px;aspect-ratio:1;content:"";background:url("assets/moon-halo.svg") center/contain no-repeat;opacity:.12}
.sm-story__flower{width:580px;background-image:url("assets/sakura-branch.svg");opacity:.22;transform:rotate(-8deg)}
.sm-story__signature{color:#e6c0d2}
.sm-timeline:before{background:linear-gradient(#e4bfd3,rgba(205,194,218,.04))}
.sm-timeline__marker{border-color:rgba(226,215,235,.28);background:rgba(20,21,47,.78);box-shadow:0 13px 40px rgba(0,0,0,.25)}
.sm-timeline__marker:after{border-color:rgba(231,195,214,.35)}
.sm-timeline__content{border-color:rgba(224,211,232,.16);border-radius:4px 38px 4px 38px;background:rgba(255,255,255,.055);box-shadow:0 24px 65px rgba(0,0,0,.21)}
.sm-timeline__content:hover{background:rgba(255,255,255,.09)}
.sm-timeline__content small{color:#e4bfd1}.sm-timeline__content p{color:#c5bac8}

.sm-gallery{background:radial-gradient(circle at 50% 0,rgba(226,221,237,.08),transparent 32%),#080e25 url("assets/moon-texture.svg") center/600px}
.sm-gallery__grid{gap:18px}
.sm-gallery__item{border-color:rgba(229,222,237,.15);border-radius:4px 48px 4px 48px;background:#1b1f3f;box-shadow:0 32px 92px rgba(0,0,0,.42)}
.sm-gallery__item:nth-child(even){border-radius:48px 4px 48px 4px}
.sm-gallery__item img{filter:saturate(.68) brightness(.82) contrast(1.08)}
.sm-gallery__item:hover img{filter:saturate(.88) brightness(.94)}
.sm-gallery__item:after{background:linear-gradient(180deg,rgba(15,19,44,.04) 35%,rgba(7,10,30,.78))}
.sm-gallery__blossom{color:#d7c7d4}

.sm-gift{background:radial-gradient(circle at 84% 14%,rgba(245,235,243,.45),transparent 27%),linear-gradient(135deg,#c3b7c9,#ead7e2 50%,#a985a1);color:#29263a}
.sm-gift:before{position:absolute;inset:0;content:"";background:url("assets/water-reflection.svg") center bottom/cover no-repeat;opacity:.26}
.sm-gift:after{opacity:.15}
.sm-gift .sm-eyebrow{color:#785775}.sm-gift__intro>p{color:#5e576a}.sm-gift__address{border-color:rgba(73,56,89,.17)}
.sm-gift__address>span{border-color:rgba(81,62,93,.2);color:#775570;background:rgba(255,255,255,.23)}
.sm-gift__address small{color:#756b79}
.sm-bank{border-color:rgba(255,255,255,.5);border-radius:4px 42px 4px 42px;color:#29263a;background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(87,68,105,.19));box-shadow:0 34px 94px rgba(40,25,51,.19);backdrop-filter:blur(19px)}
.sm-bank__emboss{filter:saturate(.3);opacity:.12}
.sm-bank__head{color:#765674}.sm-bank>small,.sm-bank>p{color:#6f6475}
.sm-copy{border-color:rgba(78,58,91,.2);color:#51445a;background:rgba(255,255,255,.34)}

.sm-response{color:#2b283c;background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.82),transparent 27%),#eeebf2 url("assets/moon-texture.svg") center/600px;background-blend-mode:screen}
.sm-response__bloom{width:510px;opacity:.12}
.sm-response .sm-eyebrow{color:#815e7a}
.sm-response .sm-form-panel>p,.sm-response .sm-wishes>p{color:#716878}
.sm-form-panel,.sm-wishes{border-color:rgba(69,53,82,.13);border-radius:4px 67px 4px 67px;background:rgba(255,255,255,.64);box-shadow:0 34px 96px rgba(35,27,53,.13);backdrop-filter:blur(16px)}
.sm-field>span,.sm-attendance legend{color:#716878}
.sm-field input,.sm-field select,.sm-field textarea{border-color:rgba(77,57,88,.15);color:#29263a;background:rgba(255,255,255,.67)}
.sm-field input:focus,.sm-field select:focus,.sm-field textarea:focus{border-color:#a67896;box-shadow:0 0 0 3px rgba(148,103,137,.09)}
.sm-field input::placeholder,.sm-field textarea::placeholder{color:rgba(48,39,58,.35)}
.sm-attendance label span{border-color:rgba(77,57,88,.16);color:#6f6676}
.sm-attendance input:checked+span{border-color:#957089;color:#fff;background:linear-gradient(135deg,#8d6884,#554968)}
.sm-wishes__list article{border-color:rgba(76,57,88,.1);background:rgba(255,255,255,.53)}
.sm-wish__avatar{color:#805a75;background:rgba(205,169,194,.25)}
.sm-wishes__list article p,.sm-wishes__empty{color:#716879}

.sm-closing{color:#faf2f7;background:linear-gradient(150deg,#070c22,#1a1d3d 55%,#543a52)}
.sm-closing:before{position:absolute;inset:0;content:"";background:url("assets/sakura-branch.svg") right -10% top -15%/min(58vw,760px) auto no-repeat,url("assets/sakura-branch.svg") left -14% bottom -17%/min(58vw,760px) auto no-repeat;opacity:.55}
.sm-closing__image{opacity:.17;filter:saturate(.45) brightness(.6)}
.sm-closing__veil{background:radial-gradient(circle at center,rgba(222,222,238,.15),rgba(18,20,50,.66) 48%,rgba(4,7,22,.95) 108%)}
.sm-closing__halo{opacity:.58;filter:drop-shadow(0 0 54px rgba(224,221,239,.2))}
.sm-closing p{color:#c9becb}.sm-closing__content>small{color:rgba(237,225,236,.43)}

.sm-music{border-color:rgba(225,215,236,.28);color:#e5c4d5;background:rgba(18,21,48,.68);box-shadow:0 14px 40px rgba(0,0,0,.27)}
.sm-dock{border-color:rgba(225,215,236,.17);background:rgba(13,17,42,.78);box-shadow:0 22px 60px rgba(0,0,0,.35)}
.sm-dock a{color:rgba(229,219,232,.53)}
.sm-dock a.sm-active{color:#19162c;background:linear-gradient(135deg,#e7cad9,#bdb6d0)}
.sm-lightbox{background:rgba(5,8,24,.94)}

@media(max-width:1200px){.sm-floral-halo{width:610px;height:610px}.sm-corner{width:480px}}
@media(max-width:960px){.sm-hero__stage{min-height:670px}.sm-corner{width:410px}.sm-opening__blossom{width:620px}}
@media(max-width:768px){.sm-opening__blossom{width:500px}.sm-cover-card{width:310px}.sm-cover-card>img,.sm-cover-card__fallback{height:545px}.sm-gallery__grid{gap:10px}}
@media(max-width:640px){.sm-opening__blossom{width:360px}.sm-opening__blossom--top{top:-3%;right:-27%}.sm-opening__blossom--bottom{bottom:-6%;left:-31%}.sm-opening__panel{border-radius:220px 220px 11px 11px}.sm-opening__panel:before{border-radius:207px 207px 7px 7px}.sm-hero__stage{min-height:570px}.sm-floral-halo{width:550px;height:550px}.sm-cover-card{width:285px}.sm-cover-card>img,.sm-cover-card__fallback{height:510px}.sm-corner{width:310px}.sm-couple:before,.sm-couple:after{width:330px}.sm-person__flower{width:27%}}
@media(max-width:480px){.sm-opening__blossom{width:320px}.sm-hero__stage{min-height:540px}.sm-cover-card{width:270px}.sm-cover-card>img,.sm-cover-card__fallback{height:485px}.sm-floral-halo{width:500px;height:500px}.sm-save-date{right:6%;bottom:20%}.sm-pearl--one{left:14%}.sm-bank>strong{font-size:22px;overflow-wrap:anywhere}}
