/* ==========================================================================
   HEXCORE — EDITIONS · inner pages
   The rest of the site wears the homepage's world. Loaded after style.css:
   it overrides the old design tokens (violet/cyan glass → brass, teal and
   iron; Orbitron/Space Grotesk → Schibsted Grotesk with Orbitron dials) and
   reskins every component in the old stylesheet's vocabulary. Each page's
   hero sits on a plate rendered by the engine (images/plates/*.jpg, made
   with ?scene=…&still=1&bare=1). Tokens mirror css/editions.css.
   ========================================================================== */

:root {
  --ink: #0d0b08; --charcoal: #14100c;
  --brass: #b98a3c; --brass-hi: #d9a85c; --brass-dim: rgba(185, 138, 60, 0.32);
  --parchment: #f2e8d8; --sepia: #b9a67f; --cream: #e7dfcc; --ink-cream: #1c1712;
  --teal: #2fe6d6; --teal-deep: #0c8f83; --teal-dim: rgba(47, 230, 214, 0.35); --teal-glow: rgba(47, 230, 214, 0.18);
  --font-giant: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-dial: "Orbitron", sans-serif;

  /* the old stylesheet's tokens, re-pointed */
  --bg-primary: var(--charcoal);
  --bg-secondary: var(--ink);
  --bg-card: rgba(185, 138, 60, 0.05);
  --bg-glass: rgba(20, 16, 12, 0.72);
  --border-glass: rgba(185, 138, 60, 0.22);
  --accent-violet: var(--brass);
  --accent-cyan: var(--teal);
  --accent-gradient: linear-gradient(135deg, #d9a85c 0%, #b98a3c 55%, #8a6524 100%);
  --accent-glow: 0 0 80px rgba(185, 138, 60, 0.16);
  --violet-subtle: rgba(185, 138, 60, 0.05);
  --violet-wash: rgba(185, 138, 60, 0.08);
  --cyan-subtle: rgba(47, 230, 214, 0.04);
  --text-primary: var(--parchment);
  --text-secondary: var(--sepia);
  --text-muted: #7a6c52;
  --font-heading: var(--font-giant);
  --font-body: var(--font-giant);
  --radius-sm: 2px; --radius-md: 3px; --radius-lg: 4px; --radius-xl: 6px;
}

/* ---------- ground ---------- */
html { background: var(--charcoal); }
body.page {
  background: radial-gradient(ellipse 120% 70% at 50% -10%, #1c1610 0%, var(--charcoal) 55%, var(--ink) 100%);
  color: var(--parchment);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}
body.page::after {                                  /* film grain */
  content: ""; position: fixed; inset: -10%; z-index: 90; pointer-events: none; opacity: 0.028;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body.page ::selection { background: var(--teal-dim); color: var(--parchment); }

/* ---------- type ---------- */
body.page h1, body.page h2, body.page h3, body.page h4 {
  font-family: var(--font-giant); font-weight: 700; letter-spacing: -0.03em; line-height: 1.02; color: var(--parchment); text-transform: none;
}
body.page h1 { font-weight: 800; letter-spacing: -0.04em; }
body.page p { color: rgba(242, 232, 216, 0.8); }
body.page a { color: inherit; }
body.page .accent, body.page .word-reveal .accent {
  background: none; -webkit-text-fill-color: currentColor; color: var(--brass-hi);
}
/* dial labels: every eyebrow, index and tag speaks Orbitron in brass */
body.page .section__tag, body.page .showcase-card__idx, body.page .blog-card__tag, body.page .blog-card__num,
body.page .blog-hero__masthead-text, body.page .blog-article__meta, body.page .blog-article__back, body.page .svc-process__label,
body.page .stat-row__label, body.page .ai-counter__label, body.page .footer__heading, body.page .blog-filter, body.page .portfolio__card-tag,
body.page .pricing-step, body.page .team-card__role, body.page .testimonial-card__company, body.page .orbital__node-label, body.page .orbital__core-label,
body.page .error-page__code, body.page .awards-marquee__badge-label, body.page .contact-info__item strong {
  font-family: var(--font-dial); font-weight: 500; font-size: 0.62rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--brass-hi);
  background: none; -webkit-text-fill-color: currentColor;
}
body.page .stat-row__number, body.page .ai-counter__number, body.page .blog-hero__stat-num, body.page .orbital__core-stat-num, body.page .pricing-total__amount {
  font-family: var(--font-giant); font-weight: 800; letter-spacing: -0.04em; color: var(--parchment);
  background: none; -webkit-text-fill-color: currentColor;
}

/* ---------- topbar (the old navbar, re-dressed) ---------- */
body.page .navbar {
  background: linear-gradient(180deg, rgba(13, 11, 8, 0.86) 0%, rgba(13, 11, 8, 0) 100%);
  border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none;
}
body.page .navbar.is-scrolled, body.page .navbar.scrolled { background: rgba(13, 11, 8, 0.9); border-bottom: 1px solid rgba(185, 138, 60, 0.16); }
body.page .navbar__glow, body.page .navbar__cta-pulse { display: none; }
body.page .navbar__inner {                          /* a flat bar across the top, like the homepage's, not a floating pill */
  max-width: none; margin: 0; padding: 1rem var(--pad-x, clamp(1.25rem, 5vw, 5rem));
  background: none; backdrop-filter: none; -webkit-backdrop-filter: none; border: 0; border-radius: 0; box-shadow: none;
}
body.page .navbar__brand { font-family: var(--font-body); font-weight: 700; font-size: 0.86rem; letter-spacing: -0.01em; color: var(--parchment); background: none; -webkit-text-fill-color: currentColor; }
body.page .navbar__brand::after { content: "The Foundry"; margin-left: 0.4rem; font-weight: 500; color: var(--sepia); }
body.page .navbar__brand-icon { width: 20px; height: 20px; filter: none; }
body.page .navbar__link {
  font-family: var(--font-body); font-size: 0.74rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sepia);
}
body.page .navbar__link:hover, body.page .navbar__link.active, body.page .navbar__link[aria-current] { color: var(--parchment); }
body.page .navbar__link::before, body.page .navbar__link::after { background: var(--teal); }
body.page .navbar__cta {
  font-family: var(--font-dial); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--ink); background: var(--parchment); border: 1px solid var(--parchment); border-radius: 999px; padding: 0.75rem 1.4rem; box-shadow: none;
}
body.page .navbar__cta:hover { background: var(--teal); border-color: var(--teal); color: var(--ink); box-shadow: 0 0 30px var(--teal-glow); transform: none; }
body.page .navbar__burger span { background: var(--parchment); }
body.page .mobile-menu { background: rgba(13, 11, 8, 0.96); border-color: rgba(185, 138, 60, 0.2); }
body.page .mobile-menu a { font-family: var(--font-giant); font-weight: 700; color: var(--parchment); }

/* ---------- heroes: the rendered world behind a giant word ---------- */
body.page .svc-hero, body.page .about-hero, body.page .page-hero, body.page .contact-hero, body.page .ai-hero, body.page .blog-hero, body.page .error-page {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(520px, 78vh, 860px); display: flex; align-items: flex-end;
  padding: 9rem var(--pad-x, clamp(1.25rem, 5vw, 5rem)) 4.5rem;
  background: var(--ink) center / cover no-repeat;
}
body.page .svc-hero::before, body.page .about-hero::before, body.page .page-hero::before, body.page .contact-hero::before,
body.page .ai-hero::before, body.page .blog-hero::before, body.page .error-page::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 78% 70% at 50% 45%, transparent 35%, rgba(13, 11, 8, 0.72) 100%),
    linear-gradient(180deg, rgba(13, 11, 8, 0.55) 0%, transparent 28%, transparent 55%, var(--charcoal) 100%);
}
body.page .svc-hero::after, body.page .about-hero::after, body.page .page-hero::after, body.page .contact-hero::after, body.page .ai-hero::after, body.page .blog-hero::after {
  content: ""; position: absolute; inset: 5.2rem var(--pad-x, 2rem) 2.4rem; pointer-events: none; z-index: 0;   /* brass corner brackets */
  background:
    linear-gradient(var(--brass), var(--brass)) top left / 26px 1px no-repeat,
    linear-gradient(var(--brass), var(--brass)) top left / 1px 26px no-repeat,
    linear-gradient(var(--brass), var(--brass)) bottom right / 26px 1px no-repeat,
    linear-gradient(var(--brass), var(--brass)) bottom right / 1px 26px no-repeat;
  opacity: 0.7;
}
body.page .svc-hero__bg, body.page .about-hero__bg, body.page .contact-hero__bg, body.page .ai-hero__bg, body.page .blog-hero__bg,
body.page [class*="__glow"], body.page [class*="__orb"], body.page .stats-orb, body.page .hero__glow { display: none !important; }
body.page .svc-hero__content, body.page .about-hero__inner, body.page .contact-hero__inner, body.page .ai-hero__content, body.page .blog-hero__inner, body.page .page-hero > *, body.page .error-page__content {
  position: relative; z-index: 1; max-width: 1200px; width: 100%; margin: 0 auto;
}
body.page .svc-hero__title, body.page .about-hero__title, body.page .contact-hero__title, body.page .ai-hero__title, body.page .blog-hero__title, body.page .page-hero h1, body.page .error-page__title {
  font-family: var(--font-giant); font-weight: 800; font-size: clamp(3.2rem, 9.5vw, 9.5rem); letter-spacing: -0.045em; line-height: 0.92;
  color: var(--parchment); background: none; -webkit-text-fill-color: currentColor; text-shadow: 0 20px 60px rgba(0, 0, 0, 0.45); margin: 0 0 1.2rem;
}
body.page .svc-hero__desc, body.page .about-hero__desc, body.page .contact-hero__desc, body.page .ai-hero__desc, body.page .blog-hero__desc, body.page .page-hero p, body.page .error-page__text {
  font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.55; color: rgba(242, 232, 216, 0.78); max-width: 46ch;
}
body.page .svc-hero__img { border-radius: 2px; border: 1px solid rgba(185, 138, 60, 0.3); }
body.page .blog-hero__masthead-line, body.page .blog-hero__divider { background: var(--brass); }
/* the accent word: solid brass ink, not gradient-clipped text (which paints a box under animated children) */
body.page .about-hero__accent, body.page .contact-hero__accent, body.page .blog-hero__accent, body.page .svc-hero__title .accent, body.page .ai-hero__title .accent {
  background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--brass-hi);
}
body.page .svc-hero__img, body.page .svc-hero__orb { display: none !important; }   /* the old illustration: the render is the backdrop now */

/* which plate under which page */
body.page--about .about-hero, body.page--about .page-hero { background-image: url("/images/plates/refined-welcome.jpg"); }
body.page--services .svc-hero, body.page--services .page-hero { background-image: url("/images/plates/refined-plates.jpg"); }
body.page--pricing .page-hero { background-image: url("/images/plates/refined-plates.jpg"); }
body.page--contact .contact-hero, body.page--contact .page-hero { background-image: url("/images/plates/refined-welcome.jpg"); }
body.page--ai .ai-hero, body.page--ai .page-hero { background-image: url("/images/plates/jengu.jpg"); }
body.page--blog .blog-hero, body.page--post .blog-article__hero, body.page--post .page-hero { background-image: url("/images/plates/refined-core.jpg"); }
body.page--legal .page-hero, body.page--404 .error-page { background-image: url("/images/plates/refined-core.jpg"); }

/* ---------- sections & slabs ---------- */
body.page .section:not(.page-hero) { background: transparent; }
body.page .section--dark, body.page .showcase--dark, body.page .blog-listing, body.page .blog-related { background: var(--ink); }
body.page .section__title, body.page .showcase__title, body.page .cta__title, body.page .blog-cta__title {
  font-family: var(--font-giant); font-weight: 700; letter-spacing: -0.035em; color: var(--parchment); background: none; -webkit-text-fill-color: currentColor;
}
body.page .section__desc, body.page .showcase__desc, body.page .cta__subtitle, body.page .blog-cta__desc { color: var(--sepia); }
body.page .section__header { border-bottom: 1px solid rgba(185, 138, 60, 0.18); padding-bottom: 1.4rem; }

/* cards: iron slabs with brass brackets */
body.page .showcase-card, body.page .value-card, body.page .team-card, body.page .testimonial-card, body.page .blog-card, body.page .pricing-option,
body.page .pricing-addon, body.page .faq-item, body.page .contact-info, body.page .ai-jengu__card, body.page .orbital__node-card, body.page .orbital__core-card,
body.page .stat-row, body.page .portfolio__card, body.page .pricing-total, body.page .compare, body.page .legal-content__entity, body.page .legal-content__contact {
  position: relative;
  background: linear-gradient(180deg, rgba(22, 17, 12, 0.92) 0%, rgba(13, 11, 8, 0.88) 100%);
  border: 1px solid rgba(185, 138, 60, 0.26);
  border-radius: 2px;
  box-shadow: inset 0 1px 0 rgba(242, 232, 216, 0.05), 0 20px 50px rgba(0, 0, 0, 0.35);
  backdrop-filter: none; -webkit-backdrop-filter: none;
  transition: border-color 0.4s ease, transform 0.5s cubic-bezier(0.2, 0.7, 0.1, 1);
}
body.page .showcase-card::before, body.page .value-card::before, body.page .team-card::before, body.page .testimonial-card::before, body.page .blog-card::before,
body.page .pricing-option::before, body.page .faq-item::before, body.page .ai-jengu__card::before {
  content: ""; position: absolute; inset: 7px; pointer-events: none; z-index: 0;
  background:
    linear-gradient(var(--brass), var(--brass)) top left / 16px 1px no-repeat,
    linear-gradient(var(--brass), var(--brass)) top left / 1px 16px no-repeat,
    linear-gradient(var(--brass), var(--brass)) bottom right / 16px 1px no-repeat,
    linear-gradient(var(--brass), var(--brass)) bottom right / 1px 16px no-repeat;
  opacity: 0.55; background-image: none;
}
body.page .showcase-card:hover, body.page .value-card:hover, body.page .blog-card:hover, body.page .pricing-option:hover, body.page .team-card:hover, body.page .portfolio__card:hover {
  border-color: rgba(217, 168, 92, 0.6); transform: translateY(-3px); box-shadow: inset 0 1px 0 rgba(242, 232, 216, 0.06), 0 26px 60px rgba(0, 0, 0, 0.45);
}
body.page .pricing-option.is-selected, body.page .pricing-option.selected, body.page .pricing-option[aria-pressed="true"], body.page .blog-filter.active, body.page .blog-filter[aria-pressed="true"] {
  border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal-dim), 0 0 30px var(--teal-glow);
}
body.page .showcase-card__title, body.page .value-card__title, body.page .team-card__name, body.page .blog-card__title, body.page .pricing-option__title, body.page .faq-question, body.page .ai-jengu__card-title, body.page .portfolio__card-title {
  font-family: var(--font-giant); font-weight: 700; letter-spacing: -0.02em; color: var(--parchment);
}
body.page .showcase-card__desc, body.page .value-card__desc, body.page .team-card__bio, body.page .blog-card__desc, body.page .pricing-option__desc, body.page .faq-answer, body.page .testimonial-card__quote, body.page .ai-jengu__card-desc {
  color: rgba(242, 232, 216, 0.74);
}
body.page .showcase-card__icon-wrap, body.page .value-card__icon, body.page .ai-jengu__pillar-icon, body.page .team-card__avatar {
  background: rgba(185, 138, 60, 0.08); border: 1px solid rgba(185, 138, 60, 0.35); border-radius: 2px; color: var(--brass-hi); box-shadow: none;
}
body.page .blog-card__thumb, body.page .blog-card__thumb-img, body.page .portfolio__card-media img, body.page .blog-article__body img { border-radius: 2px; }
body.page .blog-card__arrow, body.page .blog-card__read, body.page .ai-jengu__link, body.page .portfolio__card-cta, body.page .orbital__core-link, body.page .section__cta a { color: var(--teal); }

/* ---------- buttons ---------- */
body.page .btn {
  font-family: var(--font-dial); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  border-radius: 999px; padding: 0.9rem 1.8rem; background: none; box-shadow: none; -webkit-text-fill-color: currentColor;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
body.page .btn::before, body.page .btn::after { display: none; }
body.page .btn--primary { background: var(--parchment); color: var(--ink); border: 1px solid var(--parchment); }
body.page .btn--primary:hover { background: var(--teal); border-color: var(--teal); color: var(--ink); box-shadow: 0 0 36px var(--teal-glow); transform: translateY(-1px); }
body.page .btn--outline { color: var(--parchment); border: 1px solid rgba(185, 138, 60, 0.6); }
body.page .btn--outline:hover { border-color: var(--teal); color: var(--teal); box-shadow: 0 0 30px var(--teal-glow); }
body.page .btn__arrow { transition: transform 0.3s ease; }
body.page .btn:hover .btn__arrow { transform: translateX(4px); }

/* ---------- forms ---------- */
body.page input, body.page textarea, body.page select {
  font-family: var(--font-body); color: var(--parchment); background: rgba(13, 11, 8, 0.7); border: 1px solid rgba(185, 138, 60, 0.3); border-radius: 2px; box-shadow: none;
}
body.page input:focus, body.page textarea:focus, body.page select:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px var(--teal-glow); }
body.page label { font-family: var(--font-dial); font-size: 0.6rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--brass-hi); }
body.page input::placeholder, body.page textarea::placeholder { color: #7a6c52; }

/* ---------- marquees, process, dividers ---------- */
body.page .marquee, body.page .svc-marquee, body.page .awards-marquee { border-color: rgba(185, 138, 60, 0.18); background: var(--ink); }
body.page .marquee__item, body.page .svc-marquee__item, body.page .awards-marquee__item { font-family: var(--font-giant); font-weight: 700; letter-spacing: -0.02em; color: var(--sepia); }
body.page .svc-marquee__dot { background: var(--brass); }
body.page .svc-process__line { background: rgba(185, 138, 60, 0.2); }
body.page .svc-process__line-fill { background: var(--teal); }
body.page .svc-process__dot { background: var(--charcoal); border: 1px solid var(--brass); box-shadow: none; }
body.page .svc-process__dot.is-active, body.page .svc-process__step.is-active .svc-process__dot { background: var(--teal); border-color: var(--teal); box-shadow: 0 0 18px var(--teal-glow); }
body.page hr, body.page .contact-info__divider, body.page .ai-jengu__pillar-divider { border-color: rgba(185, 138, 60, 0.2); background: rgba(185, 138, 60, 0.2); }
body.page .orbital__ring, body.page .orbital__core-ring { border-color: rgba(185, 138, 60, 0.28); }
body.page .orbital__node-dot { background: var(--teal); box-shadow: 0 0 14px var(--teal-glow); }
body.page .orbital__card-fill { background: var(--teal); }

/* ---------- blog article ---------- */
body.page .blog-article__title { font-family: var(--font-giant); font-weight: 800; letter-spacing: -0.04em; font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: 0.98; color: var(--parchment); background: none; -webkit-text-fill-color: currentColor; }
body.page .blog-article__body { color: rgba(242, 232, 216, 0.84); font-size: 1.06rem; line-height: 1.72; }
body.page .blog-article__body h2, body.page .blog-article__body h3 { color: var(--parchment); margin-top: 2.4em; }
body.page .blog-article__body a { color: var(--teal); text-decoration-color: var(--teal-dim); }
body.page .blog-article__body blockquote { border-left: 2px solid var(--brass); background: rgba(185, 138, 60, 0.06); color: var(--parchment); font-style: normal; font-weight: 500; }
body.page .blog-article__body code, body.page .blog-article__body pre { background: var(--ink); border: 1px solid rgba(185, 138, 60, 0.22); color: var(--parchment); border-radius: 2px; }
body.page .blog-article__body ul li::marker, body.page .blog-article__body ol li::marker { color: var(--brass-hi); }
body.page .blog-article__body img { border: 1px solid rgba(185, 138, 60, 0.3); }
body.page .blog-article__cta { background: var(--ink); border: 1px solid rgba(185, 138, 60, 0.28); border-radius: 2px; }

/* ---------- CTA band ---------- */
body.page .cta, body.page .blog-cta {
  background: var(--ink) url("/images/plates/refined-core.jpg") center / cover no-repeat; position: relative; isolation: isolate;
}
body.page .cta::before, body.page .blog-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--charcoal) 0%, rgba(13, 11, 8, 0.72) 30%, rgba(13, 11, 8, 0.72) 70%, var(--ink) 100%); }

/* ---------- footer ---------- */
body.page .footer { background: var(--ink); border-top: 1px solid rgba(185, 138, 60, 0.2); }
body.page .footer-logo__text { font-family: var(--font-giant); font-weight: 800; letter-spacing: -0.045em; color: var(--parchment); }
body.page .footer-logo__char { background: none; -webkit-text-fill-color: currentColor; color: var(--parchment); }
body.page .footer__brand { font-family: var(--font-giant); font-weight: 800; letter-spacing: -0.03em; color: var(--parchment); background: none; -webkit-text-fill-color: currentColor; }
body.page .footer__desc, body.page .footer__copy, body.page .footer__legal a { color: var(--sepia); }
body.page .footer__link { color: rgba(242, 232, 216, 0.75); }
body.page .footer__link:hover, body.page .footer__legal a:hover { color: var(--teal); }
body.page .footer__social-link { border: 1px solid rgba(185, 138, 60, 0.4); color: var(--brass-hi); background: none; border-radius: 2px; }
body.page .footer__social-link:hover { border-color: var(--teal); color: var(--teal); }
body.page .footer__bottom { border-top: 1px solid rgba(185, 138, 60, 0.16); }

/* ---------- chrome bits ---------- */
body.page .preloader { background: var(--ink); }
body.page .preloader__fill { background: var(--teal); }
body.page .preloader__logo, body.page .preloader__count { font-family: var(--font-dial); color: var(--brass-hi); }
body.page .scroll-indicator__line { background: var(--brass); }
body.page .cursor { border-color: var(--brass-hi); }
body.page .skip-nav { background: var(--parchment); color: var(--ink); }
body.page .grain { opacity: 0.02; }

@media (max-width: 768px) {
  body.page .svc-hero, body.page .about-hero, body.page .page-hero, body.page .contact-hero, body.page .ai-hero, body.page .blog-hero, body.page .error-page {
    min-height: 68svh; padding: 7rem 1.25rem 3rem; background-position: 50% 40%;
  }
  body.page .svc-hero::after, body.page .about-hero::after, body.page .page-hero::after, body.page .contact-hero::after, body.page .ai-hero::after, body.page .blog-hero::after { inset: 4.6rem 1rem 1.6rem; }
}

/* the section's big faint numeral: a watermark in the giant face, not a label */
body.page .showcase__num {
  font-family: var(--font-giant); font-weight: 800; font-size: clamp(4rem, 9vw, 9rem); letter-spacing: -0.05em; line-height: 1;
  color: rgba(185, 138, 60, 0.12); background: none; -webkit-text-fill-color: currentColor;
}
