/* Shared site-wide approved SCOPE design language. Homepage network styles remain isolated. */
:root {
	--scope-black: #050607;
	--scope-graphite-950: #090b0e;
	--scope-graphite-900: #0f1318;
	--scope-graphite-850: #151a20;
	--scope-graphite-800: #1d242b;
	--scope-titanium: #29323a;
	--scope-white: #ffffff;
	--scope-text: #f4f7fa;
	--scope-text-soft: #c4ced8;
	--scope-text-muted: #8996a3;
	--scope-electric: #147cff;
	--scope-cyan: #20d9ff;
	--scope-cyan-soft: rgba(32, 217, 255, 0.2);
	--scope-border: rgba(139, 180, 207, 0.22);
	--scope-border-active: rgba(32, 217, 255, 0.55);
	--scope-surface: rgba(22, 29, 36, 0.82);
	--scope-surface-soft: rgba(31, 39, 47, 0.68);
	--scope-shadow: 0 18px 48px rgba(0, 0, 0, 0.3);
	--scope-glow: 0 0 30px rgba(32, 217, 255, 0.12);
}

/* Header and footer intentionally apply on every public template, including the active homepage. */
.site-header {
	background: rgba(5, 6, 7, 0.9);
	border-color: rgba(123, 174, 204, 0.18);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
}

.site-header.is-scrolled,
.site-header.is-open { background: rgba(5, 6, 7, 0.96); border-color: var(--scope-border); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.32); }
.site-header a,
#masthead.site-header .primary-navigation .menu-item > a,
#masthead.site-header .primary-navigation .menu-item > a:visited,
#masthead.site-header .mobile-navigation .menu-item > a,
#masthead.site-header .mobile-navigation .menu-item > a:visited { color: var(--scope-text); }
.site-title { color: var(--scope-white); }
.site-header .primary-navigation .menu-item > a:hover,
.site-header .primary-navigation .menu-item > a:focus-visible,
.site-header .primary-navigation .current-menu-item > a,
.site-header .primary-navigation .current_page_item > a { color: var(--scope-cyan); }
.site-header .primary-navigation .sub-menu { background: rgba(15, 19, 24, 0.98); border-color: var(--scope-border); box-shadow: var(--scope-shadow); }
.site-header .primary-navigation .sub-menu a { color: var(--scope-text); }
.site-header .primary-navigation .sub-menu a:hover,
.site-header .primary-navigation .sub-menu a:focus-visible { background: rgba(32, 217, 255, 0.1); color: var(--scope-cyan); }
.mobile-menu-toggle { background: rgba(21, 26, 32, 0.82); border-color: var(--scope-border); color: var(--scope-text); }
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus-visible { background: rgba(32, 217, 255, 0.1); border-color: var(--scope-border-active); color: var(--scope-cyan); }
.mobile-navigation { background: rgba(9, 11, 14, 0.98); border-color: var(--scope-border); box-shadow: var(--scope-shadow); }
.mobile-menu a { border-color: rgba(139, 180, 207, 0.14); color: var(--scope-text); }
.mobile-menu a:hover,
.mobile-menu a:focus-visible { color: var(--scope-cyan); }

.site-footer {
	background: linear-gradient(142deg, #050607 0%, #090b0e 52%, #151a20 100%);
	border-top: 1px solid var(--scope-border);
}
.site-footer::before { background: radial-gradient(circle, rgba(32, 217, 255, 0.11), transparent 70%); }
.site-footer::after { background-image: linear-gradient(135deg, rgba(184, 208, 222, 0.035) 1px, transparent 1px); background-size: 38px 38px; }

/* Inner pages inherit the dark titanium system. The active connected homepage is deliberately excluded. */
body:not(.home) {
	background: radial-gradient(ellipse at 78% -8%, rgba(35, 59, 73, 0.26), transparent 38rem), linear-gradient(180deg, var(--scope-black), var(--scope-graphite-950) 38rem, var(--scope-graphite-900));
	color: var(--scope-text-soft);
}
body:not(.home) .site-main { background: transparent; }
body:not(.home) a { color: var(--scope-cyan); }
body:not(.home) a:hover { color: #8cefff; }
body:not(.home) h1,
body:not(.home) h2,
body:not(.home) h3,
body:not(.home) h4 { color: var(--scope-white); }
body:not(.home) .hero,
body:not(.home) .contact-hero {
	min-height: clamp(22rem, 43vw, 35rem);
	display: grid;
	align-items: end;
	padding-block: clamp(7rem, 12vw, 10rem) clamp(3.5rem, 7vw, 6rem);
	background: radial-gradient(ellipse at 75% 0%, rgba(32, 217, 255, 0.12), transparent 34rem), linear-gradient(122deg, #050607 0%, #0f1318 56%, #151a20 100%);
	border-bottom: 1px solid var(--scope-border);
	overflow: hidden;
}
body:not(.home) .hero::before,
body:not(.home) .contact-hero::before { background: linear-gradient(112deg, transparent 18%, rgba(184, 208, 222, 0.08) 49%, rgba(32, 217, 255, 0.08) 53%, transparent 78%); opacity: 1; }
body:not(.home) .hero::after,
body:not(.home) .contact-hero::after { opacity: 0.18; }
body:not(.home) .hero h1,
body:not(.home) .contact-hero h1 { max-width: 15ch; }
body:not(.home) .hero__intro,
body:not(.home) .contact-hero__intro { max-width: 46rem; color: var(--scope-text-soft); font-size: clamp(1rem, 1.6vw, 1.2rem); }
body:not(.home) .hero--page { min-height: clamp(20rem, 35vw, 29rem); }

body:not(.home) .section--ice,
body:not(.home) .section--white,
body:not(.home) .section--soft,
body:not(.home) .contact-section { background: transparent; }
body:not(.home) .section--soft::before {
	position: absolute; inset: 0; content: ""; pointer-events: none;
	background: linear-gradient(110deg, transparent, rgba(141, 165, 179, 0.045), transparent);
}
body:not(.home) .section > .container { position: relative; z-index: 1; }
body:not(.home) .archive-section { padding-top: clamp(5rem, 9vw, 8rem); }
body:not(.home) .archive-section > .container::before {
	display: block; width: 4rem; height: 2px; margin-bottom: 1.25rem; content: "";
	background: linear-gradient(90deg, var(--scope-cyan), transparent);
}
body:not(.home) .section-heading p:last-child,
body:not(.home) .section-heading__text,
body:not(.home) .archive-header p,
body:not(.home) .archive-header .entry-content,
body:not(.home) .entry-content p,
body:not(.home) .entry-content li { color: var(--scope-text-soft); }

body:not(.home) .card,
body:not(.home) .content-card,
body:not(.home) .stat-card,
body:not(.home) .contact-info-card,
body:not(.home) .contact-map-card,
body:not(.home) .contact-form-card,
body:not(.home) .contact-whatsapp-card,
body:not(.home) .archive-filters {
	background: linear-gradient(145deg, rgba(38, 48, 58, 0.78), rgba(15, 19, 24, 0.9));
	border-color: var(--scope-border);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), var(--scope-shadow);
	backdrop-filter: blur(12px);
}
body:not(.home) .card,
body:not(.home) .content-card,
body:not(.home) .stat-card { border: 1px solid var(--scope-border); }
body:not(.home) .content-card::before { background: linear-gradient(90deg, var(--scope-electric), var(--scope-cyan)); }
body:not(.home) .content-card:hover,
body:not(.home) .content-card:focus-within { border-color: var(--scope-border-active); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 24px 52px rgba(0,0,0,.32), var(--scope-glow); }
body:not(.home) .content-card__image,
body:not(.home) .partner-card__logo { background: linear-gradient(140deg, #1d242b, #0f1318); border-color: var(--scope-border); }
body:not(.home) .content-card__title a { color: var(--scope-white); }
body:not(.home) .content-card__title a:hover { color: var(--scope-cyan); }
body:not(.home) .content-card p,
body:not(.home) .meta-list,
body:not(.home) .content-card__meta { color: var(--scope-text-soft); }
body:not(.home) .text-link { color: var(--scope-cyan); }
body:not(.home) .term-pill { background: rgba(32, 217, 255, 0.08); border-color: rgba(32, 217, 255, 0.28); color: #9aeeff; }
body:not(.home) .term-pill:hover { background: rgba(32, 217, 255, 0.18); color: var(--scope-white); border-color: var(--scope-border-active); }
body:not(.home) .term-list__label { color: var(--scope-text-muted); }
body:not(.home) .content-section { border-color: var(--scope-border); }
body:not(.home) .single-hero-image__img,
body:not(.home) .image-grid__img { border: 1px solid var(--scope-border); box-shadow: var(--scope-shadow); }
body:not(.home) .content-list--inline li { background: rgba(31, 39, 47, 0.72); border-color: var(--scope-border); color: var(--scope-text-soft); }
body:not(.home) .placeholder-note { background: rgba(31, 39, 47, 0.6); border-color: rgba(32, 217, 255, 0.32); color: var(--scope-text-soft); }
body:not(.home) .stat-card strong { color: var(--scope-cyan); }
body:not(.home) .stat-card span { color: var(--scope-text-soft); }

body:not(.home) .btn,
body:not(.home) .contact-form-card button,
body:not(.home) .contact-form-card input[type="submit"],
body:not(.home) .contact-form-card .ff-btn-submit {
	border: 1px solid rgba(104, 205, 255, 0.45);
	background: linear-gradient(112deg, #147cff, #20d9ff);
	color: #fff;
	box-shadow: 0 10px 24px rgba(20, 124, 255, 0.2);
}
body:not(.home) .btn--ghost,
body:not(.home) .btn--outline { background: rgba(31, 39, 47, 0.55); border-color: var(--scope-border); color: var(--scope-text); }
body:not(.home) .btn:hover,
body:not(.home) .btn:focus-visible,
body:not(.home) .contact-form-card button:hover,
body:not(.home) .contact-form-card input[type="submit"]:hover,
body:not(.home) .contact-form-card .ff-btn-submit:hover { color: #fff; box-shadow: 0 15px 30px rgba(20, 124, 255, 0.28), var(--scope-glow); }
body:not(.home) .archive-filter-group h2 { color: var(--scope-white); }
body:not(.home) .archive-filter-group a { color: var(--scope-text-soft); }
body:not(.home) .archive-filter-group a:hover,
body:not(.home) .archive-filter-group a:focus-visible { color: var(--scope-cyan); }
body:not(.home) .contact-form-card input,
body:not(.home) .contact-form-card select,
body:not(.home) .contact-form-card textarea { background: rgba(5, 6, 7, 0.62); border-color: var(--scope-border); color: var(--scope-text); }
body:not(.home) .contact-form-card input:focus,
body:not(.home) .contact-form-card select:focus,
body:not(.home) .contact-form-card textarea:focus { border-color: var(--scope-border-active); box-shadow: 0 0 0 3px rgba(32, 217, 255, 0.12); }
body:not(.home) .contact-form-card input::placeholder,
body:not(.home) .contact-form-card textarea::placeholder { color: var(--scope-text-muted); }
body:not(.home) .contact-quick-action { background: rgba(31, 39, 47, 0.66); border-color: var(--scope-border); color: var(--scope-text); }
body:not(.home) .contact-quick-action:hover,
body:not(.home) .contact-quick-action:focus-visible { background: rgba(32, 217, 255, 0.12); border-color: var(--scope-border-active); color: var(--scope-white); }

@media (max-width: 760px) {
	body:not(.home) .hero,
	body:not(.home) .contact-hero { min-height: 20rem; padding-top: 6.5rem; }
	body:not(.home) .site-main { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
	body:not(.home) *,
	body:not(.home) *::before,
	body:not(.home) *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: 0.001ms !important; }
}
