/*
Theme Name: SK Executive — Divi Child
Theme URI: https://sandeepkejriwal.com/
Description: Native-block executive website with Divi as an update-safe parent.
Author: Sandeep Kejriwal
Template: Divi
Version: 1.3.9
Text Domain: sk-executive
*/

:root {
	--sk-ink: #18222e;
	--sk-night: #0b1522;
	--sk-ivory: #f7f4ee;
	--sk-paper: #ffffff;
	--sk-warm: var(--sk-sand-x,#e8e3d9);
	--sk-brass: #b78b47;
	--sk-brass-light: #c9a45c;
	--sk-line: #d7d5ce;
	--sk-mist: #dce3e6;
	--sk-muted: #536169;
	--sk-shell: 1180px;
	--sk-reading: 780px;
	--sk-serif: Georgia, "Times New Roman", serif;
	--sk-sans: Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.sk-executive-site { margin: 0; background: var(--sk-ivory); color: var(--sk-ink); font-family: var(--sk-sans); font-size: 16px; line-height: 1.55; }
body.sk-executive-site a { color: inherit; text-decoration: none; }
body.sk-executive-site img { max-width: 100%; height: auto; }
body.sk-executive-site h1,
body.sk-executive-site h2,
body.sk-executive-site h3 { color: var(--sk-ink); font-family: var(--sk-serif); font-weight: 400; letter-spacing: -.035em; }
body.sk-executive-site button,
body.sk-executive-site input,
body.sk-executive-site select,
body.sk-executive-site textarea { font: inherit; }

.sk-shell,
.sk-section > .wp-block-group__inner-container,
.sk-band > .wp-block-group__inner-container,
.sk-hero > .wp-block-group__inner-container,
.sk-stats > .wp-block-group__inner-container,
.sk-credentials > .wp-block-group__inner-container,
.sk-about-hero > .wp-block-group__inner-container { width: min(var(--sk-shell), 100%); margin-inline: auto; padding-inline: 32px; }
.sk-section > .wp-block-group__inner-container > *,
.sk-band > .wp-block-group__inner-container > *,
.sk-hero > .wp-block-group__inner-container > *,
.sk-stats > .wp-block-group__inner-container > *,
.sk-credentials > .wp-block-group__inner-container > * { width: 100%; max-width: none !important; }
.sk-section:not(.et_pb_section) > :not(.wp-block-group__inner-container),
.sk-band:not(.et_pb_section) > :not(.wp-block-group__inner-container),
.sk-hero:not(.et_pb_section) > :not(.wp-block-group__inner-container),
.sk-stats:not(.et_pb_section) > :not(.wp-block-group__inner-container),
.sk-credentials:not(.et_pb_section) > :not(.wp-block-group__inner-container),
.sk-about-hero:not(.et_pb_section) > :not(.wp-block-group__inner-container) { width: min(var(--sk-shell), 100%); max-width: none !important; margin-inline: auto; padding-inline: 32px; }
.sk-reading-shell { width: min(var(--sk-reading), calc(100% - 48px)); margin-inline: auto; }
.sk-page-main > .wp-block-group { margin-block: 0; }
.sk-skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 10px 16px; background: #fff; color: #000; }
.sk-skip-link:focus { top: 12px; }
.sk-kicker,
.sk-eyebrow { margin: 0 0 14px; color: var(--sk-brass); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.sk-section { padding: 104px 0; }
.sk-section.is-paper { background: var(--sk-paper); }
.sk-section.is-warm { background: var(--sk-warm); }
.sk-section.is-night { background: var(--sk-night); color: #fff; }
.sk-section.is-night h2,
.sk-section.is-night h3 { color: #fff; }
.sk-section-heading { margin: 0 0 24px; font-size: clamp(38px, 4.4vw, 56px); line-height: 1.03; }
.sk-section-lead { max-width: 720px; margin: 0; color: var(--sk-muted); font-size: 18px; }
.sk-section.is-night .sk-section-lead { color: #d6dfe3; }
.sk-button,
.wp-block-button__link { display: inline-block; border: 1px solid var(--sk-night); border-radius: 0; background: var(--sk-night); color: #fff !important; padding: 13px 20px; font-size: 12px; font-weight: 700; }
.is-style-outline > .wp-block-button__link { background: transparent; color: var(--sk-night) !important; }
.sk-button:hover,
.wp-block-button__link:hover { background: var(--sk-brass); border-color: var(--sk-brass); }

/* Header */
.sk-site-header { position: sticky; top: 0; z-index: 1000; height: 64px; background: var(--sk-night); color: #fff; }
.admin-bar .sk-site-header { top: 32px; }
.sk-header-inner { height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.sk-brand { align-self: stretch; min-width: 236px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 22px; background: var(--sk-brass-light); color: #fff !important; text-align: center; }
.sk-brand strong { font-family: var(--sk-sans); font-size: 17px; font-weight: 700; line-height: 1.1; letter-spacing: .02em; white-space: nowrap; }
.sk-brand span { width: 100%; margin-top: 6px; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-align: center; }
.sk-primary-nav { margin-left: 58px; }
.sk-menu { display: flex; align-items: center; gap: 27px; margin: 0; padding: 0; list-style: none; }
.sk-menu a { display: block; padding: 10px 0 8px; color: #fff !important; font-family: var(--sk-sans); font-size: 12px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.sk-menu .current-menu-item > a { color: #e5c38d !important; border-bottom: 1px solid #e5c38d; }
.sk-menu .menu-item-has-children { position: relative; }
.sk-menu .sub-menu { position: absolute; visibility: hidden; opacity: 0; top: calc(100% + 8px); left: -18px; min-width: 150px; margin: 0; padding: 10px 18px; list-style: none; background: var(--sk-night); box-shadow: 0 12px 24px rgba(0,0,0,.22); transition: opacity .15s ease; }
.sk-menu .menu-item-has-children:hover > .sub-menu,
.sk-menu .menu-item-has-children:focus-within > .sub-menu { visibility: visible; opacity: 1; }
.sk-menu .sub-menu a { padding: 8px 0; white-space: nowrap; }
.sk-header-cta { padding: 14px 20px; background: var(--sk-brass); color: #fff !important; font-size: 12px; font-weight: 700; }
.sk-header-actions { display: flex; align-items: center; gap: 11px; margin-left: auto; }
.sk-header-social { flex: 0 0 32px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--sk-brass); border-radius: 50%; background: var(--sk-brass); color: #fff !important; transition: border-color .2s, color .2s, background .2s, transform .2s; }
.sk-header-social:hover,
.sk-header-social:focus-visible { border-color: #e5c38d; background: #e5c38d; color: #fff !important; transform: translateY(-1px); }
.sk-header-social:focus-visible { outline: 2px solid var(--sk-brass); outline-offset: 2px; }
.sk-menu-toggle { display: none; border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff; padding: 8px 12px; }

/* Home hero */
.sk-hero { position: relative; overflow: hidden; background: radial-gradient(#e6ded0 1px, transparent 1px) 0 0 / 18px 18px, #fbfaf7; }
.sk-hero .wp-block-columns { min-height: 576px; align-items: stretch !important; gap: 45px; margin: 0; padding-top: 56px; }
.sk-hero .wp-block-column:first-child { flex-basis: 60% !important; }
.sk-hero .wp-block-column:last-child { flex-basis: 40% !important; }
.sk-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 0 0 56px; }
.sk-hero-copy .sk-eyebrow { align-self: flex-start; padding: 9px 22px; border-radius: 999px; background: #c5a45f; color: #1c1405; font-size: 13px; }
.sk-hero-copy h1 { margin: 18px 0 24px; max-width: 690px; font-size: clamp(50px, 5.8vw, 74px); line-height: .98; overflow-wrap: normal; word-break: normal; hyphens: none; }
.sk-hero-copy > p:not(.sk-eyebrow) { max-width: 600px; margin: 0 0 32px; color: #53636d; font-size: 19px; }
.sk-hero-copy .wp-block-buttons { gap: 10px; }
.sk-hero-copy .wp-block-button__link { min-width: 214px; text-align: center; }
.sk-hero-visual { position: relative; min-height: 520px; }
.sk-hero-visual::before { content: ""; position: absolute; z-index: 0; left: 24px; top: -56px; width: 63%; height: 75%; border: 1px solid rgba(183,139,71,.74); border-radius: 148px 148px 0 0; }
.sk-hero-visual::after { content: ""; position: absolute; z-index: 1; left: 66px; top: -56px; width: 67%; height: 70%; border-radius: 150px 150px 0 0; background: linear-gradient(145deg, #c8a35d, #b78b47); }
.sk-hero-portrait { position: absolute !important; z-index: 3 !important; inset: 0 0 0 auto !important; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 1 !important; }
.sk-hero-portrait img { position: absolute !important; right: 14px; bottom: 0; display: block !important; width: auto !important; height: 100% !important; object-fit: contain; object-position: bottom right; visibility: visible !important; opacity: 1 !important; }

/* Stats and credentials */
.sk-stats { padding: 0 !important; background: var(--sk-warm); border-top: 1px solid var(--sk-night); }
.sk-stats .wp-block-columns { gap: 0; margin: 0; }
.sk-stat { min-height: 146px; display: flex; flex-direction: column; justify-content: center; padding: 29px 22px; border-right: 1px solid #cbc4b8; }
.sk-stat:last-child { border-right: 0; }
.sk-stat strong { display: block; font-family: var(--sk-serif); font-size: 35px; font-weight: 400; }
.sk-stat span { color: #65737b; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sk-stat p,.sk-service .sk-number { margin: 0; }
.sk-credentials { padding: 66px 0; background: #efeae1; border-block: 1px solid #d8d2c6; text-align: left; }
.sk-credentials h2 { max-width: 760px; margin: 12px 0 10px; font-size: 48px; line-height: 1.05; }
.sk-credentials > .wp-block-group__inner-container > p:not(.sk-kicker) { margin: 0 0 30px; color: #536169; font-size: 18px; }
.sk-logo-row { display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.sk-logo-row { min-height: 54px; margin: 34px 0 0 !important; }
.sk-logo-row figure { flex: 1 1 0; max-width: 105px; height: 54px; margin: 0; display: flex !important; align-items: center; justify-content: center; }
.sk-logo-row img { width: 100%; max-height: 42px; object-fit: contain; filter: saturate(.96); }

/* Journey */
.sk-story .wp-block-columns { gap: 100px; }
.sk-story .wp-block-column:first-child { flex-basis: 40% !important; }
.sk-story .wp-block-column:last-child { flex-basis: 60% !important; }
.sk-story-title h2 { margin: 12px 0 0; font-size: 48px; line-height: 1.05; }
.sk-story-copy > p { margin-top: 0; color: var(--sk-muted); font-size: 17px; }
.sk-lens-row { display: grid; grid-template-columns: 80px 1fr; gap: 10px; padding: 17px 0; border-top: 1px solid var(--sk-line); }
.sk-lens-row strong { color: var(--sk-brass); font-size: 11px; text-transform: uppercase; }
.sk-lens-row p { margin: 0; font-size: 14px; }

/* Services */
.sk-service-grid { gap: 16px; margin-top: 36px; }
.sk-service { min-height: 190px; padding: 24px; background: #f4f2ed; border: 1px solid transparent; transition: border-color .2s, transform .2s; }
.sk-service:hover { transform: translateY(-3px); border-color: var(--sk-brass); }
.sk-service .sk-number { color: var(--sk-brass); font-size: 11px; font-weight: 700; }
.sk-service h3 { margin: 3px 0 10px; font-size: 23px; line-height: 1.14; }
.sk-service h3 small { font: inherit; font-size: .75em; }
.sk-service p { margin: 0; color: var(--sk-muted); font-size: 14px; }

/* Faculty */
.sk-faculty { background: #f7f4ee; }
.sk-faculty { padding-block: 72px; }
.sk-faculty .sk-section-heading { margin-bottom: 34px; }
.sk-faculty .wp-block-columns { gap: 20px; align-items: stretch !important; }
.sk-classroom-card { height: 100%; min-height: 225px; padding: 34px; background: var(--sk-sand-x,#e8e3d9); border-top: 3px solid var(--sk-brass); }
.sk-classroom-card .sk-classroom-label { margin: 0; color: var(--sk-brass); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sk-classroom-card h3 { margin: 12px 0; font-size: 32px; }
.sk-classroom-card p { color: var(--sk-muted); }
.sk-score { height: 100%; min-height: 225px; display: flex; flex-direction: column; justify-content: center; padding: 42px; border: 1px solid #596572; background: var(--sk-night); }
.sk-score strong { display: block; color: #d7b97f; font-family: var(--sk-serif); font-size: 82px; font-weight: 400; line-height: .9; }
.sk-score strong span { font-size: .55em; }
.sk-score p { margin: 0; color: #d6dfe3; font-size: 13px; }
.sk-score p:last-child { margin-top: 14px; }
.sk-score-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 26px; }
.sk-score-grid span { padding-top: 12px; border-top: 1px solid #596572; color: #d6dfe3; font-size: 12px; }

.sk-services { padding-block: 80px; background: var(--sk-sand-x,#e8e3d9) !important; }
.sk-home-bridge { padding-block: 70px; background: var(--sk-night); color: #fff; }
.sk-home-bridge h2,
.sk-home-bridge h3 { color: #fff !important; }
.sk-home-bridge .sk-section-lead { color: #d6dfe3; }
.sk-bridge-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 46px; }
.sk-bridge-cards article { min-height: 205px; padding: 28px; background: #14202d; border-top: 2px solid var(--sk-brass); }
.sk-bridge-cards span { color: #e5c38d; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.sk-bridge-cards h3 { color: #fff; }
.sk-bridge-cards p { color: #d6dfe3 !important; }
.sk-bridge-cards h3 { margin: 42px 0 12px; font-size: 27px; line-height: 1.1; }
.sk-bridge-cards p { margin: 0; color: var(--sk-muted); font-size: 14px; }

/* Dynamic feeds */
.sk-feed-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.sk-feed-head h2 { margin: 0; font-size: clamp(38px, 4vw, 54px); line-height: 1.04; }
.sk-feed-head p { max-width: 630px; margin: 12px 0 0; color: var(--sk-muted); }
.sk-text-link { border-bottom: 1px solid var(--sk-brass); color: var(--sk-ink); font-size: 12px; font-weight: 700; }
.sk-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sk-testimonial-card { position: relative; min-height: 320px; display: flex; flex-direction: column; padding: 34px; background: #fff; border-top: 3px solid var(--sk-brass); }
.sk-testimonial-card blockquote { margin: 0; font: 25px/1.27 var(--sk-serif); }
.sk-person { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: center; margin-top: auto; padding-top: 28px; }
.sk-person img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.sk-person strong { display: block; font-size: 12px; }
.sk-person span { display: block; color: var(--sk-muted); font-size: 10px; line-height: 1.35; }
.sk-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sk-content-card { overflow: hidden; background: #fff; box-shadow: 0 7px 20px rgba(11,21,34,.06); }
.sk-content-card img { width: 100%; height: 190px; display: block; object-fit: cover; }
.sk-card-copy { padding: 25px; }
.sk-card-copy .sk-card-meta { color: var(--sk-brass); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.sk-card-copy h3 { margin: 12px 0 11px; font-size: 27px; line-height: 1.1; }
.sk-card-copy p { margin: 0 0 18px; color: var(--sk-muted); font-size: 14px; }

.sk-test-home { background: #fff; }
.sk-test-home { padding-block: 80px; }
.sk-test-home > .wp-block-group__inner-container { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 108px; }
.sk-test-home .sk-feed-head { display: block; align-self: start; margin: 0; }
.sk-test-home .sk-feed-head h2 { max-width: 500px; font-size: 48px; }
.sk-test-home .sk-feed-head p { margin-top: 22px; }
.sk-test-home .sk-feed-head .sk-text-link { display: inline-block; margin-top: 42px; padding: 13px 19px; border: 0; background: var(--sk-night); color: #fff; }
.sk-test-home .sk-testimonial-grid { display: contents; }
.sk-test-home .sk-testimonial-card { min-height: 295px; padding: 34px; background: var(--sk-sand-x,#e8e3d9); }
.sk-test-home .sk-testimonial-card blockquote { border: 0 !important; padding: 0 !important; }
.sk-test-home .sk-testimonial-card:nth-child(n+4) { display: none; }
.sk-home-insights { background: var(--sk-sand-x,#e8e3d9); }
.sk-home-media { background: #fff; }

/* Interior page hero */
.sk-page-hero { padding: 72px 0 56px; background: #fbfaf7; }
.sk-page-hero h1 { max-width: 850px; margin: 12px 0 0; font-size: clamp(48px, 5vw, 66px); line-height: 1; }
.sk-page-hero p:not(.sk-kicker) { max-width: 720px; margin: 18px 0 0; color: var(--sk-muted); font-size: 18px; }
.sk-filter-band { padding: 24px 0; background: var(--sk-warm); border-block: 1px solid #cec8bc; }
.sk-filter-row { display: flex; flex-wrap: wrap; gap: 10px; }
.sk-filter-row button { padding: 10px 16px; border: 1px solid #b9b6ae; background: transparent; color: var(--sk-ink); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.sk-filter-row button.is-active { background: var(--sk-night); border-color: var(--sk-night); color: #fff; }
.sk-archive-section { padding: 68px 0 100px; }
.sk-archive-section .sk-testimonial-grid { grid-template-columns: repeat(2,1fr); }
.sk-media-feature { display: grid; grid-template-columns: 1.15fr .85fr; background: #fff; margin-bottom: 28px; }
.sk-media-feature img { width: 100%; height: 360px; object-fit: cover; }
.sk-media-feature-copy { padding: 44px; display: flex; flex-direction: column; justify-content: center; }
.sk-media-feature-copy h2 { margin: 12px 0; font-size: 39px; line-height: 1.05; }
.sk-media-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.sk-media-card { background: #fff; border-top: 2px solid var(--sk-brass); }
.sk-media-card img { width: 100%; height: 176px; object-fit: cover; }
.sk-media-card .sk-card-copy { min-height: 190px; }

/* Blog archive */
.sk-blog-tools { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; }
.sk-blog-search { width: 100%; padding: 13px 0; border: 0; border-bottom: 1px solid #aeb9be; background: transparent; }
.sk-blog-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 44px; }
.sk-blog-masonry { columns: 2; column-gap: 20px; }
.sk-blog-card { display: inline-block; width: 100%; margin: 0 0 20px; break-inside: avoid; background: #fff; box-shadow: 0 6px 18px rgba(11,21,34,.06); }
.sk-blog-card img { width: 100%; height: 185px; object-fit: cover; }
.sk-blog-card:nth-child(3n+2) img { height: 220px; }
.sk-blog-sidebar { position: sticky; top: 110px; align-self: start; padding: 28px; background: var(--sk-warm); border-top: 3px solid var(--sk-brass); }
.sk-blog-sidebar h2 { margin: 10px 0; font-size: 28px; }
.sk-blog-sidebar p { color: var(--sk-muted); font-size: 14px; }

/* Article */
/* ===========================================================================
   Single blog post — cream page (--sk-ivory) with white content cards
   (--sk-paper), matching the Insights listing. Two columns: the article and a
   "Recent insights" sidebar. Title, breadcrumb, meta and the hero image sit on
   the cream page; the body, prev/next, comments and sidebar are white cards.
   =========================================================================== */
.sk-article-main { padding: 54px 0 90px; background: var(--sk-ivory); }
.sk-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.sk-article { min-width: 0; }

.sk-breadcrumb { display: flex; gap: 8px; color: var(--sk-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.sk-breadcrumb a { color: var(--sk-brass); text-decoration: none; }
.sk-article-head h1 { margin: 14px 0 10px; font-size: clamp(30px, 3.2vw, 40px); line-height: 1.12; }
.sk-article-meta { padding-bottom: 20px; border-bottom: 1px solid var(--sk-line); color: var(--sk-muted); font-size: 12px; }
.sk-article-image { margin-top: 26px; }
.sk-article-image img { width: 100%; max-height: 430px; object-fit: cover; }

/* The body is the white "card". Typography is normalised here so every post —
   whether written in the classic editor or pasted from blocks — renders the
   same font, size, colour, line-height and paragraph spacing. */
.sk-article-body { margin-top: 26px; padding: 38px 44px; background: var(--sk-paper); box-shadow: 0 5px 18px rgba(13,29,43,.07); font: 18px/1.75 var(--sk-serif); color: var(--sk-ink); }
.sk-article-body > *:first-child { margin-top: 0; }
.sk-article-body > *:last-child { margin-bottom: 0; }
.sk-article-body p { margin: 0 0 1.15em; font: inherit; }
.sk-article-body h2 { margin: 1.5em 0 .45em; font: 400 26px/1.25 var(--sk-serif); color: var(--sk-ink); letter-spacing: -.01em; }
.sk-article-body h3 { margin: 1.3em 0 .4em; font: 400 21px/1.3 var(--sk-serif); color: var(--sk-ink); }
.sk-article-body ul, .sk-article-body ol { margin: 0 0 1.15em; padding-left: 1.3em; }
.sk-article-body li { margin: 0 0 .45em; }
.sk-article-body a { color: var(--sk-brass); text-decoration: underline; }
.sk-article-body img { max-width: 100%; height: auto; }
.sk-article-body > p:first-child::first-letter { float: left; margin: .05em .1em 0 0; color: var(--sk-brass); font: 400 3.5em/.72 var(--sk-serif); }
.sk-article-body blockquote { margin: 1.4em 0; padding: 14px 20px; border-left: 3px solid var(--sk-brass); background: var(--sk-ivory); font: italic 18px/1.5 var(--sk-serif); }
/* Flatten any stray block/Divi wrappers so content never sits on a second,
   mismatched panel inside the white card. */
.sk-article-body .wp-block-group, .sk-article-body .wp-block-column,
.sk-article-body .wp-block-columns, .sk-article-body [class*="et_pb_"] { background: transparent !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; box-shadow: none !important; }

.sk-next-prev { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }
.sk-next-prev > div { min-width: 0; }
.sk-next-prev a { min-height: 76px; display: flex; flex-direction: column; justify-content: center; padding: 16px 20px; background: var(--sk-paper); border: 1px solid var(--sk-line); box-shadow: 0 5px 18px rgba(13,29,43,.07); font-family: var(--sk-sans); color: var(--sk-ink); text-decoration: none; }
.sk-next-prev a:hover { border-color: var(--sk-brass); }
.sk-next-prev > div:last-child a { text-align: right; }
.sk-next-prev span { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--sk-brass); }
.sk-next-prev strong { margin-top: 8px; overflow: hidden; font: 400 15px/1.2 var(--sk-serif); white-space: nowrap; text-overflow: ellipsis; }

.sk-comments { margin-top: 36px; padding: 30px 34px; background: var(--sk-paper); box-shadow: 0 5px 18px rgba(13,29,43,.07); }
.sk-comments h2 { margin-top: 0; font: 400 26px var(--sk-serif); }
.sk-comments textarea,
.sk-comments input { width: 100%; padding: 11px; border: 1px solid var(--sk-line); background: var(--sk-paper); }

/* --- Single-post "Recent insights" sidebar: one white card holding the
   blocks, matching the listing sidebar's structure. --- */
.sk-article-layout .sidebar { position: sticky; top: 88px; align-self: start; display: grid; gap: 26px; padding: 26px; background: var(--sk-paper); box-shadow: 0 5px 18px rgba(13,29,43,.07); }
.sk-article-layout .sidebar-block { padding-top: 16px; border-top: 2px solid var(--sk-brass); }
.sk-article-layout .sidebar-block:first-child { padding-top: 0; border-top: 0; }
.sk-article-layout .sidebar .kicker { color: var(--sk-brass); font: 700 10px var(--sk-sans); letter-spacing: .13em; text-transform: uppercase; }
.sk-article-layout .sidebar-block h3 { margin: 8px 0 8px; font: 400 20px var(--sk-serif); color: var(--sk-ink); }
.sk-article-layout .sidebar-link { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--sk-line); color: var(--sk-ink); font: 600 13px/1.35 var(--sk-sans); text-decoration: none; }
.sk-article-layout .sidebar-block h3 + .sidebar-link { border-top: 0; }
.sk-article-layout .sidebar-link span { color: var(--sk-brass); }
.sk-article-layout .sidebar-link:hover { color: var(--sk-brass); }
.sk-article-layout .sidebar-cta { padding: 22px 24px; background: var(--sk-night); color: #fff; }
.sk-article-layout .sidebar-cta .kicker { color: var(--sk-brass-light); }
.sk-article-layout .sidebar-cta p { margin: 8px 0 14px; font: 20px/1.25 var(--sk-serif); color: #dce3e6; }
.sk-article-layout .sidebar-cta .text-link { color: #e5c38d; text-decoration: none; font-weight: 700; }
@media (max-width: 900px) {
	.sk-article-layout { grid-template-columns: 1fr; }
	.sk-article-layout .sidebar { position: static; }
}

/* About */
.sk-about-hero { background: var(--sk-warm); }
.sk-about-hero .wp-block-columns { min-height: 510px; align-items: center !important; gap: 56px; }
.sk-about-hero .wp-block-column { min-width: 0; }
.sk-about-hero .wp-block-column:first-child { flex-basis: 66% !important; }
.sk-about-hero .wp-block-column:last-child { flex-basis: 28% !important; }
.sk-about-hero h1 { margin: 14px 0 20px; font-size: clamp(50px, 5.2vw, 68px); line-height: .98; overflow-wrap: normal; word-break: normal; hyphens: none; }
.sk-about-hero h1 em { color: var(--sk-brass); font-weight: 400; }
.sk-about-hero p { color: var(--sk-muted); font-size: 18px; }
.sk-about-id { max-width: 290px; margin-left: auto; padding: 16px; background: #fff; }
.sk-about-id img { width: 100%; display: block; }
.sk-about-id figcaption { padding: 15px 4px 3px; font-size: 12px; }
.sk-about-quick { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--sk-line); }
.sk-about-quick > div { padding: 25px; border-right: 1px solid var(--sk-line); }
.sk-about-quick > div:last-child { border-right: 0; }
.sk-about-quick strong { display: block; color: var(--sk-brass); font-size: 11px; text-transform: uppercase; }
.sk-about-quick span { display: block; margin-top: 8px; font-family: var(--sk-serif); font-size: 20px; line-height: 1.2; }
.sk-chapter-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-top: 36px; border: 1px solid var(--sk-line); }
.sk-chapter { min-height: 260px; padding: 25px; border-right: 1px solid var(--sk-line); }
.sk-chapter:last-child { border-right: 0; }
.sk-chapter > span { color: var(--sk-brass); font-size: 11px; }
.sk-chapter h3 { margin: 42px 0 12px; font-size: 25px; line-height: 1.08; }
.sk-chapter p { margin: 0; color: var(--sk-muted); font-size: 13px; }
.sk-result-list { border-top: 1px solid var(--sk-line); }
.sk-result { display: grid; grid-template-columns: 55px 1fr; gap: 15px; padding: 21px 0; border-bottom: 1px solid var(--sk-line); }
.sk-result span { color: var(--sk-brass); font-weight: 700; }
.sk-result p { margin: 0; }
.sk-bridge-flow { display: grid; grid-template-columns: 1fr 70px 1fr; align-items: stretch; margin-top: 38px; }
.sk-bridge-side { padding: 35px; background: #fff; }
.sk-bridge-side h3 { margin: 10px 0; font-size: 30px; }
.sk-bridge-axis { display: flex; align-items: center; justify-content: center; background: var(--sk-brass); color: #fff; font-size: 30px; }
.sk-room-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.sk-room { padding: 38px; background: #fff; }
.sk-room h3 { margin: 12px 0; font-size: 34px; line-height: 1.05; }
.sk-room ul { padding-left: 18px; color: var(--sk-muted); }
.sk-room-score { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--sk-line); display: flex; align-items: center; gap: 18px; }
.sk-room-score strong { color: var(--sk-brass); font: 54px/1 var(--sk-serif); }
.sk-country-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.sk-country-row span { padding: 8px 12px; border: 1px solid #69737c; font-size: 11px; }
.sk-credential-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.sk-credential-box { padding: 30px; background: #fff; }
.sk-credential-box h3 { margin-top: 0; font-size: 27px; }
.sk-credential-box li { margin-bottom: 10px; color: var(--sk-muted); font-size: 14px; }

/* Contact and footer */
/* Fix (24-08-2026): the CTA section was set to a solid brass/orange
   background from very early in the project, before the bible-first
   rebuild -- the bible's own .contact section is dark navy
   (background:var(--night)), matching the footer beneath it so the two
   read as one continuous dark close to the page. Switching to that. */
.sk-contact { padding: 96px 0 38px; background: var(--sk-night); color: #fff; }
/* Bottom padding cut ~60% (96->38px) per request, top kept at 96px.
   Left text column made a flex column so the LinkedIn + location row is
   pushed to the bottom and bottom-aligns with the form's "Replies..."
   note on the right. Arrangement/height otherwise unchanged. */
.sk-contact-grid > div:first-child { display: flex; flex-direction: column; }
.sk-contact-grid > div:first-child .sk-contact-meta { margin-top: auto; }
/* Fix (24-08-2026): "body.sk-executive-site h1,h2,h3{color:var(--sk-ink)}"
   near the top of this file (line 33) has HIGHER specificity than a plain
   ".sk-contact h2" -- it matches body+h2 (two elements) plus one class,
   this rule matches h2 (one element) plus one class, so the base ink rule
   was silently winning and rendering the heading almost invisible (dark
   ink text on dark navy). !important forces this rule to actually win. */
.sk-contact h2 { max-width: 650px; margin: 12px 0 22px; color: #fff!important; font-size: clamp(40px, 4.4vw, 56px); line-height: 1; }
.sk-contact-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 80px; }
/* Kicker matched to the bible's .contact-kicker: a small brass dot, then
   the label in letter-spaced brass caps -- LocalWP's plain .sk-kicker had
   no dot and different spacing, which is why it read as "ugly/different". */
.sk-contact .sk-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0; color: #e5c38d; font: 700 11px var(--sk-sans); letter-spacing: .18em; text-transform: uppercase; }
.sk-contact .sk-kicker::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--sk-brass); flex: 0 0 auto; }
.sk-contact-lead { max-width: 560px; color: #c4d0d7; font-size: 17px; }
.sk-contact-meta { display: flex; align-items: center; gap: 20px; margin-top: 25px; font-size: 12px; font-weight: 700; }
.sk-contact-meta a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); color: #e8eef1!important; transition: border-color .2s, color .2s; }
.sk-contact-meta a:hover { border-color: #e5c38d; color: #e5c38d!important; }
.sk-contact-meta a svg { width: 16px; height: 16px; }
.sk-contact-meta span { display: inline-flex; align-items: center; gap: 8px; color: #c4d0d7!important; font-weight: 400; }
.sk-contact-meta span svg { width: 15px; height: 15px; color: #8b9aa6; flex: 0 0 auto; }
/* The form no longer needs its own near-opaque dark box now that the
   section around it is already dark -- that read as a second, darker
   rectangle stacked on the first. Sits directly on the section now,
   matching the bible, with the individual fields (below) carrying their
   own subtle contrast instead. */
.sk-contact-form { display: grid; gap: 14px; }
.sk-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sk-contact-form label { color: #d9e0e3; font-size: 11px; font-weight: 700; }
.sk-contact-form input,
.sk-contact-form select,
.sk-contact-form textarea { width: 100%; margin-top: 5px; padding: 11px; border: 1px solid #54616b; border-radius: 0; background: rgba(255,255,255,.05); color: #fff; }
/* Grey field placeholders ("Your name", "you@company.com", "A few lines…")
   matching the bible -- these were absent in LocalWP because the fields had
   no placeholder attributes and no placeholder colour. */
.sk-contact-form input::placeholder,
.sk-contact-form textarea::placeholder { color: #7d8b97; opacity: 1; }
.sk-contact-form button { justify-self: start; padding: 12px 18px; border: 1px solid var(--sk-brass); background: var(--sk-brass); color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
/* Placeholder option ("Select topic") reads in the same muted grey as the
   Name/Email placeholders until a real topic is chosen -- the select is
   :invalid only while that empty, disabled placeholder option is selected. */
.sk-contact-form select:invalid { color: #7d8b97; }
.sk-contact-note { margin: 10px 0 0; font-size: 12px; line-height: 1.5; color: #7d8b97; }
.sk-contact-note-success { color: #9fd4a8; }
.sk-contact-note-error { color: #e2a1a1; }
.sk-contact-note-error a { color: inherit; text-decoration: underline; }
/* Footer matched to the bible: a content-width hairline break above the
   centred copyright line (the "horizontal break line" that was missing),
   20px of space above it, and bottom padding reduced 25% (20px -> 15px)
   per the user's note, since only one line of copyright sits below it. */
.sk-site-footer { padding: 0; background: var(--sk-night); color: #bac4ca; }
.sk-footer-inner { display: flex; align-items: center; justify-content: center; padding-top: 20px; padding-bottom: 15px; border-top: 1px solid rgba(255,255,255,.14); font-size: 12px; }
.sk-footer-inner p { margin: 0; color: #5f6f7a; }

@media (max-width: 980px) {
	.sk-primary-nav { position: absolute; display: none; top: 80px; left: 0; right: 0; padding: 20px 32px; background: var(--sk-night); }
	.sk-primary-nav.is-open { display: block; }
	.sk-menu { flex-direction: column; align-items: flex-start; gap: 8px; }
	.sk-menu .sub-menu { position: static; visibility: visible; opacity: 1; min-width: 0; padding: 0 0 0 18px; box-shadow: none; }
	.sk-menu-toggle { display: block; margin-left: auto; }
	.sk-header-cta { display: none; }
	.sk-header-actions { margin-left: 0; }
	.sk-hero .wp-block-columns { min-height: 520px; }
	.sk-testimonial-grid,
	.sk-card-grid,
	.sk-media-grid { grid-template-columns: repeat(2,1fr); }
	.sk-service-grid { flex-wrap: wrap !important; }
	.sk-service-grid > .wp-block-column { flex-basis: calc(50% - 8px) !important; }
	.sk-chapter-grid { grid-template-columns: repeat(2,1fr); }
	.sk-chapter:nth-child(2) { border-right: 0; }
	.sk-chapter:nth-child(-n+2) { border-bottom: 1px solid var(--sk-line); }
}

@media (max-width: 782px) { .admin-bar .sk-site-header { top: 46px; } }

@media (max-width: 700px) {
	.sk-shell,
	.sk-section > .wp-block-group__inner-container,
	.sk-band > .wp-block-group__inner-container,
	.sk-hero > .wp-block-group__inner-container,
	.sk-stats > .wp-block-group__inner-container,
	.sk-credentials > .wp-block-group__inner-container,
	.sk-about-hero > .wp-block-group__inner-container { width: 100%; padding-inline: 20px; }
	.sk-section:not(.et_pb_section) > :not(.wp-block-group__inner-container),
	.sk-band:not(.et_pb_section) > :not(.wp-block-group__inner-container),
	.sk-hero:not(.et_pb_section) > :not(.wp-block-group__inner-container),
	.sk-stats:not(.et_pb_section) > :not(.wp-block-group__inner-container),
	.sk-credentials:not(.et_pb_section) > :not(.wp-block-group__inner-container),
	.sk-about-hero:not(.et_pb_section) > :not(.wp-block-group__inner-container) { width: 100%; padding-inline: 20px; }
	body.sk-executive-site { overflow-x: hidden; }
	.sk-site-header,
	.sk-header-inner { height: 72px; }
	.sk-brand { min-width: 210px; padding: 0 14px; }
	.sk-brand strong { font-size: 15px; }
	.sk-header-actions { display: none; }
	.sk-primary-nav { top: 72px; }
	.sk-section { padding: 70px 0; }
	.sk-hero .wp-block-columns { min-height: 0; display: block; padding-top: 32px; }
	.sk-hero .wp-block-column,
	.sk-hero-copy,
	.sk-hero-copy h1 { min-width: 0; width: 100% !important; max-width: 100%; flex-basis: 100% !important; }
	.sk-hero-copy { padding: 48px 0 28px; }
	.sk-hero-copy h1 { font-size: clamp(42px, 12.5vw, 48px); white-space: normal !important; overflow-wrap: break-word; }
	.sk-hero-visual { min-height: 390px; }
	.sk-hero-visual::before { left: 40px; top: 0; width: 63%; height: 75%; }
	.sk-hero-visual::after { left: 78px; top: 0; width: 67%; height: 70%; }
	.sk-hero-portrait img { right: 0; }
	.sk-stats .wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; }
	.sk-stat:nth-child(2) { border-right: 0; }
	.sk-stat:nth-child(-n+2) { border-bottom: 1px solid #cbc4b8; }
	.sk-logo-row { display: grid; grid-template-columns: repeat(3,1fr); }
	.sk-logo-row figure { max-width: 100px; justify-self: center; }
	.sk-credentials h2 { font-size: 38px; }
	.sk-story .wp-block-columns,
	.sk-faculty .wp-block-columns { gap: 34px; }
	.sk-service-grid > .wp-block-column { flex-basis: 100% !important; }
	.sk-bridge-cards { grid-template-columns: 1fr; }
	.sk-testimonial-grid,
	.sk-card-grid,
	.sk-media-grid,
	.sk-archive-section .sk-testimonial-grid,
	.sk-room-grid,
	.sk-credential-grid { grid-template-columns: 1fr; }
	.sk-feed-head { display: block; }
	.sk-feed-head .sk-text-link { display: inline-block; margin-top: 18px; }
	.sk-menu-toggle { display: block !important; min-width: 58px; position: absolute; right: 18px; top: 18px; z-index: 2; color: #fff !important; }
	.sk-about-hero .wp-block-columns { gap: 28px; }
	.sk-about-hero .wp-block-column:first-child,
	.sk-about-hero .wp-block-column:last-child { flex-basis: 100% !important; }
	.sk-about-hero h1 { font-size: clamp(43px, 12vw, 56px); }
	.sk-about-id { margin: 0; }
	.sk-about-quick { grid-template-columns: 1fr 1fr; }
	.sk-about-quick > div:nth-child(2) { border-right: 0; }
	.sk-about-quick > div:nth-child(-n+2) { border-bottom: 1px solid var(--sk-line); }
	.sk-chapter-grid { grid-template-columns: 1fr; }
	.sk-chapter { border-right: 0; border-bottom: 1px solid var(--sk-line); }
	.sk-bridge-flow { grid-template-columns: 1fr; }
	.sk-bridge-axis { min-height: 50px; }
	.sk-blog-tools { grid-template-columns: 1fr; }
	.sk-blog-layout { grid-template-columns: 1fr; }
	.sk-blog-masonry { columns: 1; }
	.sk-blog-sidebar { position: static; }
	.sk-media-feature { grid-template-columns: 1fr; }
	.sk-contact-grid { grid-template-columns: 1fr; gap: 40px; }
	.sk-form-row { grid-template-columns: 1fr; }
	.sk-footer-inner { display: block; }
	.sk-footer-inner div { margin-top: 10px; }
	.sk-next-prev { grid-template-columns: 1fr; }
	.sk-next-prev > div:last-child a { text-align: left; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Divi 5 native page modules */
.et_pb_section.sk-hero,.et_pb_section.sk-stats,.et_pb_section.sk-section { padding-right: 0; padding-left: 0; }
.et_pb_section.sk-hero { padding-bottom: 0; }
.et_pb_row.sk-shell { width: min(var(--sk-shell),100%) !important; max-width: var(--sk-shell) !important; margin-inline: auto !important; padding-right: 32px; padding-left: 32px; }
.et_pb_section.sk-page-hero,.et_pb_section.sk-archive-page-content{padding-right:0;padding-left:0}
.et_pb_row.sk-archive-row{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.sk-hero .sk-hero-grid { display: flex; min-height: 576px; align-items: stretch; gap: 45px; padding-top: 56px; padding-bottom: 0; }
.sk-hero-grid .sk-hero-copy-col { flex: 0 0 calc(60% - 18px) !important; width: calc(60% - 18px) !important; display: flex; align-items: center; margin: 0 !important; }
.sk-hero-grid .sk-hero-visual { position: relative; flex: 0 0 calc(40% - 27px) !important; width: calc(40% - 27px) !important; min-height: 520px; margin: 0 !important; }
.sk-hero-copy.et_pb_text { width: 100%; padding: 0 0 56px; }
.sk-hero-copy .sk-eyebrow { display: table; padding: 9px 22px; border-radius: 999px; background: #c5a45f; color: #1c1405; font-size: 13px; }
.sk-hero-copy h1 { margin: 18px 0 24px; max-width: 690px; font-size: clamp(50px,5.8vw,74px); line-height: .98; }
.sk-hero-copy .sk-hero-lead { max-width: 600px; margin: 0 0 32px; color: #53636d; font-size: 19px; }
.sk-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.sk-hero-actions .sk-button { min-width: 214px; text-align: center; }
.sk-hero-actions .is-outline { background: transparent; color: var(--sk-night) !important; }
.sk-hero-grid .sk-hero-visual::before { content: ""; position: absolute; z-index: 0; left: 24px; top: -56px; width: 63%; height: 75%; border: 1px solid rgba(183,139,71,.74); border-radius: 148px 148px 0 0; }
.sk-hero-grid .sk-hero-visual::after { content: ""; position: absolute; z-index: 1; left: 66px; top: -56px; width: 67%; height: 70%; border-radius: 150px 150px 0 0; background: linear-gradient(145deg,#c8a35d,#b78b47); }
.sk-hero-grid .sk-hero-portrait { position: absolute !important; z-index: 3; inset: 0; width: 100%; height: 100%; margin: 0; }
.sk-hero-grid .sk-hero-portrait .et_pb_image_wrap { position: static; display: block; width: 100%; height: 100%; }
.sk-hero-grid .sk-hero-portrait img { position: absolute; right: 14px; bottom: 0; width: auto; max-width: none; height: 100%; object-fit: contain; object-position: bottom right; }
.sk-stats .sk-stats-row { display: flex; gap: 0; padding-top: 0; padding-bottom: 0; }
.sk-stats-row > .et_pb_column { flex: 0 0 25% !important; width: 25% !important; margin: 0 !important; }
.sk-stat.et_pb_text { min-height: 146px; display: flex; flex-direction: column; justify-content: center; padding: 29px 22px; border-right: 1px solid #cbc4b8; }
.sk-stats-row > .et_pb_column:last-of-type .sk-stat { border-right: 0; }
.sk-stat .et_pb_text_inner { display: flex; flex-direction: column; }
.sk-story .sk-story-row { display: flex; gap: 100px; padding-top: 0; padding-bottom: 0; }
.sk-story-row > .et_pb_column:first-of-type { flex: 0 0 calc(40% - 60px) !important; width: calc(40% - 60px) !important; margin: 0 !important; }
.sk-story-row > .et_pb_column + .et_pb_column { flex: 0 0 calc(60% - 40px) !important; width: calc(60% - 40px) !important; margin: 0 !important; }
.sk-story-copy .sk-lens-row { display: grid; grid-template-columns: 80px minmax(0,1fr); column-gap: 10px; }
.sk-story-copy .sk-lens-row > strong { grid-column: 1; }
.sk-story-copy .sk-lens-row > p:empty { display: none; }
.sk-story-copy .sk-lens-row > p:not(:empty) { grid-column: 2; min-width: 0; }
.sk-faculty .sk-classroom-grid,.sk-services .sk-service-grid,.sk-home-bridge .sk-bridge-cards { display: flex; gap: 20px; padding-top: 0; padding-bottom: 0; }
.sk-classroom-grid > .et_pb_column:first-of-type { flex: 0 0 calc(60% - 8px) !important; width: calc(60% - 8px) !important; margin: 0 !important; }
.sk-classroom-grid > .et_pb_column + .et_pb_column { flex: 0 0 calc(40% - 12px) !important; width: calc(40% - 12px) !important; margin: 0 !important; }
.sk-service-grid > .et_pb_column { flex: 0 0 calc(25% - 15px) !important; width: calc(25% - 15px) !important; margin: 0 !important; }
.sk-bridge-cards > .et_pb_column { flex: 0 0 calc(33.333% - 13.333px) !important; width: calc(33.333% - 13.333px) !important; margin: 0 !important; }
.sk-bridge-card.et_pb_text { min-height: 205px; padding: 28px; background: #14202d; border-top: 2px solid var(--sk-brass); }
.sk-bridge-card span { color: #e5c38d; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.sk-bridge-card h3 { margin: 42px 0 12px; color: #fff; font-size: 27px; line-height: 1.1; }
.sk-bridge-card p { margin: 0; color: #d6dfe3; font-size: 14px; }
.sk-academia-bridge-v2 { position: relative; overflow: hidden; background: var(--sk-night) !important; color: #fff; }
.sk-academia-bridge-v2::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,#3db8df 0%,#77c9c7 38%,#c7c85d 70%,#d6ad2c 100%); }
.sk-academia-bridge-v2.sk-section { padding-top: 60px; padding-bottom: 56px; }
.sk-academia-bridge-v2 .sk-ia-heading-row { padding-top: 0; padding-bottom: 22px; }
.sk-academia-bridge-v2 .sk-kicker { color: #e0b649; }
.sk-academia-bridge-v2 .sk-section-heading { max-width: 900px; margin-bottom: 22px; color: #fff; font-size: clamp(45px,5.3vw,68px); }
.sk-academia-bridge-v2 .sk-section-lead { max-width: 850px; color: #e3e8ed; font-size: 19px; line-height: 1.65; }
.sk-ia-pillars { display: flex; gap: 22px; padding-top: 0; padding-bottom: 26px; }
.sk-ia-pillars > .et_pb_column { flex: 0 0 calc(33.333% - 14.667px) !important; width: calc(33.333% - 14.667px) !important; margin: 0 !important; }
.sk-ia-pillar.et_pb_text { height: 100%; min-height: 210px; margin: 0; padding: 22px 24px 24px; border: 1px solid rgba(204,220,232,.14); border-top: 2px solid #37b6df; background: #142131; }
.sk-ia-pillar .sk-ia-index { color: #e0b649; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
body.sk-executive-site .sk-academia-bridge-v2 .sk-ia-pillar h3 { margin: 22px 0 10px; color: #fff; font-size: 26px; line-height: 1.08; }
.sk-ia-pillar p { margin: 0; color: #d9e1e7; font-size: 14px; line-height: 1.55; }
.sk-ia-proof-heading-row { padding-top: 0; padding-bottom: 14px; }
.sk-ia-fit-line { margin: 0; color: #d6ad2c; font-family: var(--sk-serif); font-size: clamp(25px,2.7vw,34px); line-height: 1.15; }
.sk-ia-proofs { display: flex; gap: 16px; padding-top: 0; padding-bottom: 0; }
.sk-ia-proofs > .et_pb_column { flex: 0 0 calc(25% - 12px) !important; width: calc(25% - 12px) !important; margin: 0 !important; }
.sk-ia-proof.et_pb_text { height: 100%; min-height: 74px; margin: 0; padding: 16px 18px; border-left: 3px solid #37b6df; background: rgba(255,255,255,.055); }
.sk-ia-proof .et_pb_text_inner { display: flex; width: 100%; gap: 12px; align-items: flex-start; }
.sk-ia-proof span { flex: 0 0 28px; color: #e0b649; font-size: 11px; font-weight: 700; white-space: nowrap; }
.sk-ia-proof p { flex: 1 1 auto; min-width: 0; width: auto; margin: 0; color: #edf2f5; font-size: 13px; line-height: 1.45; }
.sk-ia-proof strong { color: #fff; font-weight: 700; }
.sk-feed-heading.et_pb_text,.sk-dynamic-feed.et_pb_text { margin: 0; }

/* Keep Divi 5 editing highlights visible without obscuring the page. */
body.et-fb .et-vb-module-highlight.et-vb-ui {
	background-color: rgba(50,107,255,.10) !important;
	border: 1px solid rgb(50,107,255) !important;
}

@media (max-width:980px) {
	.sk-hero .sk-hero-grid { min-height: 520px; }
	.sk-story .sk-story-row { gap: 40px; }
	.sk-faculty .sk-classroom-grid,.sk-services .sk-service-grid,.sk-home-bridge .sk-bridge-cards { flex-wrap: wrap; }
	.sk-service-grid > .et_pb_column,.sk-bridge-cards > .et_pb_column { flex-basis: calc(50% - 10px) !important; width: calc(50% - 10px) !important; }
	.sk-ia-pillars,.sk-ia-proofs { flex-wrap: wrap; }
	.sk-ia-pillars > .et_pb_column { flex-basis: calc(50% - 11px) !important; width: calc(50% - 11px) !important; }
	.sk-ia-proofs > .et_pb_column { flex-basis: calc(50% - 8px) !important; width: calc(50% - 8px) !important; }
}
@media (max-width:700px) {
	.et_pb_row.sk-shell { padding-right: 24px; padding-left: 24px; }
	.sk-hero .sk-hero-grid,.sk-story .sk-story-row { display: block; min-height: 0; padding-top: 32px; }
	.sk-hero-grid .sk-hero-copy-col,.sk-hero-grid .sk-hero-visual,.sk-story-row > .et_pb_column:first-of-type,.sk-story-row > .et_pb_column + .et_pb_column { flex-basis: 100% !important; width: 100% !important; }
	.sk-hero-copy.et_pb_text { padding: 48px 0 28px; }
	.sk-hero-copy h1 { font-size: clamp(42px,12.5vw,48px); }
	.sk-hero-grid .sk-hero-visual { min-height: 390px; }
	.sk-hero-grid .sk-hero-visual::before { left: 40px; top: 0; }
	.sk-hero-grid .sk-hero-visual::after { left: 78px; top: 0; }
	.sk-stats .sk-stats-row { display: grid; grid-template-columns: 1fr 1fr; }
	.sk-stats-row > .et_pb_column { flex-basis: 100% !important; width: 100% !important; }
	.sk-classroom-grid > .et_pb_column:first-of-type,.sk-classroom-grid > .et_pb_column + .et_pb_column,.sk-service-grid > .et_pb_column,.sk-bridge-cards > .et_pb_column { flex-basis: 100% !important; width: 100% !important; }
	.sk-academia-bridge-v2.sk-section { padding-top: 52px; padding-bottom: 48px; }
	.sk-academia-bridge-v2 .sk-ia-heading-row { padding-bottom: 24px; }
	.sk-ia-pillars { gap: 16px; padding-bottom: 42px; }
	.sk-ia-pillars > .et_pb_column,.sk-ia-proofs > .et_pb_column { flex-basis: 100% !important; width: 100% !important; }
	.sk-ia-pillar.et_pb_text { min-height: 0; }
}

/* Blog posts: pasted fonts/colours/sizes never override the house style */
.sk-article-body *:not(strong):not(em):not(a):not(h2):not(h3):not(h4):not(blockquote):not(blockquote *){font-family:inherit!important;color:inherit!important;font-size:inherit!important;line-height:inherit!important;background:transparent!important;text-align:left!important}
.sk-article-body p,.sk-article-body li{font-size:19px!important;line-height:1.75!important}
.sk-article-body strong,.sk-article-body em,.sk-article-body a{font-family:inherit!important;font-size:inherit!important}
.sk-article-body > *{max-width:100%}
.sk-article-body iframe{max-width:100%}

/* Blog: embedded video (16:9) and pull quote */
.sk-article-body .sk-video{position:relative;width:100%;aspect-ratio:16/9;margin:1.6em 0;background:#0b1522}
.sk-article-body .sk-video iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}
.sk-article-body figure.wp-block-pullquote,.sk-article-body blockquote.wp-block-pullquote,.sk-article-body .sk-pullquote{margin:2em 0;padding:22px 8px;border-top:2px solid var(--sk-brass);border-bottom:2px solid var(--sk-brass);text-align:center;background:transparent}
.sk-article-body .wp-block-pullquote blockquote,.sk-article-body blockquote.wp-block-pullquote,.sk-article-body .sk-pullquote{border-left:0;background:transparent;margin:0;padding:0}
.sk-article-body .wp-block-pullquote p,.sk-article-body blockquote.wp-block-pullquote p{font:italic 400 26px/1.4 var(--sk-serif)!important;color:var(--sk-ink)!important;text-align:center!important;margin:0}
.sk-article-body .wp-block-pullquote cite,.sk-article-body .wp-block-pullquote figcaption{display:block;margin-top:10px;font:700 11px var(--sk-sans,Arial);letter-spacing:.12em;text-transform:uppercase;color:var(--sk-brass);font-style:normal}
.sk-article-body blockquote.sk-pullquote p{font:italic 400 26px/1.4 var(--sk-serif)!important;color:var(--sk-ink)!important;text-align:center!important;margin:0}
.sk-article-body blockquote.sk-pullquote{margin:2em 0;padding:22px 8px;border-left:0;border-top:2px solid var(--sk-brass);border-bottom:2px solid var(--sk-brass);background:transparent;font-style:normal}

/* Pull quote v2: grey vertical rule, left-aligned by default; centred variant has no rule */
.sk-article-body blockquote.sk-pullquote,.sk-article-body figure.wp-block-pullquote{margin:2em 0!important;padding:4px 0 4px 24px!important;border:0!important;border-left:3px solid #b9bec4!important;text-align:left!important;background:transparent!important}
.sk-article-body blockquote.sk-pullquote p,.sk-article-body .wp-block-pullquote p{text-align:left!important}
.sk-article-body blockquote.sk-pullquote.sk-pullquote-center{padding:4px 0!important;border-left:0!important;text-align:center!important}
.sk-article-body blockquote.sk-pullquote.sk-pullquote-center p{text-align:center!important}
