/* Buildner BIM additions. The shared frame, type, grids and breakpoints are
   owned by shell.css + brand.css, copied exactly from the approved Tools site.
   Keep overrides scoped to BIM-only components. */

/* File privacy is visible before choosing a tool or beginning its workflow. */
.privacy-link{display:flex;align-items:center;gap:12px;max-width:fit-content;min-height:44px;margin-top:20px;color:var(--structure);font-size:14px;line-height:22px;text-decoration:none}
.privacy-link svg,.privacy-link>span:last-child{flex:none}
.privacy-link>span:nth-child(2){text-decoration:underline;text-underline-offset:4px}
.privacy-home{padding-top:48px}
.privacy-tool{padding-top:32px}
.file-privacy{display:flex;align-items:flex-start;gap:24px;background:var(--soft);border-left:4px solid var(--action);padding:32px;scroll-margin-top:24px}
.privacy-lock{flex:none;color:var(--structure);margin-top:2px}
.privacy-copy{min-width:0;flex:1}
.privacy-copy>.eyebrow{color:var(--structure);margin:0 0 12px}
.privacy-copy>h2{font-size:32px;line-height:40px;margin:0 0 12px}
.privacy-copy>p:not(.eyebrow){max-width:78ch;margin:0;font-size:16px;line-height:24px}
.privacy-copy>p.privacy-stage{color:var(--supporting);margin-top:12px;font-size:14px;line-height:22px}
.privacy-details{margin-top:20px;border-top:1px solid #182BBF33}
.privacy-details summary{cursor:pointer;color:var(--structure);font-size:14px;line-height:22px;min-height:44px;padding-block:14px 8px;font-weight:500}
.privacy-details>div{max-width:78ch;padding-top:8px}
.privacy-details p{font-size:14px;line-height:22px;margin:0 0 16px;color:var(--supporting)}
.privacy-details p:last-child{margin-bottom:0}
.privacy-details strong{color:var(--ink);font-weight:500}
@media(max-width:760px){
  .privacy-home{padding-top:32px}
  .file-privacy{padding:24px 20px;gap:16px}
  .privacy-lock{width:24px;height:24px}
  .privacy-copy>h2{font-size:24px;line-height:32px}
}
@media(max-width:360px){.file-privacy{display:block}.privacy-lock{display:block;margin:0 0 16px}}

/* Illustrative BIM model study. The shared .hero-study owns its frame and spacing. */
.study-head{gap:12px}
.sample-label{font-size:13px;line-height:21px;color:var(--supporting);border:1px solid var(--rule);padding:3px 8px;flex:none}
.sample-plan{padding-top:24px}
.sample-plan>svg{display:block;width:100%;height:auto}
.duplicate-label{fill:var(--structure);font-weight:500}
.plan-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--supporting);font-size:13px;line-height:21px;padding-block:12px 24px}
.sample-controls{display:flex;gap:12px;border-bottom:1px solid var(--rule);padding-bottom:24px}
.sample-controls button{flex:1;min-width:0;min-height:44px;border:1px solid var(--input-boundary);color:var(--ink);background:#fff;padding:9px 12px;font-size:16px;line-height:24px;border-radius:2px}
.sample-controls button[aria-pressed=true]{background:var(--structure);color:#fff;border-color:var(--structure)}
.sample-result{display:flex;align-items:start;gap:16px;padding:24px 0;border-bottom:1px solid var(--rule)}
.result-symbol{display:grid;place-items:center;flex:none;width:24px;height:24px;background:var(--structure);color:#fff;font-weight:500}
.sample-messages{display:grid;min-width:0}
.sample-messages>div{grid-area:1/1}
.sample-messages .inactive{visibility:hidden}
.sample-result strong{display:block;font-size:16px;font-weight:500;line-height:24px}
.sample-result p{margin:12px 0 0;font-size:13px;line-height:21px;color:var(--supporting)}

/* A status line supplements the standard catalogue result count. */
.catalogue-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:24px 0 32px;color:var(--supporting);font-size:14px;line-height:21px}
.catalogue-meta p{margin:0}
.catalogue-meta>p:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.collection-status{display:inline-block;color:var(--structure);font-size:13px;line-height:21px;background:var(--soft);padding:3px 9px;white-space:nowrap}
.empty-tools p{margin-bottom:24px;color:var(--supporting)}

/* Individual tool overviews use the same type and spacing tokens as the catalogue. */
.tool-intro{display:grid;grid-template-columns:1fr 240px;gap:64px;align-items:center;padding-block:48px 64px;border-bottom:1px solid var(--rule)}.tool-intro .eyebrow{color:var(--structure);margin-bottom:24px}.tool-intro h1{font-size:56px;line-height:64px;margin-bottom:24px}.tool-intro .lead{max-width:56ch}.availability{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:32px;font-size:14px;color:var(--supporting)}.tool-symbol{display:grid;place-items:center;background:var(--panel);aspect-ratio:1}.tool-brief{display:grid;grid-template-columns:1.2fr .8fr;gap:96px;padding-block:80px 96px}.tool-brief h2{font-size:40px;line-height:48px;margin-bottom:24px}.tool-brief>div>p{color:var(--supporting)}.check-list{padding:0;list-style:none;margin:32px 0}.check-list li{position:relative;padding:16px 0 16px 28px;border-top:1px solid var(--rule)}.check-list li:before{content:'↗';position:absolute;left:0;color:var(--structure)}.example-box{background:var(--soft);padding:24px}.example-box .eyebrow{color:var(--structure);margin-bottom:12px}.scope-note{font-size:14px;line-height:22px;margin-top:24px}.tool-spec{background:var(--panel);padding:32px;align-self:start}.tool-spec>div{margin-bottom:32px}.tool-spec h3{font-size:24px;line-height:32px;margin-bottom:16px}.tool-spec p{color:var(--supporting)}.format-label{display:block;margin-top:16px;font-size:13px;line-height:21px;color:var(--structure)}.tool-spec .btn{width:100%;gap:12px}.related-tools{border-top:1px solid var(--rule);padding-block:48px 80px}.related-tools .section-heading{margin-bottom:32px}.related-tools h2{font-size:32px;line-height:40px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-grid a{display:flex;align-items:center;gap:20px;padding:24px;background:var(--panel);text-decoration:none}.related-grid img{flex:none}.related-grid a>span:last-child{margin-left:auto;color:var(--structure)}.not-found{padding-block:96px;min-height:70vh}.not-found h1{margin-block:24px 32px}.not-found .lead{max-width:46ch;margin-bottom:32px}
.not-found h1{font-size:72px;line-height:80px}
.tool-intro .availability{font-size:14px;line-height:21px}
@media(hover:hover){.sample-controls button:not([aria-pressed=true]):hover,.related-grid a:hover{background:var(--soft)}}
@media(max-width:1200px){
  html:not(.js) .nav{display:flex}
  .tool-brief{gap:48px}
}
@media(max-width:1100px){
  .study-head{flex-wrap:wrap}
  .related-grid{grid-template-columns:1fr}
  .related-grid a{padding:24px}
  .tool-intro{grid-template-columns:1fr 190px;gap:40px}
}
@media(max-width:760px){
  .study-head{flex-wrap:nowrap}
  .sample-plan{padding-top:24px}
  .catalogue-meta{flex-direction:column;align-items:start}
  .tool-intro{grid-template-columns:1fr;gap:32px;padding-block:32px 64px}
  .tool-intro h1{font-size:40px;line-height:48px}
  .tool-symbol{display:none}
  .tool-brief{grid-template-columns:1fr;gap:40px;padding-block:64px}
  .tool-brief h2{font-size:32px;line-height:40px}
  .tool-spec{padding:24px}
  .related-tools{padding-block:40px 64px}
  .related-tools h2{font-size:24px;line-height:32px}
  .not-found{padding-block:64px}
  .not-found h1{font-size:48px;line-height:54px}
}
@media(max-width:360px){.tool-intro h1{font-size:36px;line-height:42px}.not-found h1{font-size:44px;line-height:49px}}
@media print{.sample-controls{display:none}.tool-brief{grid-template-columns:1fr;padding-block:24px}.hero-study{break-inside:avoid}.tool-entry{break-inside:avoid}}
