/* ==========================================================================
   Skyo Global. WordPress additions.
   Loaded after style.css and responsive.css. It only adds what WordPress needs
   (Contact Form 7, core content, admin bar, pagination, service / work templates).
   Design tokens come from style.css.
   ========================================================================== */

/* ---------- WordPress core ---------- */
.screen-reader-text { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto; clip-path: none; width: auto; height: auto; margin: 0; padding: 12px 20px; background: var(--surface); color: var(--ink); z-index: 100000; }
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin-inline: auto; }
.prose img, .prose video, .prose iframe { max-width: 100%; height: auto; }
.prose img { border-radius: var(--radius-lg); }
.prose figure { margin: 0; }
.prose figcaption, .wp-caption-text { margin-top: 10px; font-size: 14px; color: var(--ink-muted); }
.prose ol { padding-left: 1.4em; }
.prose ol li { padding: 6px 0; }
.prose .wp-block-image, .prose .wp-block-quote { margin-inline: 0; }
.prose .wp-block-quote cite { display: block; margin-top: 12px; font: 500 15px/1.3 var(--font-body); color: var(--ink-muted); }
.prose blockquote p { font: inherit; letter-spacing: inherit; color: inherit; }
.prose blockquote p + p { margin-top: 0.6em; }
.prose table { width: 100%; border-collapse: collapse; }
.prose th, .prose td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }

/* Logo image (when a Custom Logo is set) */
.sk-logo__img { display: block; height: 32px; width: auto; }

/* Fixed navigation sits below the WordPress admin bar */
.admin-bar .sk-nav { top: 48px; }
@media (max-width: 782px) { .admin-bar .sk-nav { top: 62px; } }
@media (max-width: 600px) { .admin-bar .sk-nav { top: 16px; } }

/* Filtered work cards */
.sk-proj[hidden] { display: none !important; }
.sk-empty[hidden] { display: none; }

/* About page: editor content keeps the original paragraph look */
.about-story__content > p { font-size: 17px; line-height: 1.55; color: var(--ink-body); max-width: 38em; }
.about-story__content > p + p { margin-top: 1em; }

/* ---------- Blog pagination + filter links ---------- */
a.sk-tag.sk-tag--active { text-decoration: none; }
.sk-pagination { margin-top: clamp(40px, 5vw, 72px); }
.sk-pagination ul { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; list-style: none; padding: 0; margin: 0; }
.sk-pagination a, .sk-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--radius-pill); font: 500 14px/1 var(--font-body); color: var(--ink); text-decoration: none; transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast); }
.sk-pagination a:hover { border-color: var(--ink); }
.sk-pagination .current { background: var(--ink); border-color: var(--ink); color: var(--surface); }

/* ---------- Service page ---------- */
.svc-hero { padding-bottom: clamp(24px, 3vw, 48px); }
.svc-hero__grid { margin-top: clamp(24px, 3vw, 40px); }
.svc-hero .svc__intro { position: static; }
.svc-hero .sk-hero__actions { grid-column: auto; justify-self: start; }
.svc-hero .svc__num { font-size: clamp(64px, 8vw, 120px); }
.svc-detail { margin-inline: 0; }
.svc-hero + .svc { border-top: 0; padding-top: 0; }

/* Homepage growth-system panel: optional background image + dark overlay */
.orbit__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.orbit__overlay { position: absolute; inset: 0; z-index: -1; background: #000; pointer-events: none; }

/* Homepage orbit centre uses the logo typeface (Castoro Titling) */
.orbit__core { font-family: "Castoro Titling", Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: 0.06em; font-size: clamp(16px, 3.6cqw, 34px); }

/* ---------- Mega menu (Services), desktop and wider only ---------- */
.sk-mega { display: none; }
@media (min-width: 1024px) {
	.sk-nav__pill { position: relative; }
	.sk-nav__item.has-mega { position: static; }
	.sk-mega {
		display: grid; grid-template-columns: minmax(220px, 3fr) 9fr; gap: clamp(24px, 3vw, 56px);
		position: absolute; top: calc(100% + 10px); left: 0; right: 0; padding: clamp(24px, 2.4vw, 40px);
		background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-lg);
		box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
		opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none;
		transition: opacity 200ms ease, transform 300ms var(--ease-editorial), visibility 0s linear 200ms;
	}
	/* invisible bridge so the panel stays open while the pointer crosses the gap */
	.sk-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
	.has-mega:hover > .sk-mega, .has-mega:focus-within > .sk-mega, .has-mega.is-open > .sk-mega {
		opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition-delay: 0s;
	}
	.has-mega:hover > .sk-nav__link::after, .has-mega:focus-within > .sk-nav__link::after { transform: scaleX(1); }
	.sk-mega__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
	.sk-mega__label { font: 600 12px/1.2 var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-text); }
	.sk-mega__title { font: 700 clamp(24px, 2.2vw, 34px)/1.1 var(--font-heading); letter-spacing: -0.03em; }
	.sk-mega__all { margin-top: auto; padding-top: 12px; font: 600 15px/1 var(--font-body); color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
	.sk-mega__all:hover { color: var(--accent-text); }
	.sk-mega__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; list-style: none; margin: 0; padding: 0; }
	.sk-mega__item { display: grid; gap: 6px; padding: 16px 18px; height: 100%; border-radius: 16px; text-decoration: none; color: var(--ink); transition: background-color var(--transition-fast); }
	.sk-mega__item:hover, .sk-mega__item:focus-visible { background: var(--surface-alt); }
	.sk-mega__num { font: 600 12px/1 var(--font-body); letter-spacing: 0.08em; color: var(--accent-text); }
	.sk-mega__name { font: 700 19px/1.2 var(--font-heading); letter-spacing: -0.02em; }
	.sk-mega__desc { font: 400 14px/1.5 var(--font-body); color: var(--ink-muted); }
}
@media (min-width: 1024px) and (max-width: 1199px) {
	.sk-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	.sk-mega { transition: none; }
}

/* Team cards from Team Members */
.team--all { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: clamp(32px, 4vw, 56px); }
.team__bio { font: 400 15px/1.55 var(--font-body); color: var(--ink-body); }
.team__link { font: 500 14px/1.4 var(--font-body); color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.team__link:hover { color: var(--accent-text); }
.team__more { margin-top: clamp(32px, 4vw, 48px); }
@media (max-width: 1023px) { .team--all { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .team--all { grid-template-columns: 1fr; } }

/* Work page: the featured project photo was very tall on wide screens */
@media (min-width: 1200px) { .sk-proj--xl { --ratio: 3 / 1; } }

/* ---------- All services overview (marketing agency in Dubai page) ---------- */
.svc-hub { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: clamp(32px, 4vw, 56px); }
.svc-hub__card { display: flex; flex-direction: column; gap: 12px; padding: clamp(22px, 2.4vw, 32px); border: 1px solid var(--line); border-radius: 24px; background: var(--surface); transition: border-color var(--transition-fast), box-shadow var(--transition-medium); }
.svc-hub__card:hover { border-color: var(--ink); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08); }
.svc-hub__num { font: 700 13px/1 var(--font-body); letter-spacing: 0.1em; color: var(--accent-text); }
.svc-hub__title { font: 700 clamp(22px, 1.9vw, 28px)/1.15 var(--font-heading); letter-spacing: -0.025em; }
.svc-hub__title a { color: var(--ink); text-decoration: none; }
.svc-hub__title a:hover { color: var(--accent-text); }
.svc-hub__text { font: 400 16px/1.6 var(--font-body); color: var(--ink-body); }
.svc-hub__links { display: grid; gap: 6px; margin: 4px 0 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--line); }
.svc-hub__links a { font: 500 15px/1.4 var(--font-body); color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.svc-hub__links a:hover { color: var(--accent-text); }
.svc-hub__more { margin-top: auto; padding-top: 10px; font: 600 13px/1 var(--font-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); text-decoration: none; }
.svc-hub__more:hover { color: var(--accent-text); }
@media (max-width: 1023px) { .svc-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .svc-hub { grid-template-columns: 1fr; } }
.hub-link { font: 500 17px/1.5 var(--font-body); color: var(--ink-body); }
.hub-link a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.hub-link a:hover { color: var(--accent-text); }

/* ---------- Homepage: case study cards ---------- */
.case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: clamp(32px, 4vw, 56px); }
.case-card { display: flex; }
.case-card__link { display: flex; flex-direction: column; width: 100%; color: var(--ink); text-decoration: none; background: var(--surface); border: 1px solid var(--line); border-radius: 28px; overflow: hidden; transition: border-color var(--transition-fast), box-shadow var(--transition-medium), transform var(--transition-medium); }
.case-card__link:hover, .case-card__link:focus-visible { border-color: var(--ink); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.1); transform: translateY(-4px); }
.case-card__media { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface-alt); }
.case-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease-editorial); }
.case-card__link:hover .case-card__media img { transform: scale(1.05); }
.case-card__body { display: flex; flex-direction: column; flex: 1; gap: 14px; padding: clamp(22px, 2.2vw, 30px); }
.case-card__tag { align-self: flex-start; padding: 6px 12px; border: 1px solid var(--line); border-radius: var(--radius-pill); font: 600 11px/1 var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-text); }
.case-card__title { font: 700 clamp(22px, 1.9vw, 28px)/1.15 var(--font-heading); letter-spacing: -0.025em; }
.case-card__text { font: 400 16px/1.6 var(--font-body); color: var(--ink-body); }
.case-card__more { margin-top: auto; padding-top: 6px; font: 600 13px/1 var(--font-body); letter-spacing: 0.1em; text-transform: uppercase; }
.case-card__more span { display: inline-block; transition: transform var(--transition-fast); }
.case-card__link:hover .case-card__more span { transform: translateX(6px); }
@media (max-width: 1023px) { .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .case-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .case-card__link, .case-card__media img { transition: none; } .case-card__link:hover { transform: none; } }
.case-card__media { position: relative; }
.case-card__arrow { position: absolute; left: 18px; bottom: 18px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(0, 0, 0, 0.55); color: #fff; font-size: 20px; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background-color var(--transition-fast), transform var(--transition-medium); }

/* Desktop with a mouse: the row is a set of panels. Hover (or keyboard focus) one and it widens while its
   photo grows to fill the card and the title and summary fold away. Other layouts keep the stacked cards above. */
@media (min-width: 1024px) and (hover: hover) {
	.case-grid { display: flex; align-items: stretch; gap: 18px; height: clamp(600px, 46vw, 700px); }
	.case-card { flex: 1 1 0; min-width: 0; transition: flex-grow 1100ms cubic-bezier(0.45, 0, 0.15, 1); }
	.case-grid:hover .case-card:not(:hover):not(:focus-within), .case-grid:focus-within .case-card:not(:focus-within) { flex-grow: 0.78; }
	.case-card:hover, .case-card:focus-within { flex-grow: 1.7; }
	.case-card__link { height: 100%; padding: 14px; background: var(--surface-alt); border: 1px solid transparent; border-radius: 32px; transform: none; box-shadow: none; }
	.case-card__link:hover, .case-card__link:focus-visible { border-color: transparent; box-shadow: none; transform: none; }
	.case-card__media { flex: 0 0 50%; aspect-ratio: auto; border-radius: 22px; transition: flex-basis 1100ms cubic-bezier(0.45, 0, 0.15, 1); }
	.case-card:hover .case-card__media, .case-card:focus-within .case-card__media { flex-basis: 100%; }
	.case-card__body { flex: 1 1 0; min-height: 0; overflow: hidden; padding: 24px 12px 8px; transition: flex-grow 1100ms cubic-bezier(0.45, 0, 0.15, 1), opacity 500ms ease, padding 1100ms cubic-bezier(0.45, 0, 0.15, 1); }
	.case-card:hover .case-card__body, .case-card:focus-within .case-card__body { flex-grow: 0; opacity: 0; padding-top: 0; padding-bottom: 0; }
	.case-card__tag { background: var(--surface); }
	.case-card__title { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; font-size: clamp(20px, 1.7vw, 26px); }
	.case-card__text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; }
	.case-card:hover .case-card__arrow, .case-card:focus-within .case-card__arrow { background: var(--accent); transform: scale(1.08); }
}

/* ---------- Homepage: client logo band and partner logos ---------- */
.sk-logos { background: var(--surface); color: var(--ink); padding-block: clamp(28px, 3.4vw, 44px); overflow: hidden; }
.sk-logos__label { text-align: center; font: 600 12px/1.3 var(--font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); }
.sk-logos__viewport { margin-top: clamp(18px, 2.4vw, 28px); overflow: hidden; }
.sk-logos__track { display: flex; width: max-content; min-width: 100%; justify-content: center; }
.sk-logos__viewport.is-loop .sk-logos__track { justify-content: flex-start; animation: sk-logos-scroll 45s linear infinite; }
.sk-logos__viewport.is-loop:hover .sk-logos__track { animation-play-state: paused; }
.sk-logos__group { display: flex; align-items: center; flex-shrink: 0; gap: clamp(12px, 2.4vw, 36px); padding: 0 clamp(12px, 1.6vw, 24px); margin: 0; list-style: none; }
.sk-logos__item { display: flex; align-items: center; justify-content: center; }
.sk-logos__item img { display: block; width: auto; height: clamp(56px, 6.4vw, 92px); max-width: none; object-fit: contain; opacity: 0.9; }
.sk-logos--white .sk-logos__item img { filter: brightness(0) invert(1); }
@keyframes sk-logos-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.sk-logos__viewport.is-loop .sk-logos__track { animation: none; flex-wrap: wrap; width: 100%; justify-content: center; }
	.sk-logos__group[aria-hidden="true"] { display: none; }
	.sk-logos__group { flex-wrap: wrap; justify-content: center; row-gap: 24px; }
}
.sk-partners .sk-h { margin-top: 12px; }
.sk-partners__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--grid-gap); margin: clamp(28px, 3.4vw, 48px) 0 0; padding: 0; list-style: none; }
.sk-partners__item { display: flex; align-items: center; justify-content: center; min-height: 120px; padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.sk-partners__item img { display: block; max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain; }
@media (max-width: 600px) { .sk-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sk-partners__item { min-height: 96px; padding: 12px; } }

/* No decorative dash lines: section labels, hero label and the review author line */
.sk-label__rule { display: none !important; }
.sk-quote__cite::before { display: none; }
.sk-hero__eyebrow { gap: 8px 32px; }
.sk-label .sk-label__num { margin-right: 4px; }

/* Contact page map */
.sk-map { position: relative; width: 100%; max-width: 100%; height: clamp(300px, 34vw, 460px); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-alt); }
.sk-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sk-map__link { margin-top: 16px; }
.sk-map__link a { font: 500 15px/1.4 var(--font-body); color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sk-map__link a:hover { color: var(--accent-text); }
@media (max-width: 767px) { .sk-map { height: 300px; } }

/* About: team grid follows the number of people (3 people = 3 columns) */
.team--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.team--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.team__card .sk-img img { object-position: center top; }
@media (max-width: 767px) { .team--3, .team--2 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .team--3, .team--2 { grid-template-columns: 1fr; } }

/* ---------- Homepage results: coloured figure cards + result stories ---------- */
.sk-figures__intro { max-width: 46em; margin-top: 24px; }
.sk-figs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: clamp(40px, 5vw, 64px); }
.sk-fig { position: relative; display: flex; flex-direction: column; min-height: clamp(280px, 26vw, 380px); padding: 32px 28px 28px; border: 2px solid #1a1a1a; border-radius: 28px; color: #1a1a1a; overflow: hidden; }
.sk-fig--1 { background: #c2f6f8; }
.sk-fig--2 { background: #ff6a2b; }
.sk-fig--3 { background: #dcfca6; }
.sk-fig--4 { background: #cb87f3; }
.sk-fig__value { display: block; font: 800 clamp(52px, 5.6vw, 88px)/0.95 var(--font-heading); letter-spacing: -0.05em; text-align: center; }
.sk-fig__label { display: block; margin-top: 14px; font: 600 clamp(16px, 1.3vw, 20px)/1.3 var(--font-body); text-align: center; }
.sk-fig__icon { position: absolute; right: 18px; bottom: 14px; width: 52%; max-width: 190px; height: auto; }
.sk-cases { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--grid-gap); }
.sk-case-card { padding: clamp(24px, 2.6vw, 40px); border: 1px solid var(--line); border-radius: 24px; background: var(--surface); display: grid; gap: 14px; align-content: start; }
.sk-case-card__sector { font: 600 13px/1.3 var(--font-body); color: var(--accent-text); }
.sk-case-card__value { font: 800 clamp(36px, 4.2vw, 64px)/1 var(--font-heading); letter-spacing: -0.04em; color: var(--ink); }
.sk-case-card__value [data-countup] { color: var(--accent); }
.sk-case-card__extra { font: 600 16px/1.4 var(--font-body); color: var(--ink); }
.sk-case-card__text { font: 400 16px/1.6 var(--font-body); color: var(--ink-body); max-width: 40em; }
@media (max-width: 1023px) { .sk-figs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .sk-figs, .sk-cases { grid-template-columns: 1fr; } .sk-fig { min-height: 240px; } }

/* Testimonials: full-length reviews use a smaller size so they stay readable */
.sk-quote__text--md { font: 700 clamp(22px, 2.9vw, 40px)/1.15 var(--font-heading); letter-spacing: -0.03em; max-width: 26em; }
.sk-quote__text--lg { font: 600 clamp(19px, 2.1vw, 30px)/1.3 var(--font-heading); letter-spacing: -0.02em; max-width: 30em; text-wrap: pretty; }
.sk-quote__cite { margin-top: 32px; }

/* Article: author box */
.author--profile { grid-template-columns: 96px 1fr; align-items: start; }
.author__photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; object-position: center top; background: var(--surface-alt); border: 1px solid var(--line); }
.author--profile .author__mark { width: 96px; height: 96px; }
.author__kicker { font: 600 12px/1.2 var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-text); margin-bottom: 6px; }
.author__bio { margin-top: 10px; font: 400 16px/1.6 var(--font-body); color: var(--ink-body); }
.author__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 12px; }
.author__links a { font: 500 14px/1.4 var(--font-body); color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.author__links a:hover { color: var(--accent-text); }
@media (max-width: 600px) { .author--profile { grid-template-columns: 1fr; } }

/* Article: related service box */
.sk-callout { margin: 48px 0 0; padding: 28px 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface-alt); display: grid; gap: 10px; }
.sk-callout__label { font: 600 12px/1.2 var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-text); }
.sk-callout__text { font: 600 20px/1.35 var(--font-heading); letter-spacing: -0.01em; color: var(--ink); }
.sk-callout__links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.sk-callout__links a { font: 500 15px/1.4 var(--font-body); color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sk-callout__links a:hover { color: var(--accent-text); }

/* Mega menu: cluster pages under each service */
@media (min-width: 1024px) {
	.sk-mega__grid > li { display: flex; flex-direction: column; }
	.sk-mega__grid > li > .sk-mega__item { height: auto; flex: 1; }
	.sk-mega__sub { display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 0 18px 12px; }
	.sk-mega__sublink { font: 500 13px/1.4 var(--font-body); color: var(--ink-body); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
	.sk-mega__sublink:hover { color: var(--accent-text); text-decoration-color: var(--accent); }
}

/* Footer logo image (replaces the text mark) */
.sk-footer__mark--img { font-size: 0; line-height: 0; padding-bottom: 0; }
.sk-footer__mark--img img { display: block; width: 100%; max-width: 100%; height: auto; max-height: clamp(80px, 15vw, 230px); object-fit: contain; object-position: left center; }

.sk-footer__logo { margin: 0 0 20px; line-height: 0; }
.sk-footer__logo a { display: inline-block; }
.sk-footer__logo img { display: block; height: 44px; width: auto; max-width: 100%; }

/* Address blocks */
address.sk-address { font-style: normal; }
.sk-info address.sk-address { font: 500 22px/1.35 var(--font-heading); letter-spacing: -0.01em; color: var(--ink); }

/* ---------- Service cluster pages ---------- */
.cl-hero__title { text-transform: none; }
.cl-form__title { margin-bottom: 32px; }
.cl-copy > * + * { margin-top: 1em; }
.cl-copy a { color: inherit; text-decoration-color: var(--accent); text-underline-offset: 4px; text-decoration-thickness: 2px; }
.cl-copy a:hover { color: var(--accent-text); }
.cl-copy .svc__list { margin-top: 0.8em; }
.sk-faq__panel .cl-copy .sk-faq__a { padding-bottom: 14px; }
.sk-faq__panel .cl-copy .svc__list { padding: 0 64px 20px 0; max-width: 40em; }
.sk-why__text .sk-why__p + .sk-why__p { margin-top: 0.8em; }
.cl-why { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); row-gap: 40px; align-items: start; }
.cl-why__text { grid-column: 1 / span 6; }
.cl-why__list { grid-column: 8 / -1; display: grid; gap: 20px; }
@media (max-width: 900px) {
	.cl-why__text, .cl-why__list { grid-column: 1 / -1; }
	.sk-faq__panel .cl-copy .svc__list { padding-right: 0; }
}

/* ---------- Work: case study page ---------- */
.sk-case { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gap); row-gap: 48px; align-items: start; }
.sk-case__main { grid-column: 1 / span 8; display: grid; gap: 32px; }
.sk-case__main .article__body { grid-column: 1 / -1; }
.sk-case__side { grid-column: 10 / -1; display: grid; gap: 20px; align-content: start; position: sticky; top: 110px; }
.sk-case__h { font: 600 12px/1.2 var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-text); }
.sk-case__facts dt { font: 600 12px/1.2 var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-text); margin-bottom: 6px; }
.sk-case__facts dd { margin: 0 0 24px; font-size: 19px; line-height: 1.6; color: var(--ink-body); }

/* ---------- 404 ---------- */
.sk-404__code { font: 800 clamp(96px, 16vw, 240px)/0.85 var(--font-heading); letter-spacing: -0.06em; color: var(--accent); margin-bottom: 16px; }
.sk-404 .sk-hero__actions { grid-column: auto; justify-self: start; margin-top: 28px; }

/* ==========================================================================
   Contact Form 7. Matches the original .sk-form design.
   The form is rendered with class "sk-form" (see skyo_contact_form()).
   ========================================================================== */
.wpcf7 { width: 100%; }
.wpcf7 .screen-reader-response { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; word-wrap: normal !important; }
.wpcf7 .hidden-fields-container, .wpcf7-display-none { display: none; }
.wpcf7-form-control-wrap { display: block; position: relative; }
.wpcf7-form br { display: none; }
.sk-field .wpcf7-form-control-wrap, .sk-select .wpcf7-form-control-wrap { display: block; }

/* Controls */
.wpcf7-form .sk-input { width: 100%; }
.wpcf7-form textarea.sk-input { resize: vertical; min-height: 130px; }
.wpcf7-form .sk-select .sk-input { padding-right: 28px; cursor: pointer; }
.wpcf7-form .sk-input:focus-visible { box-shadow: 0 1px 0 0 var(--accent); }

/* Validation */
.wpcf7-form .sk-input.wpcf7-not-valid { border-bottom-color: var(--accent-text); }
.wpcf7-not-valid-tip { display: block; margin-top: 8px; font: 500 13px/1.3 var(--font-body); color: var(--accent-text); }

/* Response message (same voice as .sk-form__status) */
.wpcf7 form .wpcf7-response-output { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; font: 600 17px/1.4 var(--font-body); color: var(--ink); }
.wpcf7 form .wpcf7-response-output:empty, .wpcf7 form.init .wpcf7-response-output { display: none; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { color: var(--accent-text); }
.wpcf7 form.sent .wpcf7-response-output { color: var(--ink); padding-left: 16px; border-left: 3px solid var(--accent); }

/* Loading */
.wpcf7 form.submitting .sk-form__foot .sk-btn { opacity: 0.6; cursor: progress; pointer-events: none; }
.wpcf7-spinner { display: none; }
.wpcf7 form.submitting .wpcf7-spinner { display: inline-block; width: 20px; height: 20px; margin: 0 0 0 12px; border: 2px solid var(--line); border-top-color: var(--accent); border-radius: 50%; animation: sk-spin 700ms linear infinite; }
@keyframes sk-spin { to { transform: rotate(360deg); } }

/* Honeypot (CF7 hides it inline as well) */
.wpcf7 .sk-hp, .wpcf7 .wpcf7-form-control-wrap[data-name="company_hp"] { position: absolute; left: -9999px; }

@media (max-width: 900px) {
	.sk-case__main, .sk-case__side { grid-column: 1 / -1; position: static; }
}
@media (prefers-reduced-motion: reduce) {
	.wpcf7 form.submitting .wpcf7-spinner { animation: none; }
}
