/* Hallmark 2.0 · Libra company pages · product index, editorial profile and correspondence layouts. */
/* Critique: let the real products, people and services carry each page. Relegate ornament to the margins. */

body.hallmark-company {
  --company-heading: var(--font-display);
  --company-section: clamp(3.75rem, 7vw, 7rem);
  --company-gap: clamp(2rem, 6vw, 6.25rem);
  --company-opening: clamp(7rem, 10vw, 9.5rem);
  --company-art-surface: var(--bg-raise);
}
body.hallmark-company:is(:lang(ar), :lang(ko), :lang(th)) { --company-heading: var(--font-body); }
.hallmark-company main :is(h1, h2, h3) {
  min-width: 0;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.hallmark-company main :is(h2[id], section[id]) { scroll-margin-block-start: 5.75rem; }
.hallmark-company :is(.studio-index a, .archelle-main summary, .contact-phones a):focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

/* Studios opens with a real application and a short index of the work. */
.hallmark-company.theme-terminal .ide-hero {
  padding-block: clamp(7rem, 9vw, 8.5rem) clamp(3.5rem, 5vw, 5.5rem);
}
.hallmark-company .ide-hero > .container-wide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: 'intro artwork' 'products artwork';
  gap: clamp(1.5rem, 3.5vw, 2.75rem) var(--company-gap);
  align-items: start;
}
.hallmark-company .ide-hero-head { grid-area: intro; min-width: 0; margin: 0; text-align: start; }
.hallmark-company .ide-hero-head h1 {
  max-width: 14ch;
  margin: 0;
  font-family: var(--company-heading);
  font-size: clamp(2.65rem, 5.5vw, 5.65rem);
  font-weight: 400;
  letter-spacing: -.04em;
}
.hallmark-company .ide-hero h1 .caret { display: none; }
.hallmark-company .ide-hero-head .lede { margin: 1.35rem 0 0; max-width: 47ch; }
.hallmark-company .studio-index { grid-area: products; }
.hallmark-company .studio-index ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hallmark-company .studio-index li { border-block-start: 1px solid var(--line); }
.hallmark-company .studio-index a {
  display: grid;
  align-content: start;
  gap: .15rem;
  min-block-size: 3rem;
  padding-block: .85rem;
  color: var(--ink);
  font-size: var(--text-sm);
  line-height: 1.45;
}
.hallmark-company .studio-index a strong {
  font-size: 1rem;
  text-decoration: underline;
  text-decoration-color: var(--line-strong);
  text-underline-offset: .22em;
}
.hallmark-company .studio-index a span { color: var(--text-dim); }
.hallmark-company .studio-index a:hover strong { color: var(--gold); text-decoration-color: currentColor; }
.hallmark-company .studio-index a:active strong { color: var(--ink); text-decoration-color: currentColor; }
.hallmark-company .studio-preview {
  grid-area: artwork;
  display: grid;
  justify-items: center;
  justify-self: start;
  align-self: center;
  gap: .75rem;
  width: min(100%, 25rem);
  margin: 0;
  padding: clamp(1rem, 2vw, 1.75rem);
  border-block: 1px solid var(--line);
  background: var(--company-art-surface);
  color: var(--text-dim);
}
.hallmark-company .studio-preview img {
  display: block;
  width: auto;
  max-width: 100%;
  height: clamp(17rem, 29vw, 25rem);
  object-fit: contain;
}
.hallmark-company .studio-preview figcaption { font-size: var(--text-sm); }
.hallmark-company.theme-terminal main > .section {
  padding-block: var(--company-section) !important;
  border-block-start: 1px solid var(--line);
}
.hallmark-company.theme-terminal .sec-tag { margin-block-end: clamp(1.5rem, 4vw, 3rem); }
.hallmark-company.theme-terminal .sec-tag .lede { margin-block-start: .75rem; }

/* Directory coverage and features read as reference material. */
.hallmark-company .console {
  overflow: visible;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.hallmark-company .console-grid {
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: var(--company-gap);
  padding: 0;
}
.hallmark-company .studio-coverage dl { margin: 0; border-block-start: 1px solid var(--line); }
.hallmark-company .studio-coverage dl > div {
  display: grid;
  grid-template-columns: minmax(5rem, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: 1.25rem;
  padding-block: .8rem;
  border-block-end: 1px solid var(--line);
}
.hallmark-company .studio-coverage dt { grid-column: 2; grid-row: 1; font-size: var(--text-sm); }
.hallmark-company .studio-coverage dd {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  color: var(--gold);
  font: 400 clamp(1.5rem, 2.8vw, 2.15rem)/1.1 var(--company-heading);
  font-variant-numeric: tabular-nums;
}
.hallmark-company .studio-coverage > p { margin-block-start: .9rem; color: var(--text-dim); font-size: var(--text-sm); }
.hallmark-company .routes .route { display: block; padding: .95rem 0; transition: none; }
.hallmark-company .routes .route:hover { padding: .95rem 0; background: none; }
.hallmark-company .routes :is(.route-path, .route-verb) { display: none; }
.hallmark-company .section-actions { justify-content: start; align-items: center; }
.hallmark-company #fbo-finder .section-actions { margin-block: 0 clamp(1.5rem, 4vw, 3rem); }

.hallmark-company .bkk-row {
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  gap: 1rem var(--company-gap);
  padding: 1.1rem 0;
  align-items: baseline;
}
.hallmark-company .bkk-row :is(.bkk-path, .bkk-ghost) { display: none; }
.hallmark-company .bkk-row:hover { background: none; }
.hallmark-company .bkk-row:hover h3 { color: var(--ink); translate: none; }
.hallmark-company .crt { border: 0; border-block: 1px solid var(--line); border-radius: 0; }
.hallmark-company .crt-inner {
  grid-template-columns: minmax(0, .65fr) minmax(0, 1fr);
  gap: var(--company-gap);
  padding: clamp(1.5rem, 4vw, 3rem) 0;
  animation: none;
}
.hallmark-company .crt-stage { min-width: 0; background: var(--company-art-surface); }
.hallmark-company .crt-sprite { max-width: 100%; height: auto; }
.hallmark-company .kargan-tags { gap: .4rem 1rem; }
.hallmark-company .kargan-tags span {
  border: 0;
  border-radius: 0;
  padding: 0;
  font: 400 var(--text-sm)/1.45 var(--font-body);
  letter-spacing: normal;
  text-transform: none;
}
.hallmark-company .kargan-cta .btn-pixel {
  min-height: 3rem;
  align-items: center;
  padding: .6rem 1.2rem;
  box-shadow: none;
  background: var(--gold);
  color: var(--bg);
  font: 600 var(--text-sm)/1.35 var(--font-body);
  letter-spacing: normal;
  text-transform: none;
}
.hallmark-company .kargan-cta .btn-pixel:is(:hover, :focus-visible) {
  transform: none;
  box-shadow: none;
  background: var(--ink);
}
.hallmark-company .kargan-cta .kargan-domain { font: 400 var(--text-sm)/1.4 var(--font-body); }
.hallmark-company .kargan-menu {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--company-gap);
  border: 0;
  border-radius: 0;
  background: none;
}
.hallmark-company .km-item { padding: 1.25rem 0; border-block-end: 1px solid var(--line); }
.hallmark-company .km-item:is(:hover, :focus-within) { background: none; }
.hallmark-company .archelle-studio {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.hallmark-company.theme-terminal .pull { padding-block: var(--company-section); border-block-start: 1px solid var(--line); }
.hallmark-company.theme-terminal .pull > .container { text-align: start; }
.hallmark-company.theme-terminal .pull-quote {
  max-width: 30ch;
  margin-inline: 0;
  font-size: clamp(1.85rem, 3.5vw, 3rem);
}

/* Put the geography next to the description of advisory work. */
.hallmark-company.theme-salon .salon-hero {
  min-height: 0;
  padding-block: var(--company-opening) var(--company-section);
  border-block-end: 1px solid var(--line);
}
.hallmark-company.theme-salon .salon-hero-inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, .72fr);
  align-items: end;
  gap: var(--company-gap);
}
.hallmark-company .salon-hero :is(.arm-stage, .salon-hero-foot) { display: none; }
.hallmark-company .salon-hero .dossier-lede {
  max-width: 37ch;
  margin: 0 0 .5rem;
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--gold-line);
  color: var(--text-dim);
  font: 400 1rem/1.7 var(--font-body);
}
.hallmark-company .salon-hero .dossier-lede h2 {
  margin-block-end: .6rem;
  color: var(--ink);
  font: 400 clamp(1.3rem, 2.2vw, 1.8rem)/1.25 var(--company-heading);
}
.hallmark-company :is(.salon-title, .house-title) {
  font-family: var(--company-heading);
  font-size: clamp(2.6rem, 5.45vw, 5.6rem);
  font-weight: 400;
  line-height: 1.06;
}
.hallmark-company :is(.salon-title, .house-title) .line { display: inline; }
.hallmark-company :is(.salon-title, .house-title) .line > span { display: inline; transform: none; animation: none; }
.hallmark-company :is(.salon-title, .house-title) em { color: inherit; font-family: inherit; }
.hallmark-company .salon-lede { margin-block-start: 1.25rem; opacity: 1; animation: none; }
.hallmark-company.theme-salon .dossier-section { padding-block: var(--company-section); }
.hallmark-company .dossier {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.5rem var(--company-gap);
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}
.hallmark-company .dossier :is(.dossier-head, .dossier-foot) { grid-column: 1 / -1; margin: 0; }
.hallmark-company .dossier .dossier-body { margin: 0; }
.hallmark-company .dossier .dossier-body p { max-width: 58ch; }
.hallmark-company .dossier .dropcap::first-letter { float: none; margin: 0; color: inherit; font: inherit; }
.hallmark-company .dossier::before,
.hallmark-company .dossier::after { content: none; }
.hallmark-company .dossier .seal-wrap { display: none; }
.hallmark-company .engagements { margin: 0; }
.hallmark-company .engagement {
  grid-template-columns: minmax(0, 1fr);
  gap: .35rem;
  padding: 1rem 0;
  transition: none;
}
.hallmark-company .engagement:hover { padding: 1rem 0; background: none; }
.hallmark-company .dossier-foot {
  justify-content: start;
  font: 400 var(--text-sm)/1.5 var(--font-body);
  letter-spacing: normal;
  text-transform: none;
}
.hallmark-company .dossier-rule { display: none; }
.hallmark-company .enquiries-card { text-align: start; }
.hallmark-company.theme-salon .enquiries {
  padding-block: var(--company-section);
  border-block-start: 1px solid var(--line);
}
.hallmark-company.theme-salon .enquiries-card {
  max-width: none;
  padding: 0;
  border: 0;
  background: none;
}
.hallmark-company .enquiries-actions { justify-content: start; }

/* The people lead the company profile, followed by principles and address. */
.hallmark-company.theme-house .house-hero {
  min-height: 0;
  padding-block: var(--company-opening) var(--company-section);
  border-block-end: 1px solid var(--line);
  text-align: start;
}
.hallmark-company .house-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .52fr);
  column-gap: var(--company-gap);
}
.hallmark-company .house-hero-inner > :is(h1, p) { grid-column: 1; justify-self: start; }
.hallmark-company .house-hero-inner .emblem-stage {
  grid-area: 1 / 2 / span 2 / 3;
  align-self: center;
  width: min(100%, 14rem);
  margin: 0;
  box-shadow: none;
}
.hallmark-company .house-hero-inner .emblem { width: 100%; }
.hallmark-company .house-hero .house-lede { margin: 1.25rem 0 0; opacity: 1; animation: none; }
.hallmark-company .house-hero-foot { display: none; }
.hallmark-company.theme-house main > .section { padding-block: var(--company-section); }
.hallmark-company.theme-house .section-head::after { content: none; }
.hallmark-company .gallery { display: block; border-block-start: 1px solid var(--line); }
.hallmark-company .gallery .plate {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1fr);
  grid-template-areas: 'name bio' 'role bio';
  gap: .35rem var(--company-gap);
  align-content: start;
  min-width: 0;
  padding: 1.25rem 0;
  border: 0;
  border-block-end: 1px solid var(--line);
  border-radius: 0;
  background: none;
  text-align: start;
  transition: none;
}
.hallmark-company .gallery .plate:hover { transform: none; box-shadow: none; }
.hallmark-company .plate .plate-mono { display: none; }
.hallmark-company .plate .plate-role {
  grid-area: role;
  margin: 0;
  color: var(--text-dim);
  font: 400 var(--text-sm)/1.55 var(--font-body);
  letter-spacing: normal;
  text-transform: none;
}
.hallmark-company .plate h3 { grid-area: name; margin: 0; }
.hallmark-company .plate p:last-child { grid-area: bio; max-width: 57ch; margin: 0; }
.hallmark-company .weight::after,
.hallmark-company .reg-rule { display: none; }
.hallmark-company .weights { gap: 1.4rem var(--company-gap); }
.hallmark-company .weight { border-block-start: 1px solid var(--line); padding-block-start: 1rem; }
.hallmark-company .reg-frame { text-align: start; }
.hallmark-company .reg-quote { max-width: 43ch; margin-inline: 0; }

/* Contact keeps the native controls, with a clear column for correspondence. */
.hallmark-company.theme-letterpress .contact-enquiry {
  padding-block: var(--company-opening) var(--company-section);
}
.hallmark-company .contact-enquiry-layout { column-gap: var(--company-gap); }
.hallmark-company .contact-enquiry-intro h1 {
  margin: 0;
  font-family: var(--company-heading);
  font-weight: 400;
  font-size: clamp(2.65rem, 5vw, 4.95rem);
}
.hallmark-company .contact-enquiry .contact-form {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.hallmark-company .contact-enquiry .contact-field :is(input, select, textarea) { border-radius: .15rem; }
.hallmark-company .contact-enquiry .contact-field { margin-block-end: 1.35rem; }
.hallmark-company .contact-phones h2 { font: 400 clamp(1.35rem, 2.2vw, 1.75rem)/1.15 var(--company-heading); }
.hallmark-company .contact-phones a { font-variant-numeric: tabular-nums; }
.hallmark-company .contact-phones a:hover { color: var(--gold); }
.hallmark-company .contact-footer { padding-block: 1.5rem; }

/* Support and privacy read like product documentation alongside the actual interface. */
.hallmark-company .archelle-main { padding-block-start: var(--company-opening); }
.hallmark-company .archelle-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, .65fr);
  gap: var(--company-gap);
  align-items: center;
  padding-block-end: var(--company-section);
  border-block-end: 1px solid var(--line);
}
.hallmark-company .archelle-hero .archelle-shot {
  width: min(100%, 13.25rem);
  height: auto;
  justify-self: center;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.hallmark-company .archelle-main a { color: var(--gold); }
.hallmark-company .archelle-main :is(a, summary):focus-visible { outline-color: var(--gold); }
.hallmark-company .archelle-main .archelle-intro h1 { font-family: var(--company-heading); font-weight: 400; }
.hallmark-company .archelle-main .archelle-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  border-radius: .15rem;
  border-color: var(--line-strong);
  font-size: var(--text-sm);
}
.hallmark-company .archelle-main .archelle-actions a:first-child {
  padding-inline: .95rem;
  background: var(--gold);
  color: var(--bg);
  border-color: var(--gold);
}
.hallmark-company .archelle-main .archelle-actions a:first-child:hover { background: var(--ink); border-color: var(--ink); }
.hallmark-company .archelle-body section { padding-block: clamp(2.75rem, 6vw, 5.25rem); }
.hallmark-company .archelle-body details { border-radius: 0; border-inline: 0; background: none; }
.hallmark-company .archelle-body summary { min-height: 3rem; }
.hallmark-company .page-hero { min-height: 0 !important; padding-block: var(--company-opening) var(--company-section); }
.hallmark-company .page-hero > .container::before {
  content: '404' / '';
  display: block;
  margin-block-end: .85rem;
  color: var(--gold);
  font: 400 clamp(1.65rem, 4vw, 2.6rem)/1 var(--company-heading);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 800px) {
  .hallmark-company .ide-hero > .container-wide,
  .hallmark-company .console-grid,
  .hallmark-company.theme-salon .salon-hero-inner,
  .hallmark-company .dossier,
  .hallmark-company .house-hero-inner,
  .hallmark-company .archelle-hero { grid-template-columns: minmax(0, 1fr); }
  .hallmark-company .house-hero-inner .emblem-stage { display: none; }
  .hallmark-company .ide-hero > .container-wide { grid-template-areas: 'intro' 'products' 'artwork'; }
  .hallmark-company .studio-preview { justify-self: start; }
  .hallmark-company .studio-preview img { height: clamp(14rem, 64vw, 22rem); }
  .hallmark-company .salon-hero .dossier-lede { max-width: 40ch; }
}
@media (max-width: 620px) {
  .hallmark-company .bkk-row,
  .hallmark-company .kargan-menu,
  .hallmark-company .crt-inner,
  .hallmark-company .gallery .plate { grid-template-columns: minmax(0, 1fr); }
  .hallmark-company .gallery .plate { grid-template-areas: 'name' 'role' 'bio'; gap: .5rem; }
  .hallmark-company .crt-stage { padding: 1rem; }
}
@media (max-width: 430px) {
  .hallmark-company .archelle-studio { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .hallmark-company :is(.crt-sprite, .crt-title, .emblem-beam, .emblem-outer, .emblem-scales, .emblem-star) { animation: none; }
}

.hallmark-company .legal-document {
  padding-block: clamp(6rem, 11vw, 9rem) var(--company-section);
}
.legal-document > * { max-inline-size: 70ch; }
.legal-document h1 { font-size: clamp(2.35rem, 6vw, 4.75rem); }
.legal-document section { margin-block-start: clamp(2rem, 5vw, 3.75rem); }
.legal-document h2 { margin-block-end: .65rem; }
.legal-document p { margin-block: .65rem 0; overflow-wrap: anywhere; }
.legal-document a { text-decoration: underline; text-underline-offset: .2em; }
