/* ============================================================================
   Stroiinfo company catalog — frontend styles.
   Built to be a native extension of the StroiInfo (flavor-flavor) theme:
   black & white "newsprint", Montserrat, square corners, flat white cards,
   gray-100 section bands, modest scale(1.02) hovers, uppercase eyebrows.
   Uses the theme's CSS custom properties (with safe fallbacks).
   ============================================================================ */

.stadv-wrap {
	--c-black:   var(--color-black, #000);
	--c-white:   var(--color-white, #fff);
	--c-g100:    var(--color-gray-100, #f8f9fa);
	--c-g200:    var(--color-gray-200, #e9ecef);
	--c-g300:    var(--color-gray-300, #dee2e6);
	--c-g400:    var(--color-gray-400, #ced4da);
	--c-g500:    var(--color-gray-500, #adb5bd);
	--c-g600:    var(--color-gray-600, #6c757d);
	--c-g700:    var(--color-gray-700, #495057);
	--c-g800:    var(--color-gray-800, #343a40);
	--s1: var(--spacing-1, .25rem);  --s2: var(--spacing-2, .5rem);   --s3: var(--spacing-3, .75rem);
	--s4: var(--spacing-4, 1rem);    --s5: var(--spacing-5, 1.25rem); --s6: var(--spacing-6, 1.5rem);
	--s8: var(--spacing-8, 2rem);    --s10: var(--spacing-10, 2.5rem);--s12: var(--spacing-12, 3rem);
	--tf: var(--transition-fast, 150ms ease);
	--tn: var(--transition-normal, 250ms ease);

	font-family: var(--font-family, 'Montserrat', -apple-system, sans-serif);
	color: var(--c-black);
}
.stadv-wrap *, .stadv-wrap *::before, .stadv-wrap *::after { box-sizing: border-box; }
.stadv-wrap .container { width: 100%; max-width: var(--container-max, 1400px); margin: 0 auto; padding: 0 var(--container-padding, 1rem); }
.stadv-wrap a { color: var(--c-black); text-decoration: none; transition: color var(--tf); }
.stadv-wrap a:hover { color: var(--c-g600); }
.stadv-wrap img { max-width: 100%; height: auto; display: block; }
.stadv-wrap h1, .stadv-wrap h2, .stadv-wrap h3 { font-weight: var(--font-weight-bold, 700); line-height: var(--line-height-tight, 1.2); margin: 0; }

/* shared eyebrow / label type ------------------------------------------------ */
.stadv-eyebrow, .stadv-card-cat, .stadv-card-meta, .stadv-quickbar span,
.stadv-contact-list li span, .stadv-dash-eyebrow, .stadv-stat span,
.stadv-table th, .stadv-chart-title, .stadv-results-count, .stadv-project-meta {
	font-size: var(--font-size-xs, .75rem); text-transform: uppercase; letter-spacing: .5px;
	font-weight: var(--font-weight-bold, 700); color: var(--c-g600);
}

/* ---------------------------------------------------------------- buttons --- */
.stadv-button {
	display: inline-flex; align-items: center; gap: .5em;
	background-color: var(--c-black); color: var(--c-white);
	border: none; padding: var(--s3) var(--s8); font-size: var(--font-size-sm, .875rem);
	font-weight: var(--font-weight-bold, 700); text-transform: uppercase; letter-spacing: 1px; line-height: 1.2;
	transition: background-color var(--tf), color var(--tf); cursor: pointer;
}
.stadv-button:hover { background-color: var(--c-g800); color: var(--c-white); }
.stadv-button-small { padding: var(--s2) var(--s4); font-size: var(--font-size-xs, .75rem); }
.stadv-button-block { display: flex; width: 100%; justify-content: center; }
.stadv-button-ghost { background-color: var(--c-white); color: var(--c-black); box-shadow: inset 0 0 0 2px var(--c-black); }
.stadv-button-ghost:hover { background-color: var(--c-black); color: var(--c-white); }
.stadv-button[data-stadv-out]::after, .stadv-link-out::after { content: "\2197"; font-weight: var(--font-weight-bold,700); }

/* eyebrow with the theme's bottom-border accent (à la .single-category) ------ */
.stadv-tag {
	display: inline-block; font-size: var(--font-size-xs, .75rem); font-weight: var(--font-weight-bold, 700);
	text-transform: uppercase; letter-spacing: 1px; color: var(--c-black); padding: var(--s1) 0;
	border-bottom: 2px solid var(--c-black);
}

/* ============================================================ catalog head === */
.stadv-catalog-head { padding: var(--s8) 0 var(--s6); border-bottom: 1px solid var(--c-g200); }
.stadv-catalog-head .stadv-eyebrow,
.archive-page.stadv-wrap .archive-header .stadv-eyebrow { display: inline-block; margin-bottom: var(--s3); padding-bottom: var(--s1); border-bottom: 2px solid var(--c-black); color: var(--c-black); }
.stadv-catalog-head h1, .archive-page.stadv-wrap .archive-title {
	font-size: clamp(1.75rem, 5vw, 2.75rem); font-weight: var(--font-weight-extrabold, 800); line-height: 1.15; letter-spacing: -.5px; margin: 0;
}
.stadv-catalog-head p, .archive-page.stadv-wrap .archive-description { margin: var(--s4) 0 0; max-width: 60ch; color: var(--c-g600); font-size: var(--font-size-lg, 1.125rem); line-height: var(--line-height-relaxed, 1.75); }
.archive-page.stadv-wrap .archive-header { padding: var(--s8) 0 var(--s6); border-bottom: 1px solid var(--c-g200); }

/* ---------------------------------------------------------------- filters --- */
.stadv-filters { border: 0; background: transparent; padding: var(--s6) 0; margin: 0; border-bottom: 1px solid var(--c-g200); }
.stadv-filters-row { display: flex; flex-wrap: wrap; gap: var(--s2); }
.stadv-filters-row input[type="search"], .stadv-filter-select {
	font-family: inherit; font-size: var(--font-size-sm, .875rem); padding: var(--s3) var(--s4);
	border: 1px solid var(--c-g300); background: var(--c-white); color: var(--c-black); border-radius: 0;
	appearance: none; -webkit-appearance: none; transition: border-color var(--tf);
}
.stadv-filter-select {
	padding-right: 2.4em; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23000' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .9em center;
}
.stadv-filters-row input[type="search"]:focus, .stadv-filter-select:focus { outline: none; border-color: var(--c-black); }
.stadv-filter-search { flex: 1 1 260px; min-width: 0; }
.stadv-filters-meta { margin-top: var(--s4); display: flex; justify-content: flex-end; align-items: center; gap: var(--s4); flex-wrap: wrap; }
.stadv-view-toggle { display: inline-flex; border: 1px solid var(--c-g300); }
.stadv-view-toggle button {
	font-family: inherit; font-size: var(--font-size-xs, .75rem); text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700);
	border: 0; background: var(--c-white); color: var(--c-g600); padding: var(--s2) var(--s4); cursor: pointer; transition: background-color var(--tf), color var(--tf);
}
.stadv-view-toggle button + button { border-left: 1px solid var(--c-g300); }
.stadv-view-toggle button:hover { color: var(--c-black); }
.stadv-view-toggle button.is-active { background: var(--c-black); color: var(--c-white); }

/* ------------------------------------------------------------ catalog grid --- */
.stadv-catalog-results { padding-top: var(--s8); transition: opacity var(--tn); }
.stadv-results-bar { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s6); flex-wrap: wrap; }
.stadv-company-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--s6); }
.stadv-company-list { display: flex; flex-direction: column; gap: var(--s6); }

.stadv-card { background-color: var(--c-white); display: flex; flex-direction: column; position: relative; }
.stadv-card-featured .stadv-card-media { box-shadow: inset 0 3px 0 var(--c-black); }
.stadv-card-media { display: block; overflow: hidden; aspect-ratio: 16/10; background: var(--c-g100); }
.stadv-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--tn); }
.stadv-card:hover .stadv-card-media img { transform: scale(1.02); }
.stadv-card.has-logo .stadv-card-media img { object-fit: contain; padding: var(--s5); background: var(--c-white); transform: none !important; }
.stadv-card-noimg { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 3rem; font-weight: var(--font-weight-extrabold, 800); color: var(--c-g300); }
.stadv-ribbon {
	position: absolute; top: var(--s3); left: var(--s3); background: var(--c-black); color: var(--c-white);
	font-size: 10px; letter-spacing: .5px; text-transform: uppercase; padding: var(--s1) var(--s2); font-weight: var(--font-weight-bold, 700);
}
.stadv-card-body { padding: var(--s4) 0 0; display: flex; flex-direction: column; gap: var(--s2); flex: 1; }
.stadv-card-cat { font-size: 10px; }
.stadv-card-title { font-size: var(--font-size-lg, 1.125rem); font-weight: var(--font-weight-bold, 700); line-height: var(--line-height-tight, 1.2); margin: 0; }
.stadv-card-title a:hover { color: var(--c-g700); }
.stadv-card-tagline { font-size: var(--font-size-sm, .875rem); color: var(--c-g600); margin: 0; line-height: var(--line-height-normal, 1.5); }
.stadv-card-meta { font-size: var(--font-size-xs, .75rem); color: var(--c-g500); }
.stadv-card .stadv-button { margin-top: var(--s3); align-self: flex-start; }
.stadv-card-list { flex-direction: row; gap: var(--s5); }
.stadv-card-list .stadv-card-media { flex: 0 0 38%; max-width: 320px; aspect-ratio: 16/10; }
.stadv-card-list .stadv-card-body { padding-top: 0; }

.stadv-empty { padding: var(--s12) var(--s4); color: var(--c-g600); font-size: var(--font-size-lg, 1.125rem); text-align: center; background: var(--c-g100); margin-top: var(--s6); }

/* -------------------------------------------------------------- pagination --- */
.stadv-pagination { margin: var(--s10) 0 var(--s4); text-align: center; }
.stadv-pagination ul, .stadv-pagination .page-numbers { list-style: none; display: inline-flex; gap: var(--s1); padding: 0; margin: 0; flex-wrap: wrap; justify-content: center; }
.stadv-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 2.5em; height: 2.5em; padding: 0 .5em;
	border: 1px solid var(--c-g300); font-size: var(--font-size-sm, .875rem); font-weight: var(--font-weight-bold, 700);
	transition: background-color var(--tf), border-color var(--tf), color var(--tf);
}
.stadv-pagination .page-numbers:hover { background: var(--c-g100); border-color: var(--c-g400); }
.stadv-pagination .page-numbers.current { background: var(--c-black); color: var(--c-white); border-color: var(--c-black); }
.stadv-pagination .page-numbers.dots { border-color: transparent; }

/* ================================================================ profile === */
.stadv-profile { padding-bottom: var(--s12); --stadv-header-h: 0px; --stadv-subnav-h: 0px; }
.stadv-profile .breadcrumbs { padding-top: var(--s5); margin: 0; }
.stadv-profile-top { padding-bottom: var(--s6); }

/* in-page section nav (sticky under the theme header) */
.stadv-subnav { position: sticky; top: var(--stadv-header-h, 0px); z-index: 50; background: var(--c-white); border-top: 1px solid var(--c-g200); border-bottom: 1px solid var(--c-g200); margin-bottom: var(--s8); }
.stadv-subnav .container { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); }
.stadv-subnav-links { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; flex: 1 1 auto; }
.stadv-subnav-links::-webkit-scrollbar { display: none; }
.stadv-subnav-links a {
	flex: 0 0 auto; padding: var(--s4) var(--s4); font-size: var(--font-size-sm, .875rem); font-weight: var(--font-weight-semibold, 600);
	text-transform: uppercase; letter-spacing: .5px; color: var(--c-g600); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap;
	transition: color var(--tf), border-color var(--tf);
}
.stadv-subnav-links a:first-child { padding-left: 0; }
.stadv-subnav-links a:hover { color: var(--c-black); }
.stadv-subnav-links a.is-active { color: var(--c-black); border-bottom-color: var(--c-black); }
.stadv-subnav-cta { flex: 0 0 auto; }

/* anchor targets clear the sticky header + subnav */
.stadv-profile [id^="stadv-"] { scroll-margin-top: calc(var(--stadv-header-h, 0px) + var(--stadv-subnav-h, 0px) + var(--s4)); }

/* scroll-reveal — only when JS has flagged .stadv-anim, so content is never hidden if JS fails / reduced-motion */
.stadv-reveal { transition: opacity .6s ease, transform .6s ease; }
.stadv-profile.stadv-anim .stadv-reveal { opacity: 0; transform: translateY(22px); transition-delay: var(--stadv-d, 0ms); }
.stadv-profile.stadv-anim .stadv-reveal.is-in { opacity: 1; transform: none; }
.stadv-profile.stadv-anim .stadv-hero-inner { animation: stadv-hero-in .7s ease both; }
@keyframes stadv-hero-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* hero — theme's overlay-on-image pattern (à la .hero-main-content) */
.stadv-hero { position: relative; margin-top: var(--s6); overflow: hidden; background: var(--c-g100); }
.stadv-hero-cover { position: relative; aspect-ratio: 21/8; min-height: 280px; }
.stadv-hero-cover img { width: 100%; height: 100%; object-fit: cover; }
.stadv-hero.no-cover { background: var(--c-black); }
.stadv-hero.no-cover .stadv-hero-cover { aspect-ratio: auto; min-height: 0; }
.stadv-hero-inner {
	position: absolute; left: 0; right: 0; bottom: 0; padding: var(--s10) var(--s6) var(--s6);
	background: linear-gradient(transparent, rgba(0,0,0,.82)); color: var(--c-white);
	display: flex; align-items: flex-end; gap: var(--s6); flex-wrap: wrap;
}
.stadv-hero.no-cover .stadv-hero-inner { position: static; background: var(--c-black); padding: var(--s10) var(--s6); }
.stadv-hero-logo { flex: 0 0 auto; width: 96px; height: 96px; background: var(--c-white); display: flex; align-items: center; justify-content: center; padding: var(--s3); }
.stadv-hero-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.stadv-hero-id { flex: 1 1 280px; min-width: 0; }
.stadv-hero-cat { display: flex; flex-wrap: wrap; gap: var(--s2); margin: 0 0 var(--s3); }
.stadv-hero-cat a {
	display: inline-block; background: var(--c-black); color: var(--c-white); font-size: var(--font-size-xs, .75rem);
	font-weight: var(--font-weight-bold, 700); text-transform: uppercase; letter-spacing: .5px; padding: var(--s1) var(--s2);
}
.stadv-hero-cat a:hover { color: var(--c-g300); }
.stadv-hero-name { font-size: clamp(1.75rem, 5vw, 3rem); font-weight: var(--font-weight-extrabold, 800); line-height: 1.12; letter-spacing: -.5px; color: var(--c-white); margin: 0; }
.stadv-hero-name .stadv-badge { vertical-align: middle; }
.stadv-hero-tagline { font-size: var(--font-size-lg, 1.125rem); color: rgba(255,255,255,.88); margin: var(--s3) 0 0; max-width: 60ch; line-height: var(--line-height-normal, 1.5); }
.stadv-hero-cta { flex: 0 0 auto; display: flex; gap: var(--s2); flex-wrap: wrap; }
.stadv-hero-cta .stadv-button { background: var(--c-white); color: var(--c-black); }
.stadv-hero-cta .stadv-button:hover { background: var(--c-g200); color: var(--c-black); }
.stadv-badge {
	display: inline-block; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; font-weight: var(--font-weight-bold, 700);
	background: var(--c-white); color: var(--c-black); padding: var(--s1) var(--s2); vertical-align: middle;
}

/* quick stats bar */
.stadv-quickbar { display: flex; flex-wrap: wrap; gap: var(--s8); padding: var(--s5) 0; border-bottom: 1px solid var(--c-g200); margin-bottom: var(--s8); }
.stadv-quickbar span { display: flex; flex-direction: column; gap: var(--s1); font-size: 10px; }
.stadv-quickbar strong { font-size: var(--font-size-lg, 1.125rem); color: var(--c-black); text-transform: none; letter-spacing: 0; font-weight: var(--font-weight-bold, 700); }

/* two-column body */
.stadv-profile-grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: var(--s12); align-items: start; }
.stadv-profile-aside { display: flex; flex-direction: column; gap: var(--s8); position: sticky; top: calc(var(--stadv-header-h, 0px) + var(--stadv-subnav-h, 0px) + var(--s4)); }

/* about › service / cert tag groups */
.stadv-tagset { margin-top: var(--s6); }
.stadv-tagset-label { display: block; margin-bottom: var(--s3); font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700); color: var(--c-g600); }

/* locations: map + list side by side */
.stadv-locations-grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: var(--s6); align-items: start; }
.stadv-locations-grid .stadv-map, .stadv-locations-grid .stadv-map-embed iframe { height: 360px; }
.stadv-locations-grid .stadv-locations { margin-top: 0; }

/* full-width contact CTA band */
.stadv-contact-cta { background: var(--c-black); color: var(--c-white); padding: var(--s12) 0; margin-top: var(--s12); }
.stadv-contact-cta-inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s12); align-items: start; }
.stadv-tag-light { color: var(--c-white); border-bottom-color: var(--c-white); }
.stadv-contact-cta-text h2 { font-size: clamp(1.6rem, 4vw, 2.5rem); font-weight: var(--font-weight-extrabold, 800); letter-spacing: -.5px; line-height: 1.12; margin: var(--s4) 0 var(--s4); color: var(--c-white); }
.stadv-contact-cta-text p { color: rgba(255,255,255,.78); font-size: var(--font-size-base, 1rem); line-height: var(--line-height-relaxed, 1.75); max-width: 52ch; margin: 0 0 var(--s6); }
.stadv-contact-cta-list { list-style: none; padding: 0; margin: 0; }
.stadv-contact-cta-list li { padding: var(--s3) 0; border-top: 1px solid rgba(255,255,255,.15); font-size: var(--font-size-sm, .875rem); }
.stadv-contact-cta-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.15); }
.stadv-contact-cta-list li span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700); color: rgba(255,255,255,.55); margin-bottom: var(--s1); }
.stadv-contact-cta-list li a { color: var(--c-white); }
.stadv-contact-cta-list li a:hover { color: rgba(255,255,255,.7); text-decoration: underline; }
.stadv-contact-cta-form .stadv-form > label, .stadv-contact-cta-form .stadv-form-grid > label { color: rgba(255,255,255,.6); }
.stadv-contact-cta-form .stadv-form input, .stadv-contact-cta-form .stadv-form textarea,
.stadv-contact-cta-form .stadv-form-grid input, .stadv-contact-cta-form .stadv-form-grid textarea { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.22); color: var(--c-white); }
.stadv-contact-cta-form .stadv-form input::placeholder, .stadv-contact-cta-form .stadv-form textarea::placeholder { color: rgba(255,255,255,.4); }
.stadv-wrap .stadv-contact-cta-form .stadv-form input:focus, .stadv-wrap .stadv-contact-cta-form .stadv-form textarea:focus,
.stadv-wrap .stadv-contact-cta-form .stadv-form-grid input:focus, .stadv-wrap .stadv-contact-cta-form .stadv-form-grid textarea:focus { border-color: var(--c-white); }
.stadv-contact-cta-form .stadv-button { background: var(--c-white); color: var(--c-black); }
.stadv-contact-cta-form .stadv-button:hover { background: rgba(255,255,255,.85); color: var(--c-black); }
.stadv-contact-cta-form .stadv-notice { background: rgba(255,255,255,.08); color: var(--c-white); border-left-color: rgba(255,255,255,.5); }
.stadv-contact-cta-form .stadv-notice-ok { border-left-color: #2ecc71; }
.stadv-contact-cta-form .stadv-notice-err { border-left-color: #ff6b6b; }
.stadv-contactcard-cta { margin-top: var(--s4); }

.stadv-section { margin-bottom: var(--s12); }
.stadv-section:last-child { margin-bottom: 0; }
.stadv-section > h2 {
	font-size: var(--font-size-lg, 1.125rem); font-weight: var(--font-weight-bold, 700); text-transform: uppercase; letter-spacing: 1px;
	margin: 0 0 var(--s6); padding-bottom: var(--s3); border-bottom: 2px solid var(--c-black);
}
.stadv-profile-aside .stadv-section > h2, .stadv-contactcard > h2, .stadv-contactform > h2 { font-size: var(--font-size-base, 1rem); margin-bottom: var(--s4); }
.stadv-richtext { font-size: var(--font-size-lg, 1.125rem); line-height: var(--line-height-relaxed, 1.75); color: var(--c-g800); }
.stadv-richtext > :first-child { margin-top: 0; }
.stadv-richtext p { margin: 0 0 var(--s4); }
.stadv-richtext h3 { font-size: var(--font-size-xl, 1.25rem); margin: var(--s8) 0 var(--s3); text-transform: uppercase; letter-spacing: .5px; }
.stadv-richtext ul, .stadv-richtext ol { margin: 0 0 var(--s4); padding-left: 1.25em; list-style: disc; }
.stadv-richtext ol { list-style: decimal; }
.stadv-richtext li { margin: var(--s1) 0; }
.stadv-richtext a { text-decoration: underline; text-underline-offset: 2px; }

/* pills */
.stadv-pills { display: flex; flex-wrap: wrap; gap: var(--s2); }
.stadv-pill { display: inline-flex; align-items: center; border: 1px solid var(--c-g300); padding: var(--s2) var(--s3); font-size: var(--font-size-sm, .875rem); font-weight: var(--font-weight-semibold, 600); transition: border-color var(--tf), background-color var(--tf), color var(--tf); }
a.stadv-pill:hover { background: var(--c-black); color: var(--c-white); border-color: var(--c-black); }

/* projects */
.stadv-projects { display: flex; flex-direction: column; gap: var(--s8); }
.stadv-project { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: var(--s6); }
.stadv-project-img { overflow: hidden; aspect-ratio: 4/3; background: var(--c-g100); }
.stadv-project-img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--tn); }
.stadv-project:hover .stadv-project-img img { transform: scale(1.02); }
.stadv-project-body h3 { margin: 0 0 var(--s2); font-size: var(--font-size-xl, 1.25rem); font-weight: var(--font-weight-bold, 700); }
.stadv-project-meta { margin: 0 0 var(--s3); }
.stadv-project-body .stadv-richtext { font-size: var(--font-size-base, 1rem); line-height: var(--line-height-normal, 1.5); }

/* team */
.stadv-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--s6); }
.stadv-team-member { display: flex; flex-direction: column; }
.stadv-team-photo { overflow: hidden; aspect-ratio: 1; background: var(--c-g100); margin-bottom: var(--s3); }
.stadv-team-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--tn); }
.stadv-team-member:hover .stadv-team-photo img { transform: scale(1.02); }
.stadv-team-photo-empty { display: flex; align-items: center; justify-content: center; font-size: 2.4rem; font-weight: var(--font-weight-extrabold, 800); color: var(--c-g300); }
.stadv-team-member strong { font-size: var(--font-size-base, 1rem); }
.stadv-team-member span { font-size: var(--font-size-sm, .875rem); color: var(--c-g600); margin-top: var(--s1); }
.stadv-team-member a { font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700); margin-top: var(--s2); }
.stadv-team-member a:hover { text-decoration: underline; }

/* galleries */
.stadv-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--s2); }
.stadv-gallery-small { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); margin-top: var(--s3); }
.stadv-gallery a { display: block; overflow: hidden; aspect-ratio: 1; background: var(--c-g100); cursor: zoom-in; }
.stadv-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--tn); }
.stadv-gallery a:hover img { transform: scale(1.04); }

/* article cards inside profile */
.stadv-company-grid-articles .stadv-card-media { aspect-ratio: 16/9; }

/* aside cards */
.stadv-contactcard { background: var(--c-g100); padding: var(--s6); }
.stadv-contactform { background: var(--c-black); color: var(--c-white); padding: var(--s6); }
.stadv-contactform > h2 { color: var(--c-white); border-bottom-color: var(--c-white); }
.stadv-contact-list { list-style: none; padding: 0; margin: 0; }
.stadv-contact-list li { padding: var(--s3) 0; border-bottom: 1px solid var(--c-g300); font-size: var(--font-size-sm, .875rem); line-height: var(--line-height-normal, 1.5); }
.stadv-contact-list li:first-child { padding-top: 0; }
.stadv-contact-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.stadv-contact-list li span { display: block; margin-bottom: var(--s1); font-size: 10px; }
.stadv-contact-list li a:hover { text-decoration: underline; }
.stadv-socials { margin-top: var(--s4); display: flex; flex-wrap: wrap; gap: var(--s2); }
.stadv-socials a { font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700); border: 1px solid var(--c-g400); padding: var(--s2) var(--s3); transition: background-color var(--tf), color var(--tf), border-color var(--tf); }
.stadv-socials a:hover { background: var(--c-black); color: var(--c-white); border-color: var(--c-black); }

.stadv-locations { list-style: none; padding: 0; margin: var(--s4) 0 0; }
.stadv-locations li { padding: var(--s3) 0; border-bottom: 1px solid var(--c-g300); font-size: var(--font-size-sm, .875rem); display: flex; flex-direction: column; gap: var(--s1); }
.stadv-locations li:last-child { border-bottom: 0; padding-bottom: 0; }
.stadv-locations li strong { font-size: var(--font-size-base, 1rem); }
.stadv-locations li span { color: var(--c-g700); }
.stadv-locations li small { color: var(--c-g600); font-size: var(--font-size-xs, .75rem); }
.stadv-map { height: 260px; background: var(--c-g100); }
.stadv-map-embed iframe { width: 100%; height: 260px; border: 0; display: block; }

.stadv-documents { list-style: none; padding: 0; margin: 0; }
.stadv-documents li { border-bottom: 1px solid var(--c-g300); }
.stadv-documents li:last-child { border-bottom: 0; }
.stadv-documents li a { display: flex; align-items: center; gap: var(--s2); padding: var(--s3) 0; font-size: var(--font-size-sm, .875rem); }
.stadv-documents li a::before { content: ""; width: 18px; height: 18px; flex: 0 0 auto; background: var(--c-g700); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Cpath d='M14 3v5h5M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7'%3E%3Cpath d='M14 3v5h5M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3C/svg%3E") center/contain no-repeat; }
.stadv-documents li a:hover::before { background: var(--c-black); }

/* contact form */
.stadv-contactform form, .stadv-form { display: flex; flex-direction: column; gap: var(--s4); }
.stadv-contactform label, .stadv-form > label, .stadv-form-field > label, .stadv-form-grid > label, .stadv-login-box label {
	display: flex; flex-direction: column; gap: var(--s1); font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700); color: var(--c-g600);
}
.stadv-contactform label { color: rgba(255,255,255,.7); }
.stadv-contactform input, .stadv-contactform textarea,
.stadv-form input, .stadv-form textarea, .stadv-form select,
.stadv-form-grid input, .stadv-form-grid textarea, .stadv-form-grid select,
.stadv-login-box input[type="text"], .stadv-login-box input[type="password"] {
	font-family: inherit; font-size: var(--font-size-sm, .875rem); padding: var(--s3) var(--s4); border: 1px solid var(--c-g300); background: var(--c-white); color: var(--c-black); border-radius: 0; transition: border-color var(--tf);
}
.stadv-contactform input, .stadv-contactform textarea { border-color: rgba(255,255,255,.25); }
.stadv-wrap .stadv-form input:focus, .stadv-wrap .stadv-form textarea:focus, .stadv-wrap .stadv-form select:focus,
.stadv-wrap .stadv-form-grid input:focus, .stadv-wrap .stadv-form-grid textarea:focus, .stadv-wrap .stadv-form-grid select:focus,
.stadv-contactform input:focus, .stadv-contactform textarea:focus, .stadv-login-box input:focus { outline: none; border-color: var(--c-black); }
.stadv-contactform input:focus, .stadv-contactform textarea:focus { border-color: var(--c-white); }
.stadv-contactform .stadv-button { background: var(--c-white); color: var(--c-black); align-self: flex-start; }
.stadv-contactform .stadv-button:hover { background: var(--c-g200); }
.stadv-form button[type="submit"] { align-self: flex-start; }
.stadv-hp { position: absolute; left: -9999px; }

/* article ↔ company box */
.stadv-article-company { background: var(--c-g100); margin: var(--s8) 0; padding: var(--s5) var(--s6); }
.stadv-article-company-inner { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; }
.stadv-acc-logo img { width: 60px; height: 60px; object-fit: contain; background: var(--c-white); padding: var(--s2); }
.stadv-acc-label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700); color: var(--c-g600); margin-bottom: var(--s1); }
.stadv-acc-name { font-weight: var(--font-weight-bold, 700); font-size: var(--font-size-lg, 1.125rem); }
.stadv-acc-name:hover { color: var(--c-g700); }
.stadv-article-company .stadv-button { margin-left: auto; }

/* banners */
.stadv-banner { position: relative; text-align: center; margin: var(--s6) 0; }
.stadv-banner img { max-width: 100%; height: auto; display: inline-block; }
.stadv-banner-tag { position: absolute; top: 0; right: 0; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: var(--font-weight-bold, 700); color: var(--c-g500); background: rgba(255,255,255,.9); padding: var(--s1) var(--s2); }

/* lightbox overlay (created by JS) */
.stadv-lightbox-overlay { animation: stadv-fade .15s ease; }
@keyframes stadv-fade { from { opacity: 0; } to { opacity: 1; } }

/* ================================================================== login === */
.stadv-login-wrap { padding: var(--s12) 0; }
.stadv-login-box { max-width: 440px; margin: 0 auto; background: var(--c-g100); padding: var(--s10); }
.stadv-login-box h1 { font-size: clamp(1.6rem, 4vw, 2.25rem); font-weight: var(--font-weight-extrabold, 800); text-transform: uppercase; letter-spacing: -.5px; margin: 0 0 var(--s3); }
.stadv-login-intro { color: var(--c-g600); font-size: var(--font-size-sm, .875rem); margin: 0 0 var(--s6); line-height: var(--line-height-normal, 1.5); }
.stadv-login-box form { display: flex; flex-direction: column; gap: var(--s4); }
.stadv-login-box label.stadv-checkbox { flex-direction: row; align-items: center; gap: var(--s2); text-transform: none; letter-spacing: 0; font-weight: var(--font-weight-normal, 400); font-size: var(--font-size-sm, .875rem); color: var(--c-black); }
.stadv-login-box .stadv-button { margin-top: var(--s2); }
.stadv-login-foot { margin-top: var(--s6); font-size: var(--font-size-sm, .875rem); text-align: center; color: var(--c-g600); }
.stadv-login-foot a:hover { text-decoration: underline; }

/* notices */
.stadv-notice { border-left: 3px solid var(--c-g500); background: var(--c-g100); padding: var(--s3) var(--s4); font-size: var(--font-size-sm, .875rem); margin: 0 0 var(--s4); line-height: var(--line-height-normal, 1.5); }
.stadv-notice-ok { border-left-color: #1a7f37; background: #f0f8f3; }
.stadv-notice-err { border-left-color: #b3261e; background: #fbf1f0; }
.stadv-warn { color: #b3261e; font-weight: var(--font-weight-bold, 700); }

/* ====================================================== dashboard (v2 — modern) === */
.stadv-dash { padding: var(--s8) 0 var(--s16, 4rem); --stadv-header-h: 0px; }
.stadv-dash-layout { display: grid; grid-template-columns: 268px minmax(0, 1fr); gap: var(--s10); align-items: start; }

/* --- sidebar --- */
.stadv-dash-side { position: sticky; top: calc(var(--stadv-header-h, 0px) + var(--s6)); align-self: start; display: flex; flex-direction: column; gap: var(--s5); border: 1px solid var(--c-g200); background: var(--c-white); padding: var(--s6) var(--s5); box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 14px 36px -22px rgba(0,0,0,.18); }
.stadv-dash-brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s2); padding-bottom: var(--s5); border-bottom: 1px solid var(--c-g200); }
.stadv-dash-brand-logo { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; background: var(--c-g100); overflow: hidden; }
.stadv-dash-brand-logo img { width: 100%; height: 100%; object-fit: contain; }
.stadv-dash-brand-mono { font-size: 1.4rem; font-weight: 800; color: var(--c-g500); background: var(--c-black); color: var(--c-white); }
.stadv-dash-brand-name { font-size: var(--font-size-lg, 1.125rem); font-weight: 800; line-height: 1.2; letter-spacing: -.2px; }
.stadv-dash-brand-tier { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; color: var(--c-white); background: var(--c-black); padding: .35em .7em; }
.stadv-dash-brand-tier.is-expired { background: #b3261e; }

.stadv-dash-nav { display: flex; flex-direction: column; gap: 2px; margin: 0; border: 0; }
.stadv-dash-nav a { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s3); color: var(--c-g600); font-size: var(--font-size-sm, .875rem); font-weight: 600; text-transform: none; letter-spacing: 0; border: 0; position: relative; transition: color var(--tf), background-color var(--tf); }
.stadv-dash-nav a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 0; background: var(--c-black); transition: height var(--tn); }
.stadv-dash-nav-i { flex: 0 0 auto; width: 18px; height: 18px; color: var(--c-g500); transition: color var(--tf); }
.stadv-dash-nav-i svg { width: 100%; height: 100%; display: block; }
.stadv-dash-nav a:hover { color: var(--c-black); background: var(--c-g100); }
.stadv-dash-nav a:hover .stadv-dash-nav-i { color: var(--c-black); }
.stadv-dash-nav a.is-active { color: var(--c-black); background: var(--c-g100); font-weight: 700; }
.stadv-dash-nav a.is-active .stadv-dash-nav-i { color: var(--c-black); }
.stadv-dash-nav a.is-active::before { height: 100%; }

.stadv-dash-side-meta { padding-top: var(--s4); border-top: 1px solid var(--c-g200); }
.stadv-dash-side-progress-label { display: flex; justify-content: space-between; font-size: 10px; text-transform: uppercase; letter-spacing: .8px; font-weight: 700; color: var(--c-g600); margin-bottom: var(--s2); }
.stadv-dash-side-progress-label b { color: var(--c-black); }
.stadv-dash-side-progress-bar { display: block; height: 6px; background: var(--c-g200); }
.stadv-dash-side-progress-bar span { display: block; height: 100%; background: var(--c-black); transition: width .8s var(--stadv-ease, ease); }

.stadv-dash-side-actions { display: flex; flex-direction: column; gap: 2px; padding-top: var(--s4); border-top: 1px solid var(--c-g200); }
.stadv-dash-link { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) var(--s3); font-size: var(--font-size-sm, .875rem); font-weight: 600; color: var(--c-g600); transition: color var(--tf), background-color var(--tf); }
.stadv-dash-link .stadv-dash-nav-i { width: 18px; height: 18px; }
.stadv-dash-link:hover { color: var(--c-black); background: var(--c-g100); }

/* --- main column --- */
.stadv-dash-main { min-width: 0; }
.stadv-dash-head { display: block; border: 0; padding: 0 0 var(--s6); margin-bottom: var(--s6); border-bottom: 2px solid var(--c-black); }
.stadv-dash-eyebrow { display: inline-block; font-size: 10px; text-transform: uppercase; letter-spacing: 1.5px; font-weight: 700; color: var(--c-g500); margin-bottom: var(--s2); border: 0; padding: 0; }
.stadv-dash-head h1 { font-size: clamp(1.7rem, 4vw, 2.4rem); font-weight: 800; letter-spacing: -.5px; margin: 0; }
.stadv-dash-sub { color: var(--c-g600); margin: var(--s3) 0 0; font-size: var(--font-size-base, 1rem); line-height: 1.55; max-width: 64ch; }
.stadv-dash-body { display: flex; flex-direction: column; gap: var(--s6); }
.stadv-panel { display: flex; flex-direction: column; gap: var(--s6); }

/* --- card-style form sections --- */
.stadv-card-form { border: 1px solid var(--c-g200); background: var(--c-white); padding: var(--s6); box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.stadv-card-form + .stadv-card-form { margin-top: 0; }
.stadv-card-form-head { margin-bottom: var(--s5); }
.stadv-card-form-head h3 { font-size: var(--font-size-base, 1rem); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin: 0 0 var(--s2); padding-bottom: var(--s2); border-bottom: 1px solid var(--c-g200); }
.stadv-card-form-head p { font-size: var(--font-size-sm, .875rem); color: var(--c-g600); margin: 0; line-height: 1.55; }
.stadv-form, .stadv-card-form > .stadv-form { display: flex; flex-direction: column; gap: var(--s5); }
.stadv-field { display: flex; flex-direction: column; gap: var(--s2); }
.stadv-field-label { font-size: 10px; text-transform: uppercase; letter-spacing: .7px; font-weight: 700; color: var(--c-g600); }
.stadv-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s5); }
.stadv-form-field { display: flex; flex-direction: column; gap: var(--s2); }
.stadv-form-field > label { font-size: 10px; text-transform: uppercase; letter-spacing: .7px; font-weight: 700; color: var(--c-g600); }
.stadv-form-full { grid-column: 1 / -1; }
.stadv-form-note { font-size: var(--font-size-sm, .875rem); color: var(--c-g600); line-height: 1.55; border-left: 3px solid var(--c-g300); padding: var(--s2) 0 var(--s2) var(--s4); margin: 0; }
.stadv-form-submit { padding-top: var(--s2); }
.stadv-form-submit .stadv-button { padding: var(--s4) var(--s12); }

/* inputs */
.stadv-wrap .stadv-field input[type="text"], .stadv-wrap .stadv-field input[type="email"], .stadv-wrap .stadv-field input[type="url"], .stadv-wrap .stadv-field textarea,
.stadv-wrap .stadv-form > input, .stadv-wrap .stadv-form > textarea, .stadv-wrap .stadv-repeat-fields input {
	font-family: inherit; font-size: var(--font-size-base, 1rem); padding: var(--s3) var(--s4); border: 1px solid var(--c-g300); background: var(--c-white); color: var(--c-black); border-radius: 0; transition: border-color var(--tf), box-shadow var(--tf); width: 100%;
}
.stadv-wrap .stadv-field input:focus, .stadv-wrap .stadv-field textarea:focus, .stadv-wrap .stadv-form > input:focus, .stadv-wrap .stadv-form > textarea:focus, .stadv-wrap .stadv-repeat-fields input:focus { outline: none; border-color: var(--c-black); box-shadow: 0 0 0 3px rgba(0,0,0,.07); }

/* wp_editor (teeny TinyMCE) tidy-up */
.stadv-field .wp-editor-wrap { border: 1px solid var(--c-g300); }
.stadv-field .wp-editor-wrap.html-active .wp-editor-area, .stadv-field .wp-editor-area { border: 0 !important; }
.stadv-field .wp-editor-tabs { background: var(--c-g100); }
.stadv-field .wp-editor-container { background: var(--c-white); }
.stadv-field .mce-toolbar-grp, .stadv-field .quicktags-toolbar { background: var(--c-g100); border-color: var(--c-g300); }
.stadv-field .switch-tmce, .stadv-field .switch-html { border-radius: 0; }

/* media picker fields */
.stadv-media { display: flex; flex-direction: column; gap: var(--s2); }
.stadv-media > label { font-size: 10px; text-transform: uppercase; letter-spacing: .7px; font-weight: 700; color: var(--c-g600); }
.stadv-media-preview { display: flex; flex-wrap: wrap; gap: var(--s2); }
.stadv-media-preview:empty { display: none; }
.stadv-media-preview span { position: relative; display: inline-block; line-height: 0; }
.stadv-media-preview img { width: 84px; height: 84px; object-fit: cover; border: 1px solid var(--c-g200); display: block; background: var(--c-g100); transition: border-color var(--tf); }
.stadv-media-preview span:hover img { border-color: var(--c-black); }
.stadv-media-x { position: absolute; top: -8px; right: -8px; background: var(--c-black); color: var(--c-white); width: 20px; height: 20px; line-height: 20px; text-align: center; font-size: 13px; cursor: pointer; border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,.3); }
.stadv-media-btns { display: flex; gap: var(--s2); flex-wrap: wrap; }
.stadv-media-grid .stadv-media-preview img { width: 100px; height: 76px; }

/* repeater rows (team) */
.stadv-repeat { display: flex; flex-direction: column; gap: var(--s4); }
.stadv-repeat-list { display: flex; flex-direction: column; gap: var(--s4); }
.stadv-repeat-list:empty { display: none; }
.stadv-repeat-row { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s4); align-items: start; background: var(--c-g100); padding: var(--s4); border: 1px solid var(--c-g200); }
.stadv-repeat-photo { gap: var(--s2); }
.stadv-repeat-photo .stadv-media-preview img { width: 64px; height: 64px; }
.stadv-repeat-photo .stadv-media-preview:empty { display: block; width: 64px; height: 64px; background: var(--c-g200); }
.stadv-repeat-fields { display: flex; flex-direction: column; gap: var(--s2); min-width: 0; }
.stadv-repeat-del { flex: 0 0 auto; width: 30px; height: 30px; border: 1px solid var(--c-g300); background: var(--c-white); color: var(--c-g600); font-size: 16px; line-height: 1; cursor: pointer; border-radius: 0; transition: color var(--tf), border-color var(--tf); align-self: start; }
.stadv-repeat-del:hover { color: var(--c-white); background: var(--c-black); border-color: var(--c-black); }
.stadv-repeat-add { align-self: flex-start; }

/* stat cards */
.stadv-stat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--s4); }
.stadv-stat { border: 1px solid var(--c-g200); background: var(--c-white); padding: var(--s5); display: flex; flex-direction: column; gap: var(--s1); transition: border-color var(--tf), box-shadow var(--tf), transform var(--tf); }
.stadv-stat:hover { border-color: var(--c-black); box-shadow: 0 12px 28px -18px rgba(0,0,0,.22); transform: translateY(-2px); }
.stadv-stat span { font-size: 10px; text-transform: uppercase; letter-spacing: .7px; font-weight: 700; color: var(--c-g500); }
.stadv-stat strong { font-size: var(--font-size-3xl, 1.875rem); font-weight: 800; line-height: 1; letter-spacing: -.5px; }
.stadv-stat small { font-size: var(--font-size-xs, .75rem); color: var(--c-g500); margin-top: var(--s1); text-transform: none; letter-spacing: 0; }

/* progress / compare / charts */
.stadv-progress { border: 1px solid var(--c-g200); background: var(--c-white); padding: var(--s5); }
.stadv-progress-bar { height: 8px; background: var(--c-g200); }
.stadv-progress-bar span { display: block; height: 100%; background: var(--c-black); transition: width .8s var(--stadv-ease, ease); }
.stadv-progress p { font-size: var(--font-size-sm, .875rem); margin: var(--s3) 0 0; }
.stadv-progress p a:hover { text-decoration: underline; }
.stadv-compare { font-size: var(--font-size-base, 1rem); font-weight: 600; border-left: 3px solid var(--c-black); padding: var(--s3) 0 var(--s3) var(--s4); margin: 0; line-height: 1.5; background: var(--c-g100); }
.stadv-chart { border: 1px solid var(--c-g200); background: var(--c-white); padding: var(--s5); }
.stadv-chart-title { margin-bottom: var(--s3); }
.stadv-chart-bars { display: flex; align-items: flex-end; gap: 2px; height: 120px; border-bottom: 2px solid var(--c-black); }
.stadv-chart-bar { flex: 1; background: var(--c-g700); min-height: 2px; transition: background-color var(--tf); }
.stadv-chart-bar:hover { background: var(--c-black); }

/* tables */
.stadv-table-wrap { overflow-x: auto; }
.stadv-table { width: 100%; border-collapse: collapse; font-size: var(--font-size-sm, .875rem); }
.stadv-table th, .stadv-table td { text-align: left; padding: var(--s3) var(--s4); border-bottom: 1px solid var(--c-g200); }
.stadv-table th { border-bottom: 2px solid var(--c-black); white-space: nowrap; }
.stadv-table td:first-child, .stadv-table th:first-child { padding-left: 0; }
.stadv-table tbody tr:hover { background: var(--c-g100); }
.stadv-pillstatus { display: inline-block; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; font-weight: 700; padding: .25em .6em; border: 1px solid var(--c-g400); }
.stadv-pillstatus.stadv-st-ok { background: var(--c-black); color: var(--c-white); border-color: var(--c-black); }
.stadv-pillstatus.stadv-st-pending { background: var(--c-g100); color: var(--c-g700); }
.stadv-pillstatus.stadv-st-off { color: var(--c-g500); }

/* quota bar (articles) */
.stadv-quota-bar { display: flex; align-items: center; gap: var(--s4); font-size: var(--font-size-sm, .875rem); font-weight: 600; }
.stadv-quota-bar-track { flex: 1; height: 6px; background: var(--c-g200); max-width: 320px; }
.stadv-quota-bar-track span { display: block; height: 100%; background: var(--c-black); }
.stadv-quota { font-size: var(--font-size-sm, .875rem); font-weight: 600; border-left: 3px solid var(--c-black); padding-left: var(--s3); margin: 0; }
.stadv-inline-form { font-size: var(--font-size-sm, .875rem); display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.stadv-inline-form select { font-family: inherit; padding: var(--s2) var(--s3); border: 1px solid var(--c-g300); border-radius: 0; }

/* WP-rendered buttons inside the dashboard (media picker / editor) */
.stadv-dash .button, .stadv-dash button:not(.stadv-button):not(.stadv-media-x):not(.stadv-repeat-del):not([class*="mce"]):not([class*="qt-"]):not([class*="switch-"]) {
	font-family: inherit; font-size: var(--font-size-xs, .75rem); text-transform: uppercase; letter-spacing: .5px; font-weight: 700;
	padding: var(--s2) var(--s4); border: 1px solid var(--c-g300); background: var(--c-white); color: var(--c-black); cursor: pointer; border-radius: 0; transition: border-color var(--tf);
}
.stadv-dash .button:hover, .stadv-dash button:not(.stadv-button):not(.stadv-media-x):not(.stadv-repeat-del):not([class*="mce"]):not([class*="qt-"]):not([class*="switch-"]):hover { border-color: var(--c-black); }

@media (max-width: 1024px) {
	.stadv-dash-layout { grid-template-columns: 1fr; gap: var(--s6); }
	.stadv-dash-side { position: static; flex-direction: column; }
	.stadv-dash-nav { flex-direction: row; flex-wrap: wrap; }
	.stadv-dash-nav a::before { left: 0; right: 0; top: auto; bottom: 0; transform: none; width: 0; height: 2px; }
	.stadv-dash-nav a.is-active::before { width: 100%; height: 2px; }
	.stadv-dash-side-meta, .stadv-dash-side-actions { width: 100%; }
	.stadv-dash-side-actions { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 600px) {
	.stadv-form-grid { grid-template-columns: 1fr; }
	.stadv-repeat-row { grid-template-columns: 1fr; }
	.stadv-repeat-del { justify-self: end; }
}

/* ============================================================================
   COMPANY PROFILE — light, accented, square. Scoped to .stadv-profile only.
   White surfaces, one warm accent, glassy sticky nav, soft elevation on hover,
   no rounded corners.
   ============================================================================ */
.stadv-profile {
	--bg:          var(--c-white, #fff);
	--surface:     var(--c-white, #fff);
	--surface-soft: var(--c-g100, #f8f9fa);
	--border:      var(--c-g300, #dee2e6);
	--border-2:    var(--c-g400, #ced4da);
	--text:        var(--c-black, #000);
	--text-dim:    var(--c-g700, #495057);
	--text-mute:   var(--c-g600, #6c757d);
	--accent:      var(--c-black, #000);
	--accent-ink:  var(--c-black, #000);
	--accent-soft: rgba(0,0,0,.06);
	--accent-line: rgba(0,0,0,.55);
	--glow-hover:  0 1px 2px rgba(0,0,0,.04), 0 16px 38px -18px rgba(0,0,0,.22);

	background: var(--bg);
	color: var(--text);
}
.stadv-profile a:hover { color: var(--accent-ink); }

/* hero — dark image overlay so the white text stays legible */
.stadv-profile .stadv-hero { background: var(--surface-soft); }
.stadv-profile .stadv-hero-inner { background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 40%, rgba(0,0,0,.82) 100%); }
.stadv-profile .stadv-hero.no-cover { background: linear-gradient(135deg, #1c1f24 0%, #0c0d10 65%); }
.stadv-profile .stadv-hero.no-cover .stadv-hero-inner { background: none; }
.stadv-profile .stadv-hero-logo { background: #fff; box-shadow: 0 10px 30px -12px rgba(0,0,0,.5); }
.stadv-profile .stadv-hero-name { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.stadv-profile .stadv-hero-tagline { color: rgba(255,255,255,.85); }
.stadv-profile .stadv-hero-cat a { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); color: #fff; padding: .35em .9em; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: all var(--tf); }
.stadv-profile .stadv-hero-cat a:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.stadv-profile .stadv-badge { background: var(--accent); color: #fff; padding: .4em .85em; font-weight: var(--font-weight-bold, 700); }

/* sticky in-page nav — frosted white */
.stadv-profile .stadv-subnav {
	background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%);
	border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.stadv-profile .stadv-subnav-links a { color: var(--text-mute); }
.stadv-profile .stadv-subnav-links a:hover { color: var(--text); }
.stadv-profile .stadv-subnav-links a.is-active { color: var(--text); border-bottom-color: var(--accent); }

/* quick-stats — soft cards with an accent backlight + lift on hover */
.stadv-profile .stadv-quickbar { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s3); border: 0; padding: 0; margin: 0 0 var(--s10); }
.stadv-profile .stadv-quickbar span { background: var(--surface-soft); border: 1px solid transparent; padding: var(--s5) var(--s5) var(--s4); gap: var(--s2); transition: border-color var(--tf), box-shadow var(--tf), transform var(--tf), background-color var(--tf); }
.stadv-profile .stadv-quickbar span:hover { background: #fff; border-color: var(--accent-line); box-shadow: var(--glow-hover); transform: translateY(-2px); }
.stadv-profile .stadv-quickbar span > :not(strong) { color: var(--text-mute); }
.stadv-profile .stadv-quickbar strong { color: var(--text); font-size: var(--font-size-2xl, 1.5rem); font-weight: var(--font-weight-extrabold, 800); letter-spacing: -.5px; }

/* section headings — keep the theme's 2px rule, add an accent tick */
.stadv-profile .stadv-section > h2 { display: flex; align-items: center; gap: var(--s3); }
.stadv-profile .stadv-section > h2::before { content: ""; width: 24px; height: 3px; background: var(--accent); flex: 0 0 auto; }
.stadv-profile .stadv-profile-aside .stadv-section > h2::before { width: 18px; }

/* body copy */
.stadv-profile .stadv-richtext a { color: var(--accent-ink); }
.stadv-profile .stadv-richtext li::marker { color: var(--accent); }

/* tag chips — accent on hover */
.stadv-profile a.stadv-pill:hover { background: var(--accent-soft); border-color: var(--accent-line); color: var(--accent-ink); }

/* projects → cards */
.stadv-profile .stadv-projects { gap: var(--s5); }
.stadv-profile .stadv-project { background: var(--surface); border: 1px solid var(--border); padding: var(--s5); overflow: hidden; transition: border-color var(--tf), box-shadow var(--tf), transform var(--tf); }
.stadv-profile .stadv-project:hover { border-color: var(--accent-line); box-shadow: var(--glow-hover); transform: translateY(-3px); }

/* team → cards, photo desaturated until hover */
.stadv-profile .stadv-team-member { background: var(--surface); border: 1px solid var(--border); padding-bottom: var(--s4); overflow: hidden; transition: border-color var(--tf), box-shadow var(--tf), transform var(--tf); }
.stadv-profile .stadv-team-member:hover { border-color: var(--accent-line); box-shadow: var(--glow-hover); transform: translateY(-3px); }
.stadv-profile .stadv-team-photo { margin-bottom: var(--s4); }
.stadv-profile .stadv-team-photo img { filter: grayscale(1) contrast(1.03); }
.stadv-profile .stadv-team-member:hover .stadv-team-photo img { filter: grayscale(0); }
.stadv-profile .stadv-team-photo-empty { background: var(--surface-soft); color: var(--text-mute); filter: none; }
.stadv-profile .stadv-team-member strong { padding: 0 var(--s4); }
.stadv-profile .stadv-team-member span { padding: var(--s1) var(--s4) 0; }
.stadv-profile .stadv-team-member a { color: var(--accent-ink); padding: var(--s2) var(--s4) 0; }

/* gallery → bordered tiles, lift on hover */
.stadv-profile .stadv-gallery a { border: 1px solid var(--border); background: var(--surface-soft); transition: border-color var(--tf), box-shadow var(--tf); }
.stadv-profile .stadv-gallery a:hover { border-color: var(--accent-line); box-shadow: 0 12px 30px -16px rgba(0,0,0,.3); }

/* article cards */
.stadv-profile .stadv-card { background: var(--surface); border: 1px solid var(--border); overflow: hidden; transition: border-color var(--tf), box-shadow var(--tf), transform var(--tf); }
.stadv-profile .stadv-card:hover { border-color: var(--accent-line); box-shadow: var(--glow-hover); transform: translateY(-3px); }
.stadv-profile .stadv-card-media { background: var(--surface-soft); }
.stadv-profile .stadv-card-body { padding: var(--s5); }
.stadv-profile .stadv-card-title a:hover { color: var(--accent-ink); }

/* locations + map */
.stadv-profile .stadv-map, .stadv-profile .stadv-map-embed iframe { border: 1px solid var(--border); background: var(--surface-soft); }

/* documents */
.stadv-profile .stadv-documents li a:hover { color: var(--accent-ink); }
.stadv-profile .stadv-documents li a:hover::before { background: var(--accent); }

/* sidebar contact card → subtle panel */
.stadv-profile .stadv-contactcard { border: 1px solid var(--border); }
.stadv-profile .stadv-contact-list li a:hover { color: var(--accent-ink); }
.stadv-profile .stadv-socials a:hover { background: var(--accent-soft); border-color: var(--accent-line); color: var(--accent-ink); }

/* full-width contact CTA band — light, with a glowing accent line on top */
.stadv-profile .stadv-contact-cta { background: var(--surface-soft); color: var(--text); border-top: 1px solid var(--border); position: relative; }
.stadv-profile .stadv-contact-cta::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); }
.stadv-profile .stadv-tag-light { color: var(--accent-ink); border-bottom-color: var(--accent); }
.stadv-profile .stadv-contact-cta-text h2 { color: var(--text); }
.stadv-profile .stadv-contact-cta-text p { color: var(--text-dim); }
.stadv-profile .stadv-contact-cta-list li { border-color: var(--border) !important; }
.stadv-profile .stadv-contact-cta-list li span { color: var(--text-mute); }
.stadv-profile .stadv-contact-cta-list li a { color: var(--text); }
.stadv-profile .stadv-contact-cta-list li a:hover { color: var(--accent-ink); }
.stadv-profile .stadv-contact-cta-form .stadv-form > label, .stadv-profile .stadv-contact-cta-form .stadv-form-grid > label { color: var(--text-mute); }
.stadv-profile .stadv-contact-cta-form .stadv-form input, .stadv-profile .stadv-contact-cta-form .stadv-form textarea,
.stadv-profile .stadv-contact-cta-form .stadv-form-grid input, .stadv-profile .stadv-contact-cta-form .stadv-form-grid textarea {
	background: #fff; border: 1px solid var(--border); color: var(--text);
}
.stadv-profile .stadv-contact-cta-form .stadv-form input::placeholder, .stadv-profile .stadv-contact-cta-form .stadv-form textarea::placeholder { color: var(--text-mute); }
.stadv-wrap .stadv-profile .stadv-contact-cta-form .stadv-form input:focus, .stadv-wrap .stadv-profile .stadv-contact-cta-form .stadv-form textarea:focus,
.stadv-wrap .stadv-profile .stadv-contact-cta-form .stadv-form-grid input:focus, .stadv-wrap .stadv-profile .stadv-contact-cta-form .stadv-form-grid textarea:focus { border-color: var(--accent-line); box-shadow: 0 0 0 3px var(--accent-soft); }
.stadv-profile .stadv-contact-cta-form .stadv-notice { background: #fff; color: var(--text); border-left-color: var(--text-mute); }

/* buttons → accent fill + soft glow; ghost = outline */
.stadv-profile .stadv-button { background: var(--accent); color: #fff; border: 0; box-shadow: none; transition: filter var(--tf), box-shadow var(--tf), transform var(--tf), background var(--tf), color var(--tf); }
.stadv-profile .stadv-button:hover { background: var(--accent); color: #fff; box-shadow: none; }
.stadv-profile .stadv-button:active { transform: translateY(0); }
.stadv-profile .stadv-button-ghost { background: transparent; color: var(--text); box-shadow: inset 0 0 0 1.5px var(--border-2); }
.stadv-profile .stadv-button-ghost:hover { background: var(--surface-soft); color: var(--text); box-shadow: inset 0 0 0 1.5px var(--accent-line); filter: none; }
.stadv-profile .stadv-hero-cta .stadv-button { box-shadow: 0 10px 26px -14px rgba(0,0,0,.6); }
.stadv-profile .stadv-hero-cta .stadv-button-ghost { background: rgba(255,255,255,.14); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); color: #fff; }
.stadv-profile .stadv-hero-cta .stadv-button-ghost:hover { background: rgba(255,255,255,.24); color: #fff; }

/* =============================================================== responsive === */
@media (max-width: 1100px) {
	.stadv-locations-grid { grid-template-columns: 1fr; }
	.stadv-locations-grid .stadv-map, .stadv-locations-grid .stadv-map-embed iframe { height: 300px; }
}
@media (max-width: 991px) {
	.stadv-profile-grid { grid-template-columns: 1fr; gap: var(--s8); }
	.stadv-profile-aside { position: static; }
	.stadv-company-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
	.stadv-contact-cta-inner { grid-template-columns: 1fr; gap: var(--s8); }
}
@media (max-width: 768px) {
	.stadv-project { grid-template-columns: 1fr; gap: var(--s4); }
	.stadv-form-grid { grid-template-columns: 1fr; }
	.stadv-card-list { flex-direction: column; gap: 0; }
	.stadv-card-list .stadv-card-media { flex: auto; max-width: none; }
	.stadv-card-list .stadv-card-body { padding-top: var(--s4); }
	.stadv-hero-cover { aspect-ratio: 4/3; }
	.stadv-hero-inner { padding: var(--s8) var(--s4) var(--s4); gap: var(--s4); }
	.stadv-hero-logo { width: 64px; height: 64px; }
	.stadv-hero-cta { width: 100%; }
	.stadv-subnav-cta { display: none; }
}
@media (max-width: 480px) {
	.stadv-company-grid { grid-template-columns: 1fr; }
	.stadv-quickbar { gap: var(--s6); }
}
/* ============================================================================
   COMPANY PROFILE v2 — strict black & white, full-width landing page with a
   sticky LEFT side menu. Overrides the (now neutralised) accent skin above.
   Scoped to .stadv-profile only — catalog/dashboard/login keep their styles.
   ============================================================================ */

/* 1) Neutralise every accent token → pure B&W. This recolours the whole
      profile skin block above (it's all token-driven) in one shot. */
.stadv-profile {
	--accent:      var(--c-black);
	--accent-ink:  var(--c-black);
	--accent-soft: rgba(0,0,0,.06);
	--accent-line: rgba(0,0,0,.55);
	--glow-hover:  0 1px 2px rgba(0,0,0,.04), 0 16px 38px -18px rgba(0,0,0,.22);
	padding-bottom: 0;
}
.stadv-profile a:hover { color: var(--c-g600); }
.stadv-profile .stadv-richtext a { color: var(--c-black); }
.stadv-profile a.stadv-pill:hover { background: var(--c-black); border-color: var(--c-black); color: var(--c-white); }
.stadv-profile .stadv-socials a:hover { background: var(--c-black); border-color: var(--c-black); color: var(--c-white); }
.stadv-profile .stadv-team-photo img { filter: grayscale(1) contrast(1.04); }
.stadv-profile .stadv-team-member:hover .stadv-team-photo img { filter: grayscale(1) contrast(1.04); transform: scale(1.03); }
.stadv-profile .stadv-richtext li::marker { color: var(--c-black); }
.stadv-profile .stadv-section > h2 { letter-spacing: 1px; }

/* kill the hard-coded orange button shadows */
.stadv-profile .stadv-button { background: var(--c-black); color: var(--c-white); box-shadow: none; }
.stadv-profile .stadv-button:hover { background: var(--c-g800); color: var(--c-white); filter: none; transform: none; box-shadow: none; }
.stadv-profile .stadv-button-ghost { background: transparent; color: var(--c-black); box-shadow: inset 0 0 0 1.5px var(--c-g400); }
.stadv-profile .stadv-button-ghost:hover { background: var(--c-g100); color: var(--c-black); box-shadow: inset 0 0 0 1.5px var(--c-black); filter: none; transform: none; }

/* 2) breadcrumbs */
.stadv-profile .stadv-breadcrumbs-row { padding: var(--s5) 0 var(--s4); }
.stadv-profile .stadv-breadcrumbs-row .breadcrumbs { padding-top: 0; margin: 0; }
.stadv-profile .stadv-breadcrumbs-row:empty { display: none; }

/* 3) HERO — full-bleed image with a B&W gradient and a white logo tile */
.stadv-profile .stadv-hero {
	position: relative; width: 100vw; margin: 0 calc(50% - 50vw) var(--s10);
	min-height: clamp(320px, 40vw, 520px); display: flex; align-items: flex-end;
	overflow: hidden; background: var(--c-black);
}
.stadv-profile .stadv-hero-cover { position: absolute; inset: 0; aspect-ratio: auto; min-height: 0; z-index: 0; }
.stadv-profile .stadv-hero-cover img { width: 100%; height: 100%; object-fit: cover; }
.stadv-profile .stadv-hero-shade {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.04) 32%, rgba(0,0,0,.5) 66%, rgba(0,0,0,.9) 100%);
}
.stadv-profile .stadv-hero.no-cover { min-height: 0; background: var(--c-black); }
.stadv-profile .stadv-hero.no-cover .stadv-hero-shade { display: none; }
.stadv-profile .stadv-hero > .container { position: relative; z-index: 2; width: 100%; }
.stadv-profile .stadv-hero-inner {
	position: static; background: none; padding: var(--s10) 0 var(--s8);
	display: flex; align-items: flex-end; gap: var(--s6); flex-wrap: wrap;
}
.stadv-profile .stadv-hero.no-cover .stadv-hero-inner { padding: var(--s12) 0 var(--s10); }
.stadv-profile .stadv-hero-logo {
	flex: 0 0 auto; width: 104px; height: 104px; background: var(--c-white);
	display: flex; align-items: center; justify-content: center; padding: var(--s3);
	box-shadow: 0 14px 36px -16px rgba(0,0,0,.55);
}
.stadv-profile .stadv-hero-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.stadv-profile .stadv-hero-id { flex: 1 1 320px; min-width: 0; }
.stadv-profile .stadv-hero-cat { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); margin: 0 0 var(--s3); }
.stadv-profile .stadv-hero-cat a {
	display: inline-block; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3); color: #fff;
	font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; padding: .35em .85em;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background-color var(--tf), color var(--tf), border-color var(--tf);
}
.stadv-profile .stadv-hero-cat a:hover { background: #fff; border-color: #fff; color: var(--c-black); }
.stadv-hero-badge {
	display: inline-block; background: #fff; color: var(--c-black);
	font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: .4em .8em;
}
.stadv-profile .stadv-hero-name { color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.35); margin: 0; font-size: clamp(1.9rem, 4.6vw, 3.1rem); line-height: 1.1; letter-spacing: -.6px; }
.stadv-profile .stadv-hero-tagline { color: rgba(255,255,255,.88); font-size: var(--font-size-lg, 1.125rem); margin: var(--s3) 0 0; max-width: 62ch; line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,.3); }
.stadv-profile .stadv-hero-cta { flex: 0 0 auto; display: flex; gap: var(--s2); flex-wrap: wrap; }
.stadv-profile .stadv-hero-cta .stadv-button { background: #fff; color: var(--c-black); box-shadow: 0 10px 26px -14px rgba(0,0,0,.6); }
.stadv-profile .stadv-hero-cta .stadv-button:hover { background: var(--c-g200); color: var(--c-black); }
.stadv-profile .stadv-hero-cta .stadv-button-ghost { background: rgba(255,255,255,.12); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); color: #fff; }
.stadv-profile .stadv-hero-cta .stadv-button-ghost:hover { background: rgba(255,255,255,.24); color: #fff; box-shadow: inset 0 0 0 1px #fff; }

/* 4) LAYOUT — sticky left side menu + content column */
.stadv-profile-layout { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: var(--s10); align-items: start; }
.stadv-profile-layout-full { display: block; }
.stadv-profile-layout-full .stadv-profile-body { max-width: 960px; margin: 0 auto; }
.stadv-sidemenu { position: sticky; top: calc(var(--stadv-header-h, 0px) + var(--s5)); align-self: start; }
.stadv-sidemenu-inner { display: flex; flex-direction: column; }
.stadv-sidemenu-label { font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px; font-weight: 700; color: var(--c-g500); padding: 0 0 var(--s3) var(--s4); }
.stadv-profile .stadv-subnav-links { display: flex; flex-direction: column; gap: 0; overflow: visible; border-left: 1px solid var(--c-g300); border-bottom: 0; margin: 0; }
.stadv-profile .stadv-subnav-links a {
	flex: 0 0 auto; display: flex; align-items: center; padding: var(--s2) var(--s4); margin: 0 0 0 -1px; white-space: normal;
	border-left: 2px solid transparent; border-bottom: 0; font-size: var(--font-size-sm, .875rem); font-weight: 600; text-transform: none; letter-spacing: 0;
	color: var(--c-g600); line-height: 1.35; transition: color var(--tf), border-color var(--tf);
}
.stadv-profile .stadv-subnav-links a:first-child { padding-left: var(--s4); }
.stadv-profile .stadv-subnav-links a:hover { color: var(--c-black); border-bottom-color: transparent; }
.stadv-profile .stadv-subnav-links a.is-active { color: var(--c-black); border-left-color: var(--c-black); border-bottom-color: transparent; font-weight: 700; }
.stadv-sidemenu-cta { margin-top: var(--s5); }

/* 5) ABOUT — metadata strip (hairline grid) */
.stadv-metastrip {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 1px;
	background: var(--c-g200); border: 1px solid var(--c-g200); margin: 0 0 var(--s8);
}
.stadv-metaitem { background: var(--c-white); padding: var(--s5); display: flex; flex-direction: column; gap: var(--s2); }
.stadv-metaicon { width: 22px; height: 22px; color: var(--c-black); }
.stadv-metaicon svg { width: 100%; height: 100%; display: block; }
.stadv-metalabel { font-size: 10px; text-transform: uppercase; letter-spacing: .7px; font-weight: 700; color: var(--c-g500); }
.stadv-metavalue { font-size: var(--font-size-lg, 1.125rem); font-weight: 800; line-height: 1.2; color: var(--c-black); letter-spacing: -.3px; }

/* 6) banner slot inside the content column */
.stadv-section-banner { text-align: center; }
.stadv-section-banner .stadv-banner { margin: 0; }

/* 7) richer card spacing for the company-posts grid */
.stadv-profile .stadv-company-grid-articles { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--s6); }
.stadv-profile .stadv-card-noimg { background: var(--c-g100); }

/* 8) LOCATIONS — map (grayscale) stretches to the address list */
.stadv-profile .stadv-locations-grid { grid-template-columns: 1.5fr 1fr; align-items: stretch; }
.stadv-profile .stadv-locations-map { display: flex; }
.stadv-profile .stadv-map, .stadv-profile .stadv-map-embed iframe { border: 1px solid var(--c-g300); background: var(--c-g100); }
.stadv-profile .stadv-locations-grid .stadv-map { height: auto; min-height: 400px; width: 100%; flex: 1; }
.stadv-profile .stadv-locations-grid .stadv-map-embed { display: flex; flex: 1; }
.stadv-profile .stadv-locations-grid .stadv-map-embed iframe { height: auto; min-height: 400px; }
.stadv-profile .stadv-locations li { border-bottom-color: var(--c-g300); }
.stadv-profile .stadv-loc-phone a { border-bottom: 1px solid var(--c-g400); }
.stadv-profile .stadv-loc-phone a:hover { border-color: var(--c-black); }
.stadv-map-placeholder { display: flex; align-items: center; justify-content: center; color: var(--c-g300); }
.stadv-map-placeholder svg { width: 56px; height: 56px; }
/* Leaflet → flat B&W */
.stadv-profile .leaflet-container { background: var(--c-g100); font-family: inherit; }
.stadv-profile .leaflet-tile-pane { filter: grayscale(1) contrast(1.06); }
.stadv-profile .leaflet-bar { border: 0; box-shadow: none; }
.stadv-profile .leaflet-control-zoom a { width: 30px; height: 30px; line-height: 30px; color: var(--c-black) !important; background: var(--c-white); border: 1px solid var(--c-g300); border-radius: 0 !important; }
.stadv-profile .leaflet-control-zoom a + a { border-top: 0; }
.stadv-profile .leaflet-control-zoom a:hover { background: var(--c-g100); }
.stadv-profile .leaflet-control-attribution { background: rgba(255,255,255,.82); font-size: 9px; color: var(--c-g500); }
.stadv-profile .leaflet-control-attribution a { color: var(--c-g600); }
.stadv-profile .leaflet-popup-content-wrapper, .stadv-profile .leaflet-popup-tip { border-radius: 0; box-shadow: 0 8px 24px -12px rgba(0,0,0,.3); }
.stadv-profile .leaflet-popup-content { font-family: inherit; font-size: var(--font-size-sm, .875rem); font-weight: 600; }

/* 9) CONTACT BAND — light B&W, full-width, no black panel, no orange */
.stadv-contact-band { background: var(--c-g100); border-top: 1px solid var(--c-g200); padding: var(--s12) 0; margin-top: var(--s12); }
.stadv-contact-title { font-size: clamp(1.5rem, 3.4vw, 2.25rem); font-weight: 800; letter-spacing: -.5px; line-height: 1.15; margin: 0 0 var(--s8); }
.stadv-contact-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: var(--s10); align-items: start; }
.stadv-contact-grid-single { grid-template-columns: 1fr; max-width: 680px; }
.stadv-contact-list { list-style: none; margin: 0; padding: 0; }
.stadv-contact-list li {
	display: grid; grid-template-columns: 22px 1fr; grid-template-rows: auto auto;
	column-gap: var(--s4); row-gap: var(--s1); padding: var(--s4) 0; border-bottom: 1px solid var(--c-g300);
}
.stadv-contact-list li:first-child { padding-top: 0; }
.stadv-contact-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.stadv-ci { grid-row: 1 / 3; width: 22px; height: 22px; color: var(--c-black); }
.stadv-ci svg { width: 100%; height: 100%; display: block; }
.stadv-cl { align-self: end; font-size: 10px; text-transform: uppercase; letter-spacing: .7px; font-weight: 700; color: var(--c-g500); }
.stadv-cv { font-size: var(--font-size-base, 1rem); color: var(--c-black); line-height: 1.5; word-break: break-word; }
.stadv-cv a { text-decoration: none; border-bottom: 1px solid var(--c-g400); }
.stadv-cv a:hover { border-color: var(--c-black); color: var(--c-black); }
.stadv-contact-details .stadv-socials { margin-top: var(--s5); }
.stadv-contact-form-wrap .stadv-contact-note { font-size: var(--font-size-sm, .875rem); color: var(--c-g600); margin: 0 0 var(--s5); line-height: 1.6; }
.stadv-contact-band .stadv-form input, .stadv-contact-band .stadv-form textarea { background: var(--c-white); border: 1px solid var(--c-g300); }
.stadv-wrap .stadv-contact-band .stadv-form input:focus, .stadv-wrap .stadv-contact-band .stadv-form textarea:focus { border-color: var(--c-black); box-shadow: 0 0 0 3px rgba(0,0,0,.08); }
.stadv-contact-band .stadv-form > label, .stadv-contact-band .stadv-form-grid > label { color: var(--c-g600); }
.stadv-contact-band .stadv-button { background: var(--c-black); color: var(--c-white); box-shadow: none; align-self: flex-start; }
.stadv-contact-band .stadv-button:hover { background: var(--c-g800); color: var(--c-white); filter: none; transform: none; }
.stadv-contact-band .stadv-notice { background: var(--c-white); }

/* 10) responsive — left menu collapses to a horizontal scroller */
@media (max-width: 1100px) {
	.stadv-profile-layout { grid-template-columns: 1fr; gap: var(--s8); }
	.stadv-sidemenu { position: static; }
	.stadv-sidemenu-label { display: none; }
	.stadv-sidemenu-cta { display: none; }
	.stadv-profile .stadv-subnav-links { flex-direction: row; overflow-x: auto; border-left: 0; border-bottom: 1px solid var(--c-g200); scrollbar-width: none; -ms-overflow-style: none; }
	.stadv-profile .stadv-subnav-links::-webkit-scrollbar { display: none; }
	.stadv-profile .stadv-subnav-links a { margin: 0 0 -1px; border-left: 0; border-bottom: 2px solid transparent; white-space: nowrap; padding: var(--s3) var(--s4); }
	.stadv-profile .stadv-subnav-links a:first-child { padding-left: 0; }
	.stadv-profile .stadv-subnav-links a.is-active { border-left-color: transparent; border-bottom-color: var(--c-black); }
	.stadv-profile .stadv-locations-grid { grid-template-columns: 1fr; align-items: start; }
	.stadv-profile .stadv-locations-grid .stadv-map, .stadv-profile .stadv-locations-grid .stadv-map-embed iframe { min-height: 320px; height: 320px; }
}
@media (max-width: 900px) {
	.stadv-contact-grid { grid-template-columns: 1fr; gap: var(--s8); }
}
@media (max-width: 768px) {
	.stadv-profile .stadv-hero { min-height: 270px; }
	.stadv-profile .stadv-hero-inner { padding: var(--s8) 0 var(--s5); gap: var(--s4); }
	.stadv-profile .stadv-hero-logo { width: 68px; height: 68px; }
	.stadv-profile .stadv-hero-cta { width: 100%; }
	.stadv-metastrip { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
	.stadv-contact-list li { grid-template-columns: 20px 1fr; }
}

/* ============================================================================
   COMPANY PROFILE v3 — bigger contact band w/ cover image, borderless images,
   more interactive cards, roomier left side menu w/ icons, icons on section
   titles. (Layered on top of v2; same scope.)
   ============================================================================ */

/* --- StroiInfo site logo as a company-logo fallback: sits ABOVE the company
       name, larger, transparent (no tile) — the site mark is already a white
       on-dark wordmark, so it sits straight on the hero's dark overlay. --- */
/* hero logo (company's own OR the StroiInfo fallback): transparent, no tile,
   above the company name, with a drop shadow so it stays legible over the photo */
.stadv-profile .stadv-hero-mark { margin: 0 0 var(--s6); }
.stadv-profile .stadv-hero-mark img {
	display: block; height: clamp(36px, 5vw, 60px); width: auto; max-width: min(300px, 80vw);
	object-fit: contain; filter: drop-shadow(0 2px 14px rgba(0,0,0,.6)) drop-shadow(0 1px 3px rgba(0,0,0,.45));
}
.stadv-profile .stadv-hero-mark.is-sitelogo img { height: clamp(26px, 3.6vw, 40px); max-width: min(240px, 70vw); }
.stadv-profile .stadv-hero-id { flex: 1 1 360px; }

/* --- breadcrumbs moved under the hero --- */
.stadv-profile .stadv-hero { margin-bottom: 0; }
.stadv-profile .stadv-breadcrumbs-row { padding: var(--s4) 0 var(--s2); margin-bottom: var(--s8); border-bottom: 1px solid var(--c-g200); }
.stadv-profile .stadv-breadcrumbs-row .breadcrumbs { padding: 0; margin: 0; }
.stadv-profile .stadv-breadcrumbs-row:empty { display: none; }

/* --- section titles get the section's icon (instead of the small tick) --- */
.stadv-profile .stadv-section > h2::before { content: none; display: none; }
.stadv-profile .stadv-section > h2 { display: flex; align-items: center; gap: var(--s3); padding-bottom: var(--s4); margin-bottom: var(--s8); }
.stadv-h2-icon { flex: 0 0 auto; width: 30px; height: 30px; color: var(--c-black); }
.stadv-h2-icon svg { width: 100%; height: 100%; display: block; }

/* --- LEFT SIDE MENU — in a proper box, roomier, with icons --- */
.stadv-sidemenu { top: calc(var(--stadv-header-h, 0px) + var(--s6)); }
.stadv-sidemenu-inner { background: var(--c-g100); padding: var(--s5) var(--s4); display: flex; flex-direction: column; }
.stadv-sidemenu-label { padding: 0 var(--s4) var(--s4); margin: 0; border-bottom: 1px solid var(--c-g300); margin-bottom: var(--s3); }
.stadv-profile .stadv-subnav-links { border-left: 0; gap: var(--s1); }
.stadv-profile .stadv-subnav-links a:hover, .stadv-profile .stadv-subnav-links a.is-active { background: var(--c-white); }
.stadv-profile .stadv-subnav-links a {
	display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4); margin: 0;
	border-left: 0; border-bottom: 0; border-radius: 0; position: relative;
	font-size: var(--font-size-sm, .875rem); font-weight: 600; color: var(--c-g600); line-height: 1.3;
	transition: color var(--tf), background-color var(--tf);
}
.stadv-profile .stadv-subnav-links a::before {
	content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
	width: 3px; height: 0; background: var(--c-black); transition: height var(--tn);
}
.stadv-profile .stadv-subnav-links a .stadv-mi { flex: 0 0 auto; width: 20px; height: 20px; color: var(--c-g500); transition: color var(--tf); }
.stadv-profile .stadv-subnav-links a .stadv-mi svg { width: 100%; height: 100%; display: block; }
.stadv-profile .stadv-subnav-links a:first-child { padding-left: var(--s4); }
.stadv-profile .stadv-subnav-links a:hover { color: var(--c-black); background: var(--c-g100); }
.stadv-profile .stadv-subnav-links a:hover .stadv-mi { color: var(--c-black); }
.stadv-profile .stadv-subnav-links a.is-active { color: var(--c-black); font-weight: 700; background: var(--c-g100); }
.stadv-profile .stadv-subnav-links a.is-active .stadv-mi { color: var(--c-black); }
.stadv-profile .stadv-subnav-links a.is-active::before { height: 100%; }

/* --- BORDERLESS IMAGES + MORE INTERACTIVE CARDS --- */
.stadv-profile .stadv-card, .stadv-profile .stadv-team-member { border: 0; background: var(--c-white); overflow: visible; transition: transform .38s ease, box-shadow .38s ease; }
.stadv-profile .stadv-card-media, .stadv-profile .stadv-team-photo, .stadv-profile .stadv-gallery a { border: 0; overflow: hidden; background: var(--c-g100); }
.stadv-profile .stadv-card-media img, .stadv-profile .stadv-team-photo img, .stadv-profile .stadv-gallery img { transition: transform .55s cubic-bezier(.2,.7,.2,1); }
/* team members read as cards (resting elevation + a padded body); 4 per row */
.stadv-profile .stadv-team { gap: var(--s5); grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px)  { .stadv-profile .stadv-team { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px)  { .stadv-profile .stadv-team { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px)  { .stadv-profile .stadv-team { grid-template-columns: 1fr; } }
.stadv-profile .stadv-team-member { box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 12px 30px -20px rgba(0,0,0,.18); padding-bottom: var(--s5); text-align: left; }
.stadv-profile .stadv-team-photo { margin-bottom: var(--s4); aspect-ratio: 1; }
.stadv-profile .stadv-team-member strong { padding: 0 var(--s4); font-size: var(--font-size-base, 1rem); }
.stadv-profile .stadv-team-member span { padding: var(--s1) var(--s4) 0; }
.stadv-profile .stadv-team-member .stadv-team-li { padding: var(--s3) var(--s4) 0; color: var(--c-black); text-transform: uppercase; letter-spacing: .5px; font-size: 10px; font-weight: 700; }
.stadv-profile .stadv-team-member .stadv-team-li:hover { text-decoration: underline; }
.stadv-profile .stadv-card:hover, .stadv-profile .stadv-team-member:hover { transform: translateY(-8px); box-shadow: 0 26px 56px -22px rgba(0,0,0,.38); border: 0; }
.stadv-profile .stadv-card:hover .stadv-card-media img { transform: scale(1.07); }
.stadv-profile .stadv-team-member:hover .stadv-team-photo img { transform: scale(1.07); filter: grayscale(1) contrast(1.04); }
.stadv-profile .stadv-card-title a { background-image: linear-gradient(var(--c-black), var(--c-black)); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size var(--tn); padding-bottom: 1px; }
.stadv-profile .stadv-card:hover .stadv-card-title a { background-size: 100% 2px; }
.stadv-profile .stadv-gallery { gap: var(--s2); }
.stadv-profile .stadv-gallery a { transition: transform .4s ease, box-shadow .4s ease; }
.stadv-profile .stadv-gallery a:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(0,0,0,.35); z-index: 1; }
.stadv-profile .stadv-gallery a:hover img { transform: scale(1.09); }
.stadv-profile .stadv-team-photo-empty { background: var(--c-g100); }
/* keep the map readable but unobtrusive */
.stadv-profile .stadv-map, .stadv-profile .stadv-map-embed iframe { border: 0; box-shadow: 0 1px 0 var(--c-g300) inset, 0 -1px 0 var(--c-g300) inset; }

/* --- CONTACT BAND — bigger, cover image faded into black from the bottom --- */
.stadv-contact-band { position: relative; overflow: hidden; padding: clamp(3.75rem, 8vw, 7rem) 0; margin-top: var(--s12); background: var(--c-g100); border-top: 1px solid var(--c-g200); }
.stadv-contact-cover { position: absolute; inset: 0; z-index: 0; }
.stadv-contact-cover img { width: 100%; height: 100%; object-fit: cover; }
.stadv-contact-shade { display: none; }
.stadv-contact-band > .container { position: relative; z-index: 2; }
.stadv-contact-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: 2px; font-weight: 700; color: var(--c-g500); margin: 0 0 var(--s3); }
.stadv-contact-title { font-size: clamp(1.85rem, 4vw, 2.85rem); font-weight: 800; letter-spacing: -.6px; line-height: 1.12; margin: 0 0 var(--s10); display: flex; align-items: center; gap: var(--s3); }
.stadv-contact-grid { gap: var(--s12); }
.stadv-contact-band .stadv-contact-list li { padding: var(--s5) 0; }
.stadv-contact-band .stadv-cv { font-size: var(--font-size-lg, 1.125rem); }

/* dark variant when a cover image exists */
.stadv-contact-band.has-cover { background: #0a0a0a; border-top: 0; color: #fff; }
.stadv-contact-band.has-cover .stadv-contact-shade { display: block; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.35) 22%, rgba(0,0,0,.68) 60%, rgba(0,0,0,.95) 100%); }
.stadv-contact-band.has-cover .stadv-contact-eyebrow { color: rgba(255,255,255,.7); }
.stadv-contact-band.has-cover .stadv-contact-title { color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.4); }
.stadv-contact-band.has-cover .stadv-h2-icon, .stadv-contact-band.has-cover .stadv-ci { color: #fff; }
.stadv-contact-band.has-cover .stadv-contact-list li { border-bottom-color: rgba(255,255,255,.16); }
.stadv-contact-band.has-cover .stadv-cl { color: rgba(255,255,255,.6); }
.stadv-contact-band.has-cover .stadv-cv, .stadv-contact-band.has-cover .stadv-cv a { color: #fff; }
.stadv-contact-band.has-cover .stadv-cv a { border-bottom-color: rgba(255,255,255,.4); }
.stadv-contact-band.has-cover .stadv-cv a:hover { border-color: #fff; color: #fff; }
.stadv-contact-band.has-cover .stadv-socials a { border-color: rgba(255,255,255,.35); color: #fff; }
.stadv-contact-band.has-cover .stadv-socials a:hover { background: #fff; color: #0a0a0a; border-color: #fff; }
.stadv-contact-band.has-cover .stadv-contact-note { color: rgba(255,255,255,.72); }
.stadv-contact-band.has-cover .stadv-form > label, .stadv-contact-band.has-cover .stadv-form-grid > label { color: rgba(255,255,255,.62); }
.stadv-contact-band.has-cover .stadv-form input, .stadv-contact-band.has-cover .stadv-form textarea { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.25); color: #fff; }
.stadv-contact-band.has-cover .stadv-form input::placeholder, .stadv-contact-band.has-cover .stadv-form textarea::placeholder { color: rgba(255,255,255,.45); }
.stadv-wrap .stadv-contact-band.has-cover .stadv-form input:focus, .stadv-wrap .stadv-contact-band.has-cover .stadv-form textarea:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.14); }
.stadv-contact-band.has-cover .stadv-button { background: #fff; color: #0a0a0a; }
.stadv-contact-band.has-cover .stadv-button:hover { background: var(--c-g200); color: #0a0a0a; }
.stadv-contact-band.has-cover .stadv-notice { background: rgba(255,255,255,.1); color: #fff; border-left-color: rgba(255,255,255,.6); }
.stadv-contact-band.has-cover .stadv-notice-ok { border-left-color: #4ade80; }
.stadv-contact-band.has-cover .stadv-notice-err { border-left-color: #f87171; }

@media (max-width: 1100px) {
	.stadv-sidemenu-inner { background: transparent; padding: 0; }
	.stadv-sidemenu-label { display: none; }
	.stadv-profile .stadv-subnav-links { flex-direction: row; gap: 0; }
	.stadv-profile .stadv-subnav-links a { padding: var(--s3) var(--s4); }
	.stadv-profile .stadv-subnav-links a:hover, .stadv-profile .stadv-subnav-links a.is-active { background: transparent; }
	.stadv-profile .stadv-subnav-links a::before { left: 0; top: auto; bottom: 0; transform: none; width: 0; height: 2px; transition: width var(--tn); }
	.stadv-profile .stadv-subnav-links a.is-active::before { height: 2px; width: 100%; }
	.stadv-profile .stadv-subnav-links a:first-child { padding-left: 0; }
	.stadv-profile .stadv-subnav-links a .stadv-mt { white-space: nowrap; }
}
@media (max-width: 700px) {
	.stadv-profile .stadv-subnav-links a .stadv-mt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.stadv-profile .stadv-subnav-links a { padding: var(--s3); }
}

/* ============================================================================
   COMPANY PROFILE v4 — full-width map w/ glass address overlay, masonry gallery
   with a "view more" gradient fade, 3/4 (1-of-4) text grid in About, glassy hero
   buttons, more interactive class effects. (Layered on v2/v3; same scope.)
   ============================================================================ */

/* --- ABOUT: text sits in 3 of 4 columns (the metadata strip stays full width) --- */
.stadv-profile .stadv-about-body { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s8); }
.stadv-profile .stadv-about-body .stadv-richtext { grid-column: 1 / span 3; }
.stadv-profile .stadv-about-body .stadv-tagset { grid-column: 1 / span 3; margin-top: 0; }
.stadv-profile .stadv-about-body > :only-child { grid-column: 1 / span 3; }
.stadv-profile .stadv-pill { transition: transform var(--tf), background-color var(--tf), color var(--tf), border-color var(--tf); }
.stadv-profile a.stadv-pill:hover { transform: translateY(-2px); }

/* --- HERO BUTTONS: glass --- */
.stadv-profile .stadv-hero-cta .stadv-button {
	background: rgba(255,255,255,.16); color: #fff; border: 1px solid rgba(255,255,255,.45);
	-webkit-backdrop-filter: blur(12px) saturate(150%); backdrop-filter: blur(12px) saturate(150%);
	box-shadow: 0 8px 30px -14px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.25);
	transition: background-color var(--tf), border-color var(--tf), transform var(--tf), box-shadow var(--tf);
}
.stadv-profile .stadv-hero-cta .stadv-button:hover { background: rgba(255,255,255,.3); border-color: rgba(255,255,255,.7); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 34px -12px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.35); }
.stadv-profile .stadv-hero-cta .stadv-button:active { transform: translateY(0); }
.stadv-profile .stadv-hero-cta .stadv-button-ghost { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.3); box-shadow: none; }
.stadv-profile .stadv-hero-cta .stadv-button-ghost:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.55); }
/* the glassy chips already exist for categories — give them a touch more depth */
.stadv-profile .stadv-hero-cat a { box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.stadv-profile .stadv-hero-cat a:hover { transform: translateY(-1px); }

/* --- LOCATIONS: full-width map with the addresses overlaid in a glass panel --- */
.stadv-profile .stadv-locwrap { position: relative; width: 100%; min-height: 480px; overflow: hidden; }
.stadv-profile .stadv-locwrap-map, .stadv-profile .stadv-locwrap .stadv-map, .stadv-profile .stadv-locwrap .stadv-map-embed, .stadv-profile .stadv-locwrap .stadv-map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.stadv-profile .stadv-locwrap .stadv-map { box-shadow: none; }
.stadv-profile .stadv-locwrap .stadv-map-placeholder { display: flex; align-items: center; justify-content: center; background: var(--c-g100); }
.stadv-profile .stadv-loc-overlay {
	position: absolute; top: var(--s5); left: var(--s5); z-index: 500; width: min(360px, calc(100% - var(--s8)));
	max-height: calc(100% - var(--s10)); overflow-y: auto;
	background: rgba(255,255,255,.78); -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
	box-shadow: 0 22px 50px -18px rgba(0,0,0,.4), inset 0 0 0 1px rgba(255,255,255,.55);
	padding: var(--s5);
}
.stadv-loc-overlay-label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; color: var(--c-g600); padding-bottom: var(--s3); margin-bottom: var(--s3); border-bottom: 1px solid rgba(0,0,0,.12); }
.stadv-profile .stadv-loc-overlay .stadv-locations { list-style: none; margin: 0; padding: 0; }
.stadv-profile .stadv-loc-overlay .stadv-locations li { display: grid; grid-template-columns: 18px 1fr; gap: var(--s3); padding: var(--s3) 0; border-bottom: 1px solid rgba(0,0,0,.1); }
.stadv-profile .stadv-loc-overlay .stadv-locations li:first-child { padding-top: 0; }
.stadv-profile .stadv-loc-overlay .stadv-locations li:last-child { border-bottom: 0; padding-bottom: 0; }
.stadv-loc-pin { width: 18px; height: 18px; color: var(--c-black); margin-top: 2px; }
.stadv-loc-pin svg { width: 100%; height: 100%; display: block; }
.stadv-loc-body { display: flex; flex-direction: column; gap: 2px; font-size: var(--font-size-sm, .875rem); line-height: 1.4; }
.stadv-loc-body strong { font-size: var(--font-size-base, 1rem); }
.stadv-loc-body span { color: var(--c-g700); }
.stadv-loc-body small { color: var(--c-g600); font-size: var(--font-size-xs, .75rem); }
.stadv-loc-body .stadv-loc-phone a { border-bottom: 1px solid var(--c-g400); }
.stadv-loc-body .stadv-loc-phone a:hover { border-color: var(--c-black); }
.stadv-locwrap-many .stadv-loc-overlay { /* scroll inside when there are many offices */ }

/* --- GALLERY: clean uniform photo grid + "view more" gradient fade.
       Each tile = <a class="stadv-galtile"><span class="stadv-galtile-frame"><img></span></a>
       — the frame holds the aspect-ratio + clip, the img is absolutely positioned
       so its intrinsic size can never push neighbours / cause overlap. --- */
.stadv-profile .stadv-gallery-wrap { position: relative; }
.stadv-profile .stadv-gallery-masonry { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s3); align-items: start; }
.stadv-profile .stadv-galtile { display: block; position: relative; min-width: 0; cursor: zoom-in; overflow: visible; aspect-ratio: auto; background: transparent; }
.stadv-profile .stadv-galtile .stadv-galtile-frame { display: block; position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--c-g100); transition: box-shadow .4s ease, transform .4s ease; }
.stadv-profile .stadv-galtile .stadv-galtile-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.stadv-profile .stadv-galtile .stadv-galtile-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.18), rgba(0,0,0,0) 45%); opacity: 0; transition: opacity .4s ease; }
.stadv-profile .stadv-galtile:hover .stadv-galtile-frame { box-shadow: 0 24px 50px -18px rgba(0,0,0,.45); transform: translateY(-3px); }
.stadv-profile .stadv-galtile:hover .stadv-galtile-frame img { transform: scale(1.08); }
.stadv-profile .stadv-galtile:hover .stadv-galtile-frame::after { opacity: 1; }
.stadv-profile .stadv-gallery-wrap.is-clamped .stadv-gallery-masonry { max-height: 560px; overflow: hidden; }
.stadv-profile .stadv-gallery-wrap.is-clamped::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 240px; background: linear-gradient(transparent, var(--c-white) 72%); pointer-events: none; z-index: 1; }
.stadv-gallery-more {
	position: absolute; left: 50%; bottom: var(--s5); transform: translateX(-50%); z-index: 2;
	font-family: inherit; font-size: var(--font-size-xs, .75rem); font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
	background: var(--c-black); color: var(--c-white); border: 0; padding: var(--s3) var(--s8); cursor: pointer;
	box-shadow: 0 12px 30px -12px rgba(0,0,0,.4); transition: background-color var(--tf), transform var(--tf);
}
.stadv-gallery-more:hover { background: var(--c-g800); transform: translateX(-50%) translateY(-2px); }
.stadv-gallery-wrap:not(.is-clamped) .stadv-gallery-more { display: none; }

/* --- a few more class effects across cards/sections --- */
.stadv-profile .stadv-section-banner .stadv-banner img { transition: transform var(--tn); }
.stadv-profile .stadv-section-banner .stadv-banner:hover img { transform: scale(1.01); }
.stadv-profile .stadv-metaitem { transition: transform var(--tf), box-shadow var(--tf), background-color var(--tf); }
.stadv-profile .stadv-metaitem:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(0,0,0,.25); background: var(--c-white); }
.stadv-profile .stadv-documents li a { transition: padding-left var(--tf), color var(--tf); }
.stadv-profile .stadv-documents li a:hover { padding-left: var(--s2); }

@media (max-width: 1100px) {
	.stadv-profile .stadv-about-body { grid-template-columns: 1fr; gap: var(--s6); }
	.stadv-profile .stadv-about-body .stadv-richtext, .stadv-profile .stadv-about-body .stadv-tagset, .stadv-profile .stadv-about-body > :only-child { grid-column: 1; }
	.stadv-profile .stadv-locwrap { min-height: 0; overflow: visible; }
	.stadv-profile .stadv-locwrap-map { position: relative; height: 320px; }
	.stadv-profile .stadv-locwrap .stadv-map, .stadv-profile .stadv-locwrap .stadv-map-embed, .stadv-profile .stadv-locwrap .stadv-map-embed iframe { position: relative; height: 320px; }
	.stadv-profile .stadv-loc-overlay { position: relative; top: auto; left: auto; width: 100%; max-height: none; margin-top: var(--s4); background: var(--c-g100); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; }
	.stadv-profile .stadv-gallery-masonry { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.stadv-profile .stadv-gallery-masonry { grid-template-columns: 1fr; }
}

/* ============================================================================
   COMPANY PROFILE v5 — premium polish: editorial ghost section numbers, a drop
   cap, button shimmer, refined hero, blur-in reveals, finer details. (Layered
   on v2–v4; same scope.)
   ============================================================================ */
.stadv-profile { --stadv-ease: cubic-bezier(.22,.61,.36,1); }
.stadv-profile ::selection { background: var(--c-black); color: var(--c-white); }

/* --- editorial ghost numbers behind each section --- */
.stadv-profile-body { counter-reset: stadv-sec; }
.stadv-profile .stadv-section { position: relative; counter-increment: stadv-sec; }
.stadv-profile .stadv-section > h2 { position: relative; z-index: 1; }
.stadv-profile .stadv-section::before {
	content: counter(stadv-sec, decimal-leading-zero);
	position: absolute; top: -.34em; right: -.1rem; z-index: 0; pointer-events: none;
	font-size: clamp(4rem, 9vw, 7.5rem); font-weight: 800; line-height: 1; letter-spacing: -.04em;
	color: transparent; -webkit-text-stroke: 1px rgba(0,0,0,.06); text-stroke: 1px rgba(0,0,0,.06);
}
.stadv-section-banner { counter-increment: none; }
.stadv-section-banner::before { content: none; }
@media (max-width: 700px) { .stadv-profile .stadv-section::before { font-size: 3.4rem; top: -.2em; opacity: .7; } }

/* --- drop cap on the company description --- */
.stadv-profile .stadv-about-body .stadv-richtext > p:first-of-type::first-letter {
	float: left; font-size: 3.4em; line-height: .82; font-weight: 800; margin: .06em .14em 0 0; color: var(--c-black);
}

/* --- button shimmer sweep on hover --- */
.stadv-profile .stadv-button { position: relative; overflow: hidden; isolation: isolate; }
.stadv-profile .stadv-button::after {
	content: ""; position: absolute; inset: 0; z-index: -1; transform: translateX(-130%);
	background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%);
	transition: transform .65s var(--stadv-ease);
}
.stadv-profile .stadv-button:hover::after { transform: translateX(130%); }
.stadv-profile .stadv-button-ghost::after { background: linear-gradient(105deg, transparent 35%, rgba(0,0,0,.06) 50%, transparent 65%); }
.stadv-profile .stadv-hero-cta .stadv-button-ghost::after { background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.22) 50%, transparent 65%); }

/* --- hero: a hairline of light at the top, a faint vignette, slightly tighter type --- */
.stadv-profile .stadv-hero::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent); z-index: 3; }
.stadv-profile .stadv-hero-shade { background: radial-gradient(120% 90% at 50% 0%, rgba(0,0,0,.04), transparent 55%), linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.04) 30%, rgba(0,0,0,.5) 64%, rgba(0,0,0,.9) 100%); }
.stadv-profile .stadv-hero-name { letter-spacing: -.02em; }
.stadv-profile .stadv-hero-cat a { letter-spacing: .08em; }

/* --- metadata strip: a black top-bar that grows on hover --- */
.stadv-profile .stadv-metaitem { position: relative; overflow: hidden; }
.stadv-profile .stadv-metaitem::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--c-black); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--stadv-ease); }
.stadv-profile .stadv-metaitem:hover::before { transform: scaleX(1); }

/* --- blur-in scroll reveal (only when JS adds .stadv-anim; reduced-motion bails earlier) --- */
.stadv-profile.stadv-anim .stadv-reveal { opacity: 0; transform: translateY(26px); filter: blur(7px); transition: opacity .75s var(--stadv-ease), transform .75s var(--stadv-ease), filter .75s var(--stadv-ease); transition-delay: var(--stadv-d, 0ms); }
.stadv-profile.stadv-anim .stadv-reveal.is-in { opacity: 1; transform: none; filter: blur(0); }

/* --- finer details --- */
.stadv-profile .stadv-richtext { line-height: 1.78; }
.stadv-profile .stadv-richtext a { background-image: linear-gradient(var(--c-black), var(--c-black)); background-size: 100% 1px; background-position: 0 100%; background-repeat: no-repeat; text-decoration: none; padding-bottom: 1px; transition: background-size .25s var(--stadv-ease); }
.stadv-profile .stadv-richtext a:hover { background-size: 0 1px; color: var(--c-black); }
.stadv-profile .stadv-loc-overlay { box-shadow: 0 26px 56px -18px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.6), inset 0 1px 0 rgba(255,255,255,.7); }
.stadv-profile .stadv-h2-icon { transition: transform .4s var(--stadv-ease); }
.stadv-profile .stadv-section:hover > h2 .stadv-h2-icon { transform: rotate(-6deg) scale(1.06); }
.stadv-profile .stadv-card, .stadv-profile .stadv-team-member, .stadv-profile .stadv-galtile .stadv-galtile-frame, .stadv-profile .stadv-metaitem { will-change: transform; }
.stadv-profile .stadv-sidemenu-inner { box-shadow: inset 0 0 0 1px rgba(0,0,0,.04); }
.stadv-profile .stadv-pill { background: var(--c-white); }

@media (max-width: 1100px) { .stadv-profile .stadv-section:hover > h2 .stadv-h2-icon { transform: none; } }

@media (prefers-reduced-motion: reduce) {
	.stadv-wrap *, .stadv-wrap *::before, .stadv-wrap *::after { transition: none !important; animation: none !important; }
	.stadv-profile.stadv-anim .stadv-reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
}
