/* atomiclabs.tech/book: booking page. Loads after style.css (Design Guide v3 tokens). */
.book{padding:72px 0 112px;border-top:0}
.book-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-template-areas:"intro cal" "detail cal" "bring bring" "who who";column-gap:64px;row-gap:48px;align-items:start}
.book-intro{grid-area:intro;display:grid;gap:22px}
.book-intro h1{font-size:clamp(40px,4.3vw,62px);line-height:1;text-wrap:balance}
.book-intro .lead{font-size:19px}
.book-facts{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:4px 0 0;padding:0}
.book-facts li{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font:500 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.book-facts svg{color:var(--primary)}

.book-cal{grid-area:cal}
.book-panel{padding:0;overflow:hidden;background:var(--surface)}
.book-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line)}
.book-head .label{font:500 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.book-st{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4)}
.book-st .dot{width:8px;height:8px;border-radius:50%;background:#3fb950}
.book-frame{min-height:340px;position:relative}
.book-frame iframe{display:block;width:100%;border:0}
.book-loading{padding:48px 22px;font:500 13px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-4)}
.book-fallback{padding:14px 22px;border-top:1px solid var(--line);font-size:14px;color:var(--fg-4)}

.book-detail{grid-area:detail;display:grid;gap:40px}
.book-call ol{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.book-call li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.book-call .n{font:500 13px/1.6 var(--f-mono);color:var(--brand-hi);letter-spacing:.06em}
.book-call b{display:block;font:600 22px/1.15 var(--f-display);color:var(--fg-1);margin-bottom:6px}
.book-call p{font-size:16px;line-height:1.55;color:var(--fg-3)}
.book-bring{grid-area:bring;padding-top:40px;border-top:1px solid var(--line)}
.book-bring h2{font-size:30px;line-height:1.1;margin-bottom:20px}
.book-bring ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.book-bring li{display:flex;gap:12px;align-items:flex-start;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);font-size:17px;line-height:1.5;color:var(--fg-2)}
.book-bring svg{flex:none;width:14px;height:14px;margin-top:5px;color:var(--primary)}
.book-who{grid-area:who;display:grid;grid-template-columns:160px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:36px;row-gap:14px;align-items:start;padding:36px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg-alt)}
.book-who img{grid-row:1/3;width:160px;height:160px;border-radius:var(--r-ctl);object-fit:cover;border:1px solid var(--line-strong)}
.book-who .who-id{display:grid;gap:6px}
.book-who b{font:600 30px/1.05 var(--f-display);color:var(--fg-1);margin-top:6px}
.book-who .role{font:500 12px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4)}
.book-who p{grid-column:2;max-width:68ch;font-size:18px;line-height:1.6;color:var(--fg-2)}

@media (max-width:960px){
  .book{padding:48px 0 80px}
  .book-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "cal" "detail" "bring" "who";row-gap:36px}
  .book-bring ul{grid-template-columns:minmax(0,1fr)}
  .book-intro h1{font-size:clamp(40px,7vw,60px)}
}
@media (max-width:640px){
  .book-panel::before,.book-panel::after{display:none}
  .book-head,.book-fallback{padding-left:16px;padding-right:16px}
  .book-who{grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto;column-gap:18px;row-gap:18px;align-items:center;padding:20px}
  .book-who img{grid-row:auto;width:88px;height:88px}
  .book-who p{grid-column:1/-1;font-size:17px}
  .book-who b{font-size:26px}
}
.book-frame.is-loaded .book-loading{display:none}
