/* Birthday week — a personal invitation, not a promotion */
.jl .bd-open{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center;max-width:1240px;margin:0 auto;padding:64px clamp(20px,4vw,56px) 72px}
.jl .bd-photo{margin:0;position:relative;background:#FBF9F8;padding:12px 12px 16px;box-shadow:0 1px 2px rgba(50,15,22,.14),0 14px 30px rgba(50,15,22,.14);transform:rotate(-1.4deg)}
.jl .bd-photo img{display:block;width:100%;height:auto}
.jl .bd-photo figcaption{position:absolute;right:-14px;bottom:-30px;font-size:30px;transform:rotate(-5deg)}
.jl .bd-card{position:relative;background:#FBF9F8;border:1px solid rgba(90,15,29,.3);border-radius:12px;padding:58px clamp(28px,4vw,60px) 46px;box-shadow:inset 0 0 0 8px #FBF9F8,inset 0 0 0 9px rgba(122,43,58,.28),0 1px 2px rgba(50,15,22,.14),0 16px 30px rgba(50,15,22,.12);transform:rotate(.8deg)}
.jl .bd-card .bday-pip{position:absolute;display:flex;flex-direction:column;align-items:center;font:600 17px/1 "Instrument Sans",sans-serif;color:#9E1B2A}
.jl .bd-card .bday-pip i{font-style:normal;margin-top:3px}
.jl .bd-card .bday-pip.tl{left:18px;top:18px}
.jl .bd-card .bday-pip.br{right:18px;bottom:18px;transform:rotate(180deg)}
.jl .bd-ribbon{position:absolute;right:-40px;top:-40px;width:170px;transform:rotate(16deg);pointer-events:none;filter:drop-shadow(1px 2px 1px rgba(50,15,22,.16))}
.jl .bd-card h1{font-size:clamp(46px,5vw,72px);line-height:.96;margin-top:14px}
.jl .bd-card h1 .scr{display:block;font-size:1.08em;margin-top:6px}
.jl .bd-card p{font-size:18.5px;line-height:1.6;color:#2F2522;margin-top:14px}
.jl .bd-card .bd-lede{font-size:21px;margin-top:22px}
.jl .bd-card .bd-honest{font-size:16px;color:#4A3631;border-left:2px solid #C99AA5;padding-left:14px;margin-top:20px}
.jl .bd-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.jl .bd-ghost{background:transparent;color:#5A0F1D;border:1px solid #5A0F1D}
.jl .bd-ghost:hover{background:#F6EEF0;color:#5A0F1D}
.jl .bd-card .bd-num{font:500 15px/1.4 "Instrument Sans",sans-serif;margin-top:14px}
.jl .bd-card .bd-num a{color:#5A0F1D}
.jl .bd-how{max-width:880px;margin:0 auto;padding:40px clamp(20px,4vw,56px) 80px}
.jl .bd-how h2{font-size:clamp(40px,4.4vw,58px);line-height:1}
.jl .bd-how ol{list-style:none;padding:0;margin:26px 0 0;counter-reset:b;border-top:1px solid rgba(90,15,29,.18)}
.jl .bd-how li{position:relative;padding:16px 0 16px 52px;border-bottom:1px solid rgba(90,15,29,.18);font-size:19px;line-height:1.5}
.jl .bd-how li::before{counter-increment:b;content:counter(b) ".";position:absolute;left:4px;top:10px;font:400 30px/1 "True Fate Script",cursive;color:#A55A6A}
.jl .bd-how b{font-weight:500;color:#5A0F1D}
.jl .bd-fine{margin-top:18px;font-size:16px;color:#4A3631}
.jl .bd-fine a{color:#5A0F1D}
.jl .bd a:focus-visible{outline:2px solid #5A0F1D;outline-offset:4px}
@container jl (max-width:760px){
  .jl .bd-open{grid-template-columns:minmax(0,1fr);padding:24px 14px 48px;gap:40px}
  .jl .bd-photo{transform:none;padding:8px;max-width:440px;margin:0 auto}
  .jl .bd-photo figcaption{right:6px;bottom:-26px;font-size:26px}
  .jl .bd-card{transform:none;padding:52px 22px 36px}
  .jl .bd-ribbon{right:-10px;top:-34px;width:120px}
  .jl .bd-acts .btn{flex:1 1 140px}
  .jl .bd-how{padding:20px 16px 56px}
  .jl .bd-how li{font-size:18px}
}
@container jl (max-width:760px){.jl .bd-photo figcaption{left:10px;right:auto}}
.jl .bd-locket{position:absolute;left:-30px;bottom:56px;width:72px;transform:rotate(-14deg);pointer-events:none;filter:drop-shadow(1px 2px 1px rgba(50,15,22,.18))}
@container jl (max-width:760px){.jl .bd-locket{left:14px;bottom:auto;top:-34px;width:52px}.jl .bd-photo figcaption{left:64px;right:auto;bottom:-30px;font-size:24px}}
