
    .sc-placeholder{background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;overflow:hidden}
    @keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
    html.sc-dc-streaming .sc-placeholder,
    html.sc-dc-streaming .sc-interp.sc-missing{position:relative;
      background:color-mix(in srgb,currentColor 5%,transparent);
      border-color:transparent}
    html.sc-dc-streaming .sc-placeholder::before,
    html.sc-dc-streaming .sc-interp.sc-missing::before{content:'';
      position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%);
      background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
    html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before,
    html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none;
      background:color-mix(in srgb,currentColor 8%,transparent)}
    .sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace;
      color:rgba(0,0,0,.7);word-break:break-word}
    .sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden;
      vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;color:transparent;
      user-select:none}
    .sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em;
      color:rgba(0,0,0,.5);background:rgba(0,0,0,.05);border-radius:3px;
      padding:0 3px}
    .sc-host.sc-has-error{position:relative}
    .sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch;
      padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
      border-radius:4px;white-space:pre-wrap;pointer-events:none}
    /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts; keep both
       in sync until dc-runtime regains a build step. */
    @media print {
      @page { margin: 0.5cm; }
      figure, table { break-inside: avoid; }
      #dc-root, #dc-root > .sc-host { height: auto; }
      *, *::before, *::after {
        print-color-adjust: exact; -webkit-print-color-adjust: exact;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important;
      }
    }
  
x-dc{display:none!important}

/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/a7b7c95e-4faf-4fdd-b845-2572f632f5b6-bd11c74f54.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/e407f1cd-c7a3-4c86-87b6-02824cde1c7c-ef95296c77.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/a7b7c95e-4faf-4fdd-b845-2572f632f5b6-bd11c74f54.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/e407f1cd-c7a3-4c86-87b6-02824cde1c7c-ef95296c77.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/a7b7c95e-4faf-4fdd-b845-2572f632f5b6-bd11c74f54.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/e407f1cd-c7a3-4c86-87b6-02824cde1c7c-ef95296c77.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/theme/assets/HomePage/a7b7c95e-4faf-4fdd-b845-2572f632f5b6-bd11c74f54.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/theme/assets/HomePage/e407f1cd-c7a3-4c86-87b6-02824cde1c7c-ef95296c77.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/e7b44e12-73a0-4e23-bd68-dc37ab73bbdc-7fe8df01e5.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/7f7dacfc-fc8f-4e34-8165-bc255436c3b1-c592587dd7.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/d7e63ab8-1103-4ec9-8b08-cbd64e026414-6286c9bd09.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/d7e4f9ba-e49d-44be-bbe8-529d780ea96c-8d0d6e40c1.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/eabccd71-eb70-43b4-8510-9fea94dba5e1-ee63cf6e5b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/b6475afc-2b3c-46e7-8200-45b52e86595e-1c67f2cbcc.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/76de353d-ebb9-427b-b8b2-ff9c964a5557-877ee7495b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/e7b44e12-73a0-4e23-bd68-dc37ab73bbdc-7fe8df01e5.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/7f7dacfc-fc8f-4e34-8165-bc255436c3b1-c592587dd7.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/d7e63ab8-1103-4ec9-8b08-cbd64e026414-6286c9bd09.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/d7e4f9ba-e49d-44be-bbe8-529d780ea96c-8d0d6e40c1.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/eabccd71-eb70-43b4-8510-9fea94dba5e1-ee63cf6e5b.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/b6475afc-2b3c-46e7-8200-45b52e86595e-1c67f2cbcc.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/76de353d-ebb9-427b-b8b2-ff9c964a5557-877ee7495b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/ca6464bb-53e2-4f9a-bdb4-ea49789fa6ae-1b3540179d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/d396effc-bbd0-4b58-8e3e-68049925ec21-998940754a.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/33ad2ae7-8301-4f83-ac19-9cd62ea52fef-2b316a8422.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/cf99607f-0650-47b8-b12c-9dcb02cb1b3e-b12a6f0d97.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/8330e034-5d04-4168-8d29-0faea03b8277-cd0a82f0cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/0b8ad056-e765-42d4-96d0-8cc6e539141e-5e3fe3bc99.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/theme/assets/HomePage/f452472a-2869-4659-a902-5552eda3e69e-79d17b5236.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/ca6464bb-53e2-4f9a-bdb4-ea49789fa6ae-1b3540179d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/d396effc-bbd0-4b58-8e3e-68049925ec21-998940754a.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/33ad2ae7-8301-4f83-ac19-9cd62ea52fef-2b316a8422.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/cf99607f-0650-47b8-b12c-9dcb02cb1b3e-b12a6f0d97.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/8330e034-5d04-4168-8d29-0faea03b8277-cd0a82f0cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/0b8ad056-e765-42d4-96d0-8cc6e539141e-5e3fe3bc99.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/theme/assets/HomePage/f452472a-2869-4659-a902-5552eda3e69e-79d17b5236.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/ca6464bb-53e2-4f9a-bdb4-ea49789fa6ae-1b3540179d.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/d396effc-bbd0-4b58-8e3e-68049925ec21-998940754a.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/33ad2ae7-8301-4f83-ac19-9cd62ea52fef-2b316a8422.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/cf99607f-0650-47b8-b12c-9dcb02cb1b3e-b12a6f0d97.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/8330e034-5d04-4168-8d29-0faea03b8277-cd0a82f0cf.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/0b8ad056-e765-42d4-96d0-8cc6e539141e-5e3fe3bc99.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/theme/assets/HomePage/f452472a-2869-4659-a902-5552eda3e69e-79d17b5236.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; }
  ::selection { background: rgba(200,146,46,0.28); }
  @keyframes sunfloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
  @keyframes rayspin { to { transform: rotate(360deg); } }
  @keyframes fadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes homeDecryptText {
    0% { opacity: 0; content: "010011"; filter: blur(5px); transform: translateY(5px); }
    16% { opacity: .65; content: "#7A1F2"; filter: blur(3px); transform: translateY(2px); }
    32% { opacity: .75; content: "ΔΞ0F1"; filter: blur(2px); transform: translateY(0); }
    48% { opacity: .85; content: "C0D3"; filter: blur(1px); }
    64%, 100% { opacity: 1; content: attr(data-label); filter: blur(0); transform: translateY(0); }
  }
  @keyframes homeDecryptScan {
    0% { transform: translateX(-115%); opacity: 0; }
    18% { opacity: 1; }
    82% { opacity: 1; }
    100% { transform: translateX(115%); opacity: 0; }
  }
  input::placeholder { color: var(--ink3, #8A7E60); }
  .home-primary-cta {
    transition: background .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
  }
  .home-back-to-top {
    display: none;
  }
  .home-primary-cta:hover,
  .home-primary-cta:focus-visible {
    background: var(--ink,#2A2418) !important;
    color: var(--bg,#EDE3C7) !important;
    box-shadow: 0 14px 32px -22px rgba(20,15,8,.72), inset 0 0 0 1px color-mix(in srgb,var(--gold,#C8922E) 34%,transparent);
    transform: translateY(-2px);
  }
  .home-bot-cta:hover,
  .home-bot-cta:focus-visible {
    background: var(--ink,#2A2418) !important;
    color: var(--bg,#EDE3C7) !important;
  }
  .home-hero-art {
    perspective: 1200px;
  }
  .home-hero-art-frame {
    position: relative;
    overflow: hidden;
    padding: 10px;
    background:
      linear-gradient(135deg, color-mix(in srgb,var(--gold,#C8922E) 16%, transparent), transparent 34%),
      var(--plate,#E4D8B6);
    border: 1px solid var(--line,rgba(42,36,24,0.28));
    box-shadow: rgba(20,15,8,.42) 0 28px 66px -30px;
    transform-origin: center;
    transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease, border-color .45s ease, padding .32s ease;
  }
  .home-hero-art-frame::before {
    content: "";
    position: absolute;
    inset: -40%;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(118deg, transparent 39%, rgba(255,244,210,.4) 50%, transparent 61%);
    transform: translateX(-58%) rotate(8deg);
    transition: transform .65s cubic-bezier(.2,.7,.2,1), opacity .3s ease;
  }
  .home-hero-art-frame::after {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: 2;
    pointer-events: none;
    border: 1px solid color-mix(in srgb,var(--gold,#C8922E) 34%, transparent);
    opacity: .34;
    transition: inset .35s ease, opacity .35s ease;
  }
  .home-hero-art-image {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--line,rgba(42,36,24,0.22));
    transform-origin: center;
    transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .45s ease;
  }
  .home-hero-art-caption {
    position: relative;
    z-index: 3;
    max-height: 30px;
    padding: 10px 6px 3px;
    overflow: hidden;
    font-family: Cinzel, serif;
    font-size: 9.5px;
    line-height: 1.2;
    letter-spacing: .22em;
    color: var(--ink3,#8A7E60);
    transition: opacity .22s ease, max-height .32s ease, padding .32s ease, transform .32s ease;
  }
  .home-hero-art-frame:hover,
  .home-hero-art-frame:focus-within {
    border-color: color-mix(in srgb,var(--gold,#C8922E) 54%, transparent);
    box-shadow:
      rgba(20,15,8,.48) 0 38px 88px -32px,
      color-mix(in srgb,var(--gold,#C8922E) 28%, transparent) 0 0 0 1px;
    padding: 0;
    transform: translateY(-8px) rotateX(2deg) rotateY(-2deg);
  }
  .home-hero-art-frame:hover::before,
  .home-hero-art-frame:focus-within::before {
    opacity: 1;
    transform: translateX(58%) rotate(8deg);
  }
  .home-hero-art-frame:hover::after,
  .home-hero-art-frame:focus-within::after {
    inset: 14px;
    opacity: .7;
  }
  .home-hero-art-frame:hover .home-hero-art-image,
  .home-hero-art-frame:focus-within .home-hero-art-image {
    filter: saturate(1.08) contrast(1.04);
    transform: scale(1.035);
  }
  .home-hero-art-frame:hover .home-hero-art-caption,
  .home-hero-art-frame:focus-within .home-hero-art-caption {
    opacity: 0;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    transform: translateY(8px);
  }
  .home-decoder-word {
    position: relative;
    min-width: 156px;
    min-height: 38px;
    display: inline-grid;
    place-items: center;
    padding: 5px 12px;
    cursor: default;
    color: var(--ink,#2A2418);
    font-family: Cinzel, serif;
    font-size: clamp(17px, 1.85vw, 21px);
    letter-spacing: .16em;
    overflow: hidden;
  }
  .home-decoder-word span {
    grid-area: 1 / 1;
    transition: opacity .18s ease, transform .24s ease, filter .24s ease, letter-spacing .24s ease;
  }
  .home-decoder-word::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, color-mix(in srgb,var(--gold,#C8922E) 48%, transparent) 46%, rgba(255,244,210,.44) 50%, color-mix(in srgb,var(--gold,#C8922E) 48%, transparent) 54%, transparent 100%);
    transform: translateX(-115%);
  }
  .home-decoder-word::after {
    content: attr(data-label);
    grid-area: 1 / 1;
    opacity: 0;
    color: var(--gold,#C8922E);
    font-size: clamp(15px, 1.75vw, 20px);
    letter-spacing: .18em;
    text-transform: uppercase;
    transform: translateY(5px);
    text-shadow: 0 0 18px color-mix(in srgb,var(--gold,#C8922E) 34%, transparent);
  }
  .home-decoder-word:hover span,
  .home-decoder-word:focus-visible span {
    opacity: 0;
    filter: blur(4px);
    letter-spacing: .32em;
    transform: translateY(-4px);
  }
  .home-decoder-word:hover::before,
  .home-decoder-word:focus-visible::before {
    animation: homeDecryptScan .68s cubic-bezier(.2,.7,.2,1) both;
  }
  .home-decoder-word:hover::after,
  .home-decoder-word:focus-visible::after {
    animation: homeDecryptText .82s steps(1,end) both;
  }
  @media (prefers-reduced-motion: reduce) {
    .home-primary-cta,
    .home-hero-art-frame,
    .home-hero-art-frame::before,
    .home-hero-art-frame::after,
    .home-hero-art-image,
    .home-hero-art-caption,
    .home-decoder-word span,
    .home-decoder-word::before,
    .home-lab-card,
    .home-lab-cta {
      transition: none;
    }
    .home-primary-cta:hover,
    .home-primary-cta:focus-visible,
    .home-hero-art-frame:hover,
    .home-hero-art-frame:focus-within,
    .home-hero-art-frame:hover .home-hero-art-image,
    .home-hero-art-frame:focus-within .home-hero-art-image,
    .home-hero-art-frame:hover .home-hero-art-caption,
    .home-hero-art-frame:focus-within .home-hero-art-caption,
    .home-lab-card:hover,
    .home-lab-card:focus-visible,
    .home-lab-card:hover .home-lab-cta,
    .home-lab-card:focus-visible .home-lab-cta {
      transform: none;
    }
    .home-decoder-word:hover::after,
    .home-decoder-word:focus-visible::after {
      animation: none;
      content: attr(data-label);
      opacity: 1;
      filter: none;
      transform: none;
    }
    .home-lab-vapor,
    .home-lab-bubble,
    .home-lab-flame,
    .home-lab-rune {
      animation: none;
    }
  }
  [data-dsk] { display:flex; align-items:center; gap:24px; flex-wrap:nowrap; }
  [data-hbg] { display:none; width:34px; height:34px; border:1px solid rgba(42,36,24,0.22); border-radius:4px; background:transparent; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; flex:none; }
  [data-hbg] span { display:block; width:16px; height:1.5px; background:currentColor; border-radius:1px; transition:all .25s; }
  [data-mob] { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; z-index:100; }
  [data-mob][data-o="1"] { display:flex !important; }
  @media (max-width:860px) {
    [data-dsk] { display:none !important; }
    [data-hbg] { display:flex !important; }
  }

  @media (max-width: 760px) {
    #dc-root nav > div {
      gap: 14px !important;
      padding: 12px 18px !important;
      flex-wrap: wrap !important;
    }

    #dc-root nav > div > a:first-child {
      flex: 1 1 auto !important;
      min-width: 190px !important;
    }

    #dc-root nav > div > div[style*="flex: 1 1 0%"] {
      display: none !important;
    }

    #dc-root nav .scp0,
    #dc-root nav .scp2 {
      font-size: 11px !important;
      letter-spacing: .1em !important;
    }

    #dc-root nav .scp2 {
      padding: 7px 10px !important;
    }

    [data-screen-label="Hero"],
    .home-lab-section,
    #writing,
    #references,
    #about,
    #newsletter > div,
    footer > div,
    footer > div > div {
      padding-left: 20px !important;
      padding-right: 20px !important;
    }

    [data-screen-label="Hero"] {
      gap: 22px !important;
      padding-top: 26px !important;
      padding-bottom: 26px !important;
    }

    /* On a narrow screen the engraving needs to appear in the first viewport.
       This preserves the desktop composition while giving mobile an art-led
       editorial opening instead of a long, text-only introduction. */
    .home-hero-art {
      order: -1;
    }

    .home-hero-art-frame {
      max-width: 520px;
      margin: 0 auto;
    }

    [data-screen-label="Hero"] > div:first-child > div:first-child {
      gap: 8px !important;
      margin-bottom: 20px !important;
      flex-wrap: nowrap !important;
    }

    [data-screen-label="Hero"] > div:first-child > div:first-child > span:first-child {
      width: 22px !important;
      flex: 0 0 22px !important;
    }

    [data-screen-label="Hero"] > div:first-child > div:first-child > span:last-child {
      min-width: 0 !important;
      font-size: clamp(8.8px, 2.45vw, 11.5px) !important;
      letter-spacing: .11em !important;
      line-height: 1.2 !important;
      white-space: nowrap !important;
    }

    [data-screen-label="Hero"] > div,
    .home-hero-art,
    .home-featured-writing > div,
    #about > div > div,
    #newsletter > div > div {
      min-width: 0 !important;
      flex-basis: 100% !important;
    }

    [data-screen-label="Hero"] h1 br,
    .home-contact-cta h2 br {
      display: none !important;
    }

    .home-hero-actions {
      gap: 8px !important;
    }

    .home-hero-actions a {
      flex: 1 1 0 !important;
      justify-content: center !important;
      text-align: center !important;
      padding: 12px 10px !important;
      font-size: 10.5px !important;
      letter-spacing: .1em !important;
      white-space: normal !important;
    }

    .home-hero-art-frame {
      padding: 8px !important;
    }

    .home-decoders {
      display: grid !important;
      grid-template-columns: 1.25fr .85fr 1fr !important;
      gap: 0 !important;
      padding: 18px 20px !important;
    }

    .home-decoders > div:not(.home-decoder-word) {
      display: none !important;
    }

    .home-decoder-word {
      min-width: 0 !important;
      width: auto !important;
      min-height: 32px !important;
      padding: 4px 5px !important;
      font-size: clamp(10.5px, 3.15vw, 14px) !important;
      letter-spacing: .06em !important;
    }

    .home-decoder-word:not(:first-child) {
      border-left: 1px solid color-mix(in srgb,var(--gold,#C8922E) 34%,transparent);
    }

    .home-decoder-word::after {
      font-size: clamp(9px, 2.7vw, 11px) !important;
      letter-spacing: .05em !important;
    }

    #writing,
    #references {
      padding-top: 54px !important;
      padding-bottom: 30px !important;
    }

    #writing > div:first-child,
    #references > div:first-child > div {
      align-items: flex-start !important;
      flex-direction: column !important;
      gap: 12px !important;
      margin-bottom: 28px !important;
    }

    .home-featured-writing {
      gap: 22px !important;
      padding-bottom: 34px !important;
    }

    .home-featured-writing > div:first-child {
      padding: 6px !important;
    }

    .home-writing-row {
      align-items: flex-start !important;
      flex-direction: column !important;
      gap: 10px !important;
      padding: 22px 0 !important;
    }

    .home-writing-row > span {
      width: auto !important;
    }

    .home-writing-row > div:last-child {
      text-align: left !important;
      line-height: 1.45 !important;
    }

    #references [style*="grid-template-columns"] {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 10px !important;
    }

    #references .logocard {
      min-height: 116px !important;
      padding: 14px 10px 30px !important;
      border-color: color-mix(in srgb,var(--gold,#C8922E) 28%,transparent) !important;
      background:
        radial-gradient(circle at 50% -18%, color-mix(in srgb,var(--gold,#C8922E) 18%,transparent), transparent 62%),
        var(--plate,#E4D8B6) !important;
      box-shadow: rgba(20,15,8,.12) 0 14px 24px -22px;
    }

    #references .logocard::before {
      content: "";
      position: absolute;
      top: 8px;
      left: 8px;
      width: 13px;
      height: 1px;
      background: var(--gold,#C8922E);
    }

    #references .logocard img {
      max-height: 34px !important;
      opacity: .92 !important;
      filter: grayscale(.25) !important;
    }

    #references .logocard .logocard-name {
      opacity: 1;
      transform: none;
      padding: 8px 7px 9px;
      color: var(--ink2,#5C5238);
      background: linear-gradient(to top, color-mix(in srgb,var(--bg,#EDE3C7) 92%,transparent), transparent);
    }

    #references .logocard:last-child:nth-child(odd) {
      grid-column: 1 / -1;
      min-height: 94px !important;
    }

    #references .logocard:last-child:nth-child(odd) img {
      max-height: 38px !important;
    }

    #about {
      padding-top: 54px !important;
      padding-bottom: 54px !important;
    }

    #about > div {
      gap: 26px !important;
    }

    /* Mobile turns the about section into an identity card followed by a
       compact thesis note, rather than two unrelated stacked columns. */
    #about > div > div:first-child {
      padding: 20px 18px 18px !important;
      border: 1px solid color-mix(in srgb,var(--gold,#C8922E) 32%,transparent);
      background:
        radial-gradient(circle at 90% 8%, color-mix(in srgb,var(--gold,#C8922E) 20%,transparent), transparent 36%),
        linear-gradient(145deg, color-mix(in srgb,var(--plate,#E4D8B6) 88%,transparent), color-mix(in srgb,var(--bg2,#F4ECD6) 72%,transparent));
      box-shadow: rgba(20,15,8,.18) 0 20px 34px -30px;
    }

    #about > div > div:first-child > div[style*="align-items: center"] {
      margin-bottom: 22px !important;
    }

    #about > div > div:first-child > div[style*="align-items: center"] img {
      width: 76px !important;
      height: 76px !important;
      box-shadow: 0 0 0 5px color-mix(in srgb,var(--gold,#C8922E) 18%,transparent) !important;
    }

    #about > div > div:first-child > a {
      display: flex !important;
      justify-content: center;
      width: 100%;
      box-sizing: border-box;
      padding: 12px 16px !important;
      background: color-mix(in srgb,var(--bg,#EDE3C7) 72%,transparent);
    }

    #about > div > div:last-child {
      position: relative;
      padding: 3px 0 0 18px !important;
      border-left: 2px solid color-mix(in srgb,var(--gold,#C8922E) 62%,transparent);
    }

    #about > div > div:last-child > div {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px !important;
    }

    #about > div > div:last-child > div > span {
      display: flex !important;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 6px 8px !important;
      text-align: center;
      font-size: 9px !important;
      letter-spacing: .09em !important;
      background: color-mix(in srgb,var(--plate,#E4D8B6) 52%,transparent);
    }

    #newsletter > div {
      gap: 30px !important;
      padding-top: 46px !important;
      padding-bottom: 46px !important;
    }

    .home-newsletter-form {
      flex-direction: column !important;
    }

    .home-newsletter-form input,
    .home-newsletter-form button {
      width: 100% !important;
      flex-basis: auto !important;
    }


    [data-newsletter-bot-card] {
      align-items: flex-start !important;
    }

    .home-contact-image img {
      height: clamp(180px, 54vw, 280px) !important;
    }

    .home-contact-image > div:last-child {
      left: 16px !important;
      right: 16px !important;
      bottom: 16px !important;
      width: fit-content !important;
      max-width: calc(100% - 32px) !important;
      line-height: 1.35 !important;
    }

    .home-contact-cta {
      grid-template-columns: 1fr !important;
    }

    .home-contact-cta > div {
      padding: 30px 24px !important;
    }

    .home-contact-cta > div:last-child {
      border-left: 0 !important;
      border-top: 1px solid color-mix(in srgb,var(--gold,#C8922E) 22%,transparent) !important;
      align-items: stretch !important;
      min-width: 0 !important;
    }

    .home-contact-cta a {
      justify-content: center !important;
      white-space: normal !important;
      text-align: center !important;
    }

    footer blockquote {
      font-size: clamp(21px, 7vw, 30px) !important;
    }

    footer [style*="justify-content: space-between"] {
      align-items: flex-start !important;
      flex-direction: column !important;
    }

    footer > div:nth-of-type(2) {
      grid-template-columns: 1fr 1fr !important;
      gap: 34px 24px !important;
    }

    footer > div:nth-of-type(2) > div:first-child {
      grid-column: 1 / -1 !important;
      text-align: center !important;
    }

    footer > div:nth-of-type(2) > div:first-child > a:first-child {
      justify-content: center !important;
    }

    footer > div:nth-of-type(2) > div:first-child > a.scp2 {
      justify-content: center !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .home-back-to-top {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      box-sizing: border-box;
      padding: 12px 16px;
      border: 1px solid rgba(200, 146, 46, .58);
      color: rgb(237, 227, 199);
      background: rgba(200, 146, 46, .09);
      font-family: Cinzel, serif;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .16em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .home-back-to-top span {
      color: var(--gold,#C8922E);
      font-size: 16px;
      line-height: .7;
    }

    .home-footer-contact-column > div:first-child {
      margin-top: 0 !important;
    }

    .home-footer-lab-link {
      margin-top: 18px !important;
      width: fit-content !important;
    }
  }

  @media (max-width: 430px) {
    #dc-root nav > div {
      gap: 10px 12px !important;
    }

    #dc-root nav .scp2 {
      flex: 1 1 100% !important;
      justify-content: center !important;
    }

    #dc-root nav .scp1 {
      margin-left: auto !important;
    }

    #references [style*="grid-template-columns"] {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 10px !important;
    }

    #references .logocard {
      min-height: 108px !important;
      padding: 12px 8px 29px !important;
    }

    .home-decoder-word {
      font-size: 15px !important;
    }
  }

  @media (max-width: 360px) {
    [data-screen-label="Hero"] > div:first-child > div:first-child > span:last-child {
      font-size: 8px !important;
      letter-spacing: .08em !important;
    }

    footer > div:nth-of-type(2) {
      gap: 28px 18px !important;
    }
  }

/* ============================================================
   Home · Lab showcase. An editorial header plus a compact grid of
   tool tiles grouped by discipline — introduces every live tool
   without the old vertical pile-up or the cauldron visual.
   ============================================================ */
.home-lab-section { max-width: 1180px; margin: 0 auto; padding: 12px 32px 88px; }

/* Full-width so the aside divider + CTA line up with the tool grid's right edge
   below it (the lead keeps its own readable cap). */
.hl-intro { max-width: none; }
.hl-eyebrow { display: inline-block; margin-bottom: 16px; font-family: Cinzel, serif; font-size: 11px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--gold, #C8922E); }
.hl-title { margin: 0; font-family: "EB Garamond", serif; font-weight: 500; font-size: clamp(30px, 4.4vw, 52px); line-height: 1.02; letter-spacing: -.6px; color: var(--ink, #2A2418); }
.hl-lead { max-width: 58ch; margin: 16px 0 0; font-size: 18px; line-height: 1.6; color: var(--ink2, #5C5238); text-wrap: pretty; }
.hl-aside { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 26px; margin: 24px 0 34px; padding-top: 22px; border-top: 1px solid color-mix(in srgb, var(--gold, #C8922E) 30%, transparent); }
.hl-stats { display: flex; flex-wrap: wrap; gap: 24px; }
.hl-stat { font-family: Cinzel, serif; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink3, #8A7E60); }
.hl-stat b { margin-right: 5px; font-size: 15px; font-weight: 600; color: var(--ink, #2A2418); }
.hl-cta { position: relative; z-index: 0; display: inline-flex; align-items: center; padding: 13px 24px; border-radius: 2px; background: var(--ink, #2A2418); color: var(--bg, #EDE3C7); text-decoration: none; font-family: Cinzel, serif; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; transition: background .25s ease, color .25s ease; }
.hl-cta:hover:not(.ck-lab-reactor), .hl-cta:focus-visible:not(.ck-lab-reactor) { background: var(--gold, #C8922E); color: #2A2418; outline: none; }
.hl-cta-label { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 9px; }
.hl-cta-arrow { transition: transform .25s ease; }
.hl-cta:hover .hl-cta-arrow, .hl-cta:focus-visible .hl-cta-arrow { transform: translateX(4px); }
.hl-cta.ck-lab-reactor.is-hot { background: #8f4a22; }
.hl-cta.ck-lab-reactor.is-reactive { background: #a13b2e; }
.hl-cta.ck-lab-reactor.is-critical { background: #bd342d; }

.hl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.hl-tile {
    position: relative; overflow: hidden;
    display: flex; flex-direction: column; align-items: flex-start; gap: 5px;
    min-height: 156px; padding: 18px 18px 20px; color: inherit; text-decoration: none;
    background: linear-gradient(158deg, color-mix(in srgb, var(--bg2, #F4ECD6) 66%, transparent), var(--plate, #E4D8B6));
    border: 1px solid color-mix(in srgb, var(--gold, #C8922E) 24%, transparent);
    border-radius: 3px;
    box-shadow: inset 0 2px 0 color-mix(in srgb, var(--gold, #C8922E) 24%, transparent);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
/* Modern touch: a faint gold sheen that sweeps across the tile on hover. */
.hl-tile::before {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0;
    background: radial-gradient(120% 80% at 15% 0%, color-mix(in srgb, var(--gold, #C8922E) 16%, transparent), transparent 60%);
    transition: opacity .22s ease;
}
.hl-tile > * { position: relative; z-index: 1; }
.hl-tile:hover, .hl-tile:focus-visible {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--gold, #C8922E) 60%, transparent);
    box-shadow: inset 0 2px 0 var(--gold, #C8922E), rgba(20,15,8,.24) 0 22px 40px -26px;
    outline: none;
}
.hl-tile:hover::before, .hl-tile:focus-visible::before { opacity: 1; }
.hl-tile-ico { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 10px; border: 1px solid color-mix(in srgb, var(--gold, #C8922E) 34%, transparent); border-radius: 3px; color: var(--gold, #C8922E); background: var(--bg, #EDE3C7); transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease; }
.hl-tile:hover .hl-tile-ico, .hl-tile:focus-visible .hl-tile-ico { background: var(--gold, #C8922E); color: var(--bg, #EDE3C7); border-color: var(--gold, #C8922E); transform: rotate(-4deg) scale(1.04); }
.hl-tile-ico svg { width: 21px; height: 21px; }
.hl-tile-cat { display: inline-flex; align-items: center; gap: 6px; font-family: Cinzel, serif; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--ink3, #8A7E60); }
.hl-tile-cat::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--gold, #C8922E); }
.hl-tile-name { font-family: "EB Garamond", serif; font-size: 18px; font-weight: 600; line-height: 1.12; color: var(--ink, #2A2418); }
.hl-tile-tag { margin-top: 1px; font-size: 12.5px; line-height: 1.4; color: var(--ink3, #8A7E60); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* Classic "reveal" action bar that slides up from the bottom edge on hover. */
.hl-tile-go {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 11px 14px;
    background: var(--gold, #C8922E); color: #2A2418;
    font-family: Cinzel, serif; font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
    transform: translateY(101%);
    transition: transform .28s cubic-bezier(.2,.75,.3,1);
    box-shadow: 0 -8px 20px -12px rgba(20,15,8,.55);
}
.hl-tile-go span { transition: transform .28s ease; }
.hl-tile:hover .hl-tile-go, .hl-tile:focus-visible .hl-tile-go { transform: translateY(0); }
.hl-tile:hover .hl-tile-go span, .hl-tile:focus-visible .hl-tile-go span { transform: translateX(3px); }

@media (max-width: 760px) {
    .home-lab-section { padding-bottom: 60px; }
    .hl-aside { margin-bottom: 26px; }
    .hl-cta { width: 100%; justify-content: center; }
    .hl-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
    .hl-tile { min-height: 142px; padding: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .hl-tile, .hl-tile::before, .hl-tile-ico, .hl-cta, .hl-cta-arrow, .hl-tile-go, .hl-tile-go span { transition: none; }
    .hl-tile:hover, .hl-tile:focus-visible { transform: none; }
    .hl-tile:hover .hl-tile-ico, .hl-tile:focus-visible .hl-tile-ico { transform: none; }
    .hl-cta:hover .hl-cta-arrow, .hl-cta:focus-visible .hl-cta-arrow { transform: none; }
    /* Keep the reveal reachable without motion: show it instantly on hover/focus. */
    .hl-tile:hover .hl-tile-go, .hl-tile:focus-visible .hl-tile-go { transform: translateY(0); }
}

/* ============================================================
   Home · "Worked with" logo cards — de-saturated by default, they
   bloom to full colour on hover and surface the partner's name.
   ============================================================ */
#references .logocard { position: relative; overflow: hidden; }
#references .logocard img { transition: filter .32s ease, opacity .32s ease; }
#references .logocard:hover, #references .logocard:focus-visible {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--gold, #C8922E) 55%, transparent);
    box-shadow: rgba(20,15,8,.18) 0 16px 30px -20px;
    outline: none;
}
#references .logocard:hover img, #references .logocard:focus-visible img { filter: grayscale(0); opacity: 1; }
.logocard-name {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 7px 8px; text-align: center;
    font-family: Cinzel, serif; font-size: 9.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
    color: #2A2418;
    background: linear-gradient(to top, color-mix(in srgb, var(--gold, #C8922E) 30%, transparent), transparent);
    opacity: 0; transform: translateY(6px);
    transition: opacity .28s ease, transform .28s ease;
    pointer-events: none;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#references .logocard:hover .logocard-name, #references .logocard:focus-visible .logocard-name { opacity: 1; transform: translateY(0); }

/* ============================================================
   Home · "Get in touch" CTA — the arrow launches like a sent
   message on hover (fly out, a fresh one flies in).
   ============================================================ */
.gt-cta .gt-arrow { display: inline-block; will-change: transform; }
.gt-cta:hover .gt-arrow, .gt-cta:focus-visible .gt-arrow { animation: gtSend .62s cubic-bezier(.35,.7,.3,1); }
@keyframes gtSend {
    0%   { transform: translateX(0);    opacity: 1; }
    42%  { transform: translateX(14px); opacity: 0; }
    58%  { transform: translateX(-14px); opacity: 0; }
    100% { transform: translateX(0);    opacity: 1; }
}

/* ============================================================
   Editorial chapter divider — separates Writing, References and
   About with the same restrained gold language at every viewport.
   ============================================================ */
.home-chapter-divider {
    position: relative;
    width: min(100% - 64px, 1116px);
    height: 1px;
    margin: 4px auto 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        color-mix(in srgb, var(--gold, #C8922E) 28%, transparent) 13%,
        color-mix(in srgb, var(--gold, #C8922E) 48%, transparent) 50%,
        color-mix(in srgb, var(--gold, #C8922E) 28%, transparent) 87%,
        transparent 100%
    );
}

.home-chapter-divider span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 27px;
    height: 27px;
    border: 1px solid color-mix(in srgb, var(--gold, #C8922E) 40%, transparent);
    border-radius: 50%;
    place-items: center;
    color: var(--gold, #C8922E);
    background: var(--bg, #EDE3C7);
    font-size: 11px;
    line-height: 1;
    transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 760px) {
    .home-chapter-divider {
        width: min(100% - 40px, 1116px);
        margin-top: 8px;
    }
}

/* ============================================================
   Footer pull-quote — words surface from a faded, out-of-focus
   state (not typed) the first time it scrolls into view. Reads
   like ink settling onto the page.
   ============================================================ */
[data-quote] .qw {
    display: inline-block;
    opacity: .1; filter: blur(5px); transform: translateY(.1em);
    transition: opacity .7s ease, filter .7s ease, transform .7s ease;
}
[data-quote].is-revealed .qw {
    opacity: 1; filter: none; transform: none;
    transition-delay: calc(var(--i, 0) * 55ms);
}
@media (prefers-reduced-motion: reduce) {
    [data-quote] .qw { opacity: 1; filter: none; transform: none; transition: none; }
}

@media (prefers-reduced-motion: reduce) {
    #references .logocard, #references .logocard img, .logocard-name { transition: none; }
    #references .logocard:hover, #references .logocard:focus-visible { transform: none; }
    .gt-cta:hover .gt-arrow, .gt-cta:focus-visible .gt-arrow { animation: none; }
}
