/* gift cards page */
.head-wave{display:block;width:100%;height:46px;margin-top:-1px}
.gc-hero{background:var(--soft)}
.gc-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding-top:40px;padding-bottom:40px}
.gc-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:6px}
.gc-buy{min-height:64px;font-size:20px}
.gc-secure{font-size:14px;font-weight:600;color:var(--muted)}
.gc-art{position:relative;max-width:440px;width:100%;aspect-ratio:1.4;justify-self:center}
.gc-card{position:absolute;width:86%;aspect-ratio:1.586;border-radius:24px;border:3px solid var(--ink);box-shadow:0 10px 0 var(--ink)}
.gc-back{right:0;top:0;background:var(--lime);transform:rotate(8deg)}
.gc-front{left:0;bottom:0;background:var(--pink);padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transform:rotate(-5deg);animation:gcfloat 4.5s ease-in-out infinite}
.gc-front::before{content:"";position:absolute;right:-30px;top:0;bottom:0;width:90px;background:var(--lime);border-left:3px solid var(--ink)}
.gc-front img{position:relative;width:auto;height:58px}
.gc-kind{position:relative;font-family:'Fraunces',Georgia,serif;font-weight:900;font-size:clamp(30px,3.4vw,42px);line-height:1;color:#fff;-webkit-text-stroke:1.5px var(--ink);font-variation-settings:'SOFT' 100,'WONK' 1}
.gc-tagline{position:relative;margin-top:6px;font-size:14px;font-weight:700;color:var(--ink);max-width:70%}
@keyframes gcfloat{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-10px)}}
.gc-how{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-top:36px;padding-bottom:96px;border-top:2px dashed rgba(26,16,20,.2)}
.gc-how-h{font-size:clamp(34px,4vw,52px)}
.gc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;width:100%}
.gc-steps li{display:flex;gap:16px;align-items:flex-start}
.gc-steps p{color:var(--muted);font-size:16px}.gc-steps .label{color:var(--ink);font-size:18px;font-weight:700}
@media (max-width:860px){.gc-grid{grid-template-columns:1fr;gap:40px;padding-top:28px}.gc-art{max-width:360px}}
@media (prefers-reduced-motion:reduce){.gc-front{animation:none}}
.site-footer .wave-top{background:var(--soft)}

/* gift card illustration with red bow */
.gc-art{aspect-ratio:auto;max-width:480px}
.gc-svg{display:block;width:100%;height:auto;overflow:visible;transform:rotate(-5deg);animation:gcfloat 4.5s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.gc-svg{animation:none}}

/* stacked gift cards */
.gc-art{max-width:470px}
.gcs{position:relative;width:100%;max-width:470px;aspect-ratio:.8;perspective:1400px;margin:0 auto}
.gcs-pos{position:absolute;left:4%;width:88%;animation:gcsbob 5s ease-in-out infinite}
.gcs-pos.p1{top:0;z-index:3}
.gcs-pos.p2{top:31%;left:0;z-index:2;animation-delay:-1.6s}
.gcs-pos.p3{top:62%;left:8%;z-index:1;animation-delay:-3.2s}
@keyframes gcsbob{0%,100%{translate:0 0}50%{translate:0 -10px}}
.gcs-card{position:relative;aspect-ratio:1.586;border-radius:18px;overflow:hidden;transform:rotateX(38deg) rotateY(-6deg) rotateZ(-13deg);transform-style:preserve-3d;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 30px 40px -18px rgba(26,16,20,.45),0 10px 14px -8px rgba(26,16,20,.35)}
.p2 .gcs-card{transform:rotateX(38deg) rotateY(-4deg) rotateZ(-15deg)}
.p3 .gcs-card{transform:rotateX(36deg) rotateY(-8deg) rotateZ(-11deg)}
.gcs-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 38%,rgba(255,255,255,0) 70%,rgba(255,255,255,.18) 100%);pointer-events:none}
.gcs-card svg{display:block;width:100%;height:100%}
/* card 2: candy stripes */
.c2{background:repeating-linear-gradient(-55deg,var(--pink) 0 34px,#FF6F8F 34px 40px,var(--pink) 40px 74px,var(--lime) 74px 92px)}
.c2 .logo{position:absolute;right:6%;bottom:8%;width:38%;height:auto;filter:drop-shadow(0 2px 0 rgba(255,255,255,.5))}
.c2 .lbl{position:absolute;left:7%;bottom:10%;font-family:'Fraunces',Georgia,serif;font-variation-settings:'SOFT' 100;font-weight:900;font-size:clamp(20px,3vw,30px);color:#fff;text-shadow:0 2px 0 rgba(26,16,20,.35)}
/* card 3: sprinkles + curved band */
.c3{background-color:#FFF8EE;background-image:radial-gradient(circle at 20% 30%,var(--pink) 0 5px,transparent 6px),radial-gradient(circle at 60% 20%,var(--lime) 0 5px,transparent 6px),radial-gradient(circle at 80% 55%,var(--blush) 0 6px,transparent 7px),radial-gradient(circle at 40% 65%,#7FD3F7 0 4px,transparent 5px);background-size:70px 70px}
.c3 .band{position:absolute;inset:auto -10% -46% -10%;height:85%;background:var(--ink);border-radius:50% 50% 0 0/40% 40% 0 0;transform:rotate(-8deg)}
.c3 .logo{position:absolute;right:9%;top:20%;width:27%;height:auto}
.c3 .lbl{position:absolute;left:9%;bottom:9%;font-weight:700;font-size:clamp(18px,2.6vw,26px);color:var(--lime);letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){.gcs-pos{animation:none}}

/* real gift card photo, angled like a product mockup, jiggles on hover */
.gc-photo{position:relative;max-width:470px;margin:0 auto;perspective:1300px;padding:20px 0 40px;animation:gcbob 5s ease-in-out infinite}
.gc-tilt{transform:rotateY(22deg) rotateX(6deg) rotateZ(-8deg)}
.gc-photo img{display:block;width:100%;height:auto;border-radius:16px;cursor:pointer;box-shadow:0 2px 0 rgba(255,255,255,.7) inset,18px 34px 40px -16px rgba(26,16,20,.35),4px 10px 14px -6px rgba(26,16,20,.25)}
.gc-photo:hover img{animation:cupjiggle .6s ease-in-out infinite}
@keyframes gcbob{0%,100%{translate:0 0}50%{translate:0 -10px}}
@media (prefers-reduced-motion:reduce){.gc-photo,.gc-photo:hover img{animation:none}}

/* cartoon style + smaller */
.gc-photo{max-width:370px;padding:16px 0 32px}
.gc-tilt{transform:rotateY(10deg) rotateZ(-6deg)}
.gc-photo img{border:3.5px solid var(--ink);border-radius:20px;box-shadow:0 10px 0 var(--ink)}
@media (max-width:860px){.gc-photo{max-width:300px}}
.gc-spark{position:absolute;z-index:2;font-size:34px;line-height:1;color:var(--lime);-webkit-text-stroke:2px var(--ink);animation:gctwinkle 2.4s ease-in-out infinite;pointer-events:none}
.gc-spark.s1{top:0;left:-14px}
.gc-spark.s2{bottom:6px;right:-12px;font-size:26px;color:var(--pink);animation-delay:-1.2s}
@keyframes gctwinkle{0%,100%{transform:scale(.8) rotate(0)}50%{transform:scale(1.15) rotate(20deg)}}
@media (prefers-reduced-motion:reduce){.gc-spark{animation:none}}
