/* speaking */
#speaking{position:relative;overflow:hidden}
#speaking:before{content:"";position:absolute;inset:0;background:radial-gradient(45% 60% at 92% 10%,rgba(236,46,46,.14),transparent 65%);pointer-events:none}
#speaking .wrap{position:relative}
.speak-head{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end}
.speak-head .cred{color:var(--soft);font-size:17px;border-left:3px solid var(--red);padding-left:18px}
.speak-head .cred strong{color:var(--white);font-weight:600}
.speak-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.speak-card{background:var(--card);border:1px solid var(--red-border);border-radius:20px;padding:30px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.speak-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--red);box-shadow:0 0 18px var(--red-glow)}
.speak-card:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:0 16px 48px rgba(236,46,46,.2)}
.speak-card .mark{width:52px;height:52px;border-radius:14px;background:var(--red-dim);color:var(--red);display:grid;place-items:center;font-weight:700;font-size:17px;margin-bottom:20px;border:1px solid var(--red-border)}
.speak-card h3{font-size:24px;margin-bottom:10px}
.speak-card p{color:var(--soft);font-size:16px;flex:1;margin-bottom:20px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:var(--soft)}
.chips span.hot{border-color:var(--red-border);background:var(--red-dim);color:#fff}
.speak-cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.speak-cta .note{font-size:14px;color:var(--muted)}

/* booking */
#booking{scroll-margin-top:80px}
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.book-card{background:var(--card);border:1px solid var(--red-border);border-radius:20px;padding:30px 28px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}
.book-card:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:0 16px 48px rgba(236,46,46,.18)}
.book-card.feat{background:linear-gradient(160deg,rgba(236,46,46,.14),var(--card) 50%);border-color:var(--red)}
.book-card .kind{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.book-card h3{font-size:24px;margin-bottom:10px}
.book-card .price{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:22px;font-weight:700;margin-bottom:14px}
.book-card .price small{font-size:14px;font-weight:500;color:var(--muted)}
.book-card > p{color:var(--soft);font-size:16px;margin-bottom:16px}
.book-card ul{list-style:none;margin:0 0 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.book-card li{position:relative;padding-left:22px;color:var(--soft);font-size:15px}
.book-card li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red-glow)}
.book-card li strong{color:var(--white);font-weight:600}
.book-card .btn{align-self:flex-start}
.book-area{margin-top:56px;padding-top:48px;border-top:1px solid var(--border)}
.book-area > .lede{margin-bottom:0}
.book-foot{font-size:13px;color:var(--muted);margin-top:22px;max-width:760px}

@media (max-width:820px){
  .speak-head,.speak-grid,.book-grid{grid-template-columns:1fr;gap:20px}
  .speak-head{align-items:start}
}
