/*
========================================================
 Brandsborg Interactive
 Project : Website
 File    : components.css
 Build   : 0011
 Version : 0.8.0
========================================================
*/
.brand-mark{position:relative;display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border:1px solid rgba(255,138,0,.48);border-radius:12px 3px 12px 3px;background:linear-gradient(145deg,#1c1f25,#0b0c0f)}.brand-mark b{font-size:.78rem;font-weight:950}.brand-mark i,.core i{position:absolute;width:160%;height:3px;background:var(--orange);transform:rotate(-45deg);box-shadow:0 0 18px rgba(255,138,0,.5)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:52px;padding:14px 23px;overflow:hidden;border:1px solid var(--line);border-radius:11px 2px 11px 2px;background:rgba(255,255,255,.035);text-decoration:none;font-size:.84rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase;transition:.18s}.btn:after{position:absolute;top:-1px;right:-1px;width:24px;height:24px;background:linear-gradient(135deg,transparent 46%,var(--orange) 48%,var(--orange) 54%,transparent 56%);content:""}.btn:hover{transform:translateY(-2px);border-color:rgba(255,138,0,.6);box-shadow:0 14px 32px rgba(255,138,0,.12)}.btn.primary{border-color:var(--orange);color:#151009;background:var(--orange)}.emblem{position:relative;z-index:1;display:grid;justify-items:center;align-content:center;aspect-ratio:1;width:min(100%,510px);margin:auto}.rings{position:absolute;inset:2%;border:1px solid rgba(255,138,0,.24);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 38px,rgba(255,138,0,.13) 39px 40px);box-shadow:0 0 70px rgba(255,138,0,.09),inset 0 0 80px rgba(255,138,0,.04)}.core{position:relative;display:grid;place-items:center;width:43%;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,138,0,.64);border-radius:26% 8% 26% 8%;background:radial-gradient(circle at 50% 45%,#ffc052 0 4%,#ff8a00 15%,#8d2300 48%,#111318 73%);box-shadow:0 0 48px rgba(255,138,0,.34),inset 0 0 28px rgba(255,223,168,.16)}.core span{font-size:clamp(4rem,9vw,7.5rem);font-weight:950}.emblem>p{margin:27px 0 0;font-size:clamp(1.35rem,3vw,2.5rem);font-weight:950;letter-spacing:.34em;text-indent:.34em}.emblem>small{max-width:300px;margin-top:7px;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-align:center;text-transform:uppercase}.card{--accent:var(--orange);position:relative;min-height:330px;padding:30px;overflow:hidden;border:1px solid var(--line);border-radius:16px 4px 16px 4px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),var(--panel)}.card:before{position:absolute;top:0;left:0;width:90px;height:4px;background:var(--accent);content:""}.card:after{position:absolute;right:-55px;bottom:-95px;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-radius:50%;content:""}.card.blue{--accent:var(--blue)}.card.steel{--accent:#d7d9de}.card>span{color:var(--accent);font-size:.74rem;font-weight:950;letter-spacing:.14em}.card .label{margin:44px 0 6px;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.card h3{margin:0;font-size:clamp(1.55rem,2.6vw,2.4rem);line-height:1;letter-spacing:-.045em}.card>p:not(.label){max-width:40ch;margin:18px 0 30px;color:var(--muted)}.card a{position:absolute;bottom:28px;left:30px;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;opacity:.72;cursor:default}

/* BUILD 0003 · Official Forge brand assets */
.brand-mark{background:rgba(255,255,255,.025);padding:5px;border-color:rgba(255,138,0,.34);box-shadow:inset 0 0 22px rgba(255,138,0,.06)}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,138,0,.16))}
.emblem--logo{width:min(100%,560px);min-height:560px;aspect-ratio:1}
.emblem--logo .rings{inset:4%;opacity:.58}
.hero-logo{position:relative;z-index:2;display:block;width:min(88%,510px);height:auto;object-fit:contain;filter:drop-shadow(0 24px 42px rgba(0,0,0,.38)) drop-shadow(0 0 24px rgba(255,138,0,.09))}
.emblem--logo>small{position:relative;z-index:3;margin-top:-18px;max-width:390px}

/* BUILD 0004 · Header brand polish */
.brand-mark {
  width: 48px;
  height: 48px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.brand-mark img,
.brand-mark__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(255, 138, 0, 0.10));
  transition: filter 160ms ease, transform 160ms ease;
}

.brand-lockup:hover .brand-mark img,
.brand-lockup:focus-visible .brand-mark img,
.brand-lockup:hover .brand-mark__image,
.brand-lockup:focus-visible .brand-mark__image {
  filter: drop-shadow(0 0 13px rgba(255, 138, 0, 0.30));
  transform: translateY(-1px);
}

.brand-mark__shield,
.brand-mark__cut {
  display: none;
}

.hero-emblem > small,
.hero-emblem .hero-subtitle,
.hero-emblem .hero-emblem__subtitle {
  display: none !important;
}

.hero-emblem {
  padding-bottom: 0;
}


/* BUILD0007 */
.card.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.card.clickable:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(255,138,0,.15)}
.to-top{position:fixed;right:20px;bottom:20px;display:none;z-index:999;background:#111318;color:#D7D9DE;border:1px solid #FF8A00;padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:bold}
.to-top.show{display:block}


/* ======================================================
 BUILD 0008 · PRODUCT CARDS 2.0
 ====================================================== */

.card--product {
  padding: 0;
  display: flex;
  flex-direction: column;
  min-height: 420px;
  overflow: hidden;
  cursor: pointer;
  isolation: isolate;
}

.card--product .card-media {
  position: relative;
  min-height: 190px;
  overflow: hidden;
  border-bottom: 1px solid var(--forge-line);
  background: #0a0b0d;
}

.card--product .card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(8,9,11,.72), transparent 58%),
    linear-gradient(135deg, rgba(255,138,0,.08), transparent 45%);
  pointer-events: none;
}

.card--product .card-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  transition: transform 260ms ease, filter 260ms ease;
}

.card--product:hover .card-media img,
.card--product:focus-visible .card-media img,
.card--product:focus-within .card-media img {
  transform: scale(1.025);
  filter: saturate(1.07) contrast(1.03);
}

.card--product .card-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  padding: 6px 9px;
  border: 1px solid rgba(255,138,0,.55);
  border-radius: 999px;
  color: var(--forge-orange);
  background: rgba(9,10,12,.78);
  backdrop-filter: blur(8px);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.card--product .card-body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px 28px 26px;
}

.card--product .card-index {
  color: var(--forge-orange);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .14em;
}

.card--product .label {
  margin-top: 18px;
}

.card--product .card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 2px 0 20px;
  color: var(--forge-muted);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.card--product .card-link {
  position: static;
  margin-top: auto;
  width: fit-content;
}

.card--product:focus-visible {
  outline: 2px solid var(--forge-orange);
  outline-offset: 4px;
}

/* BUILD 0011 · Forge Academy card */
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.card.academy{--accent:#72c7f4}
.card.academy .card-badge{color:#72c7f4;border-color:rgba(114,199,244,.62)}
.card.academy:hover,.card.academy:focus-visible{box-shadow:0 16px 38px rgba(114,199,244,.16)}
@media(max-width:980px){.cards{grid-template-columns:1fr}}
