/* Atelier Arpy — animation & music upgrade. All effects are decorative and respect reduced motion. */
:root { --shine:rgba(255,236,184,.6) }
body[data-kind][data-model] { overflow-x:hidden }
.hero { perspective:1200px }
.hero-content { position:relative; z-index:2; transition:transform .25s ease-out }
.hero .ornament {text-shadow:0 0 40px var(--accent);animation:arpy-pulse 4s ease-in-out infinite}
.hero h1 {text-shadow:0 8px 45px rgba(0,0,0,.24)}
.hero .pill {box-shadow:0 8px 38px color-mix(in srgb,var(--accent),transparent 72%)}
.hero:after {border-radius:5px;box-shadow:inset 0 0 40px rgba(255,255,255,.04)}
.arpy-fxfield {inset:0;position:absolute;overflow:hidden;pointer-events:none;z-index:1}
.arpy-sprite {position:absolute;display:block;left:var(--left);top:-12%;width:var(--diam);height:var(--diam);opacity:0;animation:arpy-fall var(--dur) var(--delay) linear infinite;will-change:transform,opacity}
.arpy-sprite::before {content:var(--symbol,'✧');display:block;font-size:var(--diam);line-height:1;color:var(--accent);text-shadow:0 0 16px var(--accent);animation:arpy-drift calc(var(--dur)/3) ease-in-out infinite alternate}
body[data-effects="petals"] .arpy-sprite::before,body[data-effects="sakura"] .arpy-sprite::before,body[data-effects="butterflies"] .arpy-sprite::before{content:'❀';color:#f6c5d6;text-shadow:0 0 8px #ff7eaa}
body[data-effects="fireflies"] .arpy-sprite::before,body[data-effects="garden"] .arpy-sprite::before {content:'✦';color:#e8ffac;text-shadow:0 0 20px #d7f994}
body[data-effects="stars"] .arpy-sprite::before,body[data-effects="cosmos"] .arpy-sprite::before,body[data-effects="crystal"] .arpy-sprite::before {content:'✧';color:#dee7ff;text-shadow:0 0 14px #cbd9ff}
body[data-effects="waves"] .arpy-sprite::before,body[data-effects="coast"] .arpy-sprite::before,body[data-effects="ocean"] .arpy-sprite::before {content:'◌';color:#d1f7ff;text-shadow:0 0 25px #80eaff}
body[data-effects="clouds"] .arpy-sprite::before {content:'☁';color:#fffaf2;text-shadow:0 0 25px #fff}
body[data-effects="bubbles"] .arpy-sprite::before {content:'○';color:#fff5d5}
body[data-effects="safari"] .arpy-sprite::before {content:'✿';color:#f4dba2}
body[data-effects="deco"] .arpy-sprite::before,body[data-effects="gold"] .arpy-sprite::before{content:'◆';color:#ffe2a5}
.arpy-reveal {transition:opacity .85s ease,transform .85s ease}
.arpy-reveal.arpy-hidden {opacity:0;transform:translateY(30px)}
.event-card {transition:transform .4s,box-shadow .4s}
.event-card:hover {transform:translateY(-6px);box-shadow:0 20px 50px #0002}
/* Custom layouts: new models are visually distinctive, not palette swaps. */
[data-design="garden"] .hero:before {background-image:radial-gradient(circle at 50% 35%,#b0ac6b33,transparent 43%),linear-gradient(180deg,#05130c7f,#0e281a91 55%,#03140ef0),var(--photo);background-blend-mode:screen,normal,normal}
[data-design="garden"] .hero-content{border:1px solid #d0dfa447;padding:80px 56px;backdrop-filter:blur(3px);border-radius:46% 46% 3px 3px;box-shadow:0 0 0 13px #b2d0b212}
[data-design="garden"] .hero h1{font-style:italic}
[data-design="deco"] .hero:before{background-image:repeating-linear-gradient(110deg,transparent 0 74px,#e2c3811a 75px 77px,transparent 79px 170px),linear-gradient(#070e1bd6,#12131aaa),var(--photo)}
[data-design="deco"] .hero:after{inset:35px;border:3px double #e4c48777;clip-path:polygon(3% 0,97% 0,100% 7%,100% 93%,97% 100%,3% 100%,0 93%,0 7%)}
[data-design="deco"] .hero h1{font-weight:500;letter-spacing:.025em;text-transform:uppercase}
[data-design="deco"] .hero .ornament{font-family:serif}
[data-design="sakura"] .hero:before{background-image:linear-gradient(115deg,#3e1d40ad,#a93e7a52,#261029be),var(--photo);filter:saturate(1.2)}
[data-design="sakura"] .hero-content{background:#4a1f3763;border-radius:180px 180px 15px 15px;border:1px solid #ffe0ef55;backdrop-filter:blur(5px);padding:70px clamp(26px,5vw,80px)}
[data-design="sakura"] .hero h1{font-style:italic}
[data-design="coast"] .hero:before{background-image:linear-gradient(125deg,#06314dba,#46b8c744 40%,#052c42b8),var(--photo)}
[data-design="coast"] .hero-content{border-top:1px solid #b9eaff;border-bottom:1px solid #b9eaff;padding:75px 40px}
[data-design="coast"] .hero h1{font-style:italic;font-weight:400}
[data-design="crystal"] .hero:before {background-image:radial-gradient(circle at 65% 35%,#a1a7fe44,transparent 37%),linear-gradient(115deg,#0d0e2be0,#3533669c),var(--photo)}
[data-design="crystal"] .hero-content{clip-path:polygon(13% 0%,87% 0%,100% 16%,100% 84%,87% 100%,13% 100%,0% 84%,0% 16%);background:#0e103b95;border:1px solid #c7d1ff55;padding:85px clamp(30px,6vw,95px)}
[data-design="cosmos"] .hero:before{background-image:radial-gradient(ellipse at 50% 28%,#a6d2fe55,transparent 42%),linear-gradient(135deg,#080c26e6,#172c55d0),var(--photo)}
[data-design="cosmos"] .hero .ornament{font-size:5rem}
[data-design="butterflies"] .hero:before{background-image:linear-gradient(125deg,#5f2749bb,#4f203ba6),var(--photo)}
[data-design="butterflies"] .hero-content{background:#41203a80;border:1px solid #fccadd77;border-radius:52% 52% 14px 14px;padding:65px clamp(24px,5vw,70px)}
[data-design="safari"] .hero:before{background-image:linear-gradient(140deg,#4c3f20c9,#7a592073),var(--photo)}
[data-design="safari"] .hero-content{border:2px dashed #f2d69ba6;padding:65px clamp(24px,5vw,65px);border-radius:20px;background:#382d1f6e}
[data-design="ocean"] .hero:before{background-image:radial-gradient(ellipse at 50% 100%,#7cf5fc44,transparent 55%),linear-gradient(#0a2c47ba,#003d5ddd),var(--photo)}
[data-design="ocean"] .hero-content{border-radius:46% 46% 10px 10px;padding:65px clamp(24px,5vw,75px);border:1px solid #b8f8ff69;backdrop-filter:blur(4px)}
/* fixed soundtrack control: visible on every invitation */
.arpy-sound {position:fixed;z-index:1001;left:16px;bottom:16px;display:flex;align-items:center;gap:9px;max-width:min(96vw,340px);padding:9px 12px;background:rgba(18,20,28,.9);color:#fff;border:1px solid #ffffff40;border-radius:99px;box-shadow:0 10px 36px #0005;backdrop-filter:blur(12px);font:500 12px/1.35 'DM Sans',system-ui,sans-serif}
.arpy-sound button{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border:1px solid #ffffff55;border-radius:50%;background:var(--accent,#d6b988);color:#16161d;font-size:16px;cursor:pointer}
.arpy-sound span{font-size:12px;line-height:1.15;min-width:0}
.arpy-sound small{display:block;color:#ffffffb5;font-weight:400;margin-top:4px;font-size:10px}
.arpy-sound input{accent-color:var(--accent,#d6b988);width:60px;height:20px;cursor:pointer}
.arpy-sound:focus-within{outline:1px solid #fff9}
.arpy-sound button:focus-visible{outline:3px solid white;outline-offset:2px}
.arpy-confetti {position:fixed;top:-24px;left:var(--left);z-index:1002;pointer-events:none;width:8px;height:14px;background:var(--color);animation:arpy-celebrate var(--duration) ease-in forwards;transform:rotate(var(--twist))}
.arpy-new-card{outline:1px solid #ecd3a74d;outline-offset:-5px}
.arpy-new-card .info>span:first-child{color:#ffdf96}
@keyframes arpy-pulse{50%{opacity:.82;text-shadow:0 0 26px var(--accent)}}
@keyframes arpy-fall{0%{opacity:0;transform:translate3d(0,-12vh,0) rotate(0)}15%{opacity:.75}83%{opacity:.75}100%{opacity:0;transform:translate3d(var(--drift),114vh,0) rotate(240deg)}}
@keyframes arpy-drift{to{transform:translateX(19px) rotate(23deg)}}
@keyframes arpy-celebrate{to{transform:translate3d(var(--drift),110vh,0) rotate(750deg);opacity:0}}
@media(max-width:680px){[data-design] .hero-content{padding:55px 22px;max-width:94vw}[data-design="deco"] .hero:after{inset:18px}.arpy-sound{bottom:9px;left:9px;padding:6px 9px}.arpy-sound input{width:50px}.footer{padding-bottom:110px}.arpy-sprite:nth-child(n+14){display:none}}
@media(prefers-reduced-motion:reduce){.arpy-sprite,.arpy-confetti{display:none!important}.arpy-reveal{opacity:1!important;transform:none!important}.hero-content{transform:none!important}}

#music[hidden]{display:none!important}
