:root{--bg:#0c2418;--fg:#eaf3e2;--accent:#d8c47a;--on-accent:#0c2418;--card:rgba(216,196,122,.07);--head:'Cinzel',Georgia,serif;--fxanim:fxDrop;--fxdur:.9s;--step:50ms;--cover-bg:linear-gradient(#06140d66,#06140dc4 58%,#06140df2)}
body{font-family:'Lora',Georgia,serif;background:radial-gradient(circle at 80% 0,#1f5a3a 0,transparent 50%),radial-gradient(circle at 0 100%,#17452c 0,transparent 45%),var(--bg) fixed}
/* cover: foto bergeser seperti daun tertiup angin */
.cover,.cover.clear{background-image:none}
.cover::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--cover-img,none) center 30%/cover no-repeat;animation:sway 20s ease-in-out infinite alternate}
.cover::after{content:"";position:fixed;inset:0;z-index:-1;background:var(--cover-bg)}
@keyframes sway{from{transform:scale(1.14) translate(-2%,1%)}to{transform:scale(1.14) translate(2%,-1%)}}
.cover .inner::before{content:"❦";display:block;font-size:2.6rem;line-height:1;color:var(--accent);animation:fade 2.2s both}
.cover h1{letter-spacing:.05em}
.sec h2{font-size:1.5rem;letter-spacing:.18em;text-transform:uppercase}
.sec h2::after{content:"❦";display:block;font-size:1.1rem;margin-top:8px;letter-spacing:0}
.card{border:1px solid rgba(216,196,122,.5);border-radius:22px 4px 22px 4px;box-shadow:inset 0 0 30px rgba(216,196,122,.05)}
.btn{background:linear-gradient(135deg,#ecdb98,#b9a24a)}.btn.alt{background:transparent}
/* foto: segi enam */
.pf,.story img,.gal img{border:0;padding:0;outline:0;border-radius:0;box-shadow:none;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.pf{width:min(56vw,210px);aspect-ratio:.866}
.story img{aspect-ratio:.866;max-width:260px;max-height:none}
.gal{grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:34px}
.gal img,.gal img:first-child,.gal img:last-child:nth-child(even){grid-column:auto;grid-row:auto;aspect-ratio:.866;max-height:none;width:100%}
.gal img:nth-child(even){margin-top:34px;margin-bottom:-34px}

/* ===== Animasi khas: foto tumbuh dari tengah seperti sarang lebah, daun jatuh zig-zag ===== */
:root{--pva:edBloom;--pvd:1.3s;--pve:cubic-bezier(.2,.9,.3,1.2);--cva:edGrow;--cvd:1s;--fxmove:edLeaf}
@keyframes edBloom{0%{opacity:0;transform:scale(.25) rotate(60deg)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes edGrow{from{opacity:0;transform:translate(-18px,28px) scale(.92);transform-origin:0 100%}to{opacity:1;transform:none}}
.js .gal img.gi.in,.js .gal img.gi:first-child.in{animation:edBloom 1.2s var(--d,0s) cubic-bezier(.2,.9,.3,1.2) backwards}
@keyframes edLeaf{0%{opacity:0;transform:translate(0,0) rotate(0)}8%{opacity:.8}20%{transform:translate(40px,22vh) rotate(60deg)}40%{transform:translate(-40px,44vh) rotate(-50deg)}60%{transform:translate(40px,66vh) rotate(70deg)}80%{transform:translate(-30px,90vh) rotate(-40deg)}100%{opacity:0;transform:translate(10px,115vh) rotate(30deg)}}
@keyframes edSpace{0%,100%{letter-spacing:.02em}50%{letter-spacing:.09em}}
.nm{animation:edSpace 7s ease-in-out infinite}
