/* Botanik: okaliptüs dalları, kâğıt doku, kemerli pencere, Parisienne el yazısı. */
:root { --f-display:"Parisienne",cursive; --f-head:"Parisienne",cursive; --f-body:"EB Garamond",Georgia,serif; --f-ui:"Jost",system-ui,sans-serif; }
body { --radius:14px; --line:color-mix(in srgb, var(--primary) 28%, transparent); --shadow:0 14px 34px color-mix(in srgb, var(--deep) 8%, transparent); font-size:1.15rem; }
body::before { background:
  radial-gradient(60% 40% at 0% 0%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 70%),
  radial-gradient(60% 40% at 100% 100%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 70%),
  var(--bg); }
h2 { color:var(--deep); }
.d-item svg { stroke:var(--primary); }
.d-item small, .families small, .eyebrow { color:var(--primary); }

/* Açılış: yapraklar savrulur */
.tpl-botanik .opening { background:radial-gradient(80% 60% at 50% 45%, var(--paper), var(--soft)); transition:opacity .8s var(--ease) 1.1s, visibility 0s 2.1s; }
.paper-card { z-index:2; display:grid; gap:10px; justify-items:center; width:min(78vw,300px); padding:46px 22px; background:var(--paper); border-radius:120px 120px 10px 10px; box-shadow:0 20px 50px color-mix(in srgb, var(--deep) 18%, transparent); outline:1px solid color-mix(in srgb, var(--primary) 30%, transparent); outline-offset:-10px; transition:transform 1.1s var(--ease), opacity .6s .5s; }
.paper-card small { font:500 .68rem var(--f-ui); letter-spacing:.28em; text-transform:uppercase; color:var(--primary); }
.paper-card b { font:400 2.6rem/1.15 var(--f-display); color:var(--deep); }
.paper-card i { font-style:normal; color:var(--gold); }
.paper-card span { font:italic 1.05rem var(--f-body); color:var(--muted); }
.leaf { position:absolute; z-index:3; width:150px; color:var(--primary); pointer-events:none; transition:transform 1.3s cubic-bezier(.5,0,.3,1), opacity 1.1s; }
.leaf.l1 { left:-30px; top:6%; rotate:35deg; }
.leaf.l2 { right:-36px; top:16%; rotate:-140deg; color:var(--deep); }
.leaf.l3 { left:-20px; bottom:8%; rotate:-30deg; color:var(--gold); width:120px; }
.leaf.l4 { right:-20px; bottom:2%; rotate:200deg; }
.leaf.l5 { left:42%; top:-60px; rotate:170deg; width:110px; color:var(--deep); opacity:.8; }
.tpl-botanik .opening-hint { z-index:4; }
.is-opening .leaf.l1 { transform:translate(-120vw,-30vh) rotate(-80deg); }
.is-opening .leaf.l2 { transform:translate(110vw,-20vh) rotate(90deg); }
.is-opening .leaf.l3 { transform:translate(-100vw,40vh) rotate(-120deg); }
.is-opening .leaf.l4 { transform:translate(100vw,30vh) rotate(100deg); }
.is-opening .leaf.l5 { transform:translate(10vw,-80vh) rotate(200deg); }
.is-opening .paper-card { transform:scale(1.08) translateY(-10px); }
.is-stage2 .paper-card { opacity:0; }

/* Kapak */
.hero { gap:22px; overflow:hidden; margin-inline:-20px; padding-inline:20px; }
.deco { position:absolute; width:130px; color:var(--primary); opacity:.85; pointer-events:none; }
.deco.d1 { left:-34px; top:-14px; rotate:150deg; }
.deco.d2 { right:-34px; bottom:40px; rotate:-20deg; color:var(--gold); }
.is-open .deco { animation:sway 6s ease-in-out infinite alternate; }
@keyframes sway { to { transform:rotate(6deg); } }
.window { width:min(64vw,250px); aspect-ratio:4/5; padding:8px; border-radius:999px 999px 14px 14px; border:1px solid color-mix(in srgb, var(--primary) 45%, transparent); }
.window > img, .window-in { width:100%; height:100%; object-fit:cover; border-radius:999px 999px 10px 10px; }
.window-in { position:relative; display:grid; place-items:center; overflow:hidden; background:linear-gradient(180deg, var(--soft), var(--paper)); }
.window-in .sprig { position:absolute; width:62%; bottom:-18px; color:var(--primary); opacity:.55; }
.window-in span { position:relative; font:400 3.4rem/1 var(--f-display); color:var(--deep); }
.names { font:400 clamp(3.5rem,15vw,4.8rem)/1.05 var(--f-display); color:var(--deep); }
.names em { font:italic 400 .36em/1.5 var(--f-body); color:var(--primary); }
.date-line { font:500 .78rem/1.8 var(--f-ui); color:var(--deep); }
.date-line span + span::before { content:"❧"; font-size:.95em; vertical-align:0; color:var(--primary); }

.cd div { border-radius:999px 999px 10px 10px; aspect-ratio:3/4; box-shadow:none; border-color:var(--line); }
.cd b { color:var(--deep); }
.families b { font-style:italic; }
.amp { color:var(--primary); }
.btn { letter-spacing:.14em; }
.sign b { font-size:3rem; color:var(--deep); }
