.gift-section{margin:54px auto; max-width:900px;}
.gift-section h2{font-size:26px; color:var(--field); margin-bottom:18px; text-align:center;}
.gift-note{text-align:center; color:var(--muted); margin:-6px auto 22px; max-width:520px;}
.gift-ideas{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px;}
.gift-idea{background:#fff; border:1.5px solid var(--line); border-radius:6px; padding:20px 22px;}
.gift-idea h3{font-size:17px; color:var(--field); margin-bottom:6px;}
.gift-idea p{font-size:14.5px; color:var(--muted); margin:0;}
.gift-steps{max-width:700px; margin:0 auto; padding-left:22px; display:grid; gap:14px; color:var(--ink,#2a2a2a);}
.gc-layout{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start;}
.gc-form{display:grid; gap:14px;}
.gc-form textarea{width:100%; font:inherit; padding:10px 12px; border:1.5px solid var(--line); border-radius:6px;}
.gc-card{background:var(--field); color:var(--chalk); border-radius:8px; padding:10px; box-shadow:0 18px 30px -20px rgba(0,0,0,.5);}
.gc-inner{border:1.5px solid var(--dirt); border-radius:5px; padding:30px 24px; text-align:center;}
.gc-kicker{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--dirt); margin:0 0 10px;}
.gc-card h3{font-family:'Roboto Slab',serif; font-size:24px; line-height:1.2; margin:0 0 16px; color:var(--chalk);}
.gc-to,.gc-from{margin:8px 0; font-size:15px; color:var(--chalk);}
.gc-msg{margin:14px auto; max-width:300px; font-style:italic; font-size:14.5px; color:rgba(243,238,225,.9);}
.gc-foot{margin:22px 0 0; font-size:11.5px; color:rgba(243,238,225,.7); line-height:1.5;}
.gc-to strong,.gc-from strong{color:var(--dirt);}
.gift-cta{text-align:center;}
@media (max-width:720px){.gc-layout{grid-template-columns:1fr;}}
@media print{
  body *{visibility:hidden;}
  #gcCard,#gcCard *{visibility:visible;}
  #gcCard{position:absolute; left:50%; top:40px; transform:translateX(-50%); width:5.5in; -webkit-print-color-adjust:exact; print-color-adjust:exact; box-shadow:none;}
}
