/* United We Transform book companion cluster.
   Uses only the established UWT design tokens and shell typography. */

.bk-page{overflow-x:clip;overflow-y:visible}
.bk-page a:not(.btn):not(.hbtn):not(.bk-subnav a){text-decoration-thickness:1px;text-underline-offset:3px}
.bk-page .eyebrow{color:var(--teal-deep)}
.bk-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bk-skip{position:absolute;left:16px;top:-80px;z-index:200;padding:10px 14px;border-radius:8px;background:var(--midnight);color:var(--on-dark);font-weight:700}
.bk-skip:focus{top:12px}

.bk-subnav{background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}
.bk-subnav .wrap{display:flex;align-items:center;gap:4px;padding-top:10px;padding-bottom:10px;min-width:max-content}
.bk-subnav a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:999px;font-size:12px;font-weight:700;color:var(--fg-3)}
.bk-subnav a:hover,.bk-subnav a:focus-visible{background:var(--stone);color:var(--teal-deep)}
.bk-subnav a[aria-current=page]{background:var(--teal-50);color:var(--teal-deep)}
.bk-subnav .bk-buy{margin-left:8px;background:var(--midnight);color:var(--on-dark)}
.bk-subnav .bk-buy:hover,.bk-subnav .bk-buy:focus-visible{background:var(--fg-2);color:var(--on-dark)}

.bk-hero{padding:clamp(48px,7vw,92px) 0 clamp(54px,8vw,108px)}
.bk-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr);gap:clamp(36px,7vw,92px);align-items:center}
.bk-hero h1{margin-top:18px;max-width:13ch;font-size:clamp(39px,6vw,76px);font-weight:800;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.bk-hero h1 .hl{color:var(--teal-deep)}
.bk-hero .lead{margin-top:24px;max-width:57ch}
.bk-answer{margin-top:25px;max-width:67ch;padding:16px 18px;border-left:3px solid var(--teal-deep);background:var(--teal-active);font-size:15px;line-height:1.65;color:var(--fg-2)}
.bk-answer strong{color:var(--fg-1)}
.bk-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font:600 11px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--fg-3)}
.bk-cover-link{display:block;justify-self:center;max-width:330px;transform:rotate(1deg);transition:transform .24s cubic-bezier(.2,0,.2,1)}
.bk-cover-link:hover{transform:rotate(0) translateY(-4px)}
.bk-cover-link picture{display:block}
.bk-cover{display:block;width:100%;height:auto;border:1px solid rgba(13,20,23,.28);box-shadow:18px 24px 0 var(--midnight),0 28px 54px -32px rgba(13,20,23,.65)}
.bk-cover-note{display:block;margin-top:34px;text-align:center;font:600 10px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--fg-3)}

.bk-section{padding:clamp(58px,8vw,108px) 0;border-top:1px solid var(--border)}
.bk-section.band-white{background:var(--surface)}
.bk-section.band-dark{background:var(--midnight);color:var(--on-dark);border-top:0}
.bk-section.band-teal{background:var(--teal-50);border-color:var(--teal-100)}
.bk-section-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(280px,1.2fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:34px}
.bk-section-head h2{font-size:clamp(29px,4.2vw,54px);font-weight:800;line-height:1.04;letter-spacing:-.035em;max-width:18ch;text-wrap:balance}
.bk-section-head p{max-width:62ch;color:var(--fg-3);font-size:17px;line-height:1.65}
.band-dark .bk-section-head p,.band-dark .bk-deck{color:var(--on-dark-soft)}
.band-dark .eyebrow{color:var(--teal-glow)}
.bk-deck{max-width:72ch;color:var(--fg-3);font-size:17px;line-height:1.7}
.bk-deck + .bk-deck{margin-top:16px}
.bk-prose{max-width:76ch}
.bk-prose p,.bk-prose li{font-size:16.5px;line-height:1.72;color:var(--fg-2)}
.bk-prose p + p{margin-top:17px}
.bk-prose h2{margin:48px 0 16px;font-size:clamp(27px,3vw,39px);line-height:1.12;letter-spacing:-.025em}
.bk-prose h3{margin:34px 0 10px;font-size:21px;line-height:1.25}

.bk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;container-type:inline-size}
.bk-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bk-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.bk-card{display:flex;flex-direction:column;min-width:0;padding:clamp(20px,2.6vw,30px);border:1px solid var(--border);border-radius:14px;background:var(--surface)}
a.bk-card{transition:border-color .2s,transform .2s,box-shadow .2s}
a.bk-card:hover{transform:translateY(-3px);border-color:var(--border-emph);box-shadow:var(--shadow-hover)}
.bk-card .eyebrow{margin-bottom:13px}
.bk-card h3{font-size:clamp(18px,2vw,24px);line-height:1.2;letter-spacing:-.018em}
.bk-card p{margin-top:11px;color:var(--fg-3);font-size:14.5px;line-height:1.62}
.bk-card .bk-card-link{margin-top:auto;padding-top:22px;color:var(--teal-deep);font-weight:800;font-size:13px}
.bk-card.dark{background:var(--midnight);border-color:rgba(234,240,240,.16);color:var(--on-dark)}
.bk-card.dark p{color:var(--on-dark-soft)}
.bk-card.dark .bk-card-link{color:var(--teal-glow)}
.bk-number{display:block;margin-bottom:16px;font:700 clamp(30px,3vw,46px)/1 var(--mono);letter-spacing:-.05em;color:var(--teal-deep)}
.band-dark .bk-number{color:var(--teal-glow)}

.bk-parts{display:grid;grid-template-columns:repeat(11,minmax(76px,1fr));gap:1px;margin-top:32px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--border)}
.bk-parts a{display:flex;min-height:122px;flex-direction:column;justify-content:space-between;padding:13px 12px;background:var(--surface)}
.bk-parts a:hover{background:var(--teal-active)}
.bk-parts b{font:700 11px/1 var(--mono);color:var(--teal-deep)}
.bk-parts span{font-size:12px;line-height:1.3;color:var(--fg-2);writing-mode:vertical-rl;transform:rotate(180deg);max-height:76px;overflow:hidden}

.bk-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(234,240,240,.18);border:1px solid rgba(234,240,240,.18);border-radius:14px;overflow:hidden}
.bk-quote{margin:0;padding:clamp(24px,3vw,38px);background:var(--midnight)}
.bk-quote blockquote{margin:0;font:italic 400 clamp(18px,2vw,23px)/1.5 Georgia,ui-serif,serif;color:var(--on-dark)}
.bk-quote figcaption{margin-top:24px;font:600 11px/1.55 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--teal-glow)}
.bk-quote small{display:block;margin-top:4px;color:var(--on-dark-soft);font-size:10px;letter-spacing:0;text-transform:none}

.bk-resource-list{display:grid;gap:1px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--border)}
.bk-resource{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(240px,1.45fr) auto;gap:24px;align-items:center;padding:20px 22px;background:var(--surface)}
.bk-resource h3{font-size:17px;line-height:1.3}
.bk-resource p{font-size:14px;line-height:1.55;color:var(--fg-3)}
.bk-resource .btn{min-height:42px;padding:0 18px;font-size:13px}
.bk-open{display:inline-flex;align-items:center;gap:7px;font:700 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--teal-deep)}
.bk-open::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal)}

.bk-breadcrumbs{padding-top:24px;font:600 11px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}
.bk-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.bk-breadcrumbs li:not(:last-child)::after{content:"/";margin-left:7px;color:var(--fg-5)}
.bk-breadcrumbs a:hover{text-decoration:underline}

.bk-chapter-hero{padding:clamp(42px,6vw,76px) 0 clamp(48px,7vw,86px)}
.bk-chapter-hero h1{max-width:20ch;margin-top:15px;font-size:clamp(36px,5vw,66px);font-weight:800;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
.bk-chapter-hero .lead{margin-top:22px;max-width:68ch}
.bk-chapter-nav{display:flex;justify-content:space-between;gap:16px;margin-top:32px;padding-top:22px;border-top:1px solid var(--border)}
.bk-chapter-nav a{font-size:13px;font-weight:800;color:var(--teal-deep)}
.bk-chapter-nav .next{text-align:right;margin-left:auto}

.bk-toolkit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px}
.bk-tool{border-top:3px solid var(--teal-deep);padding:23px 22px;background:var(--surface)}
.bk-tool h3{font-size:18px}
.bk-tool ol,.bk-tool ul{margin:16px 0 0;padding-left:20px}
.bk-tool li{margin:0 0 12px;color:var(--fg-2);font-size:14.5px;line-height:1.58}

.bk-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.bk-figure{margin:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}
.bk-figure-media{display:flex;align-items:center;justify-content:center;min-height:340px;padding:24px;background:#fff}
.bk-figure img{display:block;max-width:100%;height:auto;max-height:520px;object-fit:contain}
.bk-figure figcaption{padding:18px 20px;border-top:1px solid var(--border)}
.bk-figure figcaption strong{display:block;font-size:15px;line-height:1.4}
.bk-figure figcaption span{display:block;margin-top:7px;color:var(--fg-3);font-size:12px;line-height:1.5}
.bk-figure-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;font-weight:800;color:var(--teal-deep)}

.bk-prompt{position:relative;margin-top:24px;border:1px solid var(--border);border-radius:14px;background:var(--midnight);color:var(--on-dark);overflow:hidden}
.bk-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(234,240,240,.17)}
.bk-prompt-head span{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-glow)}
.bk-copy{min-height:38px;padding:0 14px;border:1px solid rgba(234,240,240,.3);border-radius:999px;background:transparent;color:var(--on-dark);font:700 12px/1 var(--sans);cursor:pointer}
.bk-copy:hover,.bk-copy:focus-visible{border-color:var(--teal-glow);color:var(--teal-glow)}
.bk-prompt pre{max-height:560px;margin:0;padding:22px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:400 13px/1.65 var(--mono);color:var(--on-dark)}

.bk-filterbar{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}
.bk-filterbar button{min-height:40px;padding:0 15px;border:1px solid var(--border-emph);border-radius:999px;background:var(--surface);color:var(--fg-2);font:700 12px/1 var(--sans);cursor:pointer}
.bk-filterbar button:hover,.bk-filterbar button[aria-pressed=true]{border-color:var(--teal-deep);background:var(--teal-50);color:var(--teal-deep)}
.bk-question-list{display:grid;gap:10px;counter-reset:question}
.bk-question{counter-increment:question;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.bk-question::before{content:counter(question,decimal-leading-zero);font:700 13px/1.5 var(--mono);color:var(--teal-deep)}
.bk-question h3{font-size:16px;line-height:1.48}
.bk-question p{margin-top:7px;color:var(--fg-3);font-size:12.5px}
.bk-question[hidden]{display:none}

.bk-terms{columns:2;column-gap:16px}
.bk-term{break-inside:avoid;margin:0 0 16px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.bk-term dt{font-size:17px;font-weight:800;line-height:1.3}
.bk-term dd{margin:8px 0 0;color:var(--fg-3);font-size:14px;line-height:1.65}

.bk-source-note{margin-top:28px;padding:16px 18px;border:1px solid var(--border);border-radius:10px;background:var(--canvas);font-size:12.5px;line-height:1.6;color:var(--fg-3)}
.bk-source-note strong{color:var(--fg-2)}
.bk-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.bk-related a{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.bk-related a:hover{border-color:var(--teal-deep)}
.bk-related strong{display:block;font-size:14px}
.bk-related span{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:var(--fg-3)}

@container (max-width:700px){.bk-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){
  .bk-hero-grid{grid-template-columns:minmax(0,1fr) minmax(210px,.46fr);gap:42px}
  .bk-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bk-parts{grid-template-columns:repeat(6,minmax(76px,1fr));overflow-x:auto}
  .bk-quote-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .bk-hero-grid,.bk-section-head{grid-template-columns:1fr}
  .bk-cover-link{order:-1;max-width:230px;margin-bottom:24px}
  .bk-cover{box-shadow:12px 16px 0 var(--midnight),0 24px 42px -30px rgba(13,20,23,.65)}
  .bk-cover-note{margin-top:25px}
  .bk-grid,.bk-grid.two,.bk-grid.four,.bk-toolkit,.bk-figure-grid,.bk-related{grid-template-columns:1fr}
  .bk-resource{grid-template-columns:1fr;gap:10px}
  .bk-resource .btn{justify-self:start;margin-top:7px}
  .bk-figure-media{min-height:260px;padding:18px}
  .bk-terms{columns:1}
}
@media(max-width:480px){
  .bk-subnav .wrap{padding-left:14px;padding-right:14px}
  .bk-subnav a{padding:0 10px}
  .bk-hero h1,.bk-chapter-hero h1{font-size:clamp(34px,12vw,48px)}
  .bk-question{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:17px 15px}
  .bk-prompt-head{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.bk-cover-link,a.bk-card{transition:none}}
@media print{.bk-subnav,.bk-copy,.bk-figure-actions,.topbar,.footer{display:none!important}.bk-section{padding:28px 0}.bk-card,.bk-figure,.bk-question{break-inside:avoid}}
