/* ===== A: sunny meadow ===== */
.look-a{--ink:#4A3428;--cream:#FFF8E8;--butter:#FFE58A;--sun:#FFC82E;--red:#E8432E;--orange:#E2701A;--blue:#3E9BE0;
  --a-outline:.045em 0 #fff,.042em .017em #fff,.032em .032em #fff,.017em .042em #fff,0 .045em #fff,-.017em .042em #fff,-.032em .032em #fff,-.042em .017em #fff,-.045em 0 #fff,-.042em -.017em #fff,-.032em -.032em #fff,-.017em -.042em #fff,0 -.045em #fff,.017em -.042em #fff,.032em -.032em #fff,.042em -.017em #fff,
  .08em 0 var(--ink),.074em .031em var(--ink),.057em .057em var(--ink),.031em .074em var(--ink),0 .08em var(--ink),-.031em .074em var(--ink),-.057em .057em var(--ink),-.074em .031em var(--ink),-.08em 0 var(--ink),-.074em -.031em var(--ink),-.057em -.057em var(--ink),-.031em -.074em var(--ink),0 -.08em var(--ink),.031em -.074em var(--ink),.057em -.057em var(--ink),.074em -.031em var(--ink),
  0 .15em 0 rgba(74,52,40,.22);
  background:var(--cream);color:var(--ink);font-family:Alegreya,Georgia,serif;font-size:18px;line-height:1.55;overflow-x:hidden}
.look-a h2{font-family:"Luckiest Guy",cursive;font-weight:400;color:var(--orange);font-size:clamp(32px,8.6vw,46px);line-height:1.05;letter-spacing:.02em;margin:0 0 12px;text-align:center}
.a-hero{position:relative;overflow:hidden;text-align:center;padding:0 16px;
  background:radial-gradient(55% 30% at 18% 14%,rgba(255,255,255,.85),transparent 70%),radial-gradient(45% 28% at 88% 30%,rgba(255,236,190,.75),transparent 70%),linear-gradient(#B9E1F5 0%,#D9EFF8 34%,#FFF3D2 68%,#FFF8E8 100%)}
.a-cloud{position:absolute;fill:#fff;pointer-events:none}
.a-cloud.c1{width:170px;top:74px;left:-48px;opacity:.95;animation:a-drift 24s ease-in-out infinite alternate}
.a-cloud.c2{width:200px;top:190px;right:-74px;opacity:.9;animation:a-drift 30s ease-in-out infinite alternate-reverse}
.a-cloud.c3{width:120px;top:350px;left:-34px;opacity:.75;animation:a-drift 36s ease-in-out infinite alternate}
@keyframes a-drift{to{transform:translateX(40px)}}
.a-bunting{display:block;width:calc(100% + 32px);height:76px;margin:0 -16px}
.a-call{position:relative;margin:4px 0 0;font-family:"Gochi Hand",cursive;font-size:27px;line-height:1.1;color:var(--orange);transform:rotate(-3deg)}
.a-name{position:relative;margin:10px 0 0;font-family:"Luckiest Guy",cursive;font-weight:400;font-size:clamp(66px,19.5vw,136px);line-height:1;letter-spacing:.01em;white-space:nowrap}
.a-name span{display:inline-block;color:var(--c);text-shadow:var(--a-outline);transform:rotate(var(--r));animation:a-pop .8s cubic-bezier(.2,1.5,.4,1) both;animation-delay:var(--d)}
@keyframes a-pop{0%{opacity:0;transform:translateY(30px) scale(.4) rotate(var(--r))}100%{opacity:1;transform:rotate(var(--r))}}
.a-turning{position:relative;margin:8px 0 0;font-family:"Gochi Hand",cursive;font-size:30px;line-height:1}
.a-one{position:relative;display:inline-flex;align-items:center;margin:4px 0 0;font-family:"Luckiest Guy",cursive;font-size:clamp(76px,23vw,150px);line-height:1;color:var(--blue);text-shadow:var(--a-outline)}
.a-one .ball{width:.78em;height:.78em;margin:0 .05em .07em 0;transform-origin:50% 85%;animation:a-wobble 3.2s ease-in-out 1.2s infinite;
  box-shadow:inset 0 0 0 .065em #2A211C,inset -.06em -.08em 0 .05em rgba(0,0,0,.1),0 0 0 .045em #fff,0 0 0 .08em var(--ink),0 .15em 0 rgba(74,52,40,.22)}
@keyframes a-wobble{0%,62%,100%{transform:rotate(0)}70%{transform:rotate(-16deg)}78%{transform:rotate(13deg)}86%{transform:rotate(-7deg)}93%{transform:rotate(3deg)}}
.a-date{position:relative;margin:14px 0 0;font-weight:800;font-size:20px}
.a-count{position:relative;display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:5px 14px 5px 10px;background:var(--butter);border:2.5px solid var(--ink);border-radius:999px;font-weight:700;font-size:16px;line-height:1.2}
.a-count svg{width:18px;height:18px;fill:var(--orange)}
.a-hill{position:relative;height:clamp(196px,52vw,340px);margin:12px -16px 0}
.a-hill .ground{position:absolute;left:0;right:0;bottom:0;width:100%;height:58%}
.a-mons{position:absolute;left:0;right:0;bottom:28%;max-width:720px;margin:0 auto;padding:0 4%;display:flex;align-items:flex-end;justify-content:center}
.a-mons img{width:21%;margin:0 -2%;filter:drop-shadow(0 5px 0 rgba(60,110,40,.25));animation:a-hop 2.8s ease-in-out infinite}
.a-mons img:nth-child(2){animation-delay:.35s}
.a-mons img:nth-child(4){animation-delay:.7s}
.a-mons img:nth-child(5){animation-delay:1.05s}
.a-mons .pika{position:relative;z-index:2;width:31%;margin-bottom:-4%;animation-delay:.2s}
@keyframes a-hop{0%,70%,100%{transform:translateY(0)}80%{transform:translateY(-9%)}}

.a-meadow{position:relative;padding:10px 18px 128px;text-align:center;background:linear-gradient(#8CCB60,#9AD06A 30%,#A8D877 100%)}
.a-daisy{position:absolute;width:26px;height:26px}
.a-photo{position:relative;width:min(76%,330px);aspect-ratio:4/5;margin:0 auto}
.a-photo .takumi-photo{position:absolute;inset:0;border:9px solid #fff;border-radius:22px;box-shadow:0 12px 24px rgba(40,70,20,.25);transform:rotate(-2.5deg)}
.a-photo .eevee{position:absolute;width:44%;right:-20%;bottom:-8%;transform:rotate(6deg);filter:drop-shadow(0 4px 0 rgba(40,70,20,.2))}
.a-welcome{max-width:28ch;margin:30px auto 26px;font-size:21px;line-height:1.4;font-weight:700}
.a-card{position:relative;z-index:1;max-width:430px;margin:0 auto;padding:24px 20px;background:#FFFDF6;border-radius:28px;box-shadow:0 8px 0 rgba(50,90,30,.25);text-align:left}
.a-row{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:start;padding:14px 0}
.a-row + .a-row{border-top:2px dotted #E6D4B0}
.a-row svg{width:42px;height:42px;fill:none;stroke:var(--orange);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.a-row b{display:block;font-size:20px;line-height:1.25;font-weight:800}
.a-row span{display:block;line-height:1.4}
.a-btn{display:flex;align-items:center;justify-content:center;min-height:54px;margin-top:16px;padding:6px 18px 2px;border:3px solid var(--ink);border-radius:999px;background:var(--sun);color:var(--ink);font:400 20px/1 "Luckiest Guy",cursive;letter-spacing:.04em;text-decoration:none;box-shadow:0 5px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.a-btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--ink)}
.a-btn:active{transform:translateY(5px);box-shadow:0 0 0 var(--ink)}
.a-btn:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.a-btn.red{background:var(--red);color:#fff}
.a-meadow .psy{position:absolute;z-index:2;width:28%;max-width:150px;left:2%;bottom:6px}
.a-meadow .togepi{position:absolute;z-index:2;width:22%;max-width:120px;right:4%;bottom:14px}

.a-edge{display:block;width:100%;height:34px;background:var(--cream)}
.a-gifts{position:relative;padding:26px 22px 56px;text-align:center;background:var(--cream)}
.a-gifts .lead{max-width:34ch;margin:0 auto}
.a-gift-list{list-style:none;max-width:520px;margin:30px auto 28px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.a-gift-list li{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:16px;line-height:1.3;font-weight:700}
.a-gift-list .ic{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:var(--butter)}
.a-gift-list svg{width:54px;height:54px;fill:none;stroke:var(--orange);color:var(--orange);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.a-thanks{margin:0;font-family:"Gochi Hand",cursive;font-size:25px;line-height:1.2;color:var(--orange)}

.a-rsvp{position:relative;overflow:hidden;padding:24px 18px 160px;text-align:center;background:linear-gradient(var(--cream),#FFF0C2 60%,#FFE79A)}
.a-rsvp .hill2{position:absolute;left:0;right:0;bottom:0;width:100%;height:110px}
.a-rsvp-card{position:relative;z-index:1;max-width:430px;margin:0 auto;padding:26px 20px;background:#fff;border:3px solid var(--ink);border-radius:30px;box-shadow:0 8px 0 var(--ink)}
.a-note p{margin:0 0 12px}
.a-deadline{font-size:19px;font-weight:700}
.a-sign{font-family:"Gochi Hand",cursive;font-size:25px;line-height:1.2;color:var(--orange)}
.a-rsvp .pika-wave{position:absolute;z-index:2;width:40%;max-width:210px;right:-2%;bottom:8px}
.a-foot{padding:6px 16px 30px;text-align:center;background:#8CCB60;color:#23401A;font-family:"Gochi Hand",cursive;font-size:24px}
.a-foot small{display:block;margin-top:4px;font-family:Alegreya,serif;font-size:15px}
.a-float{position:fixed;right:14px;bottom:16px;z-index:30;display:flex;align-items:center;gap:8px;text-decoration:none;transition:opacity .25s,transform .25s}
.a-float .ball{font-size:52px;box-shadow:inset 0 0 0 .065em #2A211C,inset -.06em -.08em 0 .05em rgba(0,0,0,.1),0 4px 0 rgba(0,0,0,.18)}
.a-float b{padding:8px 12px 5px;background:#fff;border:2.5px solid var(--ink);border-radius:999px;color:var(--ink);font:400 17px/1 "Luckiest Guy",cursive;letter-spacing:.06em;box-shadow:0 3px 0 var(--ink)}
.a-float.away{opacity:0;transform:translateY(16px);pointer-events:none}
