/* ruthgilbert.com: one page, no scripts. Petal positions are fixed values so no inline styles are needed. */
@font-face{font-family:"Great Vibes";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/great-vibes.woff2) format("woff2")}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{position:relative;overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#fffaf6 0%,#fdeee9 55%,#f8dde0 100%);color:#a3305c;font-family:Georgia,"Times New Roman",serif}
main{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;text-align:center}
h1{margin:0;padding:0 .12em .1em;font-family:"Great Vibes","Snell Roundhand","Apple Chancery",cursive;font-weight:400;font-size:clamp(84px,17vw,210px);line-height:1.15;text-wrap:balance;background-image:linear-gradient(95deg,#a3305c 0%,#cf5a63 30%,#b2803a 55%,#cf5a63 78%,#a3305c 100%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 10s ease-in-out infinite alternate}
.dots{margin:0;font-size:14px;letter-spacing:.6em;padding-left:.6em;color:#9b6a6e}
@keyframes flow{from{background-position:0% 50%}to{background-position:100% 50%}}
.glow{position:absolute;z-index:0;border-radius:50%;filter:blur(60px);animation:pulse 9s ease-in-out infinite alternate;pointer-events:none}
.glow.a{left:18%;top:16%;width:min(460px,70vw);height:min(460px,70vw);background:radial-gradient(circle,#ffd4cf,rgba(255,212,207,0) 70%)}
.glow.b{right:12%;bottom:10%;width:min(520px,80vw);height:min(520px,80vw);background:radial-gradient(circle,#f4c9dd,rgba(244,201,221,0) 70%);animation-delay:-4s}
@keyframes pulse{from{opacity:.55;transform:scale(1)}to{opacity:.9;transform:scale(1.12)}}
.paper{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:.2;mix-blend-mode:multiply;pointer-events:none}
.petals{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.petals i{position:absolute;top:-60px;display:block;border-radius:100% 0 100% 0;animation:fall linear infinite;will-change:transform}
@keyframes fall{0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}8%{opacity:.95}50%{transform:translate3d(60px,60vh,0) rotate(200deg)}100%{transform:translate3d(-30px,115vh,0) rotate(420deg);opacity:0}}
.petals i:nth-child(1){left:18.6%;width:15px;height:20px;background:linear-gradient(135deg,#f8b8c8,#f08fab);animation-duration:15.2s;animation-delay:-5.1s}
.petals i:nth-child(2){left:72.0%;width:15px;height:21px;background:linear-gradient(135deg,#fbd0d6,#f4a3b5);animation-duration:17.0s;animation-delay:-19.8s}
.petals i:nth-child(3){left:55.2%;width:21px;height:29px;background:linear-gradient(135deg,#ffe0d6,#f7b5a8);animation-duration:15.6s;animation-delay:-12.9s}
.petals i:nth-child(4){left:44.7%;width:21px;height:28px;background:linear-gradient(135deg,#f6c6dc,#e79bc0);animation-duration:22.8s;animation-delay:-0.8s}
.petals i:nth-child(5){left:27.2%;width:33px;height:44px;background:linear-gradient(135deg,#f8b8c8,#f08fab);animation-duration:19.4s;animation-delay:-2.6s}
.petals i:nth-child(6){left:80.1%;width:25px;height:33px;background:linear-gradient(135deg,#fbd0d6,#f4a3b5);animation-duration:22.9s;animation-delay:-6.4s}
.petals i:nth-child(7){left:73.3%;width:25px;height:34px;background:linear-gradient(135deg,#ffe0d6,#f7b5a8);animation-duration:20.3s;animation-delay:-23.4s}
.petals i:nth-child(8){left:49.4%;width:25px;height:34px;background:linear-gradient(135deg,#f6c6dc,#e79bc0);animation-duration:13.5s;animation-delay:-10.3s}
.petals i:nth-child(9){left:51.3%;width:25px;height:34px;background:linear-gradient(135deg,#f8b8c8,#f08fab);animation-duration:22.1s;animation-delay:-0.1s}
.petals i:nth-child(10){left:51.1%;width:25px;height:34px;background:linear-gradient(135deg,#fbd0d6,#f4a3b5);animation-duration:12.7s;animation-delay:-12.0s}
.petals i:nth-child(11){left:2.9%;width:22px;height:29px;background:linear-gradient(135deg,#ffe0d6,#f7b5a8);animation-duration:15.4s;animation-delay:-13.9s}
.petals i:nth-child(12){left:57.9%;width:32px;height:44px;background:linear-gradient(135deg,#f6c6dc,#e79bc0);animation-duration:20.9s;animation-delay:-17.7s}
.petals i:nth-child(13){left:59.7%;width:30px;height:41px;background:linear-gradient(135deg,#f8b8c8,#f08fab);animation-duration:19.6s;animation-delay:-15.1s}
.petals i:nth-child(14){left:39.5%;width:18px;height:24px;background:linear-gradient(135deg,#fbd0d6,#f4a3b5);animation-duration:13.6s;animation-delay:-0.5s}
.petals i:nth-child(15){left:82.5%;width:29px;height:39px;background:linear-gradient(135deg,#ffe0d6,#f7b5a8);animation-duration:12.8s;animation-delay:-10.1s}
.petals i:nth-child(16){left:33.7%;width:27px;height:37px;background:linear-gradient(135deg,#f6c6dc,#e79bc0);animation-duration:14.5s;animation-delay:-8.4s}
.petals i:nth-child(17){left:41.6%;width:33px;height:45px;background:linear-gradient(135deg,#f8b8c8,#f08fab);animation-duration:17.9s;animation-delay:-5.8s}
.petals i:nth-child(18){left:23.8%;width:23px;height:31px;background:linear-gradient(135deg,#fbd0d6,#f4a3b5);animation-duration:17.3s;animation-delay:-11.2s}
@media (max-width:600px){.petals i:nth-child(n+11){display:none}.paper{display:none}}
@media (prefers-reduced-motion:reduce){h1,.glow,.petals i{animation:none}}
