/* =========================================================================
   netex · pages/company-shared.css (company group) · shared components
   Enqueued by netex_company_shared_css() from: locations, location (and long-form views).
   co-sheet / co-survey (survey-point drawing), co-survey-facts, co-stat, co-src, co-files
   (open-file thumbnails frozen at the 47° midpoint), co-fund (dated funding rows).
   ========================================================================= */
@layer reset, tokens, base, components, layout, pages, utilities;

@layer pages {

/* ---- section head spacing --------------------------------------------------- */
.co-head .nx-eyebrow { margin-bottom: var(--s-3); }

/* ---- survey-point drawing ----------------------------------------------------- */
.co-sheet { position: relative; margin: 0; container-type: inline-size; }
.co-survey { display: block; width: 100%; height: auto; overflow: hidden; color: var(--fg); font-family: var(--f-mono); }
.co-survey__grid path { stroke: var(--rule); stroke-width: 1; vector-effect: non-scaling-stroke; }
.co-survey__grid path.is-major { stroke: color-mix(in srgb, var(--fg) 22%, transparent); }
.co-survey__frame { fill: none; stroke: color-mix(in srgb, var(--fg) 40%, transparent); stroke-width: 1; vector-effect: non-scaling-stroke; }
.co-survey__line { fill: none; stroke: var(--sig); stroke-width: 1.5; stroke-dasharray: 1 0; vector-effect: non-scaling-stroke; }
.co-survey__dim path { fill: none; stroke: var(--fg-2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.co-survey__dim text { fill: var(--fg-2); font-size: 15px; font-weight: 500; }
.co-survey__ring { fill: var(--bg); stroke: var(--fg); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.co-survey__dot { fill: var(--sig); }
.co-survey__cross { stroke: var(--fg); stroke-width: 1.5; stroke-linecap: square; vector-effect: non-scaling-stroke; }
.co-survey__name { fill: var(--fg); font-family: var(--f-sans); font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
.co-survey__coords { fill: var(--fg-2); font-size: 13px; font-weight: 500; }
.co-survey__toward { fill: var(--sig); font-size: 15px; font-weight: 500; letter-spacing: .04em; }
.co-survey__north circle { fill: var(--bg); stroke: var(--fg-2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.co-survey__needle { fill: var(--fg); }
.co-survey__north text { fill: var(--fg); font-size: 14px; font-weight: 600; }
/* On a phone the 800-unit sheet is drawn at ~45%: the lettering grows so it stays readable (≥ 9.5 px). */
@container (max-width: 560px) {
	.co-survey__name { font-size: 34px; }
	.co-survey__coords { font-size: 22px; }
	.co-survey__dim text { font-size: 24px; }
	.co-survey__toward { font-size: 24px; }
	.co-survey__north text { font-size: 22px; }
}
.co-sheet__block {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-1) var(--s-6);
	margin-top: var(--s-3);
	font: 500 .75rem/1.5 var(--f-mono);
	letter-spacing: .04em;
	color: var(--fg-2);
}
.co-sheet__block b { color: var(--fg); font-weight: 600; margin-right: .4em; }
.co-sheet__block time { color: var(--fg); font-variant-numeric: tabular-nums; font-weight: 600; }

/* ---- survey facts (mono key/value line) --------------------------------------- */
.co-survey-facts { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-6); margin: 0; font: 500 .75rem/1.5 var(--f-mono); letter-spacing: .04em; color: var(--fg-2); }
.co-survey-facts dt { display: inline; text-transform: uppercase; letter-spacing: var(--tr-label); }
.co-survey-facts dd { display: inline; margin: 0 0 0 .5em; }
.co-survey-facts b { color: var(--fg); font-weight: 600; font-variant-numeric: tabular-nums; }
.co-survey-facts a { color: var(--fg); }

/* ---- one sourced stat ------------------------------------------------------------ */
.co-stat {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--s-2) var(--s-3);
	max-width: 62rem;
	margin: 0 0 var(--s-7);
	padding: var(--s-4) 0;
	border-top: var(--bw-2) solid var(--fg);
	border-bottom: var(--bw) solid var(--rule);
}
.co-stat { flex-direction: column; align-items: flex-start; }
.co-stat__text { flex: none; max-width: 52ch; font-family: var(--f-serif); font-size: var(--t-lead); line-height: 1.4; color: var(--fg); }
.co-src {
	font: 500 .6875rem/1.4 var(--f-mono);
	letter-spacing: .04em;
	color: var(--fg-2);
}
a.co-src { color: var(--link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
@media (hover: hover) { a.co-src:hover { text-decoration-thickness: 2px; } }

/* ---- open files: proof drawings frozen at the 47° midpoint -------------------------- */
.co-files { margin: 0; padding: 0; list-style: none; border-bottom: var(--bw) solid var(--rule); container-type: inline-size; }
.co-file {
	position: relative;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	grid-template-areas: "thumb title arrow" "thumb id arrow";
	align-items: center;
	gap: var(--s-1) var(--s-4);
	padding: var(--s-3) var(--s-2) var(--s-3) 0;
	border-top: var(--bw) solid var(--rule);
	color: var(--fg);
	text-decoration: none;
	transition: background-color var(--dur-ui) var(--ease-mech), padding var(--dur-ui) var(--ease-mech);
}
.co-file__thumb {
	grid-area: thumb;
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ink);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%);
}
.co-file__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* 4:3 box: the 47° line through the centre has a half-run of 3/4 · cot47 / 2 = 34.97% of the width */
.co-file__after { clip-path: polygon(84.97% 0, 100% 0, 100% 100%, 15.03% 100%); }
.co-file__seam { position: absolute; left: 50%; top: 50%; width: 140%; height: 3px; margin: -1.5px 0 0 -70%; background: var(--n-grad); transform: rotate(-47deg); }
.co-file__title { grid-area: title; font: var(--w-h3) var(--t-h4)/1.25 var(--f-sans); }
.co-file__id { grid-area: id; font: 500 .6875rem/1.3 var(--f-mono); letter-spacing: var(--tr-label); color: var(--fg-2); }
.co-file__arrow { grid-area: arrow; width: 20px; height: 20px; transition: transform var(--dur-ui) var(--ease-mech); }
@container (min-width: 640px) {
	.co-file { grid-template-columns: 160px minmax(0, 1fr) auto auto; grid-template-areas: "thumb title id arrow"; min-height: 120px; }
}
@media (hover: hover) {
	.co-file:hover { background: var(--bg-2); padding-left: var(--s-3); }
	.co-file:hover .co-file__arrow { transform: translate(calc(3 * var(--u-x)), calc(3 * var(--u-y))); }
}

/* ---- dated funding rows -------------------------------------------------------------- */
.co-fund { margin: 0; padding: 0; list-style: none; border-bottom: var(--bw) solid var(--rule); }
.co-fund__row { display: grid; gap: var(--s-2); padding: var(--s-5) 0; border-top: var(--bw) solid var(--rule); }
.co-fund__text { max-width: 70ch; font-size: var(--t-body); line-height: 1.55; }
.co-fund__note { max-width: 70ch; font-family: var(--f-serif); font-style: italic; color: var(--fg-2); }
@media (min-width: 1024px) {
	.co-fund__row { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: var(--gutter); }
	.co-fund__src { grid-column: 2; grid-row: 1; justify-self: end; text-align: right; }
	.co-fund__note { grid-column: 1; }
}
.co-fund__foot { display: grid; gap: var(--s-4); margin-top: var(--s-6); justify-items: start; }

} /* end @layer pages */
