/* Tool cards: the homepage For Ministry cards (Engraved, CampOS), shared with /for-ministry.
   Moved from index.html as is. Link right after stabil.css: on body.snow, `body.snow .btn--line`
   still outranks the card's own .btn--line rules, so the line buttons render as white snow pills. */
.tool{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.tool-vis{position:relative;height:clamp(300px,30vw,380px);overflow:hidden}
.tool-body{padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:18px;flex:1}
.tool-name{display:flex;align-items:center;gap:14px}
.tool-name img{width:48px;height:48px;border-radius:12px;box-shadow:0 8px 18px -8px rgba(0,0,0,.5)}
.tool-name b{display:block;font:500 20px/1.2 var(--serif);color:var(--ink)}
.tool-name span{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.tool .facts{font-size:15.5px}
.tool .bottom{margin-top:auto;display:grid;gap:16px;padding-top:6px}

.tool--eng{background:linear-gradient(170deg,#241c12,var(--night) 65%);border-color:var(--night-line);color:var(--night-muted)}
.tool--eng .tool-vis{background:radial-gradient(70% 90% at 50% 100%,rgba(201,162,39,.30),transparent 70%)}
.tool--eng .tool-name b,.tool--eng h3{color:var(--night-ink)}
.tool--eng .tool-name span{color:var(--night-gold)}
.tool--eng .chip{background:rgba(255,255,255,.05);color:var(--night-ink);border-color:rgba(201,162,39,.4)}
.tool--eng .chip:hover{border-color:var(--night-gold);color:var(--night-gold)}
.tool--eng .btn--line{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.24);color:#fff}
.tool--eng .btn--line:hover{border-color:var(--night-gold);color:var(--night-gold)}
.tool--eng .phone{position:absolute;width:clamp(170px,15vw,206px)}
.tool--eng .p1{left:50%;top:58px;transform:translateX(-90%) scale(.92);transform-origin:top center;z-index:1}
.tool--eng .p2{left:50%;top:26px;transform:translateX(-10%);z-index:2}

.tool--camp{background:linear-gradient(170deg,var(--camp-2),var(--camp) 60%);border-color:var(--camp-line);color:var(--camp-muted)}
.tool--camp .tool-vis{background:radial-gradient(60% 80% at 60% 0%,rgba(220,188,90,.20),transparent 70%)}
.tool--camp .window{position:absolute;left:clamp(24px,3vw,36px);top:40px;width:128%}
.tool--camp .tool-name b,.tool--camp h3{color:var(--camp-ink)}
.tool--camp .tool-name span{color:var(--camp-gold)}
.tool--camp .facts li::before{background:var(--camp-gold)}
.tool--camp .small{color:var(--camp-muted)}
.tool--camp .small a{color:var(--camp-ink)}
.tool--camp .btn--line{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.24);color:#fff}
.tool--camp .btn--line:hover{border-color:var(--camp-gold);color:var(--camp-gold)}
.tool--camp .tool-name img{box-shadow:0 0 0 1px rgba(220,188,90,.35)}
.tool--eng .stores{max-width:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,136px),1fr))}.tool--eng .store{min-height:50px;padding:6px 10px}

/* /for-ministry: Your Crew plus the merged guides+mission card, same anatomy, each in its own dark flavor.
   Explicit hex backgrounds and light text, so body.snow's light remap never reaches them. */
.tool--crew,.tool--gm{--dot:#e6c26a;--dot-ring:rgba(230,194,106,.2)}
.tool-name .tool-ic{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.tool-name .tool-ic svg{width:24px;height:24px}
.tool-name .tool-ic--crew{background:none;box-shadow:none}
.tool-name .tool-ic--crew [data-crew]{width:46px;height:46px}
/* spans inside the name (the Crew wordmark) are not the tag line */
.tool .tool-name b span{font:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
.tool [data-crew]{display:block;overflow:visible}
.tool [data-crew] svg{width:100%;height:100%;overflow:visible}

.tool--crew{--k:#ffc978;background:linear-gradient(170deg,#2c1038,#140a1b 65%);border-color:#3b2347;color:#c9bad3}
.tool--crew .tool-name b,.tool--crew h3{color:#f7eff9}
.tool--crew .tool-name span{color:var(--k)}
.tool--crew .tool-name .crew,.tool--crew h3 .crew{background-image:linear-gradient(100deg,#ffd9c2,#e6d6ff 50%,#bfeeea);color:#e6d6ff}
.tool--crew .tool-vis{display:grid;place-content:center;justify-items:center;gap:18px;
  background:radial-gradient(46% 38% at 50% 40%,rgba(198,169,255,.22),transparent 72%),radial-gradient(60% 40% at 50% 92%,rgba(143,227,224,.12),transparent 70%)}
.crew-vis__lead{width:150px;height:150px}
.crew-vis__staff{display:flex;justify-content:center;gap:clamp(8px,1.4vw,16px)}
.crew-vis__staff>span{display:grid;justify-items:center;gap:6px}
.crew-vis__staff [data-crew]{width:54px;height:54px}
.crew-vis__staff small{font:600 12px/1 var(--sans);color:#c9bad3}

.tool--gm{--k:#e6c26a;background:linear-gradient(170deg,#163527,#08140e 65%);border-color:#24463a;color:#a9bfb2}
.tool--gm .tool-name b,.tool--gm h3{color:#f5efdd}
.tool--gm .tool-name span,.tool--gm .tool-ic{color:var(--k)}
.tool--gm .tool-vis{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(16px,3vw,32px);padding:0 clamp(24px,3vw,44px);
  background:radial-gradient(36% 50% at 18% 18%,rgba(37,99,235,.16),transparent 70%),radial-gradient(42% 70% at 74% 50%,rgba(230,194,106,.26),transparent 70%)}
.gm-vis__words{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.gm-vis__words li{font:400 clamp(21px,2.2vw,27px)/1.2 var(--serif);color:#f5efdd}
.gm-vis__words li small{display:block;margin-bottom:4px;font:700 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--k)}
.gm-vis__owl{height:clamp(220px,24vw,300px);width:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
@media(max-width:480px){
  .crew-vis__staff{gap:4px}.crew-vis__staff [data-crew]{width:44px;height:44px}.crew-vis__staff small{font-size:10.5px}
  .gm-vis__owl{height:200px}
}
