.elementor-kit-6{--e-global-color-primary:#D10202;--e-global-color-secondary:#CAC8C8;--e-global-color-text:#E4E0E0;--e-global-color-accent:#D10202;--e-global-color-18a1ee5:#CAC8C8;--e-global-typography-primary-font-family:"Jost";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Verdana";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Verdana";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Jost";--e-global-typography-accent-font-weight:500;background-image:url("https://www.small-projects.com/wp-content/uploads/2026/09/context-bg-full-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#CCC9C9;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1350px){.elementor-kit-6{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}}@media(max-width:900px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */p {
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}

@media (min-width: 1025px) {
  .sp-home {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1.7 / 1;
    max-height: 100vh;
  }
  body.page-id-11 {
    background-color: #000000;
  }
}

/* ==== MOBILE LAYOUT — matches Kevin's mobile PSDs (1080x1920 = 360x640 @3x), 2026-09-26 ====
   All measurements are PSD px / 3, scaled by --u so a 360px phone is 1:1 and wider phones scale
   proportionally (capped at 1.2 = 432px, centred beyond that). Font families/weights untouched. */
/* context-reader plugin: its pane height is read as px from --sp-height; registering the property as a <length>
   lets it be set in scalable units below (the browser resolves it to px) */
@property --sp-height { syntax: '<length>'; inherits: true; initial-value: 620px; }

/* ==== BACKGROUNDS — never zoom, on any device (2026-09-26) ====
   Each page's own background (set in its Elementor page settings, or the Site Settings default) is re-painted on a
   fixed layer exactly one screen tall ("background: inherit" keeps each page's image, position and cover sizing).
   So the texture is sized to the screen, not to the page length, and it never rescales when a phone's toolbar
   shows or hides (100lvh). Home is excluded — its hero slideshow is sized by the hero itself. */
body:not(.page-id-11)::before {
  content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; height: 100lvh;
  z-index: -1; pointer-events: none; background: inherit;
}

/* street teeding (1514): its page settings point at an August copy of the texture that no longer exists (404) —
   use the current file (same texture) so the page has its background */
body.page-id-1514 { background-image: url("https://www.small-projects.com/wp-content/uploads/2026/09/context-bg-full-scaled.jpg") !important; }

/* ==== TYPEFACES — as set in Kevin's PSDs ====
   Nav, titles, lists, headings, captions: Avenir Next (UltraLight 200 · Regular 400 · UltraLight Italic).
   Body copy + contact details: Verdana. Avenir Next is used from the device (built into every Mac, iPhone and iPad);
   devices without it (Windows/Android) fall back to Jost. Verdana ships on Mac, iOS and Windows. */
:root {
  --sp-avenir: "Avenir Next", "AvenirNext-Regular", "Avenir Next LT Pro", Jost, sans-serif;
  --sp-verdana: Verdana, Geneva, "DejaVu Sans", sans-serif;
}
.elementor-462 .elementor-nav-menu .elementor-item,
.sp-home :is(#home-menu, #home-menu-mobile) .elementor-item,
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-heading .elementor-heading-title,
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-nav-menu .elementor-item,
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-icon-list-text,
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) :is(.e-n-tab-title, .e-n-tab-title-text) {
  font-family: var(--sp-avenir) !important;
}
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor,
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor *,
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-image-box :is(.elementor-image-box-title, .elementor-image-box-description, .elementor-image-box-description *) {
  font-family: var(--sp-verdana) !important; font-weight: 400 !important;
}
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor :is(strong, b) { font-weight: 700 !important; }
/* home caption (a text-editor widget) is Avenir Next UltraLight Italic in the PSD */
.sp-home #image-alt, .sp-home #image-alt * { font-family: var(--sp-avenir) !important; font-style: italic !important; font-weight: 200 !important; }

/* ==== LOAD — the homepage never shows the grey texture, so don't download it there (257KB) ==== */
body.page-id-11 { background-image: none !important; }
/* The wordmarks faded in via Elementor's script, which keeps them invisible (and un-hoverable) until every script has
   loaded — on a slow connection that is the whole load. Same fade (0.7s delay, 1.25s), done in CSS instead. The
   animation name stays the same when Elementor later adds its classes, so it never replays. */
@keyframes spLogoFade { from { opacity: 0; } to { opacity: 1; } }
:is(#home-logo, .elementor-462 .sp-logo, .page-id-1206 .elementor-element-a7fd167),
:is(#home-logo, .elementor-462 .sp-logo, .page-id-1206 .elementor-element-a7fd167):is(.elementor-invisible, .animated, .fadeIn) {
  visibility: visible !important; animation: spLogoFade 1.25s ease 0.7s both !important;
}

/* ==== LOGO — Kevin's PNG wordmark (the exact PSD artwork, Adobe RGB → sRGB), replaces the Jost text logo ====
   File: 1528×81, glyph ink inset 4px on every side (ink 1520×73). The heading text stays in the page for
   accessibility and the existing links/click handlers; it is just made invisible over the image. */
.elementor-462 .sp-logo .elementor-heading-title,
.sp-home #home-logo .elementor-heading-title,
.page-id-1206 .elementor-element-a7fd167 .elementor-heading-title {
  display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 1528 / 81;
  margin: 0 !important; padding: 0 !important; font-size: 0 !important; line-height: 0 !important; letter-spacing: 0 !important;
  color: transparent !important; overflow: hidden !important;
  background: url("https://www.small-projects.com/wp-content/uploads/2026/09/smallprojects-logo.png") 0 0 / 100% 100% no-repeat !important;
}
.elementor-462 .sp-logo .elementor-heading-title *,
.sp-home #home-logo .elementor-heading-title *,
.page-id-1206 .elementor-element-a7fd167 .elementor-heading-title * { color: transparent !important; font-size: 0 !important; }
.elementor-462 .sp-logo .elementor-heading-title > a,
.page-id-1206 .elementor-element-a7fd167 .elementor-heading-title > a { display: block !important; width: 100% !important; height: 100% !important; }

/* ==== DESKTOP + LANDSCAPE TABLET — Kevin's desktop PSDs (a–g templates, canvas 3378×1982 = 1689×991 @1x) ====
   The whole composition scales with the screen width: 1 PSD px = var(--v) = 100vw/1689, so every guide keeps its
   proportion (Kevin's proportional-scaling request). Guides: logo/left column right edge x425 · body col 1 x502–927.2 ·
   col 2 x962.6–1387.8 · nav from x531.5 · baselines y63 (nav), y177.2 (titles/body), list rows every 29.5 from y236.5. */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  :root { --v: calc(100vw / 1689); --sp-rest: #CCC9C9; --sp-active: #FCFAFA;
    /* bottom line of every scroll window: the PSD bottom guide (915.4 of 991) as a share of the window height */
    --sp-vh: 100vh; --sp-bottom: calc(var(--sp-vh) * 915.4 / 991); }
  @supports (height: 100svh) { :root { --sp-vh: 100svh; } } /* iPad Safari: 100vh is the height with the toolbar hidden (Kevin 2026-10-05) */
  /* content pages keep the PSD's proportions on any window shape (Kevin 2026-10-05): 1 PSD px is the smaller of width/1689
     and height/991, and the 1689-wide composition is centred (--ox = the side margin) */
  body:not(.page-id-11):not(.page-id-1206) { --v: min(calc(100vw / 1689), calc(var(--sp-vh) / 991)); --ox: max(0px, calc((100vw - 1689 * var(--v)) / 2)); }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) { margin-left: var(--ox) !important; margin-right: 0 !important; width: calc(1689 * var(--v)) !important; max-width: none !important; }

  /* ---------- header: wordmark + nav (all content pages) ---------- */
  .elementor-462 { position: absolute !important; top: 0 !important; left: var(--ox, 0px) !important; width: calc(1689 * var(--v)) !important; height: 0 !important; z-index: 100 !important; }
  .elementor-462 .e-con { position: static !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
  .elementor-462 .elementor-widget-icon, .elementor-462 .elementor-menu-toggle, .elementor-462 .elementor-nav-menu--dropdown { display: none !important; }
  /* wordmark ink x51.5–425, ink top y44.5 → image box 375.47 wide at (50.52, 43.52) */
  .elementor-462 .sp-logo {
    position: absolute !important; left: calc(50.52 * var(--v)) !important; top: calc(43.52 * var(--v)) !important;
    width: calc(375.47 * var(--v)) !important; margin: 0 !important; padding: 0 !important; transform: none !important; z-index: 2 !important;
  }
  /* nav: 20.83px caps, baseline y63; each word starts where Kevin set it */
  .elementor-462 .elementor-widget-nav-menu { display: block !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; margin: 0 !important; }
  .elementor-462 .elementor-nav-menu--main, .elementor-462 .elementor-nav-menu { display: block !important; position: static !important; margin: 0 !important; padding: 0 !important; }
  .elementor-462 .elementor-nav-menu > li { position: absolute !important; top: calc(46.625 * var(--v)) !important; margin: 0 !important; padding: 0 !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(1) { left: calc(531.5 * var(--v)) !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(2) { left: calc(691.5 * var(--v)) !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(3) { left: calc(843.5 * var(--v)) !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(4) { left: calc(1015 * var(--v)) !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(5) { left: calc(1148 * var(--v)) !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(6) { left: calc(1326 * var(--v)) !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(7) { left: calc(1528 * var(--v)) !important; }
  .elementor-462 .elementor-nav-menu .elementor-item {
    display: block !important; padding: 0 !important; margin: 0 !important; white-space: nowrap !important;
    font-size: calc(20.83 * var(--v)) !important; line-height: 1 !important; letter-spacing: 0 !important;
    color: var(--sp-rest) !important; font-weight: 200 !important;
  }
  .elementor-462 .elementor-nav-menu .elementor-item::before, .elementor-462 .elementor-nav-menu .elementor-item::after { display: none !important; }
  .elementor-nav-menu--main .elementor-nav-menu > li:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item,
  .elementor-nav-menu--main .elementor-item.elementor-item-active,
  .elementor-462 .elementor-nav-menu .elementor-item:hover { color: var(--sp-active) !important; font-weight: 400 !important; }

  /* ---------- content pages ---------- */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con { display: block !important; position: relative !important; margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: none !important; min-height: 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child { min-height: calc(991 * var(--v)) !important; padding-bottom: calc(75.6 * var(--v)) !important; }
  /* bibliography (PSD f1/f2 — layout rework still open with Kevin): title row only, CV + lists follow directly */
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child { min-height: 0 !important; padding-bottom: 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .e-con { --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget { margin: 0 !important; }

  /* left column: section title + lists, right edge on the x425 guide */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) { position: absolute !important; top: 0 !important; left: 0 !important; width: calc(425 * var(--v)) !important; max-width: none !important; padding: 0 !important; margin: 0 !important; display: block !important; z-index: 5 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .e-con { display: block !important; padding: 0 !important; margin: 0 !important; width: 100% !important; min-height: 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget { width: 100% !important; max-width: none !important; padding: 0 !important; }
  /* title 39.58px, baseline y177.5 */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-heading { margin: calc(145.24 * var(--v)) 0 calc(29.05 * var(--v)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-heading .elementor-heading-title {
    font-size: calc(39.58 * var(--v)) !important; line-height: 1 !important; letter-spacing: 0 !important; text-align: right !important;
    text-transform: uppercase !important; color: var(--sp-rest) !important; font-weight: 200 !important; white-space: nowrap !important;
  }
  /* level-1 lists: 25px on 29.5 rows, first baseline y236.5 */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-nav-menu--main, .elementor-nav-menu, .elementor-icon-list-items) { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; text-align: right !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-nav-menu > li, .elementor-icon-list-item) { display: block !important; margin: 0 !important; padding: 0 !important; text-align: right !important; justify-content: flex-end !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-item, .elementor-icon-list-text, .elementor-icon-list-item > a) {
    display: block !important; padding: 0 !important; margin: 0 !important; text-align: right !important; white-space: nowrap !important;
    font-size: calc(25 * var(--v)) !important; line-height: calc(29.5 * var(--v)) !important; letter-spacing: 0 !important;
    color: var(--sp-rest) !important; font-weight: 200 !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-item::before, .elementor-item::after) { display: none !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-icon-list-icon { display: none !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-icon-list-text, .elementor-item-active, .current-menu-item > .elementor-item, :is(.current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > .elementor-item, .elementor-item:hover) {
    color: var(--sp-active) !important; font-weight: 400 !important;
  }
  /* child list of the open parent: 17.71px on 21.25 rows; first baseline 37.5 below the parent's, next parent 58.5 below the last child */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu { margin-top: calc(14.42 * var(--v)) !important; max-height: calc(616.2 * var(--v)); overflow-y: auto; scrollbar-width: none; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu::-webkit-scrollbar { display: none; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu:has(li:nth-child(29)) {
    /* edge lines: page script (solid #838181), no mask */
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu .elementor-nav-menu .elementor-item { font-size: calc(17.71 * var(--v)) !important; line-height: calc(21.25 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu + .elementor-widget-nav-menu { margin-top: calc(30.83 * var(--v)) !important; }

  /* right side: body starts on the x502 guide; 2 columns 425.2 wide with a 35.4 gutter */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2), body:not(.page-id-11):not(.page-id-1206):not(.page-id-1723) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:not(:first-child) { margin-left: calc(502 * var(--v)) !important; width: calc(885.8 * var(--v)) !important; max-width: none !important; padding: 0 !important; display: block !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) { padding-top: calc(160.33 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2):has(.elementor-widget-heading) { padding-top: calc(152.03 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2).sp-rc-head { padding-top: calc(152.03 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .e-con { display: block !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; min-height: 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget { width: 100% !important; max-width: none !important; padding: 0 !important; }
  /* page heading (sub-pages): 31.25px, baseline y177.5; body then starts one row lower (first baseline y236) */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading { margin: 0 0 calc(36.05 * var(--v)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading .elementor-heading-title {
    font-size: calc(31.25 * var(--v)) !important; line-height: 1 !important; letter-spacing: 0 !important; text-align: left !important;
    text-transform: none !important; color: var(--sp-active) !important; font-weight: 200 !important;
  }
  /* body: 16.67px on 20px lines, blank-line paragraph gaps, justified + hyphenated */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-text-editor, body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-text-editor :is(p, li, span) {
    font-size: calc(16.67 * var(--v)) !important; line-height: calc(20 * var(--v)) !important; letter-spacing: 0 !important;
    color: #C3C0C0; text-align: justify !important; hyphens: auto; -webkit-hyphens: auto;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-text-editor p { margin: 0 0 calc(20 * var(--v)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-text-editor p:last-child { margin-bottom: 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-text-editor { column-count: 1 !important; column-gap: calc(35.4 * var(--v)) !important; column-fill: balance !important; width: calc(425.2 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-text-editor * { column-count: 1 !important; }
  /* two-column pages (PSD a, c, d, b1/b2 and the project pages c2–c4) */
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-270, .page-id-1137, .page-id-1604, .page-id-922, .page-id-973, .page-id-984, .page-id-1167, .page-id-1537, .page-id-1514, .page-id-1526, .page-id-1651, .single-sp_work) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-text-editor {
    column-count: 2 !important; width: calc(885.8 * var(--v)) !important;
  }
  /* essay pages with the context reader (two panes scrolling together): panes on the column guides, window ends on y915 */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .sp-reader-flow { display: grid !important; grid-template-columns: calc(425.2 * var(--v)) calc(425.2 * var(--v)) !important; column-gap: calc(35.4 * var(--v)) !important; width: calc(885.8 * var(--v)) !important; --sp-height: calc(var(--sp-bottom) - 160.33 * var(--v)); }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2).sp-rc-head .sp-reader-flow { --sp-height: calc(var(--sp-bottom) - 219.33 * var(--v)); }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .sp-reader-pane > .elementor-widget-text-editor { width: auto !important; column-count: 1 !important; }
  /* Work sub-category pages (PSD d1/d3): the section image fills column 2, y236.5–916 */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .e-con:not(:first-child):not(:has(.elementor-widget)) {
    position: absolute !important; left: calc(460.6 * var(--v)) !important; top: calc(236.5 * var(--v)) !important; /* relative to the x502 column → page x962.6 */
    width: calc(425.2 * var(--v)) !important; height: calc(679.5 * var(--v)) !important; min-height: 0 !important; margin: 0 !important;
    background-size: cover !important; background-position: center !important;
  }
  /* ---------- home (PSD 1–5): wordmark just below centre, contents row, caption ---------- */
  /* hero always fills the whole window (the old 1.7:1 lock left a black band on taller screens, e.g. MacBook Air);
     the photo covers and crops; wordmark/menu/caption are placed in % of the hero so they follow */
  body.page-id-11 .sp-home { aspect-ratio: auto !important; height: 100vh !important; min-height: 100vh !important; max-height: none !important; }
  body.page-id-11 .sp-home #home-logo {
    position: absolute !important; left: 35.1825% !important; top: 51.36% !important; width: 29.635% !important;
    margin: 0 !important; padding: 0 !important; transform: none !important;
  }
  body.page-id-11 .sp-home #home-logo .elementor-heading-title { margin-top: -0.2618% !important; }
  /* contents row (PSD 4/5): 20.83px caps, baseline at 68.67% of the hero, each word where Kevin set it */
  body.page-id-11 .sp-home #home-menu { left: 0 !important; width: 100% !important; top: calc(68.668% - 16.375 * var(--v)) !important; transform: translateY(10px) !important; }
  body.page-id-11 .sp-home:has(#home-logo:hover) #home-menu, body.page-id-11 .sp-home:has(#home-menu:hover) #home-menu { transform: none !important; }
  body.page-id-11 .sp-home #home-menu::before { top: calc(-160 * var(--v)) !important; height: calc(160 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu :is(.elementor-nav-menu--main, .elementor-nav-menu) { display: block !important; position: static !important; margin: 0 !important; padding: 0 !important; height: calc(20.83 * var(--v)); }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li { position: absolute !important; top: 0 !important; margin: 0 !important; padding: 0 !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(1) { left: calc(298 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(2) { left: calc(458 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(3) { left: calc(610.5 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(4) { left: calc(781.5 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(5) { left: calc(914.5 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(6) { left: calc(1092.5 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(7) { left: calc(1294.5 * var(--v)) !important; }
  body.page-id-11 .sp-home #home-menu .elementor-item {
    display: block !important; padding: 0 !important; margin: 0 !important; white-space: nowrap !important;
    font-size: calc(20.83 * var(--v)) !important; line-height: 1 !important; letter-spacing: 0 !important;
    color: var(--sp-rest) !important; font-weight: 200 !important;
  }
  body.page-id-11 .sp-home #home-menu .elementor-item::before, body.page-id-11 .sp-home #home-menu .elementor-item::after { display: none !important; }
  body.page-id-11 .sp-home #home-menu .elementor-item:hover { color: var(--sp-active) !important; font-weight: 400 !important; }
  /* caption (PSD 2/3): 18.75px, right edge x1647.5, baseline y950.5 */
  body.page-id-11 .sp-home #image-alt {
    left: auto !important; right: calc(38.4 * var(--v)) !important; bottom: calc(4.087% - 4.27 * var(--v)) !important; top: auto !important;
    width: auto !important; max-width: none !important; text-align: right !important;
  }
  body.page-id-11 .sp-home #image-alt, body.page-id-11 .sp-home #image-alt p {
    font-size: calc(18.75 * var(--v)) !important; line-height: 1 !important; letter-spacing: 0 !important; margin: 0 !important; white-space: nowrap !important;
  }


  /* homepage contents on hover — sibling .elementor-kit-6s as well as :has(), because Safari doesn't always re-evaluate :has(:hover) */
  body.page-id-11 .sp-home #home-logo:hover ~ #home-menu, body.page-id-11 .sp-home #home-menu:hover { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; transition-delay: 0s !important; }
  body.page-id-11 .sp-home #home-logo:hover ~ #image-alt, body.page-id-11 .sp-home #home-menu:hover ~ #image-alt { opacity: 0 !important; visibility: hidden !important; }

  /* ---------- contact (PSD g): block on the x858 guide, baselines 714.5 / 758 / 799.5 / 820.5 ---------- */
  body.page-id-1206 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child { position: relative !important; }
  body.page-id-1206 .elementor-element-a7fd167 {
    position: absolute !important; left: calc(856.9 * var(--v)) !important; top: calc(702.4 * var(--v)) !important;
    width: calc(230.2 * var(--v)) !important; max-width: none !important; margin: 0 !important; padding: 0 !important; transform: none !important;
  }
  body.page-id-1206 .elementor-widget-image-box {
    position: absolute !important; left: calc(858 * var(--v)) !important; top: calc(743.23 * var(--v)) !important;
    width: calc(232 * var(--v)) !important; max-width: none !important; margin: 0 !important; padding: 0 !important; transform: none !important;
  }
  body.page-id-1206 .elementor-widget-image-box :is(.elementor-image-box-wrapper, .elementor-image-box-content) { margin: 0 !important; padding: 0 !important; text-align: left !important; }
  body.page-id-1206 .elementor-image-box-title {
    margin: 0 !important; padding: 0 0 0 0.4216em !important; /* revision 2026-09-28: address directly under the name */ text-align: center !important; transform: translateX(calc(-5.5 * var(--v))) !important;
    font-size: calc(12.5 * var(--v)) !important; line-height: calc(20.83 * var(--v)) !important; letter-spacing: 0.4216em !important; font-weight: 400 !important;
  }
  /* address + phone lines: no tracking (PSD run tracking 0); the phone line has double spaces around • in the PSD */
  body.page-id-1206 .elementor-image-box-description::first-line { word-spacing: 0 !important; }
  body.page-id-1206 .elementor-image-box-description {
    margin: 0 !important; text-align: left !important; white-space: nowrap !important;
    font-size: calc(12.5 * var(--v)) !important; line-height: calc(20.83 * var(--v)) !important; letter-spacing: 0 !important; word-spacing: 0.3516em !important; font-weight: 400 !important;
  }

}

@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  /* upright tablets: the context reader switches on above 767px — a window taller than any essay makes it
     hand scrolling back to the page, then it shows as one ordinary column like the phone layout */
  .sp-reader-flow { display: block !important; --sp-height: 100000px; }
  .sp-reader-pane { height: auto !important; overflow: visible !important; }
  .sp-reader-pane + .sp-reader-pane { display: none !important; }
  .sp-reader-pane > .elementor-widget-text-editor { position: static !important; top: auto !important; }
  /* contact revision (2026-09-28): no blank line between the name and the address */
  body.page-id-1206 .elementor-image-box-title { margin-bottom: 0 !important; }
  /* upright tablets: sibling-.elementor-kit-6 version of the tap-to-open (Safari :has(:hover) reliability) */
  body.page-id-11 .sp-home #home-logo:hover ~ #home-menu-mobile, body.page-id-11 .sp-home #home-menu-mobile:hover { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }
  body.page-id-11 .sp-home #home-logo:hover ~ #image-alt, body.page-id-11 .sp-home #home-menu-mobile:hover ~ #image-alt { opacity: 0 !important; visibility: hidden !important; }
  /* contact (no mobile PSD): the wordmark as wide as the address under it, as in the contact PSD (ink 262.3px = the address;
     Kevin 2026-10-05: the old text logo's 175px was much smaller than designed) */
  .page-id-1206 .elementor-element-a7fd167 { width: 263.68px !important; max-width: none !important; transform: none !important; }
  /* upright tablets use the phone design: show the phone contents list (Elementor hides it above 900px),
     hide the desktop one, and open it on a tap of the wordmark (the theme script only toggles below 768px) */
  body.page-id-11 .sp-home #home-menu { display: none !important; }
  body.page-id-11 .sp-home #home-menu-mobile:not(.elementor-hidden-mobile) { display: block !important; }
  body.page-id-11 .sp-home:has(#home-logo:hover) #home-menu-mobile, body.page-id-11 .sp-home:has(#home-menu-mobile:hover) #home-menu-mobile { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }
  body.page-id-11 .sp-home:has(#home-logo:hover) #image-alt, body.page-id-11 .sp-home:has(#home-menu-mobile:hover) #image-alt { opacity: 0 !important; visibility: hidden !important; }
  body.page-id-11 .sp-home:has(#home-logo:hover)::before, body.page-id-11 .sp-home:has(#home-menu-mobile:hover)::before { opacity: 0.57 !important; }

  :root {
    /* phones: 1u = 1 PSD px at 360 wide; bigger phones scale up; upright tablets cap at 1.6 (576px column, centred) */
    --u: min(calc(100vw / 360), max(calc(100vh / 640), 1px), 1.6px);
    --x0: max(0px, calc((100vw - 360 * var(--u)) / 2));
    --sp-rest: #CCC9C9;
    --sp-active: #FCFAFA;
  }

  /* ---------- HEADER (all content pages): wordmark + vertical nav column ---------- */
  .elementor-462 {
    position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 0 !important; z-index: 100 !important;
  }
  .elementor-462 .e-con { position: static !important; padding: 0 !important; min-height: 0 !important; }
  .elementor-462 .elementor-widget-icon { display: none !important; }

  /* wordmark (PNG), smaller from 2026-10-02 (PSD 11): ink x 42.67→320, ink top y28.67 → image box 278.79u wide at 41.94u / 27.94u */
  .elementor-462 .sp-logo {
    position: absolute !important; left: calc(var(--x0) + 41.94 * var(--u)) !important; top: calc(27.94 * var(--u)) !important;
    width: calc(278.79 * var(--u)) !important; margin: 0 !important; padding: 0 !important; z-index: 2 !important;
  }


  .elementor-462 .elementor-widget-nav-menu.elementor-hidden-mobile {
    display: block !important; position: absolute !important; top: calc(62.44 * var(--u)) !important;
    left: var(--x0) !important; width: calc(138 * var(--u)) !important; margin: 0 !important;
  }
  .elementor-462 .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main { display: block !important; }
  .elementor-462 .elementor-menu-toggle,
  .elementor-462 .elementor-nav-menu--dropdown { display: none !important; }

  .elementor-462 .elementor-nav-menu,
  .sp-home #home-menu-mobile .elementor-nav-menu {
    display: block !important; flex-direction: column !important; text-align: right !important; margin: 0 !important;
  }
  .elementor-462 .elementor-nav-menu > li,
  .sp-home #home-menu-mobile .elementor-nav-menu > li {
    display: block !important; margin: 0 !important; padding: 0 !important; text-align: right !important;
  }
  .elementor-462 .elementor-nav-menu .elementor-item,
  .sp-home #home-menu-mobile .elementor-nav-menu .elementor-item {
    display: block !important; padding: 0 !important; margin: 0 !important;
    font-size: calc(13.9 * var(--u)) !important; line-height: calc(27.61 * var(--u)) !important;
    letter-spacing: 0 !important; text-align: right !important; justify-content: flex-end !important;
    color: var(--sp-rest) !important; font-weight: 200 !important;
  }
  .elementor-462 .elementor-nav-menu .elementor-item::before,
  .elementor-462 .elementor-nav-menu .elementor-item::after,
  .sp-home #home-menu-mobile .elementor-item::before,
  .sp-home #home-menu-mobile .elementor-item::after { display: none !important; }
  /* PSD sets WORK at 45.83pt vs 41.67pt for the other six words — reproduced as authored */
  .elementor-462 .elementor-nav-menu > li:nth-child(4) > .elementor-item,
  .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(4) > .elementor-item { font-size: calc(15.3 * var(--u)) !important; transform: translateY(calc(1.17 * var(--u))) !important; }
  .elementor-462 .elementor-nav-menu > li.current-menu-item > .elementor-item,
  .elementor-462 .elementor-nav-menu > li.current-menu-ancestor > .elementor-item,
  .elementor-462 .elementor-nav-menu > li.current-page-ancestor > .elementor-item,
  .elementor-462 .elementor-nav-menu .elementor-item.elementor-item-active,
  .elementor-462 .elementor-nav-menu .elementor-item:hover {
    color: var(--sp-active) !important; font-weight: 400 !important;
  }

  /* ---------- CONTENT PAGES (everything except home + contact) ---------- */
  /* short pages: keep the grey texture to the bottom of the screen (fallback = palette content grey) */
  body:not(.page-id-11):not(.page-id-1206) { min-height: 100svh !important; background-color: #6B6866 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con {
    display: block !important; position: relative !important; padding: 0 !important; margin: 0 !important;
    width: 100% !important; max-width: none !important; min-height: 0 !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child {
    padding-bottom: calc(40 * var(--u)) !important;
  }
  /* bibliography: CV tabs follow straight on at the body position */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child:has(+ .e-con) { padding-bottom: calc(1.84 * var(--u)) !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .e-con {
    --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  }

  /* left column → becomes the right-hand list column under the wordmark (x 170→323.3, top 78.7) */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) {
    position: absolute !important; top: calc(68.43 * var(--u)) !important; left: calc(var(--x0) + 170 * var(--u)) !important;
    width: calc(153.33 * var(--u)) !important; max-width: none !important; padding: 0 !important; margin: 0 !important;
    z-index: 5 !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .e-con {
    display: block !important; padding: 0 !important; margin: 0 !important; width: 100% !important; min-height: 0 !important;
  }
  /* the big section title is replaced by the white nav item on mobile */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-heading { display: none !important; }
  /* expanded parent shows only itself + its children (PSD 5/6/8/9): hide the trailing sibling list */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-icon-list ~ .elementor-widget-nav-menu ~ .elementor-widget-nav-menu { display: none !important; }

  /* shared list reset */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-widget-nav-menu, .elementor-widget-icon-list) {
    width: 100% !important; margin: 0 !important; padding: 0 !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-nav-menu--main, .elementor-nav-menu, .elementor-icon-list-items) {
    display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; text-align: right !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-nav-menu > li, .elementor-icon-list-item) {
    display: block !important; margin: 0 !important; padding: 0 !important; text-align: right !important; justify-content: flex-end !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-item, .elementor-icon-list-text, .elementor-icon-list-item > a) {
    display: block !important; padding: 0 !important; margin: 0 !important; text-align: right !important; white-space: nowrap !important;
    font-size: calc(16.67 * var(--u)) !important; line-height: calc(20 * var(--u)) !important; letter-spacing: 0 !important;
    color: var(--sp-rest) !important; font-weight: 200 !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-item::before, .elementor-item::after) { display: none !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-icon-list-icon { display: none !important; }
  /* active level-1 (expanded parent = icon-list, or current item) → white Regular */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) :is(.elementor-icon-list-text, .elementor-item-active, .current-menu-item > .elementor-item, :is(.current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > .elementor-item, .elementor-item:hover) {
    color: var(--sp-active) !important; font-weight: 400 !important;
  }
  /* level-1 list after it: 9.46u gap, then the child list at 11.8px (35.42pt), 14.17 pitch, fixed window with PSD fade */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget.elementor-widget-icon-list { margin-bottom: calc(8.25 * var(--u)) !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-icon-list + .elementor-widget-nav-menu {
    height: calc(151.5 * var(--u)) !important; overflow-y: auto !important; overscroll-behavior: contain !important; scrollbar-width: none !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-icon-list + .elementor-widget-nav-menu::-webkit-scrollbar { display: none !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu .elementor-nav-menu .elementor-item {
    font-size: calc(11.81 * var(--u)) !important; line-height: calc(14.17 * var(--u)) !important;
  }

  /* right column → heading + body. Body block x 39.33→323.67 */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2),
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:not(:first-child) {
    margin-left: calc(var(--x0) + 39.33 * var(--u)) !important; width: calc(284.33 * var(--u)) !important;
    max-width: none !important; padding: 0 !important; display: block !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) {
    padding-top: calc(253.5 * var(--u)) !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .e-con {
    display: block !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; min-height: 0 !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget {
    width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
  }
  /* section heading: 20.83px (62.5pt), right-aligned, 19.7 baseline pitch. Width 165u reproduces the PSD line
     breaks in Jost (one line for "studio bukit ceylon" = 156u; "britishindia / corporate / warehouse" on three) */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading {
    width: calc(153.33 * var(--u)) !important; margin-left: auto !important; margin-bottom: calc(14.56 * var(--u)) !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading .elementor-heading-title {
    font-size: calc(20.83 * var(--u)) !important; line-height: calc(19.7 * var(--u)) !important; letter-spacing: 0 !important;
    text-align: right !important; text-transform: none !important; color: var(--sp-rest) !important; font-weight: 200 !important;
  }
  /* PSD 6: Academia page headings are set at 50pt (16.67px), not 62.5pt — same baseline (line box 22.32 puts it on
     y295) and the same 20px gap to the body (margin trimmed by the extra 2.62) */
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1157, .page-id-1167, .page-id-1537, .page-id-1514, .page-id-1526) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading .elementor-heading-title { font-size: calc(16.67 * var(--u)) !important; line-height: calc(22.32 * var(--u)) !important; }
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1157, .page-id-1167, .page-id-1537, .page-id-1514, .page-id-1526) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading { margin-bottom: calc(11.94 * var(--u)) !important; }
  /* PSD 8/9: Work project headings are white */
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1604, .page-id-1625, .page-id-1651, .page-id-1674, .single-sp_work, .tax-sp_work_group) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading .elementor-heading-title { color: var(--sp-active) !important; }
  /* no heading → body still starts where it would under a one-line heading (ascender at y315) */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2):not(:has(.elementor-widget-heading)) {
    padding-top: calc(287.52 * var(--u)) !important;
  }
  /* body copy: 11.11px (33.33pt), 13.33 pitch, blank-line paragraph gap, justified + hyphenated */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor,
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor :is(p, li, span) {
    font-size: calc(11.11 * var(--u)) !important; line-height: calc(13.33 * var(--u)) !important; letter-spacing: 0 !important;
    color: #B8B5B5 !important; text-align: justify !important; hyphens: auto !important; -webkit-hyphens: auto !important;
  }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor { columns: auto !important; column-count: 1 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor p { margin: 0 0 calc(13.33 * var(--u)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor p:last-child { margin-bottom: 0 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor + .elementor-widget { margin-top: calc(26.67 * var(--u)) !important; }

  /* ---------- HOME (PSD 1 / 2 / 3 / 3a) ---------- */
  body.page-id-11 .sp-home {
    min-height: 100svh !important; height: 100svh !important; padding: 0 !important; position: relative !important; display: block !important;
  }
  /* wordmark (PNG): ink x 13.7→345.7, ink top at 51.36% of the screen = just below centre (PSD 1/2/3, y329 of 640) */
  body.page-id-11 .sp-home #home-logo {
    position: absolute !important; left: calc(var(--x0) + 40.60 * var(--u)) !important; top: 49.844% !important;
    width: calc(278.79 * var(--u)) !important; margin: 0 !important; padding: 0 !important;
  }
  body.page-id-11 .sp-home #home-logo .elementor-heading-title { margin-top: -0.2618% !important; }
  body.page-id-11 .sp-home:hover,
  body.page-id-11 .sp-home.mobile-menu-open { --overlay-opacity: 0.57 !important; }
  body.page-id-11 .sp-home.mobile-menu-open::before { opacity: 0.57 !important; }
  /* contents list: right edge x138, first cap-top y78.7, 30.33 pitch (home PSD 3/3a) */
  body.page-id-11 .sp-home #home-menu-mobile {
    position: absolute !important; top: calc(62.77 * var(--u)) !important; left: var(--x0) !important; width: calc(138 * var(--u)) !important;
    margin: 0 !important;
  }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu .elementor-item { line-height: calc(27.61 * var(--u)) !important; }
  /* PSD 3m (2026-10-02): even rows again, no extra step before BIOGRAPHY */
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(5) { margin-top: 0 !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu .elementor-item:is(:hover, :active, :focus-visible) {
    color: var(--sp-active) !important; font-weight: 400 !important;
  }
  /* caption: 12.5px (37.5pt) italic, left x14, two lines ending y624 */
  body.page-id-11 .sp-home #image-alt {
    left: calc(var(--x0) + 14 * var(--u)) !important; right: auto !important; bottom: calc(15.54 * var(--u)) !important;
    width: calc(332 * var(--u)) !important; max-width: none !important; text-align: left !important;
  }
  body.page-id-11 .sp-home #image-alt,
  body.page-id-11 .sp-home #image-alt p {
    font-size: calc(12.5 * var(--u)) !important; line-height: calc(15 * var(--u)) !important; letter-spacing: 0 !important;
    color: #D7D5D5 !important; margin: 0 !important;
  }
  body.page-id-11 .sp-home #image-alt .sp-cap-title { display: block !important; width: calc(205 * var(--u)) !important; }
  body.page-id-11 .sp-home #image-alt .sp-cap-date { position: absolute !important; right: 0 !important; bottom: 0 !important; }
  body.page-id-11 .sp-home #image-alt .sp-cap-sep { display: none !important; }
}

/* ==== OPTICAL EDGES — Kevin aligns the visible letter edge (not the text box) to his guides ====
   Each word is shifted by its own first/last-letter side-bearing in Avenir Next (measured from the font, in em, so it
   holds at every size; separate values for UltraLight rest and Regular active). Keyed to menu-item / page IDs. */
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-995 > a.elementor-item { position: relative !important; left: 0.0860em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-995:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-995 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0770em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-996 > a.elementor-item { position: relative !important; left: 0.0240em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-996:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-996 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0160em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1038 > a.elementor-item { position: relative !important; left: 0.1020em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1038:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1038 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0870em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1039 > a.elementor-item { position: relative !important; left: 0.0230em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1039:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1039 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0090em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1081 > a.elementor-item { position: relative !important; left: 0.1020em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1081:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1081 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0870em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1082 > a.elementor-item { position: relative !important; left: 0.0230em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1082:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1082 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0090em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1150 > a.elementor-item { position: relative !important; left: 0.0540em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1150:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1150 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0450em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1524 > a.elementor-item { position: relative !important; left: 0.0620em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1524:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1524 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0560em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1554 > a.elementor-item { position: relative !important; left: 0.0230em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1554:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1554 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0090em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1555 > a.elementor-item { position: relative !important; left: 0.0620em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1555:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1555 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0560em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1562 > a.elementor-item { position: relative !important; left: 0.0230em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1562:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1562 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0090em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1563 > a.elementor-item { position: relative !important; left: 0.0620em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1563:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1563 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0560em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1582 > a.elementor-item { position: relative !important; left: 0.0960em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1582:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1582 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0860em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1685 > a.elementor-item { position: relative !important; left: 0.0620em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1685:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1685 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0560em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1686 > a.elementor-item { position: relative !important; left: 0.1020em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1686:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1686 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0920em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1696 > a.elementor-item { position: relative !important; left: 0.0620em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1696:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1696 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0560em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1703 > a.elementor-item { position: relative !important; left: 0.0620em !important; }
.elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1703:is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) li.menu-item-1703 > a.elementor-item:is(:hover, .elementor-item-active) { left: 0.0560em !important; }
body.page-id-922 .elementor-element-29248b2 .elementor-icon-list-text { position: relative !important; left: 0.0450em !important; }
body.page-id-973 .elementor-element-29248b2 .elementor-icon-list-text { position: relative !important; left: 0.0450em !important; }
body.page-id-984 .elementor-element-29248b2 .elementor-icon-list-text { position: relative !important; left: 0.0450em !important; }
body.page-id-1157 .elementor-element-798ffa1 .elementor-icon-list-text { position: relative !important; left: 0.0560em !important; }
body.page-id-1167 .elementor-element-c279128 .elementor-icon-list-text { position: relative !important; left: 0.0560em !important; }
body:is(.page-id-1625, .tax-sp_work_group) .elementor-element-ffeb046 .elementor-icon-list-text { position: relative !important; left: 0.0920em !important; }
body:is(.page-id-1651, .single-sp_work) .elementor-element-9b54bb7 .elementor-icon-list-text { position: relative !important; left: 0.0920em !important; }
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  .elementor-462 .elementor-nav-menu > li:nth-child(1) > a.elementor-item { position: relative !important; left: -0.0720em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(1):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(1) > a.elementor-item:hover { left: -0.0560em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(1) > a.elementor-item { position: relative !important; left: -0.0720em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(1) > a.elementor-item:hover { left: -0.0560em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(2) > a.elementor-item { position: relative !important; left: -0.0280em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(2):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(2) > a.elementor-item:hover { left: -0.0140em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(2) > a.elementor-item { position: relative !important; left: -0.0280em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(2) > a.elementor-item:hover { left: -0.0140em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(3) > a.elementor-item { position: relative !important; left: -0.0180em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(3):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(3) > a.elementor-item:hover { left: -0.0100em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(3) > a.elementor-item { position: relative !important; left: -0.0180em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(3) > a.elementor-item:hover { left: -0.0100em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(4) > a.elementor-item { position: relative !important; left: -0.0280em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(4):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(4) > a.elementor-item:hover { left: -0.0140em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(4) > a.elementor-item { position: relative !important; left: -0.0280em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(4) > a.elementor-item:hover { left: -0.0140em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(5) > a.elementor-item { position: relative !important; left: -0.1060em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(5):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(5) > a.elementor-item:hover { left: -0.0940em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(5) > a.elementor-item { position: relative !important; left: -0.1060em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(5) > a.elementor-item:hover { left: -0.0940em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(6) > a.elementor-item { position: relative !important; left: -0.1060em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(6):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(6) > a.elementor-item:hover { left: -0.0940em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(6) > a.elementor-item { position: relative !important; left: -0.1060em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(6) > a.elementor-item:hover { left: -0.0940em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(7) > a.elementor-item { position: relative !important; left: -0.0720em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(7):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(7) > a.elementor-item:hover { left: -0.0560em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(7) > a.elementor-item { position: relative !important; left: -0.0720em !important; }
  body.page-id-11 .sp-home #home-menu .elementor-nav-menu > li:nth-child(7) > a.elementor-item:hover { left: -0.0560em !important; }
  body.page-id-270 .elementor-element-cd48104 .elementor-heading-title { position: relative !important; left: 0.0180em !important; }
  body.page-id-729 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0960em !important; }
  body.page-id-922 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0960em !important; }
  body.page-id-973 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0960em !important; }
  body.page-id-984 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0960em !important; }
  body.page-id-1033 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0960em !important; }
  body.page-id-1034 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0960em !important; }
  body.page-id-1137 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0180em !important; }
  body.page-id-1157 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0180em !important; }
  body.page-id-1167 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0180em !important; }
  body.page-id-1537 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0180em !important; }
  body.page-id-1514 .elementor-element-a87c64e .elementor-heading-title { position: relative !important; left: 0.0180em !important; }
  body.page-id-1526 .elementor-element-676ea93 .elementor-heading-title { position: relative !important; left: 0.0180em !important; }
  body.page-id-1604 .elementor-element-1feaa22 .elementor-heading-title { position: relative !important; left: 0.0300em !important; }
  body:is(.page-id-1625, .tax-sp_work_group) .elementor-element-aa44f11 .elementor-heading-title { position: relative !important; left: 0.0300em !important; }
  body:is(.page-id-1651, .single-sp_work) .elementor-element-823f682 .elementor-heading-title { position: relative !important; left: 0.0300em !important; }
  body.page-id-1674 .elementor-element-aa44f11 .elementor-heading-title { position: relative !important; left: 0.0300em !important; }
  body.page-id-1707 .elementor-element-e93663b .elementor-heading-title { position: relative !important; left: 0.0150em !important; }
  body.page-id-1723 .elementor-element-719211e .elementor-heading-title { position: relative !important; left: 0.0150em !important; }
  body.page-id-973 .elementor-element-765130a .elementor-heading-title { position: relative !important; left: -0.0620em !important; }
  body.page-id-984 .elementor-element-f0d4dc0 .elementor-heading-title { position: relative !important; left: -0.0620em !important; }
  body.page-id-1157 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: -0.0500em !important; }
  body.page-id-1167 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: -0.0500em !important; }
  body.page-id-1537 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: -0.0200em !important; }
  body.page-id-1514 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: -0.0500em !important; }
  body.page-id-1526 .elementor-element-b9e5563 .elementor-heading-title { position: relative !important; left: -0.0340em !important; }
  body:is(.page-id-1625, .tax-sp_work_group) .elementor-element-1d6501d .elementor-heading-title { position: relative !important; left: -0.0620em !important; }
  body:is(.page-id-1651, .single-sp_work) .elementor-element-bfb6bbb .elementor-heading-title { position: relative !important; left: -0.0620em !important; }
  body.page-id-1674 .elementor-element-1d6501d .elementor-heading-title { position: relative !important; left: -0.1020em !important; }
}
@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  .elementor-462 .elementor-nav-menu > li:nth-child(1) > a.elementor-item { position: relative !important; left: 0.0180em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(1):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(1) > a.elementor-item:hover { left: 0.0120em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(1) > a.elementor-item { position: relative !important; left: 0.0180em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(1) > a.elementor-item:is(:hover, :active, :focus-visible) { left: 0.0120em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(2) > a.elementor-item { position: relative !important; left: 0.0960em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(2):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(2) > a.elementor-item:hover { left: 0.0900em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(2) > a.elementor-item { position: relative !important; left: 0.0960em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(2) > a.elementor-item:is(:hover, :active, :focus-visible) { left: 0.0900em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(3) > a.elementor-item { position: relative !important; left: 0.0180em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(3):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(3) > a.elementor-item:hover { left: 0.0100em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(3) > a.elementor-item { position: relative !important; left: 0.0180em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(3) > a.elementor-item:is(:hover, :active, :focus-visible) { left: 0.0100em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(4) > a.elementor-item { position: relative !important; left: 0.0300em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(4):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(4) > a.elementor-item:hover { left: 0.0010em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(4) > a.elementor-item { position: relative !important; left: 0.0300em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(4) > a.elementor-item:is(:hover, :active, :focus-visible) { left: 0.0010em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(5) > a.elementor-item { position: relative !important; left: 0.0150em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(5):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(5) > a.elementor-item:hover { left: 0.0000em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(5) > a.elementor-item { position: relative !important; left: 0.0150em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(5) > a.elementor-item:is(:hover, :active, :focus-visible) { left: 0.0000em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(6) > a.elementor-item { position: relative !important; left: 0.0150em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(6):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(6) > a.elementor-item:hover { left: 0.0000em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(6) > a.elementor-item { position: relative !important; left: 0.0150em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(6) > a.elementor-item:is(:hover, :active, :focus-visible) { left: 0.0000em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(7) > a.elementor-item { position: relative !important; left: 0.0180em !important; }
  .elementor-462 .elementor-nav-menu > li:nth-child(7):is(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item, .elementor-462 .elementor-nav-menu > li:nth-child(7) > a.elementor-item:hover { left: 0.0120em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(7) > a.elementor-item { position: relative !important; left: 0.0180em !important; }
  body.page-id-11 .sp-home #home-menu-mobile .elementor-nav-menu > li:nth-child(7) > a.elementor-item:is(:hover, :active, :focus-visible) { left: 0.0120em !important; }
  body.page-id-973 .elementor-element-765130a .elementor-heading-title { position: relative !important; left: 0.0240em !important; }
  body.page-id-984 .elementor-element-f0d4dc0 .elementor-heading-title { position: relative !important; left: 0.0860em !important; }
  body.page-id-1157 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: 0.0620em !important; }
  body.page-id-1167 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: 0.0960em !important; }
  body.page-id-1537 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: 0.0230em !important; }
  body.page-id-1514 .elementor-element-99c2420 .elementor-heading-title { position: relative !important; left: 0.1020em !important; }
  body.page-id-1526 .elementor-element-b9e5563 .elementor-heading-title { position: relative !important; left: 0.0620em !important; }
  body:is(.page-id-1625, .tax-sp_work_group) .elementor-element-1d6501d .elementor-heading-title { position: relative !important; left: 0.1020em !important; }
  body:is(.page-id-1651, .single-sp_work) .elementor-element-bfb6bbb .elementor-heading-title { position: relative !important; left: 0.0620em !important; }
  body.page-id-1674 .elementor-element-1d6501d .elementor-heading-title { position: relative !important; left: 0.0620em !important; }
}


/* ---------- menu hover crossfade (2026-09-28) ----------
   Avenir Next has no variable weights, so UltraLight to Regular can't animate (it snaps).
   Fade a Regular copy of the label over the UltraLight text instead; the finished hover state is the same as before.
   The copy's text is the link's own label (data-sp-lbl, added to every menu link by the Work projects snippet), so new
   and renamed menu items need nothing here (2026-10-13; it used to be a hand-kept --sp-lbl list per menu item). */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  :is(.elementor-462 .elementor-nav-menu, body.page-id-11 .sp-home #home-menu .elementor-nav-menu) > li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active),
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-nav-menu li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active) { position: relative !important; transition: color 0.35s ease !important; }
  :is(.elementor-462 .elementor-nav-menu, body.page-id-11 .sp-home #home-menu .elementor-nav-menu) > li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active):hover,
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-nav-menu li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active):hover { font-weight: 200 !important; color: transparent !important; }
  :is(.elementor-462 .elementor-nav-menu, body.page-id-11 .sp-home #home-menu .elementor-nav-menu) > li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active)::after,
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-nav-menu li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active)::after {
    content: attr(data-sp-lbl) !important; /* the link's own text (data-sp-lbl, set by the Work snippet), 2026-10-13 */ display: block !important; position: absolute !important;
    left: 0 !important; top: 0 !important; bottom: auto !important; height: auto !important;
    margin: 0 !important; padding: inherit !important; box-sizing: border-box !important; border: 0 !important; background: none !important; transform: none !important;
    font: inherit !important; font-weight: 400 !important; letter-spacing: inherit !important; text-transform: inherit !important; text-align: inherit !important; white-space: nowrap !important;
    color: var(--sp-active) !important; opacity: 0 !important; transition: opacity 0.35s ease !important; pointer-events: none !important;
  }
  :is(.elementor-462 .elementor-nav-menu, body.page-id-11 .sp-home #home-menu .elementor-nav-menu) > li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active)::after { right: auto !important; width: auto !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-nav-menu li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active)::after { right: 0 !important; width: auto !important; }
  :is(.elementor-462 .elementor-nav-menu, body.page-id-11 .sp-home #home-menu .elementor-nav-menu) > li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active):hover::after,
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-nav-menu li:not(.current-menu-item, .current_page_item, .current-page-ancestor, .current-menu-ancestor, .current_page_ancestor, .current-page-parent, .current-menu-parent, .current_page_parent) > a.elementor-item:not(.elementor-item-active):hover::after { opacity: 1 !important; }
}


/* ---------- project pages with the image carousel (Kevin 2026-09-30) ----------
   Script and images scroll together as one selection, under a fixed project title.
   The carousel's own box-scrolling (Swiper) is switched off; images stack in the column. */
body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel, body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel > .elementor-widget-container, body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel .elementor-image-carousel-wrapper, body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel .swiper {
  height: auto !important; max-height: none !important; overflow: visible !important;
}
body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel .swiper { pointer-events: none !important; }
body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel .swiper-wrapper { display: flex !important; flex-direction: column !important; transform: none !important; height: auto !important; }
body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel .swiper-slide { width: 100% !important; height: auto !important; flex-shrink: 0 !important; }
body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel .swiper-slide-duplicate { display: none !important; }

/* ---------- section scripts in the context reader (Kevin 2026-10-02) ----------
   Every section's script reads in two panes on the column guides. Edge lines are a solid #838181 (pane 1 top once
   scrolled, pane 2 bottom while more follows) — no masks. The panes run from the first
   text line to the bottom line (--sp-bottom). The page itself no longer scrolls on its own. */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body:not(.page-id-11):not(.page-id-1206):not(.page-id-1723) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child { min-height: var(--sp-vh) !important; padding-bottom: 0 !important; }
  /* edge lines (Kevin's PSD): the page script marks exactly the top two visible lines of pane 1 once scrolled and the
     bottom two of pane 2 while more follows; solid #838181 */
  ::highlight(sp-edge) { color: #838181; }
  ::highlight(sp-gone) { color: transparent; } /* a line straddling a frame edge: hidden whole */
  ::highlight(sp-ghost-top), ::highlight(sp-ghost-bottom) { color: #C3C0C0; } /* the plugin's own (3–4 line) marking: no effect */
}

/* ---------- project pages (script + images) and the Work sub-category pages (text + photo), Kevin 2026-10-02 ----------
   The page scrolls (after the script has read through); wordmark, nav, left column and project title stay put.
   Script and images are covered above the first text line (y219.33) and below the bottom line by a fixed layer of the
   page's own background with straight edges (clip-path, no transparency). First image a gracious 60 below the script. */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .page-id-2623, .page-id-1625, .page-id-1674, .single-sp_work, .tax-sp_work_group) .elementor-462 { position: fixed !important; }
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .page-id-2623, .page-id-1625, .page-id-1674, .single-sp_work, .tax-sp_work_group) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child { min-height: 0 !important; padding-bottom: calc(var(--sp-vh) * 75.6 / 991) !important; }
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .page-id-2623, .page-id-1625, .page-id-1674, .single-sp_work, .tax-sp_work_group) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) { position: fixed !important; left: var(--ox) !important; }
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .page-id-2623, .page-id-1625, .page-id-1674, .single-sp_work, .tax-sp_work_group) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) { padding-top: calc(219.33 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .page-id-2623, .page-id-1625, .page-id-1674, .single-sp_work, .tax-sp_work_group) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .elementor-widget-heading {
    position: fixed !important; top: calc(152.02 * var(--v)) !important; left: calc(var(--ox) + 502 * var(--v)) !important;
    width: calc(885.8 * var(--v)) !important; margin: 0 !important; z-index: 6 !important;
  }
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .page-id-2623, .page-id-1625, .page-id-1674, .single-sp_work, .tax-sp_work_group) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel { margin-top: calc(60 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .page-id-2623, .page-id-1625, .page-id-1674, .single-sp_work, .tax-sp_work_group)::after {
    content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; height: 100lvh; z-index: 4; pointer-events: none; background: inherit;
    clip-path: polygon(evenodd, 0 0, 100% 0, 100% 100%, 0 100%, 0 0, 0 var(--sp-band-t, calc(219.33 * var(--v))), 100% var(--sp-band-t, calc(219.33 * var(--v))), 100% var(--sp-band-b, var(--sp-bottom)), 0 var(--sp-band-b, var(--sp-bottom)), 0 var(--sp-band-t, calc(219.33 * var(--v)))); /* the page script moves an edge to the gap between two lines when a line of text crosses it */
  }
}

/* ---------- phones + upright tablets: the wordmark stays put and the page slides under it (Kevin 2026-10-02) ----------
   body::after is the page's own background over the content, solid down to y56 with a straight edge (clip-path, no
   transparency).
   */
@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  body:not(.page-id-11):not(.page-id-1206) .elementor-462, body:not(.page-id-11):not(.page-id-1206) .elementor-462 .e-con { z-index: auto !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor-462 .sp-logo { position: fixed !important; z-index: 102 !important; }
  body:not(.page-id-11):not(.page-id-1206) .elementor-462 .elementor-widget-nav-menu.elementor-hidden-mobile { z-index: 6 !important; }
  body:not(.page-id-11):not(.page-id-1206)::after {
    content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; height: 100lvh;
    z-index: 101; pointer-events: none; background: inherit;
    clip-path: polygon(evenodd, 0 0, 100% 0, 100% 100%, 0 100%, 0 0, 0 var(--sp-band-t, calc(66 * var(--u))), 100% var(--sp-band-t, calc(66 * var(--u))), 100% var(--sp-band-b, 100%), 0 var(--sp-band-b, 100%), 0 var(--sp-band-t, calc(66 * var(--u)))); /* edges set by the page script: top where the content starts at rest, bottom = screen (phones) or the PSD bottom guide (tablets) */
  }
  /* iOS 26 Safari shows the page scrolling behind the status bar and the address bar. On phones the page therefore
     scrolls inside body (position: relative so the header scrolls with it), the document itself never moves, and
     the bars show the plain page grey. Confirmed on Razaq's iPhone 2026-10-02. */
  html:has(> body:not(.page-id-11):not(.page-id-1206)) { height: 100%; overflow: hidden; background-color: #6B6866; }
  html > body:not(.page-id-11):not(.page-id-1206) { position: relative; height: 100%; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: none; }
  /* project pages: the first image 1.5 lines below the script (a script widget sits between them) */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) > .my-vertical-carousel { margin-top: calc(20 * var(--u)) !important; }
}

/* ---------- bibliography (Kevin's "6.bibliography feed" doc, PSD f1/f2 + mobile 11, 2026-10-02) ----------
   One Text Editor (.sp-bib-text). sp-bib-h section head · sp-bib-sub sub-head · sp-bib-t title line (on the column
   edge) · sp-bib-d place/date line (set back 1.75em, as in the doc) · sp-bib-gap blank line. Projects with images
   carry <a class="sp-bib-link" href="#bib-…"> (tab CSS ID); the dot is drawn after it. The page script marks the
   open entry's lines .is-open: text white, dot red. */
body.page-id-1723 .e-n-tabs-heading { display: none !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p {
  margin: 0 !important; padding: 0 !important; font-family: var(--sp-verdana) !important; font-weight: 400 !important;
  font-style: normal !important; letter-spacing: 0 !important; color: #AEABAB !important; text-align: right !important; transition: color 0.3s ease !important;
}
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib em { font-style: italic !important; font-family: var(--sp-verdana) !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p:is(.sp-bib-h, .sp-bib-sub) { font-family: var(--sp-avenir) !important; font-weight: 200 !important; color: #C8C5C5 !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-d { padding-right: 1.75em !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text a.sp-bib-link { color: inherit !important; text-decoration: none !important; cursor: pointer !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text a.sp-bib-link::after { content: "\00a0\2022"; font-style: normal; color: #C8C5C5; transition: color 0.3s ease; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-has-img,
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-has-img + p.sp-bib-d { cursor: pointer !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.is-open { color: #FFFEFE !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.is-open a.sp-bib-link::after { color: #F40000; }
@media (hover: hover) {
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-has-img:hover,
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-has-img:hover + p.sp-bib-d { color: #FFFEFE !important; }
}
/* images: no box-scrolling carousel, just the stacked images */
body.page-id-1723 .e-n-tabs-content .my-vertical-carousel, body.page-id-1723 .e-n-tabs-content .my-vertical-carousel > .elementor-widget-container,
body.page-id-1723 .e-n-tabs-content .my-vertical-carousel .elementor-image-carousel-wrapper, body.page-id-1723 .e-n-tabs-content .my-vertical-carousel .swiper {
  height: auto !important; max-height: none !important; overflow: visible !important;
}
body.page-id-1723 .e-n-tabs-content .my-vertical-carousel .swiper { pointer-events: none !important; }
body.page-id-1723 .e-n-tabs-content .my-vertical-carousel .swiper-wrapper { display: flex !important; flex-direction: column !important; transform: none !important; height: auto !important; }
body.page-id-1723 .e-n-tabs-content .my-vertical-carousel .swiper-slide { width: 100% !important; height: auto !important; flex-shrink: 0 !important; }
body.page-id-1723 .e-n-tabs-content .my-vertical-carousel .swiper-slide-duplicate { display: none !important; }
body.page-id-1723 .e-n-tabs-content > .e-con { margin: 0 !important; padding: 0 !important; max-width: none !important; --padding-top: 0px; --padding-left: 0px; --padding-right: 0px; --padding-bottom: 0px; }
body.page-id-1723 .e-n-tabs-content .elementor-widget-image-box { margin: 0 !important; padding: 0 !important; }
body.page-id-1723 .e-n-tabs-content .elementor-image-box-content { text-align: left !important; }
body.page-id-1723 .e-n-tabs-content :is(.elementor-image-box-title, .elementor-image-box-description) { padding: 0 !important; letter-spacing: 0 !important; white-space: nowrap !important; }

@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body.page-id-1723 { min-height: var(--sp-vh) !important; } /* body clips (overflow-x hidden); keep it full height now the columns are fixed */
  /* name block (PSD f1/f2): on the x590.55 guide, name on the title baseline y177, 16.67 on 20 */
  body.page-id-1723 .e-n-tabs-content > .e-con.e-active > .elementor-widget-image-box {
    position: fixed !important; top: calc(160.3 * var(--v)) !important; left: calc(var(--ox) + 590.55 * var(--v)) !important; width: calc(797.25 * var(--v)) !important;
  }
  body.page-id-1723 .e-n-tabs-content :is(.elementor-image-box-title, .elementor-image-box-description) { font-size: calc(16.67 * var(--v)) !important; line-height: calc(20 * var(--v)) !important; color: #C8C5C5 !important; }
  body.page-id-1723 .e-n-tabs-content .elementor-image-box-title { margin: 0 0 calc(20 * var(--v)) 0 !important; position: relative !important; left: -0.091em !important; } /* Verdana k side-bearing: ink on the guide */
  body.page-id-1723 .e-n-tabs-content .elementor-image-box-description { margin: 0 !important; position: relative !important; left: -0.08em !important; }
  /* the list: its own scroll window from the first text line (y377.95 guide) to the bottom line, right edge on x592.2
     (the "-" ink on the 590.55 guide); academé on baseline y397.3, first entry y437.3. Edge lines: page script, solid
     #838181 (bottom two visible lines; top two once scrolled), no mask */
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget.sp-bib-text {
    position: fixed !important; top: calc(377.95 * var(--v)) !important; bottom: calc(var(--sp-vh) * 75.6 / 991) !important; /* PSD bottom guide 915.4 of 991, as a share of the window height */ left: calc(var(--ox) + 60 * var(--v)) !important;
    width: calc(532.2 * var(--v)) !important; max-width: none !important; margin: 0 !important;
    padding: calc(0.27 * var(--v)) 0 calc(50 * var(--v)) 0 !important;
    overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain !important; scrollbar-width: none !important;
    scroll-snap-type: y mandatory; scroll-padding-top: calc(0.27 * var(--v)); /* comes to rest on a whole line; the window itself never changes size — a line crossing its edge is hidden whole by the page script (Kevin 2026-10-05: the edge moved while scrolling and the text flickered) */
  }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p { scroll-snap-align: start; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget.sp-bib-text::-webkit-scrollbar { display: none !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p { font-size: calc(16.67 * var(--v)) !important; line-height: calc(20 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-h { font-size: calc(25 * var(--v)) !important; line-height: calc(22.41 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-sub { font-size: calc(20.83 * var(--v)) !important; line-height: calc(20 * var(--v)) !important; }
  /* the open project's images: x620.08–1387.8 from y377.95 to the bottom line, 37.5 apart; they scroll on their own.
     Only the pictures scroll (Kevin 2026-10-06, iPad): the tab itself must not be a scroll box, because iPhone/iPad
     Safari clips the fixed name block inside a scrolling box — the name and credentials disappeared, the images stayed */
  body.page-id-1723 .e-n-tabs-content > .e-con.e-active {
    position: fixed !important; top: calc(377.95 * var(--v)) !important; bottom: calc(var(--sp-vh) * 75.6 / 991) !important; /* PSD bottom guide 915.4 of 991, as a share of the window height */ left: calc(var(--ox) + 620.08 * var(--v)) !important;
    width: calc(767.72 * var(--v)) !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
    overflow: visible !important;
  }
  body.page-id-1723 .e-n-tabs-content > .e-con.e-active > .my-vertical-carousel {
    position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important;
    overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain !important; scrollbar-width: none !important;
  }
  body.page-id-1723 .e-n-tabs-content > .e-con.e-active > .my-vertical-carousel::-webkit-scrollbar { display: none !important; }
  body.page-id-1723 .e-n-tabs-content > .e-con.e-active > .my-vertical-carousel .swiper-slide { margin: 0 0 calc(37.5 * var(--v)) 0 !important; }
  body.page-id-1723 .e-n-tabs-content > .e-con.e-active > .my-vertical-carousel .swiper-slide:last-child { margin-bottom: 0 !important; }
}
@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  /* phone / upright tablet (PSD 11): name block beside the nav (x166.33, first baseline y114.67); the list below it,
     academé on baseline y288.54, right edge x319.7; a dotted entry opens its images under it (.sp-bib-inline) */
  body.page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) { display: flow-root !important; position: relative !important; }
  body.page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child,
  body.page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) { display: contents !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) { padding: 0 !important; min-height: 0 !important; } /* only holds the image script: no space at the end of the list */
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-text-editor + .elementor-widget-html { margin-top: 0 !important; } /* the invisible link-script widget after the list */
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:nth-child(2) {
    position: absolute !important; top: calc(103.56 * var(--u)) !important; left: calc(var(--x0) + 165.33 * var(--u)) !important;
    width: calc(180 * var(--u)) !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; z-index: 5 !important;
  }
  body.page-id-1723 .e-n-tabs-content :is(.elementor-image-box-title, .elementor-image-box-description) { font-size: calc(11.11 * var(--u)) !important; line-height: calc(13.33 * var(--u)) !important; color: #D3D1D1 !important; }
  body.page-id-1723 .e-n-tabs-content .elementor-image-box-title { margin: 0 0 calc(13.33 * var(--u)) 0 !important; }
  body.page-id-1723 .e-n-tabs-content .elementor-image-box-description { margin: 0 !important; }
  body.page-id-1723 .e-n-tabs-content .my-vertical-carousel { display: none !important; }
  body.page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) > .elementor-widget.sp-bib-text {
    position: static !important; margin: calc(275.82 * var(--u)) 0 0 calc(var(--x0) + 14 * var(--u)) !important;
    width: calc(305.7 * var(--u)) !important; max-width: none !important; padding: 0 0 calc(40 * var(--u)) 0 !important; height: auto !important;
  }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p { font-size: calc(11.11 * var(--u)) !important; line-height: calc(13.33 * var(--u)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-h { font-size: calc(16.67 * var(--u)) !important; line-height: calc(14.94 * var(--u)) !important; color: #FFFEFE !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib p.sp-bib-sub { font-size: calc(13.89 * var(--u)) !important; line-height: calc(13.33 * var(--u)) !important; color: #FFFEFE !important; }
  body.page-id-1723 .sp-bib-inline { margin: calc(13.33 * var(--u)) 0 calc(20 * var(--u)) calc(25.33 * var(--u)); text-align: left; } /* images on the body column, x39.33 */
  body.page-id-1723 .sp-bib-inline figure { margin: 0 0 calc(13.33 * var(--u)) 0; }
  body.page-id-1723 .sp-bib-inline img { display: block; width: 100%; height: auto; }
  body.page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .sp-bib-inline figcaption { margin-top: calc(5 * var(--u)); font-family: var(--sp-avenir) !important; font-style: italic !important; font-weight: 200 !important;
    font-size: calc(11.11 * var(--u)) !important; line-height: calc(13.33 * var(--u)) !important; color: #D7D5D5 !important; text-align: left !important; }
}

/* ---------- Kevin 2026-10-04 ---------- */
/* edge lines and lines hidden at a frame edge (page script), on every device */
::highlight(sp-edge) { color: #838181; }
::highlight(sp-gone) { color: transparent; }
/* desktop project pages: the script reads in its own scroll window, at most half the window high so the first picture
   shows under it; script and pictures scroll together under the project title (Kevin 2026-10-05, reverting 2026-10-04 point 4) */
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body:not(.page-id-11):not(.page-id-1206):is(.page-id-1167, .page-id-1537, .page-id-1526, .page-id-1651, .single-sp_work) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(2) .sp-reader-flow {
    --sp-height: calc((var(--sp-bottom) - 279.33 * var(--v)) / 2) !important;
  }
}
/* point 1: back-to-top arrow, shown at the bottom of a scrolled page */
.sp-top { display: none; }
body:not(.page-id-11):not(.page-id-1206) .sp-top {
  display: block; position: fixed; z-index: 103; width: 24px; height: 24px; padding: 0; margin: 0; border: 0; background: transparent;
  cursor: pointer; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; -webkit-tap-highlight-color: transparent;
}
body:not(.page-id-11):not(.page-id-1206) .sp-top::before {
  content: ""; position: absolute; left: 7px; top: 9px; width: 9px; height: 9px;
  border-top: 1px solid #CCC9C9; border-left: 1px solid #CCC9C9; transform: rotate(45deg); transition: border-color 0.3s ease;
}
body:not(.page-id-11):not(.page-id-1206) .sp-top.is-on { opacity: 1; pointer-events: auto; }
@media (hover: hover) { body:not(.page-id-11):not(.page-id-1206) .sp-top:hover::before { border-color: #FCFAFA; } }
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  /* centred under the body columns, in the margin below the bottom line */
  body:not(.page-id-11):not(.page-id-1206) .sp-top { left: calc(var(--ox) + 944.9 * var(--v) - 12px); top: calc((var(--sp-bottom) + var(--sp-vh)) / 2 - 12px); }
}
@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  /* in the empty left margin beside the body column, clear of the phone browser's bottom bar */
  body:not(.page-id-11):not(.page-id-1206) .sp-top { left: calc(var(--x0) + 19.67 * var(--u) - 12px); bottom: 72px; }
}

/* ---------- Kevin 2026-10-06: homepage rests 3 s after the last movement ----------
   The page script (Code Snippets #7) marks the hero .sp-idle 3 s after the pointer/finger last moved: the window lights
   back up, the contents close and the caption returns — as when the cursor leaves the window. Phones and iPads have no
   "cursor leaves", so the dim used to stay on there. (:not(#…) only adds weight over the :hover rules.) */
body.page-id-11 .sp-home.sp-idle:not(#sp-a):not(#sp-b) { --overlay-opacity: 0 !important; }
body.page-id-11 .sp-home.sp-idle:not(#sp-a):not(#sp-b)::before { opacity: 0 !important; }
body.page-id-11 .sp-home.sp-idle:not(#sp-a):not(#sp-b) :is(#home-menu, #home-menu-mobile) { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
body.page-id-11 .sp-home.sp-idle:not(#sp-a):not(#sp-b) #image-alt { opacity: 1 !important; visibility: visible !important; }

/* ---------- Kevin 2026-10-08: the Bibliography opens like folders (PSD f0, f0a–f0e; mobile PSD 11) ----------
   .sp-sec = a section (name + contents) · .sp-pos = a position under work / practice (.sp-pos-h title/date lines,
   .sp-pos-c its contents). The link script opens one section and one position at a time. Closed positions and
   projects with pictures carry a red dot; open, the dot turns pure white and the lettering a lighter grey.
   The whole list (section names included) scrolls together in its window, as before. */
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-sec:not(.is-open) > .sp-sec-c,
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos:not(.is-open) > .sp-pos-c { display: none !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc :is(.sp-sec-t, .sp-pos-h p) { cursor: pointer !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-sec.is-open > p.sp-sec-t { font-weight: 400 !important; color: #FCF9F9 !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-pos-t::after,
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc a.sp-bib-link::after { content: "\00a0\2022"; font-style: normal; color: #F40000; transition: color 0.3s ease; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos.is-open p,
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.is-open { color: #D9D5D5 !important; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos.is-open > .sp-pos-h p.sp-pos-t::after,
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.is-open a.sp-bib-link::after { color: #FFFFFF; }
body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-bib-end { color: #908D8D !important; }
@media (hover: hover) {
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-sec-t:hover { color: #FCF9F9 !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos-h:hover p,
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-bib-has-img:hover,
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-bib-has-img:hover + p.sp-bib-d { color: #D9D5D5 !important; }
}
/* the back-to-top arrow gives way to the fold-back arrow here */
body.page-id-1723 .sp-top { display: none !important; }
body.page-id-1723 .sp-fold {
  display: none; position: fixed; z-index: 103; margin: 0; padding: 0 6px; border: 0; background: transparent; cursor: pointer;
  font-family: var(--sp-verdana); font-weight: 400; font-style: normal; color: #FCFBFB; text-align: center; -webkit-tap-highlight-color: transparent;
}
body.page-id-1723 .sp-fold.is-on { display: block; }
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  /* PSD f0: section names 30 apart; f0a–f0c: contents one section line below the open name, then 20 a line;
     an open position's contents follow its own lines, a blank line after; categories 2 lines down for the first,
     1 for the others, 1 line under each; the end mark "-" two lines under the last name */
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-sec-t { margin-bottom: calc(7.59 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-sec.is-open > .sp-sec-c { padding: calc(24 * var(--v)) 0 calc(56 * var(--v)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos.is-open > .sp-pos-c { padding-bottom: calc(20 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-bib-cat { margin: calc(20 * var(--v)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos-c > p.sp-bib-cat:first-child { margin-top: calc(40 * var(--v)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-bib-end { margin-top: calc(32 * var(--v)) !important; }
  /* fold-back ^ (PSD f0e): glyph at x150.5, top y867.5 */
  body.page-id-1723 .sp-fold { left: calc(var(--ox) + 150.5 * var(--v) - 6px); top: calc(863 * var(--v)); font-size: calc(16.67 * var(--v)); line-height: calc(20 * var(--v)); }
}
@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  /* mobile PSD 11: section names 20 apart (16.67 Avenir, white); spacing as desktop, scaled to the 13.33 line */
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-sec-t { margin-bottom: calc(5.06 * var(--u)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-sec.is-open > p.sp-sec-t { color: #FFFEFE !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-sec.is-open > .sp-sec-c { padding: calc(16 * var(--u)) 0 calc(37.33 * var(--u)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos.is-open > .sp-pos-c { padding-bottom: calc(13.33 * var(--u)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-bib-cat { margin: calc(13.33 * var(--u)) 0 !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc .sp-pos-c > p.sp-bib-cat:first-child { margin-top: calc(26.67 * var(--u)) !important; }
  body:not(.page-id-11):not(.page-id-1206).page-id-1723 .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget.sp-bib-text .sp-bib-acc p.sp-bib-end { margin-top: calc(21.33 * var(--u)) !important; }
  /* fold-back ^ in the empty left margin, clear of the phone browser's bottom bar (where the old arrow sat) */
  body.page-id-1723 .sp-fold { left: calc(var(--x0) + 19.67 * var(--u) - 6px); bottom: 72px; font-size: calc(16.67 * var(--u)); line-height: 1.4; }
}

/* ---------- Kevin 2026-10-11: Work projects and groups from templates ----------
   Work group pages (archive template 3241) and project pages (single template 3240) are laid out like the hand-made
   Work pages they replace; the rules above cover them through the page type (single-post / archive) and the body
   classes .tax-sp_work_group / .single-sp_work. The side list has one more menu: the groups above the current one
   (.sp-work-before). On phones only the current group and its projects show, as before. */
@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="single-post"], [data-elementor-type="archive"]) .elementor-widget-nav-menu.sp-work-before { display: none !important; }
  /* the project list is narrow on phones (136–158px): a long name ("monsoonwater street sump (cul-de-sac tropiqué)")
     wraps onto a second line, right-aligned like the rest, instead of being cut off */
  body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu .elementor-nav-menu .elementor-item, body:not(.page-id-11):not(.page-id-1206) .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="archive"]) > .e-con:first-child > .e-con:nth-child(1) .elementor-widget-icon-list + .elementor-widget-nav-menu .elementor-nav-menu .elementor-item::after { white-space: normal !important; }
}

/* ---------- Kevin 2026-10-15: homepage "under construction" (PSD UC.template1 at rest / UC.template2 dimmed) ----------
   The two homepage menus are switched off with Elementor's own "Hide on desktop / tablet / mobile" (Advanced →
   Responsive) — switch them back on for the launch. Under the wordmark: "site eta 2027" and "contact" (two Heading
   widgets, #home-eta and #home-contact, text edited in Elementor), set with the spaces of the PSD.
   Kevin 2026-10-18 (PSD "New Font feedback 18 October"): both lines in Avenir Next UltraLight, same size/colour/baseline;
   Kevin 2026-10-20: both lines centred under the wordmark (the PSD had kept their old left starts); the small translateX
   centres the letters' ink (not the text box) on the wordmark, measured in Chrome and Safari. Both lines hang from the wordmark (its ink top is at 51.36% of the window): baselines 88.6
   and 238.6 PSD px below it (PSD y1195.2 / y1495.2 of 1982). Phones and upright tablets: the same, scaled to the phone
   wordmark (1 PSD px = 0.5563u), measured from the centre of the screen. Avenir baseline = 0.8134em at line-height 1.
   At rest the whole wordmark is grey; when the window dims (pointer moves / tap) "small" turns red, as before. */
body.page-id-11 .sp-home :is(#home-eta, #home-contact) {
  position: absolute !important; left: 0 !important; width: 100% !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important; z-index: 10;
  animation: spLogoFade 1.25s ease 0.7s both !important;
}
body.page-id-11 .sp-home :is(#home-eta, #home-contact) .elementor-heading-title {
  font-family: var(--sp-avenir) !important; font-weight: 200 !important; font-style: normal !important;
  line-height: 1 !important; letter-spacing: 0 !important; word-spacing: 0 !important; text-transform: none !important;
  white-space: pre !important; text-align: center !important; margin: 0 !important; padding: 0 !important;
}
body.page-id-11 .sp-home #home-eta .elementor-heading-title { color: #C9C5C5 !important; }
body.page-id-11 .sp-home #home-contact .elementor-heading-title,
body.page-id-11 .sp-home #home-contact .elementor-heading-title a { color: #CAC4C4 !important; transition: color 0.35s ease; }
body.page-id-11 .sp-home #home-contact .elementor-heading-title a:hover { color: var(--sp-active, #FCFAFA) !important; }
/* wordmark: grey at rest, red "small" (the original artwork) fades in with the dim */
body.page-id-11 .sp-home #home-logo .elementor-heading-title {
  position: relative !important;
  background-image: url("https://www.small-projects.com/wp-content/uploads/2026/10/smallprojects-logo-grey.png") !important;
}
body.page-id-11 .sp-home #home-logo .elementor-heading-title::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.4s ease;
  background: url("https://www.small-projects.com/wp-content/uploads/2026/09/smallprojects-logo.png") 0 0 / 100% 100% no-repeat;
}
body.page-id-11 .sp-home:is(:hover, .mobile-menu-open):not(.sp-idle) #home-logo .elementor-heading-title::after { opacity: 1; }
/* the caption stays while the wordmark is hovered (it only made room for the menu) */
body.page-id-11 .sp-home:not(#sp-a):not(#sp-b) #image-alt { opacity: 1 !important; visibility: visible !important; }
@media (min-width: 768px) and (orientation: landscape), (min-width: 1200px) {
  body.page-id-11 .sp-home #home-eta { top: calc(51.36% + (88.6 - 0.8134 * 20.833) * var(--v)) !important; }
  body.page-id-11 .sp-home #home-eta .elementor-heading-title { font-size: calc(20.833 * var(--v)) !important; transform: translateX(calc(0.46 * var(--v))); }
  body.page-id-11 .sp-home #home-contact { top: calc(51.36% + (238.6 - 0.8134 * 25) * var(--v)) !important; }
  body.page-id-11 .sp-home #home-contact .elementor-heading-title { font-size: calc(25 * var(--v)) !important; transform: translateX(calc(-0.39 * var(--v))); }
}
@media (max-width: 767px), (max-width: 1199px) and (orientation: portrait) {
  body.page-id-11 .sp-home #home-eta { top: calc(49.844% + (49.29 - 0.8134 * 11.59) * var(--u)) !important; }
  body.page-id-11 .sp-home #home-eta .elementor-heading-title { font-size: calc(11.59 * var(--u)) !important; transform: translateX(calc(0.3 * var(--u))); }
  body.page-id-11 .sp-home #home-contact { top: calc(49.844% + (132.74 - 0.8134 * 13.91) * var(--u)) !important; }
  body.page-id-11 .sp-home #home-contact .elementor-heading-title { font-size: calc(13.91 * var(--u)) !important; }
}/* End custom CSS */