/* Speaking page (extends style.css + packages.css) */
.sp-hero{padding:clamp(48px,6vw,96px) 0 clamp(56px,7vw,104px)}
.sp-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.sp-hero h1{font-size:clamp(44px,6.2vw,92px);margin-bottom:clamp(28px,3vw,40px)}
.punch{display:grid;gap:0;margin:0 0 28px;padding:0;list-style:none;border-top:1px solid var(--line)}
.punch li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);font-size:clamp(21px,2vw,29px);font-weight:700;font-stretch:88%;line-height:1.2;letter-spacing:-.01em}
.punch li::before{content:"✕";font-size:18px;font-weight:800;color:var(--blue)}
.punch li:nth-child(n){counter-increment:none}
.sp-hero__kicker{margin:0 0 28px;font-size:clamp(18px,1.5vw,21px);color:var(--muted)}
.sp-hero__kicker strong{color:var(--ink)}
.sp-hero__img{position:relative;margin:0}
.sp-hero__img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:var(--radius)}
.sp-hero__img figcaption{position:absolute;left:16px;bottom:16px;padding:10px 14px;background:#fff;border-radius:var(--radius);font-size:14px;color:var(--muted);line-height:1.35}
.sp-hero__img figcaption strong{display:block;color:var(--ink);font-size:16px}
.topics{margin:0;padding:0;list-style:none;counter-reset:t;border-top:2px solid var(--ink)}
.topics li{counter-increment:t;display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:baseline;padding:clamp(18px,2vw,26px) 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}
.topics li::before{content:counter(t,decimal-leading-zero);font-size:15px;font-weight:800;letter-spacing:.08em;color:var(--blue-deep)}
.topics li span{font-size:clamp(22px,2.4vw,34px);font-weight:800;font-stretch:86%;line-height:1.1;letter-spacing:-.01em}
.topics li:hover{padding-left:12px;background:var(--blue-tint)}
.topics__aside{position:sticky;top:112px}
.why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.why article{display:flex;flex-direction:column;gap:14px;padding:clamp(26px,3vw,40px);background:#fff;border-radius:var(--radius);border-top:3px solid var(--blue)}
.why h3{font-size:clamp(24px,2.2vw,32px)}
.why p{margin:0;color:var(--muted);font-size:17px}
.why .fmt{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none}
.why .fmt li{padding:6px 12px;background:var(--blue-tint);border-radius:999px;font-size:14px;font-weight:700;color:var(--blue-deep)}
.why .co{display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0 0;padding:0;list-style:none;font-size:17px;font-weight:800;font-stretch:86%;color:var(--navy)}
.book-badge{display:flex;gap:16px;align-items:center;margin-top:auto;padding:16px;background:var(--paper);border-radius:var(--radius);font-size:15px;color:var(--muted)}
.book-badge b{display:block;font-size:18px;font-stretch:88%;color:var(--ink)}
.book-badge .no1{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;font-size:15px;font-weight:800}
.accol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.18)}
.accol li{display:flex;flex-direction:column;gap:8px;padding:28px 28px 28px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.accol li:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid rgba(255,255,255,.18)}
.accol b{font-size:clamp(34px,3.4vw,52px);font-weight:800;font-stretch:80%;line-height:1;color:#8cc8f0}
.accol span{font-size:17px;color:#c9d4de;line-height:1.4}
.also{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-top:clamp(36px,4vw,48px);font-size:17px;color:#c9d4de}
.also strong{font-size:clamp(19px,1.7vw,24px);font-weight:800;font-stretch:86%;color:#fff}
.say{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.say figure{display:flex;flex-direction:column;justify-content:space-between;gap:24px;margin:0;padding:clamp(26px,3vw,40px);background:var(--paper);border-radius:var(--radius)}
.say blockquote{margin:0;font-size:clamp(19px,1.6vw,23px);font-weight:600;font-stretch:92%;line-height:1.4}
.say blockquote::before{content:"“";display:block;font-size:64px;line-height:.5;margin-bottom:12px;color:var(--blue)}
.say cite{font-style:normal;font-size:15px;color:var(--muted)}
.say cite strong{display:block;font-size:16px;color:var(--ink)}
.say figure:first-child{background:var(--navy);color:#fff}
.say figure:first-child cite{color:#c9d4de}.say figure:first-child cite strong{color:#fff}
@media (max-width:1100px){
  .accol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accol li,.accol li:not(:nth-child(3n+1)){padding:24px 24px 24px 0;border-left:0}
  .accol li:nth-child(even){padding-left:24px;border-left:1px solid rgba(255,255,255,.18)}
}
@media (max-width:860px){
  .sp-hero__grid,.why,.say{grid-template-columns:minmax(0,1fr)}
  .sp-hero__img img{aspect-ratio:4/3}
  .topics__aside{position:static}
  .topics li{grid-template-columns:48px minmax(0,1fr)}
}
@media (max-width:560px){
  .accol{grid-template-columns:minmax(0,1fr)}
  .accol li:nth-child(even){padding-left:0;border-left:0}
  .punch li{grid-template-columns:32px minmax(0,1fr)}
}
