/* ==========================================================================
   SkilD · home.css — the page layer, v3 (Phase 0, 22 Aug 2026)
   Concatenation of the three proven proof layers, in cascade order:
   1 homepage.css (Stage D base) · 2 home-final.css (20 Aug corrections)
   3 home-v2.css (Phase 0 additions). Sources of truth live in _proof/.
   Every value reads a theme.json token. Loads last; that is load-bearing.
   ========================================================================== */

/* ==========================================================================
   SkilD · HOMEPAGE LAYER  (Stage D)
   Everything components.css, patterns.css and craft.css do not already cover.

   THIS FILE INVENTS NO VALUES. Every colour, space, radius, duration and easing
   below is a token already registered in theme.json, read through the variable
   names WordPress generates. That is deliberate: this file drops into the theme
   unchanged, with no find-and-replace, because it never hard-codes anything that
   has a token.

   SPACING RHYTHM — one system, visibly held, and here is the rule:
     every section    y      top and bottom
     the two BANDS    y-tight   (proof strip, stat band) — they are furniture,
                                not sections, and read wrong at full rhythm
     the hero         y-lg   at the top only, because nothing precedes it
   Two values, one rule, no exceptions beyond the ones named.

   MOTION — E.7. Every transition names a duration and an easing from the scale.
   There is exactly ONE authored moment on this page: the hero artefact settling
   on load. Nothing animates on scroll (craft.css already rules that out — a page
   that hides its content until scrolled fails with JS off and reads as a template).
   ========================================================================== */

/* --------------------------------------------------------------------------
   SKIP LINK — the first focusable element on the page (PART M.1)
   -------------------------------------------------------------------------- */
.skild-skip{
	position:absolute; left:-9999px; top:0; z-index:200;
	background:var(--wp--preset--color--crimson); color:var(--wp--preset--color--white);
	padding:14px 22px; border-bottom-right-radius:var(--wp--custom--radius--md);
	font-weight:var(--wp--custom--weight--label); text-decoration:none;
}
.skild-skip:focus{ left:0; }

/* --------------------------------------------------------------------------
   HEADER — simple, 4-8 items, NO MEGA-MENU.
   The mega-menu is the cause of the worst measured performance failure in the
   cohort: 610 hidden images, 81% of the page's total, and tap targets doubling
   from 221 to 443 on mobile. Catalogue depth lives in the footer instead.
   -------------------------------------------------------------------------- */
.skild-head{
	position:sticky; top:0; z-index:100;
	background:var(--wp--preset--color--white);
	border-bottom:1px solid var(--wp--custom--line--soft);
}
.skild-head__in{
	max-width:1180px; margin:0 auto;
	padding:14px var(--wp--preset--spacing--gutter);
	display:flex; align-items:center; gap:var(--wp--preset--spacing--gap);
}
.skild-head__logo{ display:block; flex:0 0 auto; line-height:0; }
/* the wordmark inside the lockup must clear 120px or it is below its legibility
   floor (PART F, MIN). 173px lockup puts the wordmark at 127px. */
.skild-head__logo img{ width:173px; height:38px; display:block; }
.skild-head nav{ margin-left:auto; }
.skild-head__list{
	display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0;
}
.skild-head__list a{
	display:flex; align-items:center; white-space:nowrap;
	padding:11px 11px; min-height:var(--wp--custom--target--min);
	font-size:.95rem; font-weight:var(--wp--custom--weight--tablehead);
	color:var(--wp--preset--color--body); text-decoration:none;
	border-radius:var(--wp--custom--radius--sm);
	transition:color var(--wp--custom--duration--fast) var(--wp--custom--ease--out),
	           background var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}
.skild-head__list a:hover{ color:var(--wp--preset--color--crimson);
	background:var(--wp--preset--color--crimson-wash); }
.skild-head__list a:active{ color:var(--wp--custom--ramp--c-700); }
.skild-head__list a[aria-current="page"]{ color:var(--wp--preset--color--crimson); }
.skild-head__list a:focus-visible{ outline:none; box-shadow:var(--wp--custom--focus--ring); }
.skild-head .skild-btn{ flex:0 0 auto; padding:11px 20px; font-size:.95rem; }
.skild-head__burger{
	display:none; margin-left:auto;
	width:var(--wp--custom--target--min); height:var(--wp--custom--target--min);
	align-items:center; justify-content:center;
	background:transparent; border:1px solid var(--wp--custom--line--base);
	border-radius:var(--wp--custom--radius--sm); cursor:pointer;
	color:var(--wp--preset--color--ink);
	transition:border-color var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}
.skild-head__burger:hover{ border-color:var(--wp--preset--color--crimson); }
.skild-head__burger:focus-visible{ outline:none; box-shadow:var(--wp--custom--focus--ring); }
.skild-head__burger svg{ width:20px; height:20px; }

@media(max-width:900px){
	.skild-head__burger{ display:flex; }
	.skild-head .skild-btn{ display:none; }
	.skild-head nav{
		position:absolute; left:0; right:0; top:100%;
		background:var(--wp--preset--color--white);
		border-bottom:1px solid var(--wp--custom--line--base);
		box-shadow:var(--wp--preset--shadow--three);
		padding:8px var(--wp--preset--spacing--gutter) 20px;
		margin-left:0; display:none;
	}
	.skild-head[data-open="true"] nav{ display:block; }
	.skild-head__list{ display:block; }
	.skild-head__list a{ padding:14px 0; border-bottom:1px solid var(--wp--custom--line--soft); }
	.skild-head__list li:last-child a{ border-bottom:0; }
}

/* --------------------------------------------------------------------------
   HERO — crimson ground, the artefact straddling the boundary below it.
   Photography and product stills are <img>, NEVER a CSS background: the one
   measured hero background-image in the cohort carries no alt attribute at all
   and is invisible to every assistive technology.
   -------------------------------------------------------------------------- */
.skild-hero{
	background:var(--wp--preset--color--crimson);
	color:var(--wp--preset--color--white);
	padding:var(--wp--preset--spacing--y-lg) 0 0;
	border-bottom-right-radius:var(--wp--custom--mast--rx) var(--wp--custom--mast--ry);
}
.skild-hero__in{ max-width:calc(1180px + 2 * var(--wp--preset--spacing--gutter));
	margin:0 auto; padding:0 var(--wp--preset--spacing--gutter); }
.skild-hero :where(h1,p){ color:var(--wp--preset--color--white); }
.skild-hero .skild-eyebrow{ color:var(--wp--preset--color--white); } /* ground rule 1 */
.skild-hero__rule{ height:4px; width:92px; background:var(--wp--preset--color--amber);
	margin:0 0 22px; border:0; }
.skild-hero h1{
	max-width:17ch;
	font-size:var(--wp--preset--font-size--disp);
	letter-spacing:var(--wp--custom--tracking--disp);
	line-height:var(--wp--custom--leading--disp);
	font-weight:var(--wp--custom--weight--display);
	margin:0;
}
.skild-hero__lead{
	font-size:var(--wp--preset--font-size--lead);
	line-height:var(--wp--custom--leading--lead);
	max-width:var(--wp--custom--measure--lead);
	margin:22px 0 0;
}
.skild-hero__acts{ display:flex; align-items:center; flex-wrap:wrap;
	gap:var(--wp--preset--spacing--gap); margin-top:30px; }
.skild-hero__more{
	color:var(--wp--preset--color--white); font-weight:var(--wp--custom--weight--label);
	text-underline-offset:.24em; min-height:var(--wp--custom--target--min);
	display:inline-flex; align-items:center;
	transition:opacity var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}
.skild-hero__more:hover{ opacity:.82; color:var(--wp--preset--color--white); }
.skild-hero__more:active{ color:var(--wp--preset--color--amber); }
.skild-hero__under{ margin:26px 0 0; font-size:.95rem; max-width:56ch; opacity:.9; }

/* The artefact, FULL-BLEED, straddling the hero's lower edge.
   Full-bleed rather than container-width for two reasons, in this order: the page's
   whole argument is "here is the actual work", and an artefact presented edge to edge
   states that with more conviction than one framed politely inside the measure. It
   also happens to be what carries this page over the 35% imagery floor honestly,
   rather than by adding decoration nobody asked for. */
.skild-hero__shot{ margin:var(--wp--preset--spacing--y) 0 -140px; position:relative; z-index:2; }
.skild-hero__shot img{
	display:block; width:100%; height:auto;
	box-shadow:var(--wp--preset--shadow--five);
}
.skild-hero__cap{ max-width:calc(1180px + 2 * var(--wp--preset--spacing--gutter));
	margin:14px auto 0;
	padding:0 var(--wp--preset--spacing--gutter);
	font-size:var(--wp--preset--font-size--caption);
	color:var(--wp--preset--color--white); opacity:.8; }
/* THE ONE AUTHORED MOMENT on this page. Compositor properties only, so it cannot
   cause layout shift, and it does not depend on scroll or on JavaScript. */
@media (prefers-reduced-motion: no-preference){
	.skild-hero__shot{ animation:skild-settle var(--wp--custom--duration--slow)
	                   var(--wp--custom--ease--out) both; }
	@keyframes skild-settle{ from{ opacity:0; transform:translateY(10px) } }
}

/* --------------------------------------------------------------------------
   SHARED SECTION FURNITURE
   -------------------------------------------------------------------------- */
figure{ margin:0; }
ul{ margin:0; padding:0; }
.skild-sec{ padding:var(--wp--preset--spacing--y) 0; }
/* TWO classes, not one. .skild-proof also sets padding and is declared later in this
   file, so a single-class --first modifier loses the cascade at equal specificity and
   the hero artefact lands on top of the proof figures. It did exactly that on the
   first render. Specificity here is the fix, not source order, because source order
   is the thing that will change next time someone edits this file. */
.skild-sec.skild-sec--first{ padding-top:calc(var(--wp--preset--spacing--y) + 150px); }
.skild-in{ max-width:calc(1180px + 2 * var(--wp--preset--spacing--gutter));
	margin:0 auto; padding:0 var(--wp--preset--spacing--gutter); }
.skild-sec--light{ background:var(--wp--preset--color--light); }
.skild-sec--wash{ background:var(--wp--preset--color--crimson-wash); }
.skild-lede{ font-size:var(--wp--preset--font-size--lead);
	line-height:var(--wp--custom--leading--lead);
	color:var(--wp--preset--color--body-2);
	max-width:var(--wp--custom--measure--lead); margin:var(--wp--preset--spacing--stack) 0 0; }
.skild-head2{ margin:0; max-width:24ch; }
.skild-sechead{ margin-bottom:var(--wp--preset--spacing--gap); }

/* --------------------------------------------------------------------------
   PROOF STRIP — P2. Hairline separators, not a filled band; the filled crimson
   band (5.5) is a different component and carries different figures further
   down the page. Two rows of numbers that say the same thing is a page that has
   not decided anything.
   -------------------------------------------------------------------------- */
.skild-proof{ padding:var(--wp--preset--spacing--y-tight) 0; }
.skild-proof__row{ display:grid; grid-template-columns:repeat(4,1fr); }
.skild-proof__i{ padding:0 var(--wp--preset--spacing--gap);
	border-left:1px solid var(--wp--custom--ramp--c-200); }
.skild-proof__i:first-child{ border-left:0; padding-left:0; }
.skild-proof__n{ display:block;
	font-size:var(--wp--preset--font-size--h-2);
	font-weight:var(--wp--custom--weight--display);
	letter-spacing:var(--wp--custom--tracking--heading);
	line-height:1.05; color:var(--wp--preset--color--crimson);
	font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1;
}
.skild-proof__l{ display:block; margin-top:8px; font-size:.95rem;
	font-weight:var(--wp--custom--weight--tablehead); color:var(--wp--preset--color--ink); }
.skild-proof__m{ display:block; margin-top:5px;
	font-size:var(--wp--preset--font-size--caption);
	color:var(--wp--preset--color--body-2); }
.skild-proof__note{ margin:var(--wp--preset--spacing--gap) 0 0;
	font-size:var(--wp--preset--font-size--caption); color:var(--wp--preset--color--body-2); }

/* --------------------------------------------------------------------------
   COMMITMENTS — four 5.3 cards. The consequence line is the component: a
   commitment without a stated consequence is marketing, so it is never dropped.
   -------------------------------------------------------------------------- */
.skild-commits{ display:grid; grid-template-columns:repeat(4,1fr);
	gap:var(--wp--preset--spacing--gap); margin-top:var(--wp--preset--spacing--gap); }
.skild-commit{
	background:var(--wp--preset--color--crimson-tint);
	border-radius:var(--wp--custom--radius--xl);
	padding:26px 26px 28px; border:0; box-shadow:none;   /* 5.3: the fill IS the component */
	display:flex; flex-direction:column;
	transition:transform var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}
.skild-commit:hover{ transform:translateY(-2px); }
.skild-commit h3{ margin:0; font-size:var(--wp--preset--font-size--h-4);
	letter-spacing:var(--wp--custom--tracking--md); }
.skild-commit p{ margin:12px 0 0; color:var(--wp--preset--color--body-2); font-size:.98rem; }
.skild-commit__c{ display:block; margin-top:auto; padding-top:14px;
	border-top:1px solid var(--wp--custom--ramp--c-200);
	font-size:.88rem; font-weight:var(--wp--custom--weight--label);
	color:var(--wp--custom--ramp--c-700); }
.skild-commit__c em{ font-style:normal; }
.skild-commit__spacer{ height:16px; }

/* --------------------------------------------------------------------------
   EXPERT BAND — A-29. NOT a faculty band. Everyone shown teaches and the card
   says what. All four fields, on every card, never dropped. Minimum five.
   -------------------------------------------------------------------------- */
.skild-experts{ display:grid; grid-template-columns:repeat(5,1fr);
	gap:var(--wp--preset--spacing--gap); margin-top:var(--wp--preset--spacing--gap); }
.skild-expert{
	background:var(--wp--preset--color--white);
	border-radius:var(--wp--custom--radius--xl);
	box-shadow:var(--wp--preset--shadow--one);
	padding:14px 14px 18px; display:flex; flex-direction:column;
	transition:transform var(--wp--custom--duration--fast) var(--wp--custom--ease--out),
	           box-shadow var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}
.skild-expert:hover{ transform:translateY(-2px); box-shadow:var(--wp--preset--shadow--two); }
.skild-expert img{ display:block; width:100%; height:auto;
	border-radius:var(--wp--custom--radius--md); margin-bottom:14px; }
.skild-expert__role{ margin:0; font-size:1rem;
	font-weight:var(--wp--custom--weight--heading);
	letter-spacing:var(--wp--custom--tracking--card);
	color:var(--wp--preset--color--ink); line-height:1.25; }
.skild-expert__pend{ margin:7px 0 0; font-size:.84rem; color:var(--wp--preset--color--body-2); }
.skild-expert__teach{ margin:9px 0 0; font-size:.82rem; color:var(--wp--preset--color--body-2); }
.skild-expert__teach strong{ color:var(--wp--preset--color--ink);
	font-weight:var(--wp--custom--weight--tablehead); }
.skild-expert .skild-badge{ margin-top:14px; align-self:flex-start; }

/* --------------------------------------------------------------------------
   PROGRAMMES — image-led cards, two up. NO PRICE: 0 of 7 measured competitor
   homepages price their core programmes, and the fee belongs on the programme
   page where the full fee block and the refund window sit together.
   -------------------------------------------------------------------------- */
.skild-band{ margin:var(--wp--preset--spacing--y-tight) 0 0; }
.skild-band img{ display:block; width:100%; height:auto; }
.skild-band figcaption{ max-width:calc(1180px + 2 * var(--wp--preset--spacing--gutter));
	margin:12px auto 0;
	padding:0 var(--wp--preset--spacing--gutter);
	font-size:var(--wp--preset--font-size--caption);
	color:var(--wp--preset--color--body-2); }

.skild-progs{ display:grid; grid-template-columns:repeat(2,1fr);
	gap:var(--wp--preset--spacing--gap); margin-top:var(--wp--preset--spacing--y-tight); }
.skild-prog{
	background:var(--wp--preset--color--white);
	border-radius:var(--wp--custom--radius--xl);
	box-shadow:var(--wp--preset--shadow--one);
	padding:0;                       /* resets patterns.css .skild-prog padding:26px */
	overflow:hidden; display:flex; flex-direction:column;
	transition:transform var(--wp--custom--duration--fast) var(--wp--custom--ease--out),
	           box-shadow var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}
.skild-prog:hover{ transform:translateY(-2px); box-shadow:var(--wp--preset--shadow--two); }
.skild-prog img{ display:block; width:100%; height:auto; }
.skild-prog__b{ padding:24px 26px 26px; display:flex; flex-direction:column; flex:1; }
.skild-prog__tag{ display:inline-block; align-self:flex-start;
	background:var(--wp--preset--color--crimson-tint); color:var(--wp--custom--ramp--c-700);
	border-radius:var(--wp--custom--radius--pill); padding:5px 12px; font-size:.7rem;
	font-weight:var(--wp--custom--weight--label); text-transform:uppercase;
	letter-spacing:.09em; margin:0 0 13px; }
.skild-prog h3{ margin:0; font-size:var(--wp--preset--font-size--h-3);
	letter-spacing:var(--wp--custom--tracking--md); }
.skild-prog p{ margin:11px 0 0; color:var(--wp--preset--color--body-2); }
.skild-prog__meta{ margin:auto 0 0; padding:14px 0 0;
	border-top:1px solid var(--wp--custom--line--soft);
	font-size:.86rem; color:var(--wp--preset--color--body-2);
	display:flex; gap:18px; flex-wrap:wrap; list-style:none; }
.skild-prog__meta strong{ color:var(--wp--preset--color--ink);
	font-weight:var(--wp--custom--weight--tablehead); }
.skild-prog__go{ margin-top:16px; align-self:flex-start; white-space:nowrap;
	font-weight:var(--wp--custom--weight--label);
	color:var(--wp--preset--color--crimson); text-decoration:none;
	min-height:var(--wp--custom--target--min); display:inline-flex; align-items:center;
	transition:gap var(--wp--custom--duration--fast) var(--wp--custom--ease--out); gap:8px; }
.skild-prog__go:hover{ text-decoration:underline; gap:12px; }
.skild-prog__go:active{ color:var(--wp--preset--color--crimson-deep); }
.skild-prog__go svg{ width:16px; height:16px; }

/* --------------------------------------------------------------------------
   CHALLENGE — image-led split. Rs 0, and no struck-through anchor beside it.
   4 of 9 measured free tasters fake an anchor price; not one had a verifiable
   basis for the number it was discounting from.
   -------------------------------------------------------------------------- */
.skild-challenge{ display:grid; grid-template-columns:1fr 1.08fr;
	gap:var(--wp--preset--spacing--y-tight); align-items:center; }
.skild-challenge img{ display:block; width:100%; height:auto;
	border-radius:var(--wp--custom--radius--lg); box-shadow:var(--wp--preset--shadow--three); }
.skild-challenge__price{ font-size:var(--wp--preset--font-size--disp);
	font-weight:var(--wp--custom--weight--display);
	letter-spacing:var(--wp--custom--tracking--disp);
	color:var(--wp--preset--color--crimson); line-height:1;
	font-variant-numeric:tabular-nums; margin:var(--wp--preset--spacing--stack) 0 0; }
.skild-challenge__note{ margin:12px 0 0; font-size:.88rem; color:var(--wp--preset--color--body-2); }
.skild-challenge__acts{ margin-top:26px; }

/* --------------------------------------------------------------------------
   STAT BAND — 5.5, CRIMSON. These are the CONTRACT numbers, forward-looking
   commitments, and they are deliberately not the same figures as the proof
   strip, which is backward-looking evidence.
   -------------------------------------------------------------------------- */
.skild-stats{ background:var(--wp--preset--color--crimson);
	color:var(--wp--preset--color--white);
	padding:var(--wp--preset--spacing--y-tight) 0; }
.skild-stats__row{ display:grid; grid-template-columns:repeat(4,1fr);
	gap:var(--wp--preset--spacing--gap); }
.skild-stat__n{ display:block; font-weight:var(--wp--custom--weight--display);
	font-size:var(--wp--preset--font-size--h-2);
	letter-spacing:var(--wp--custom--tracking--heading);
	line-height:var(--wp--custom--leading--disp);
	font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }
.skild-stat__l{ display:block; margin-top:8px; font-size:.71rem; text-transform:uppercase;
	letter-spacing:var(--wp--custom--tracking--tablehead);
	font-weight:var(--wp--custom--weight--label); }
.skild-stat__d{ display:block; margin-top:7px; font-size:.86rem; opacity:.88; }

/* --------------------------------------------------------------------------
   WHAT WE DON'T PUBLISH — 5.4 navy panel. Navy CONTAINS: it holds this block
   inside the page and never takes the ground of one.
   26 of 26 measured competitors carry an unsourced aggregate figure. The lane
   for saying so is empty, and it costs nothing but nerve.
   -------------------------------------------------------------------------- */
.skild-dont{ display:grid; grid-template-columns:1.05fr .95fr;
	gap:var(--wp--preset--spacing--y-tight); align-items:start; }
.skild-panel{ background:var(--wp--preset--color--navy);
	color:var(--wp--custom--ramp--panel-text);
	border-radius:var(--wp--custom--radius--xl); padding:32px; }
.skild-panel .skild-eyebrow{ color:var(--wp--preset--color--amber); }
.skild-panel h2,.skild-panel h3{ color:var(--wp--preset--color--white); margin:0; }
.skild-panel p{ color:var(--wp--custom--ramp--panel-text); }
.skild-panel__raised{ background:var(--wp--custom--ramp--navy-2);
	border-radius:var(--wp--custom--radius--md); padding:18px 20px; margin-top:20px; }
.skild-nots{ list-style:none; display:grid; gap:18px; padding:0; margin:0; }
.skild-nots li{ padding-left:34px; position:relative; font-size:1.04rem;
	color:var(--wp--preset--color--body); }
.skild-nots li::before{ content:""; position:absolute; left:0; top:.62em;
	width:18px; height:2px; background:var(--wp--preset--color--crimson); }
.skild-nots strong{ color:var(--wp--preset--color--ink);
	font-weight:var(--wp--custom--weight--tablehead); }

/* --------------------------------------------------------------------------
   CTA BAND — P10. Flat crimson, one button, max one per page. Never a gradient
   and never navy: navy does not take a full-bleed band.
   -------------------------------------------------------------------------- */
.skild-ctaband{ background:var(--wp--preset--color--crimson);
	color:var(--wp--preset--color--white); text-align:center;
	padding:var(--wp--preset--spacing--y) 0; }
.skild-ctaband h2{ color:var(--wp--preset--color--white); margin:0 auto; max-width:20ch; }
.skild-ctaband p{ color:var(--wp--preset--color--white); margin:16px auto 0; max-width:56ch;
	font-size:var(--wp--preset--font-size--lead); }
.skild-ctaband .skild-btns{ justify-content:center; margin-top:28px; }

/* --------------------------------------------------------------------------
   FOOTER — 5.12, CRIMSON. 7 of 7 measured competitors carry a real footer.
   This is where catalogue depth lives, because it is not allowed in the header.
   The measured ceiling is 31% of page height; this is nowhere near it.
   -------------------------------------------------------------------------- */
.skild-footer{ background:var(--wp--preset--color--crimson);
	color:var(--wp--preset--color--white);
	padding:var(--wp--preset--spacing--y) 0 var(--wp--preset--spacing--y-tight); }
.skild-footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr;
	gap:var(--wp--preset--spacing--gap); }
.skild-footer__logo img{ width:200px; height:44px; display:block; }
.skild-footer__blurb{ margin:20px 0 0; font-size:.95rem; max-width:34ch; opacity:.92; }
.skild-footer h2{ font-size:.74rem; text-transform:uppercase;
	letter-spacing:var(--wp--custom--tracking--footerbar);
	font-weight:var(--wp--custom--weight--label); margin:0 0 10px;
	color:var(--wp--preset--color--white); }
.skild-footer ul{ list-style:none; margin:0; padding:0; }
.skild-footer a{ color:var(--wp--preset--color--white); text-decoration:none;
	display:inline-flex; align-items:center; min-height:var(--wp--custom--target--min);
	padding:2px 0; font-size:.95rem;
	transition:opacity var(--wp--custom--duration--fast) var(--wp--custom--ease--out); }
.skild-footer a:hover{ text-decoration:underline; }
.skild-footer a:active{ opacity:.75; }
.skild-footer a:focus-visible{ outline:none;
	box-shadow:var(--wp--custom--focus--ring-on-dark);
	border-radius:var(--wp--custom--radius--sm); }
.skild-footer__rule{ height:1px; border:0;
	background:var(--wp--custom--line--footer-rule);
	margin:var(--wp--preset--spacing--y-tight) 0 18px; }
.skild-footer__base{ display:flex; flex-wrap:wrap; gap:18px;
	justify-content:space-between; align-items:center;
	font-size:var(--wp--preset--font-size--caption); }
.skild-footer__base p{ margin:0; color:var(--wp--preset--color--white); }

/* --------------------------------------------------------------------------
   MOBILE CONVERSION BAR — kept BELOW 767px, which is where the cohort's
   worst responsive failures land. One competitor deletes its sticky lead form
   at exactly the width where its page is 19.2 viewports long.
   -------------------------------------------------------------------------- */
.skild-mobilebar{ position:fixed; left:0; right:0; bottom:0; z-index:90; display:none;
	background:var(--wp--preset--color--white);
	border-top:1px solid var(--wp--custom--line--base);
	padding:10px var(--wp--preset--spacing--gutter);
	box-shadow:var(--wp--preset--shadow--two-up);
	align-items:center; gap:12px; justify-content:space-between; }
.skild-mobilebar__t{ font-size:.82rem; font-weight:var(--wp--custom--weight--label);
	color:var(--wp--preset--color--ink); line-height:1.25; }
.skild-mobilebar__t span{ display:block; font-weight:400;
	color:var(--wp--preset--color--body-2); font-size:.76rem; }
.skild-mobilebar .skild-btn{ padding:11px 20px; font-size:.9rem; box-shadow:none; }

/* --------------------------------------------------------------------------
   RESPONSIVE — ONE tree, the same DOM at every width. Never a parallel mobile
   DOM: the best-behaved page measured holds 1,157 nodes identical across all
   four widths, and the worst grows from 1,880 to 2,192 at 767 alone.
   767 IS WHERE THIS COHORT BREAKS, so it is the width that gets tested first.
   -------------------------------------------------------------------------- */
@media(max-width:1023px){
	.skild-experts{ grid-template-columns:repeat(3,1fr); }
	.skild-commits{ grid-template-columns:repeat(2,1fr); }
	.skild-hero__shot{ margin-bottom:-100px; }
	.skild-sec--first{ padding-top:calc(var(--wp--preset--spacing--y) + 100px); }
}
@media(max-width:767px){
	.skild-progs,.skild-challenge,.skild-dont{ grid-template-columns:1fr; }
	.skild-experts{ grid-template-columns:repeat(2,1fr); }
	.skild-proof__row{ grid-template-columns:repeat(2,1fr); row-gap:26px; }
	.skild-proof__i:nth-child(3){ border-left:0; padding-left:0; }
	.skild-stats__row{ grid-template-columns:repeat(2,1fr); row-gap:26px; }
	.skild-footer__top{ grid-template-columns:1fr 1fr; }
	.skild-mobilebar{ display:flex; }
	body{ padding-bottom:76px; }
	/* the hero must NOT grow on mobile. Two measured competitors balloon their
	   hero past the viewport at 390; the one that shrinks it is right. */
	.skild-hero{ padding-top:var(--wp--preset--spacing--y); }
	.skild-hero__shot{ margin-top:var(--wp--preset--spacing--y-tight); margin-bottom:-70px; }
	.skild-sec--first{ padding-top:calc(var(--wp--preset--spacing--y) + 70px); }
	.skild-challenge{ gap:var(--wp--preset--spacing--gap); }
	.skild-dont{ gap:var(--wp--preset--spacing--gap); }
}
@media(max-width:479px){
	.skild-experts{ grid-template-columns:1fr 1fr; }
	.skild-commits{ grid-template-columns:1fr; }
	.skild-footer__top{ grid-template-columns:1fr; }
	.skild-head__logo img{ width:150px; height:33px; }
}

/* REDUCED MOTION — the page's own additions. craft.css covers the components. */
@media (prefers-reduced-motion: reduce){
	.skild-commit,.skild-expert,.skild-prog,.skild-hero__shot,
	.skild-head__list a,.skild-prog__go,.skild-footer a{ transition:none !important;
		animation:none !important; }
	.skild-commit:hover,.skild-expert:hover,.skild-prog:hover{ transform:none !important; }
}

/* ==========================================================================
   SkilD · HOMEPAGE — FINAL LAYER
   Loaded after homepage.css. Supersedes rhythm-common.css + opt3.css + opt4.css,
   which stay on disk as the record of how we got here and are no longer linked.

   It carries the approved Option 4 rhythm plus the twenty-first-August
   structural corrections. Every value is a token read through the variable
   names WordPress generates, so this file drops into the theme unchanged.

   THE COLOUR LAW, unchanged and now applied everywhere:
     LIGHT grounds carry the ARGUMENT · INK grounds carry the EVIDENCE ·
     CRIMSON is the ASK and only the ask · NAVY contains one block on a light
     ground, once · AMBER is the smallest share on the page.

   THE ONE RULING THAT CHANGED — 20 August. THE WELD IS RETIRED.
   Options 3 and 4 welded each dark plate to the section above it, edge to edge,
   full bleed. The device was right in principle and wrong in practice: full
   bleed is exactly what made the plates overpowering, and no amount of grading
   fixes a 1,440px-wide near-black band. Every plate is now a CONTAINED OBJECT —
   inside the measure, with a radius and a hairline — so it reads as a product
   sitting on the page instead of a hole punched through it. The claim/proof
   relationship now comes from proximity and from the caption, which is where it
   should have come from.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0 · HEADER
   The nav CONTENTS are locked in SKILD-NAV-HEADER-FOOTER-LOCK.md and are not
   touched here. What is fixed is the craft.

   THE STRUCTURAL DEFECT, and it was on every page: the header measured
   max-width:1180px INCLUDING its own gutter padding, while .skild-in and
   .skild-hero__in measure calc(1180px + 2 * gutter). The header's content was
   therefore up to 88px narrower than the page's, so the logo never lined up
   with the H1 beneath it. On a page whose entire argument is precision, the
   first two objects a visitor sees were out of alignment with each other.
   -------------------------------------------------------------------------- */
.skild-head__in{
	max-width:calc(1180px + 2 * var(--wp--preset--spacing--gutter));
	padding-top:16px; padding-bottom:16px;
	gap:var(--wp--preset--spacing--stack);
}
/* the nav is pushed right, but the CTA is separated from it by a real gap and a
   hairline rather than by nothing — otherwise the last nav item and the button
   read as one cluster and the button stops looking like the page's one action */
.skild-head nav{ margin-left:auto; margin-right:2px; }
.skild-head .skild-btn{
	flex:0 0 auto; padding:12px 22px; font-size:.95rem;
	margin-left:var(--wp--preset--spacing--stack);
	position:relative;
}
.skild-head .skild-btn::before{
	content:""; position:absolute; left:calc(-1 * var(--wp--preset--spacing--stack) / 2);
	top:50%; transform:translateY(-50%);
	width:1px; height:22px; background:var(--wp--custom--line--base);
}
/* the current-page marker is a rule under the item, not a colour change alone —
   colour alone is not a distinction under WCAG 1.4.1 */
.skild-head__list a[aria-current="page"]{
	color:var(--wp--preset--color--crimson);
	box-shadow:inset 0 -2px 0 var(--wp--preset--color--crimson);
	border-radius:0;
}
@media(max-width:900px){
	/* homepage.css HIDES the header CTA below 900 and shows the burger instead.
	   My first pass wrote `display:block` here meaning "the button inside the
	   drawer" — but there is only one button and it lives in the bar, so the
	   rule un-hid it and the header overflowed. The bar keeps its own rule; the
	   separator just has to go with it. */
	.skild-head .skild-btn::before{ display:none; }
	.skild-head nav{ margin-right:0; }
}

/* --------------------------------------------------------------------------
   1 · THE PLATE — one rule, applied to all three
   Contained, radius, hairline, and NO negative overhang. The old plate hung
   -140px into the section below and that section paid it back with +150px of
   top padding: two magic numbers holding each other up, and the reason the
   hero read bottom-starved and the proof strip read top-heavy.
   -------------------------------------------------------------------------- */
.skild-hero__shot,
.skild-band{
	max-width:calc(1180px + 2 * var(--wp--preset--spacing--gutter));
	margin-left:auto; margin-right:auto;
	padding-left:var(--wp--preset--spacing--gutter);
	padding-right:var(--wp--preset--spacing--gutter);
}
.skild-hero__shot img,
.skild-band img{
	border-radius:var(--wp--custom--radius--lg);
	box-shadow:var(--wp--preset--shadow--two);
	border:1px solid var(--wp--custom--line--soft);
}
.skild-hero__shot{ margin-top:var(--wp--preset--spacing--y-tight); margin-bottom:0; }
.skild-band{ margin-top:var(--wp--preset--spacing--y-tight); }
.skild-band figcaption,
.skild-hero__cap{ margin-top:14px; padding:0; }
/* with the overhang gone, the first section pays back nothing */
.skild-sec.skild-sec--first{ padding-top:var(--wp--preset--spacing--y); }

/* --------------------------------------------------------------------------
   2 · HERO — white ground, ink contract panel, spacing rebalanced
   Was y-lg on top and 0 at the bottom. y-lg is 76–168px and it sat UNDER a
   sticky header that already contributes 70px, so the top read as a hole and
   the bottom as a collision.
   -------------------------------------------------------------------------- */
.skild-hero{
	background:var(--wp--preset--color--white);
	border-bottom-right-radius:0;            /* the masthead curve is a crimson device */
	padding-top:var(--wp--preset--spacing--y);
	padding-bottom:var(--wp--preset--spacing--y);
}
.skild-hero :where(h1,p){ color:var(--wp--preset--color--ink); }
.skild-hero__lead,.skild-hero__under{ color:var(--wp--preset--color--body-2); }
.skild-hero__cap{ color:var(--wp--preset--color--body-2); opacity:1; }
.skild-hero .skild-eyebrow{ color:var(--wp--preset--color--crimson); }
.skild-hero__rule{ background:var(--wp--preset--color--crimson); }
.skild-hero__more{ color:var(--wp--preset--color--crimson); }
.skild-hero__more:hover{ color:var(--wp--custom--ramp--c-700); opacity:1; }
.skild-hero .skild-btn--on-dark{
	background:var(--wp--preset--color--crimson);
	color:var(--wp--preset--color--white);
	box-shadow:var(--wp--preset--shadow--cta);
}
.skild-hero .skild-btn--on-dark:hover{ background:var(--wp--custom--ramp--c-700); }

/* the split. COLUMN gap only — a row gap puts 76px between every element. */
.skild-hero__in{
	display:grid; grid-template-columns:1.12fr .88fr;
	column-gap:var(--wp--preset--spacing--y-tight); row-gap:0; align-items:start;
}
.skild-hero__in > *{ grid-column:1; }
.skild-hero__in > .skild-hero__contract{
	grid-column:2; grid-row:1 / span 7; align-self:start; margin-top:6px;
}
/* a grid item stretches to its column, which turned the 92px rule into a line */
.skild-hero__rule{ justify-self:start; width:92px; margin-bottom:20px; }
.skild-hero h1{ max-width:17ch; }
.skild-hero__under{ margin-top:22px; }

/* THE CONTRACT PANEL — ink. Owner is weighing ink against navy; the navy
   alternate is one line and lives in panel-navy.css so the two can be compared
   without either being edited into this file. */
.skild-hero__contract{
	background:var(--wp--preset--color--ink);
	border-radius:var(--wp--custom--radius--xl);
	padding:32px 30px;
}
.skild-hero__contract .skild-eyebrow{ color:var(--wp--preset--color--amber); }
.skild-hero__contract h2{
	color:var(--wp--preset--color--white);
	font-size:var(--wp--preset--font-size--h-4); margin:0 0 4px;
}
.skild-hero__contract ol{
	list-style:none; margin:18px 0 0; padding:0; display:grid; gap:16px; counter-reset:c;
}
.skild-hero__contract li{
	counter-increment:c; padding-left:34px; position:relative;
	color:var(--wp--custom--ramp--panel-text); font-size:.95rem; line-height:1.5;
}
.skild-hero__contract li::before{
	content:"0" counter(c); position:absolute; left:0; top:1px;
	font-size:.72rem; font-weight:var(--wp--custom--weight--label);
	letter-spacing:var(--wp--custom--tracking--tablehead);
	color:var(--wp--preset--color--amber); font-variant-numeric:tabular-nums;
}
.skild-hero__contract li strong{
	color:var(--wp--preset--color--white); font-weight:var(--wp--custom--weight--heading);
}
.skild-hero__contract a{
	display:inline-block; margin-top:20px; color:var(--wp--preset--color--white);
	font-weight:var(--wp--custom--weight--label); font-size:.92rem;
	text-underline-offset:.22em;
}

/* --------------------------------------------------------------------------
   3 · TRUST BAND — light, ink figures.
   It is furniture, not a section, so it keeps y-tight. What was wrong was that
   it also carried +150px of overhang repayment on top of that.
   -------------------------------------------------------------------------- */
.skild-proof{ background:var(--wp--preset--color--light); }
.skild-proof__n{ color:var(--wp--preset--color--ink); }
.skild-proof__i{ border-left-color:var(--wp--custom--line--base); }
.skild-proof__note{ margin-top:var(--wp--preset--spacing--gap); }

/* --------------------------------------------------------------------------
   4 · COMMITMENTS — white. Frozen pending copy; only the ground is set here.
   -------------------------------------------------------------------------- */
#commitments{ background:var(--wp--preset--color--white); }

/* --------------------------------------------------------------------------
   5 · WHO TEACHES — light. The artefact-led card stands.
   -------------------------------------------------------------------------- */
#who-teaches{ background:var(--wp--preset--color--light); }
.skild-experts{ grid-template-columns:repeat(5,1fr); }
.skild-expert{
	display:flex; flex-direction:column; padding:0; overflow:hidden;
	background:var(--wp--preset--color--white);
	box-shadow:var(--wp--preset--shadow--one);
}
.skild-expert img{ border-radius:0; margin-bottom:0; aspect-ratio:1; object-fit:cover; }
.skild-expert__role{ padding:16px 16px 0; font-size:1.02rem; }
.skild-expert__pend,
.skild-expert__teach{ padding:0 16px; }
.skild-expert .skild-badge{ margin:14px 16px 18px; margin-top:auto; align-self:flex-start; }
/* THE BADGE — caught by the clearance sweep at 4.2px, and the sweep was right
   about the symptom and wrong about the cause. The pill was WRAPPING to two
   lines inside a 208px card, which is what pushed its text to the edge. But the
   real fault is register: a dark filled pill reads as a button, and this is a
   STATUS. It is now a status marker — amber dot, uppercase label, no fill, no
   wrap — which cannot wrap, cannot be mistaken for an action, and stops five
   dark lozenges competing with the five artefacts above them. */
.skild-expert .skild-badge{
	background:transparent; color:var(--wp--preset--color--muted);
	padding:0; white-space:nowrap; font-size:.7rem; letter-spacing:.1em;
	margin:16px 16px 18px; margin-top:auto;
}
.skild-expert .skild-badge::before{
	content:""; width:6px; height:6px; border-radius:50%;
	background:var(--wp--preset--color--amber); flex:0 0 auto;
}

/* --------------------------------------------------------------------------
   6 · PROGRAMMES — the one dark product block
   THE FIX for "dark image, then dark section": the plate is no longer the
   section. It is a contained object ON the section, one value step above the
   ink ground, and the four cards sit a further step above the plate. Three
   values instead of one, so the block has depth rather than mass.
       section ink #292929 L*16.6  <  plate L*19.9  <  cards L*≈25
   -------------------------------------------------------------------------- */
#programmes{ background:var(--wp--preset--color--ink); }
#programmes :where(h2,h3){ color:var(--wp--preset--color--white); }
#programmes :where(p,li){ color:var(--wp--custom--ramp--panel-text); }
#programmes .skild-eyebrow{ color:var(--wp--custom--ramp--c-300); }   /* 6.87 on ink */
#programmes .skild-seclabel::before{ background:var(--wp--preset--color--crimson); }
#programmes .skild-band figcaption{ color:var(--wp--custom--ramp--panel-text); }
/* on a dark ground the elevation ladder dies — it is crimson-tinted. Separation
   is by value step and hairline, never by shadow. */
#programmes .skild-band img{
	box-shadow:none; border-color:var(--wp--custom--line--on-dark);
}
.skild-prog{
	background:rgba(255,255,255,.09);
	border:1px solid var(--wp--custom--line--on-dark);
	box-shadow:none;
}
.skild-prog:hover{ background:rgba(255,255,255,.13); box-shadow:none; }
.skild-prog__tag{
	background:transparent; color:var(--wp--custom--ramp--c-300);
	border:1px solid var(--wp--custom--line--on-dark);
}
.skild-prog__meta{
	border-top-color:var(--wp--custom--line--on-dark);
	color:var(--wp--custom--ramp--panel-text);
}
.skild-prog__meta strong{ color:var(--wp--preset--color--white); }
.skild-prog__go{ color:var(--wp--custom--ramp--c-300); }
.skild-prog__go:hover{ color:var(--wp--preset--color--white); }
.skild-prog__go:active{ color:var(--wp--preset--color--amber); }

/* --------------------------------------------------------------------------
   7 · THE 5-DAY CHALLENGE
   THE CLIPPED "START HERE" — my defect, and worth naming: I gave the card a
   background, a radius and overflow:hidden, but .skild-challenge is a bare grid
   with no padding of its own. The 20px corner radius then cut the S off the
   first word. A background on a container that has no padding will always do
   this. Padding is now set with the background, in the same rule, so the two
   cannot be separated again.
   -------------------------------------------------------------------------- */
#challenge{ background:var(--wp--preset--color--white); }
#challenge .skild-challenge{
	background:var(--wp--preset--color--crimson-wash);
	border-radius:var(--wp--custom--radius--xl);
	padding:var(--wp--preset--spacing--gap);
	overflow:hidden;
}

/* --------------------------------------------------------------------------
   8 · STAT BAND — crimson. The one loud beat. Frozen pending copy.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   9 · WHAT WE DON'T PUBLISH — white, holding the one navy panel.
   The right column is thin for its frame; that is a copy problem and it is
   frozen until the copy exists.
   -------------------------------------------------------------------------- */
#dont-publish{ background:var(--wp--preset--color--white); }
.skild-dont{ grid-template-columns:1fr 1fr; align-items:stretch; }
.skild-panel{ padding:40px; }
.skild-panel__raised{ background:var(--wp--custom--ramp--navy-2); }

/* --------------------------------------------------------------------------
   10 · CTA BAND ink, FOOTER crimson — and they touch, which puts the richest
   pairing in the palette exactly at the ask.
   -------------------------------------------------------------------------- */
.skild-ctaband{ background:var(--wp--preset--color--ink); }
.skild-ctaband .skild-btn--on-dark{
	background:var(--wp--preset--color--crimson);
	color:var(--wp--preset--color--white);
	box-shadow:var(--wp--preset--shadow--cta);
}

/* --------------------------------------------------------------------------
   11 · RESPONSIVE — the overhang's last two hiding places
   homepage.css lines 455-456 carry the tablet half of the -140px/+150px pair:
       @media(max-width:1023px){ .skild-hero__shot{margin-bottom:-100px}
                                 .skild-sec--first{padding-top:y + 100px} }
   With the overhang retired at 1440 and not here, every tablet would have shown
   a 100px hole above the trust band. The desktop fix would have looked complete
   and the bug would have shipped on the width most Indian visitors browse at.
   -------------------------------------------------------------------------- */
@media(max-width:1023px){
	.skild-hero__shot{ margin-bottom:0; }
	.skild-sec.skild-sec--first{ padding-top:var(--wp--preset--spacing--y); }
	/* the hero split collapses: the contract panel goes under the copy, full width */
	.skild-hero__in{ grid-template-columns:1fr; }
	.skild-hero__in > .skild-hero__contract{
		grid-column:1; grid-row:auto; margin-top:var(--wp--preset--spacing--gap);
	}
	.skild-experts{ grid-template-columns:repeat(3,1fr); }
}
@media(max-width:767px){
	.skild-experts{ grid-template-columns:repeat(2,1fr); }
	.skild-hero__contract{ padding:26px 22px; }
	#challenge .skild-challenge{ padding:var(--wp--preset--spacing--stack); }
}

/* ==========================================================================
   SkilD · HOMEPAGE v3 — PHASE 0 LAYER (edition 3, 22 Aug 2026)
   Loaded after home-final.css. Carries the Phase 0 additions: two-button
   header, grouped trust band, the Method cards, the projects showcase, the
   buzz-stack tools rows, the resume-snapshot band, the AI Lab console, the
   Code membership card, the nurture band and the CTA form.
   Every value is a theme token read through the WordPress variable names.
   The ladder CSS of edition 2 is REMOVED — the device disclosed the shared
   trunk, which the owner has ruled off every public surface.
   ========================================================================== */

/* ---- HEADER · the two-button treatment (ruling K) ---- */
.skild-btn--outline{
	background:transparent; color:var(--wp--preset--color--crimson);
	box-shadow:inset 0 0 0 1.5px var(--wp--preset--color--crimson);
	border-radius:var(--wp--custom--radius--pill);
	padding:11px 20px; font-size:.95rem; font-weight:var(--wp--custom--weight--label);
	text-decoration:none; display:inline-flex; align-items:center;
	min-height:var(--wp--custom--target--min); position:relative;
	transition:background var(--wp--custom--duration--fast) var(--wp--custom--ease--out),
	           color var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}
.skild-btn--outline:hover{ background:var(--wp--preset--color--crimson-wash); }
.skild-btn--outline:active{ color:var(--wp--custom--ramp--c-700);
	box-shadow:inset 0 0 0 1.5px var(--wp--custom--ramp--c-700); }
.skild-btn--outline:focus-visible{ outline:none;
	box-shadow:inset 0 0 0 1.5px var(--wp--preset--color--crimson), var(--wp--custom--focus--ring); }
.skild-head .skild-btn--outline{ flex:0 0 auto; margin-left:var(--wp--preset--spacing--stack); }
.skild-head .skild-btn{ margin-left:12px; }
.skild-head .skild-btn::before{ display:none; }
.skild-head .skild-btn--outline::before{
	content:""; position:absolute; left:calc(-1 * var(--wp--preset--spacing--stack) / 2);
	top:50%; transform:translateY(-50%);
	width:1px; height:22px; background:var(--wp--custom--line--base);
}
@media(max-width:1140px){ .skild-head .skild-btn--outline{ display:none; } }

/* ---- TRUST BAND · two labelled groups (Option 1: LEARNING | NETWORK) ---- */
.skild-proofgroups{ display:grid; grid-template-columns:1fr 1fr;
	gap:var(--wp--preset--spacing--y-tight); }
.skild-proofgroup > h3{ margin:0 0 16px; font-size:.72rem; text-transform:uppercase;
	letter-spacing:var(--wp--custom--tracking--eyebrow);
	font-weight:var(--wp--custom--weight--label); color:var(--wp--preset--color--crimson); }
.skild-proofgroup__row{ display:grid; grid-template-columns:repeat(3,1fr); }
@media(max-width:1023px){ .skild-proofgroups{ grid-template-columns:1fr;
	gap:var(--wp--preset--spacing--gap); } }
@media(max-width:600px){ .skild-proofgroup__row{ grid-template-columns:1fr 1fr;
	row-gap:22px; }
	.skild-proofgroup__row .skild-proof__i:nth-child(3){ border-left:0; padding-left:0; } }

/* ---- THE SKILD METHOD · premium card upgrade ---- */
.skild-commit{ position:relative; padding-top:30px; }
.skild-commit__n{ display:inline-grid; place-items:center; width:38px; height:38px;
	border-radius:50%; background:var(--wp--preset--color--amber);
	color:var(--wp--preset--color--ink); font-weight:var(--wp--custom--weight--display);
	font-size:.95rem; font-variant-numeric:tabular-nums; margin-bottom:16px; }
.skild-commit h3{ font-size:var(--wp--preset--font-size--h-4);
	letter-spacing:var(--wp--custom--tracking--md); }

/* ---- PROJECTS SHOWCASE ---- */
#projects-show{ background:var(--wp--preset--color--white); }
.skild-projgrid{ display:grid; grid-template-columns:repeat(3,1fr);
	gap:var(--wp--preset--spacing--gap); margin-top:var(--wp--preset--spacing--gap); }
.skild-proj{ background:var(--wp--preset--color--white);
	border-radius:var(--wp--custom--radius--xl); box-shadow:var(--wp--preset--shadow--one);
	overflow:hidden; display:flex; flex-direction:column; text-decoration:none;
	transition:transform var(--wp--custom--duration--fast) var(--wp--custom--ease--out),
	           box-shadow var(--wp--custom--duration--fast) var(--wp--custom--ease--out); }
.skild-proj:hover{ transform:translateY(-2px); box-shadow:var(--wp--preset--shadow--two); }
.skild-proj:focus-visible{ outline:none; box-shadow:var(--wp--custom--focus--ring); }
.skild-proj img{ width:100%; height:180px; object-fit:cover; object-position:top left; display:block; }
.skild-proj__b{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:9px; flex:1; }
.skild-proj__b h3{ margin:0; font-size:1.08rem;
	font-weight:var(--wp--custom--weight--heading);
	letter-spacing:var(--wp--custom--tracking--card); color:var(--wp--preset--color--ink); }
.skild-proj__b p{ font-size:.9rem; color:var(--wp--preset--color--body-2); }
.skild-proj__tag{ margin-top:auto; padding-top:12px;
	border-top:1px solid var(--wp--custom--line--soft);
	font-size:.72rem; text-transform:uppercase; letter-spacing:.1em;
	font-weight:var(--wp--custom--weight--label); color:var(--wp--preset--color--crimson); }
@media(max-width:1023px){ .skild-projgrid{ grid-template-columns:1fr 1fr; } }
@media(max-width:640px){ .skild-projgrid{ grid-template-columns:1fr; } }

/* ---- PROGRAMMES · two-tier grid (ruling G) — 3 large + 5 small ---- */
.skild-flag3{ display:grid; grid-template-columns:repeat(3,1fr);
	gap:var(--wp--preset--spacing--gap); margin-top:var(--wp--preset--spacing--gap); }
.skild-pcard{ background:rgba(255,255,255,.09);
	border:1px solid var(--wp--custom--line--on-dark);
	border-radius:var(--wp--custom--radius--xl); overflow:hidden;
	display:flex; flex-direction:column; text-decoration:none;
	transition:background var(--wp--custom--duration--fast) var(--wp--custom--ease--out),
	           transform var(--wp--custom--duration--fast) var(--wp--custom--ease--out); }
.skild-pcard:hover{ background:rgba(255,255,255,.13); transform:translateY(-2px); }
.skild-pcard:focus-visible{ outline:none; box-shadow:var(--wp--custom--focus--ring-on-dark); }
.skild-pcard img{ width:100%; height:160px; object-fit:cover; object-position:top left;
	display:block; border-bottom:1px solid var(--wp--custom--line--on-dark); }
.skild-pcard__b{ padding:22px 24px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.skild-pcard h3{ margin:0; color:var(--wp--preset--color--white);
	font-size:var(--wp--preset--font-size--h-4);
	font-weight:var(--wp--custom--weight--heading);
	letter-spacing:var(--wp--custom--tracking--card); }
.skild-pcard p{ font-size:.92rem; color:var(--wp--custom--ramp--panel-text); }
.skild-pcard .skild-pmeta{ margin-top:auto; padding-top:12px;
	border-top:1px solid var(--wp--custom--line--on-dark); }
.skild-pmeta{ display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.86rem;
	color:var(--wp--custom--ramp--panel-text); font-variant-numeric:tabular-nums;
	list-style:none; margin:0; padding:0; }
.skild-pmeta strong{ color:var(--wp--preset--color--white);
	font-weight:var(--wp--custom--weight--tablehead); }
.skild-ptier{ display:inline-block; align-self:flex-start;
	border:1px solid var(--wp--custom--line--on-dark); color:var(--wp--custom--ramp--c-300);
	border-radius:var(--wp--custom--radius--pill); padding:4px 11px;
	font-size:.68rem; font-weight:var(--wp--custom--weight--label);
	text-transform:uppercase; letter-spacing:.09em; }
.skild-divline{ display:flex; align-items:center; gap:16px;
	margin-top:var(--wp--preset--spacing--gap); color:var(--wp--custom--ramp--c-300);
	font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
	font-weight:var(--wp--custom--weight--label); }
.skild-divline::before,.skild-divline::after{ content:""; height:1px; flex:1;
	background:var(--wp--custom--line--on-dark); }
.skild-short5{ display:grid; grid-template-columns:repeat(5,1fr);
	gap:clamp(12px,1.6vw,20px); margin-top:var(--wp--preset--spacing--gap); }
.skild-scard{ background:rgba(255,255,255,.06);
	border:1px solid var(--wp--custom--line--on-dark);
	border-radius:var(--wp--custom--radius--lg); padding:18px 18px 16px;
	display:flex; flex-direction:column; gap:8px; text-decoration:none;
	transition:background var(--wp--custom--duration--fast) var(--wp--custom--ease--out); }
.skild-scard:hover{ background:rgba(255,255,255,.11); }
.skild-scard:focus-visible{ outline:none; box-shadow:var(--wp--custom--focus--ring-on-dark); }
.skild-scard h3{ margin:0; color:var(--wp--preset--color--white); font-size:1rem;
	font-weight:var(--wp--custom--weight--heading);
	letter-spacing:var(--wp--custom--tracking--card); line-height:1.3; }
.skild-scard p{ font-size:.82rem; color:var(--wp--custom--ramp--panel-text); }
.skild-scard__meta{ margin-top:auto; padding-top:10px;
	border-top:1px solid var(--wp--custom--line--on-dark);
	display:flex; justify-content:space-between; gap:10px; align-items:baseline;
	font-size:.82rem; color:var(--wp--custom--ramp--panel-text);
	font-variant-numeric:tabular-nums; }
.skild-scard__meta b{ color:var(--wp--preset--color--white);
	font-weight:var(--wp--custom--weight--label); }
.skild-prognote{ margin-top:var(--wp--preset--spacing--stack); font-size:.92rem;
	max-width:70ch; color:var(--wp--custom--ramp--panel-text); }
@media(max-width:1140px){ .skild-short5{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:1023px){ .skild-flag3{ grid-template-columns:1fr; } }
@media(max-width:767px){ .skild-short5{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .skild-short5{ grid-template-columns:1fr; } }

/* ---- TOOLS ---- */
#tools{ background:var(--wp--preset--color--light); }
.skild-toolgroups{ display:grid; gap:0; margin-top:var(--wp--preset--spacing--gap); }
.skild-toolrow{ display:grid; grid-template-columns:170px 1fr; gap:18px; align-items:baseline;
	padding:16px 0; border-bottom:1px solid var(--wp--custom--line--soft); }
.skild-toolrow:last-child{ border-bottom:0; }
.skild-toolrow h3{ font-size:.74rem; text-transform:uppercase;
	letter-spacing:var(--wp--custom--tracking--tablehead);
	font-weight:var(--wp--custom--weight--label); color:var(--wp--preset--color--body-2);
	margin:0; }
.skild-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.skild-chip{ display:inline-flex; align-items:center; padding:7px 14px;
	border:1px solid var(--wp--custom--line--base);
	border-radius:var(--wp--custom--radius--pill); font-size:.88rem;
	color:var(--wp--preset--color--ink); background:var(--wp--preset--color--white);
	font-weight:var(--wp--custom--weight--tablehead); }
.skild-toolnote{ margin-top:var(--wp--preset--spacing--stack); font-size:.92rem;
	color:var(--wp--preset--color--body-2); max-width:70ch; }
@media(max-width:600px){ .skild-toolrow{ grid-template-columns:1fr; gap:8px; } }

/* ---- RESUME BAND · lines + the snapshot object ---- */
#resume{ background:var(--wp--preset--color--white); }
.skild-resume{ display:grid; grid-template-columns:1.15fr .85fr;
	gap:var(--wp--preset--spacing--y-tight); align-items:center;
	margin-top:var(--wp--preset--spacing--gap); }
.skild-cvlines{ list-style:none; margin:0; padding:0; display:grid; gap:13px; }
.skild-cvlines li{ position:relative; padding-left:26px; font-size:.98rem;
	color:var(--wp--preset--color--body); line-height:1.5; }
.skild-cvlines li::before{ content:""; position:absolute; left:0; top:.58em;
	width:14px; height:2px; background:var(--wp--preset--color--crimson); }
/* the snapshot: a resume fragment, drawn — not an image, so it never blurs */
.skild-cvshot{ background:var(--wp--preset--color--white);
	border-radius:var(--wp--custom--radius--md);
	box-shadow:var(--wp--preset--shadow--four);
	padding:clamp(22px,2.6vw,32px); transform:rotate(.6deg);
	border-top:6px solid var(--wp--preset--color--crimson);
	transition:transform var(--wp--custom--duration--slow) var(--wp--custom--ease--out); }
.skild-cvshot:hover{ transform:rotate(0deg); }
.skild-cvshot__name{ height:14px; width:46%; border-radius:4px;
	background:var(--wp--preset--color--ink); margin-bottom:8px; }
.skild-cvshot__meta{ height:8px; width:64%; border-radius:4px;
	background:var(--wp--custom--line--base); margin-bottom:22px; }
.skild-cvshot h3{ margin:0 0 10px; font-size:.72rem; text-transform:uppercase;
	letter-spacing:var(--wp--custom--tracking--tablehead);
	font-weight:var(--wp--custom--weight--label); color:var(--wp--preset--color--crimson); }
.skild-cvshot ul{ list-style:none; margin:0 0 20px; padding:0; display:grid; gap:8px; }
.skild-cvshot li{ font-size:.85rem; color:var(--wp--preset--color--body);
	padding-left:18px; position:relative; line-height:1.45; }
.skild-cvshot li::before{ content:""; position:absolute; left:0; top:.55em;
	width:9px; height:2px; background:var(--wp--custom--ramp--c-300); }
.skild-cvshot__proj{ display:flex; align-items:baseline; gap:8px; font-size:.85rem;
	color:var(--wp--preset--color--body); padding:7px 0;
	border-bottom:1px dashed var(--wp--custom--line--soft); }
.skild-cvshot__proj:last-child{ border-bottom:0; }
.skild-cvshot__proj b{ font-weight:var(--wp--custom--weight--heading);
	color:var(--wp--preset--color--ink); }
.skild-cvshot__proj span{ color:var(--wp--preset--color--crimson); font-size:.78rem;
	font-weight:var(--wp--custom--weight--label); white-space:nowrap; }
@media(max-width:1023px){ .skild-resume{ grid-template-columns:1fr; }
	.skild-cvshot{ max-width:520px; } }

/* ---- THE AI LAB · the Jarvis console ---- */
#ai-lab{ background:var(--wp--preset--color--light); }
.skild-lab{ margin-top:var(--wp--preset--spacing--gap);
	background:var(--wp--preset--color--ink);
	border-radius:var(--wp--custom--radius--xl); overflow:hidden;
	display:grid; grid-template-columns:220px 1fr;
	border:1px solid var(--wp--custom--line--base); }
.skild-lab__side{ background:#1D1D1D; border-right:1px solid var(--wp--custom--line--on-dark);
	padding:24px 20px; display:flex; flex-direction:column; gap:14px; }
.skild-lab__side h3{ margin:0; color:var(--wp--preset--color--white); font-size:.78rem;
	text-transform:uppercase; letter-spacing:var(--wp--custom--tracking--eyebrow);
	font-weight:var(--wp--custom--weight--label); }
.skild-lab__side p{ font-size:.8rem; color:var(--wp--custom--ramp--panel-text); }
.skild-lab__dot{ display:flex; align-items:center; gap:8px; font-size:.72rem;
	letter-spacing:.1em; text-transform:uppercase; color:var(--wp--custom--ramp--panel-text);
	font-weight:var(--wp--custom--weight--label); margin-top:auto; }
.skild-lab__dot::before{ content:""; width:7px; height:7px; border-radius:50%;
	background:var(--wp--preset--color--success); }
.skild-lab__grid{ display:grid; grid-template-columns:1fr 1fr 1fr; }
.skild-mod{ padding:22px; border-left:1px solid var(--wp--custom--line--on-dark);
	border-top:1px solid var(--wp--custom--line--on-dark);
	display:flex; flex-direction:column; gap:8px; text-decoration:none;
	transition:background var(--wp--custom--duration--fast) var(--wp--custom--ease--out); }
.skild-mod:nth-child(-n+3){ border-top:0; }
.skild-mod:nth-child(3n+1){ border-left:0; }
.skild-mod:hover{ background:rgba(255,255,255,.06); }
.skild-mod:focus-visible{ outline:none; box-shadow:var(--wp--custom--focus--ring-on-dark); }
.skild-mod h4{ margin:0; color:var(--wp--preset--color--white); font-size:.98rem;
	font-weight:var(--wp--custom--weight--heading);
	letter-spacing:var(--wp--custom--tracking--card); }
.skild-mod p{ font-size:.82rem; color:var(--wp--custom--ramp--panel-text); }
.skild-mod__go{ margin-top:auto; padding-top:10px; font-size:.78rem;
	font-weight:var(--wp--custom--weight--label); color:var(--wp--custom--ramp--c-300);
	letter-spacing:.06em; }
.skild-mod:hover .skild-mod__go{ color:var(--wp--preset--color--white); }
@media(max-width:1023px){ .skild-lab{ grid-template-columns:1fr; }
	.skild-lab__side{ border-right:0; border-bottom:1px solid var(--wp--custom--line--on-dark); }
	.skild-lab__grid{ grid-template-columns:1fr 1fr; }
	.skild-mod:nth-child(-n+3){ border-top:1px solid var(--wp--custom--line--on-dark); }
	.skild-mod:nth-child(-n+2){ border-top:0; }
	.skild-mod:nth-child(3n+1){ border-left:1px solid var(--wp--custom--line--on-dark); }
	.skild-mod:nth-child(2n+1){ border-left:0; } }
@media(max-width:540px){ .skild-lab__grid{ grid-template-columns:1fr; }
	.skild-mod{ border-left:0 !important;
		border-top:1px solid var(--wp--custom--line--on-dark) !important; }
	.skild-mod:first-child{ border-top:0 !important; } }

/* ---- THE SKILD CODE · membership card ---- */
#skild-code{ background:var(--wp--preset--color--white); }
.skild-code-stage{ display:grid; place-items:center; margin-top:var(--wp--preset--spacing--gap); }
.skild-mcard{ width:min(680px,100%); background:var(--wp--preset--color--crimson);
	border-radius:var(--wp--custom--radius--xxl); padding:clamp(26px,4vw,44px);
	color:var(--wp--preset--color--white); box-shadow:var(--wp--preset--shadow--five);
	position:relative; overflow:hidden;
	transition:transform var(--wp--custom--duration--slow) var(--wp--custom--ease--out); }
.skild-mcard:hover{ transform:translateY(-4px); }
.skild-mcard::after{ content:""; position:absolute; right:-120px; top:-120px;
	width:320px; height:320px; border-radius:50%;
	background:var(--wp--custom--ramp--c-700); opacity:.5; pointer-events:none; }
.skild-mcard__top{ display:flex; align-items:center; justify-content:space-between; gap:18px;
	position:relative; z-index:1; }
.skild-mcard__brand{ font-size:.78rem; font-weight:var(--wp--custom--weight--label);
	letter-spacing:var(--wp--custom--tracking--eyebrow); text-transform:uppercase;
	color:var(--wp--preset--color--white); }
.skild-chipel{ width:52px; height:38px; border-radius:8px;
	background:var(--wp--preset--color--amber); position:relative; flex:0 0 auto; }
.skild-chipel::before,.skild-chipel::after{ content:""; position:absolute; left:8px; right:8px;
	height:1px; background:rgba(41,41,41,.35); }
.skild-chipel::before{ top:13px; } .skild-chipel::after{ top:24px; }
.skild-mcard h3{ color:var(--wp--preset--color--white);
	font-size:var(--wp--preset--font-size--h-3); font-weight:var(--wp--custom--weight--display);
	letter-spacing:var(--wp--custom--tracking--md); margin:26px 0 0; position:relative; z-index:1;
	max-width:18ch; }
.skild-mcard ul{ list-style:none; margin:26px 0 0; padding:0;
	display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; position:relative; z-index:1; }
.skild-mcard li{ display:flex; gap:12px; align-items:flex-start; font-size:.95rem;
	line-height:1.5; color:var(--wp--preset--color--white); }
.skild-mcard svg{ width:24px; height:24px; flex:0 0 auto; margin-top:2px;
	color:var(--wp--custom--ramp--c-300); }
.skild-mcard__base{ display:flex; justify-content:space-between; align-items:center; gap:18px;
	margin-top:30px; padding-top:18px; border-top:1px solid var(--wp--custom--line--footer-rule);
	position:relative; z-index:1; font-variant-numeric:tabular-nums; flex-wrap:wrap; }
.skild-mcard__ver{ font-size:.78rem; letter-spacing:var(--wp--custom--tracking--tablehead);
	text-transform:uppercase; color:var(--wp--preset--color--white); }
.skild-mcard__link{ color:var(--wp--preset--color--white);
	font-weight:var(--wp--custom--weight--label); font-size:.92rem;
	text-underline-offset:.24em; }
.skild-mcard__link:hover{ color:var(--wp--custom--ramp--c-300); }
.skild-mcard__link:focus-visible{ outline:none;
	box-shadow:var(--wp--custom--focus--ring-on-dark); border-radius:var(--wp--custom--radius--sm); }
@media(max-width:640px){ .skild-mcard ul{ grid-template-columns:1fr; } }

/* ---- NURTURE BAND ---- */
#nurture{ background:var(--wp--preset--color--light); }
.skild-nurture{ display:grid; grid-template-columns:1.4fr .9fr;
	gap:var(--wp--preset--spacing--y-tight); align-items:start;
	margin-top:var(--wp--preset--spacing--gap); }
.skild-posts{ display:grid; gap:0; border-top:1px solid var(--wp--custom--line--base); }
.skild-post{ display:flex; justify-content:space-between; gap:18px; padding:16px 0;
	border-bottom:1px solid var(--wp--custom--line--soft); text-decoration:none;
	align-items:baseline; min-height:var(--wp--custom--target--min);
	transition:color var(--wp--custom--duration--fast) var(--wp--custom--ease--out); }
.skild-post b{ color:var(--wp--preset--color--ink);
	font-weight:var(--wp--custom--weight--heading); font-size:1rem; }
.skild-post:hover b{ color:var(--wp--preset--color--crimson); }
.skild-post span{ font-size:.82rem; color:var(--wp--preset--color--body-2);
	font-variant-numeric:tabular-nums; white-space:nowrap; }
.skild-post:focus-visible{ outline:none; box-shadow:var(--wp--custom--focus--ring);
	border-radius:var(--wp--custom--radius--sm); }
.skild-sub{ background:var(--wp--preset--color--white);
	border-radius:var(--wp--custom--radius--xl); box-shadow:var(--wp--preset--shadow--one);
	padding:26px; }
.skild-sub label{ display:block; font-size:.9rem;
	font-weight:var(--wp--custom--weight--label); margin-bottom:10px;
	color:var(--wp--preset--color--ink); }
.skild-sub .skild-subrow{ display:flex; gap:10px; }
.skild-sub input{ flex:1; min-width:0; padding:12px 14px; font:inherit; font-size:.95rem;
	border:1px solid var(--wp--custom--line--base); border-radius:var(--wp--custom--radius--md);
	background:var(--wp--preset--color--white); color:var(--wp--preset--color--ink); }
.skild-sub input:focus-visible{ outline:none; border-color:var(--wp--preset--color--crimson);
	box-shadow:var(--wp--custom--focus--ring); }
.skild-sub .skild-btn{ padding:12px 20px; font-size:.92rem; }
.skild-sub p{ margin-top:12px; font-size:.8rem; color:var(--wp--preset--color--body-2); }
@media(max-width:1023px){ .skild-nurture{ grid-template-columns:1fr; } }

/* ---- CTA BAND · split with the one homepage form ---- */
.skild-ctaband{ text-align:left; }
.skild-cta2{ display:grid; grid-template-columns:1fr .95fr;
	gap:var(--wp--preset--spacing--y-tight); align-items:start; }
.skild-ctaband .skild-cta2 h2{ margin:0; max-width:16ch; text-align:left; }
.skild-ctaband .skild-cta2 p{ margin:16px 0 0; max-width:52ch; text-align:left;
	font-size:var(--wp--preset--font-size--lead); }
.skild-ctaband .skild-cta2 .skild-ctasmall{ font-size:.88rem; margin-top:18px;
	color:var(--wp--custom--ramp--panel-text); }
.skild-form{ background:rgba(255,255,255,.06);
	border:1px solid var(--wp--custom--line--on-dark);
	border-radius:var(--wp--custom--radius--xl); padding:clamp(22px,3vw,32px);
	display:grid; gap:14px; }
.skild-form label{ display:grid; gap:6px; font-size:.85rem;
	font-weight:var(--wp--custom--weight--label); color:var(--wp--preset--color--white); }
.skild-form input,.skild-form select{ padding:12px 14px; font:inherit; font-size:.95rem;
	border:1px solid var(--wp--custom--line--on-dark); border-radius:var(--wp--custom--radius--md);
	background:rgba(255,255,255,.09); color:var(--wp--preset--color--white); }
.skild-form input::placeholder{ color:rgba(255,255,255,.55); }
.skild-form select{ appearance:none; }
.skild-form select option{ color:var(--wp--preset--color--ink); }
.skild-form input:focus-visible,.skild-form select:focus-visible{ outline:none;
	border-color:var(--wp--preset--color--white);
	box-shadow:var(--wp--custom--focus--ring-on-dark); }
.skild-form .skild-check{ display:flex; gap:10px; align-items:flex-start;
	font-size:.85rem; font-weight:400; color:var(--wp--custom--ramp--panel-text); }
.skild-form .skild-check input{ width:18px; height:18px; margin-top:2px; flex:0 0 auto; }
.skild-form .skild-btn{ justify-self:start; margin-top:4px; }
.skild-form .skild-after{ font-size:.8rem; color:var(--wp--custom--ramp--panel-text); }
@media(max-width:1023px){ .skild-cta2{ grid-template-columns:1fr; } }

/* ---- tokens render visibly fake everywhere ---- */
.skild-tok{ border-bottom:1px dashed currentColor; opacity:.8; font-style:normal; }


/* ===== v2 HOME4 LAYER — 18 SEP 2026 · everything below is additive ===== */
@media (min-width:1025px){ .skild-experts{ grid-template-columns:repeat(4,1fr); } }
.skild-experts img{ aspect-ratio:1/1; object-fit:cover; object-position:50% 22%; }
.skild-done{ margin-top:18px; padding:16px 18px; border-radius:12px; background:var(--wp--preset--color--light, #F9F7F4); box-shadow:0 0 0 1px rgba(41,41,41,.12); }
.skild-done strong{ color:var(--wp--preset--color--crimson, #A51C30); }
@media (min-width:1000px){ .skild-experts{ grid-template-columns:repeat(4,1fr); } }
