/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-cyrillic-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-vietnamese.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-latin-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-latin.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-cyrillic-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-vietnamese.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-latin-ext.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-latin.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-cyrillic-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-vietnamese.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-latin-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-latin.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-cyrillic-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-vietnamese.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-latin-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-latin.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-cyrillic-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-vietnamese.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-latin-ext.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-normal-latin.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-vietnamese.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin-ext.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-vietnamese.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin-ext.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-vietnamese.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin-ext.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-vietnamese.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin-ext.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: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-normal-latin.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: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/spline-sans-mono-normal-latin-ext.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: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/spline-sans-mono-normal-latin.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: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/spline-sans-mono-normal-latin-ext.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: 'Spline Sans Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/spline-sans-mono-normal-latin.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;
}

:root{color-scheme:light;--theme-bg:#eef3f1;--theme-surface:#f8fbfa;--theme-surface-raised:#ffffff;--theme-ink:#22313a;--theme-heading:#15252b;--theme-deep:#1d2f33;--theme-muted:#5c6d73;--theme-soft:#738188;--theme-line:#c5d3d2;--theme-accent:#00594f;--theme-accent-rgb:0,89,79;--theme-accent-text:#f8fbfa;--theme-quiet:#d7e8e4;--theme-quiet-rgb:215,232,228;--theme-dock-bg:rgba(248,251,250,.94);--theme-menu-bg:rgba(248,251,250,.97);--theme-shadow-rgb:34,49,58;--theme-grid-strong:rgba(0,89,79,.11);--theme-grid-soft:rgba(0,89,79,.06);--theme-link-underline:#86b3ad;--theme-panel-inset:rgba(255,255,255,.76);--theme-card-shadow:rgba(34,49,58,.11);}
html[data-theme="dark"]{color-scheme:dark;--theme-bg:#202523;--theme-surface:#2a302d;--theme-surface-raised:#343b37;--theme-ink:#edf2ee;--theme-heading:#ffffff;--theme-deep:#f7fbf8;--theme-muted:#bdc9c2;--theme-soft:#a7b4ad;--theme-line:rgba(129,164,151,.38);--theme-accent:#63c3aa;--theme-accent-rgb:99,195,170;--theme-accent-text:#0f211d;--theme-quiet:#314942;--theme-quiet-rgb:49,73,66;--theme-dock-bg:rgba(32,37,35,.94);--theme-menu-bg:rgba(42,48,45,.97);--theme-shadow-rgb:5,9,8;--theme-grid-strong:rgba(99,195,170,.12);--theme-grid-soft:rgba(99,195,170,.055);--theme-link-underline:#75bdaa;--theme-panel-inset:rgba(255,255,255,.08);--theme-card-shadow:rgba(0,0,0,.22);}

*{box-sizing:border-box;}
    html,body{margin:0;padding:0;}
    body{background:var(--theme-bg);transition:background-color .24s ease;}
    ::selection{background:var(--theme-accent);color:var(--theme-accent-text);}
    a{text-decoration:none;color:inherit;}
    .bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:0;pointer-events:none;}
    .bottom-dock{position:relative;width:100%;min-height:66px;pointer-events:auto;background:var(--theme-dock-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(var(--theme-accent-rgb),.38);border-bottom:0;border-radius:28px 28px 0 0;box-shadow:0 -10px 32px rgba(var(--theme-accent-rgb),.14),0 -8px 26px rgba(var(--theme-shadow-rgb),.08);display:grid;grid-template-columns:128px minmax(0,1fr) 136px minmax(0,1fr) 128px;align-items:center;column-gap:8px;padding:10px max(18px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:visible;transition:background-color .24s ease,border-color .24s ease,box-shadow .24s ease;}
    .theme-picker{position:relative;grid-column:1;justify-self:start;}
    .theme-panel{position:absolute;left:0;bottom:100%;padding-bottom:12px;opacity:0;transform:translateY(10px) scale(.97);visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform-origin:bottom left;}
    .theme-picker:hover .theme-panel,.theme-picker:focus-within .theme-panel{opacity:1;transform:translateY(0) scale(1);visibility:visible;pointer-events:auto;}
    .theme-menu{min-width:246px;background:var(--theme-menu-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(var(--theme-accent-rgb),.36);border-radius:18px;box-shadow:0 20px 44px rgba(var(--theme-accent-rgb),.18),0 16px 40px rgba(var(--theme-shadow-rgb),.16);padding:10px;display:flex;flex-direction:column;gap:2px;}
    .theme-kicker{font-family:'Spline Sans Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--theme-soft);padding:6px 14px 8px;}
    .theme-option{appearance:none;-webkit-appearance:none;width:100%;border:0;background:transparent;color:var(--theme-ink);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:24px 1fr max-content 8px;align-items:center;gap:10px;font:inherit;font-size:15px;text-align:left;cursor:pointer;transition:background-color .18s ease,color .18s ease;}
    .theme-option::after{content:"";grid-column:4;width:7px;height:7px;border-radius:999px;background:transparent;}
    .theme-option:hover,.theme-option:focus-visible{background:var(--theme-quiet);color:var(--theme-accent);outline:0;}
    .theme-option[aria-checked="true"]{background:rgba(var(--theme-accent-rgb),.1);color:var(--theme-accent);}
    .theme-option[aria-checked="true"]::after{background:var(--theme-accent);box-shadow:0 0 0 4px rgba(var(--theme-accent-rgb),.13);}
    .theme-option-note{justify-self:end;font-family:'Spline Sans Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-soft);}
    .theme-swatch{position:relative;width:20px;height:20px;border-radius:999px;border:1px solid rgba(var(--theme-accent-rgb),.35);box-shadow:inset 0 0 0 2px var(--theme-surface-raised);}
    .theme-swatch-browser{background:linear-gradient(90deg,#eef3f1 0 50%,#202523 50% 100%);}
    .theme-swatch-light{background:#eef3f1;}
    .theme-swatch-light::after{content:"";position:absolute;inset:6px;border-radius:999px;background:#00594f;}
    .theme-swatch-dark{background:#202523;}
    .theme-swatch-dark::after{content:"";position:absolute;inset:4px 4px 4px 9px;border-radius:999px;background:#63c3aa;}
    .theme-trigger{appearance:none;-webkit-appearance:none;cursor:pointer;width:42px;height:42px;border:1px solid rgba(var(--theme-accent-rgb),.3);border-radius:999px;background:rgba(var(--theme-accent-rgb),.07);display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:inset 0 0 0 1px var(--theme-panel-inset);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;}
    .theme-trigger:hover,.theme-picker:focus-within .theme-trigger{border-color:rgba(var(--theme-accent-rgb),.58);background:rgba(var(--theme-accent-rgb),.12);box-shadow:inset 0 0 0 1px var(--theme-panel-inset),0 12px 28px rgba(var(--theme-accent-rgb),.14);}
    .theme-glyph{position:relative;width:19px;height:19px;border:2px solid var(--theme-accent);border-radius:999px;display:block;}
    .theme-glyph::before{content:"";position:absolute;inset:3px 0 3px 8px;background:var(--theme-accent);border-radius:0 999px 999px 0;}
    .theme-glyph span{position:absolute;right:-5px;top:-5px;width:8px;height:8px;border-radius:999px;background:var(--theme-quiet);border:1px solid rgba(var(--theme-accent-rgb),.35);}
    .dock-profile{grid-column:3;justify-self:center;align-self:end;z-index:2;width:84px;height:98px;margin-top:-60px;margin-bottom:4px;border-radius:24px;overflow:hidden;background:var(--theme-bg);box-shadow:0 0 0 4px var(--theme-bg),0 0 0 7px rgba(var(--theme-accent-rgb),.45),0 14px 30px rgba(var(--theme-accent-rgb),.3);opacity:1;transform:translateY(0) scale(1);transform-origin:bottom center;transition:opacity .32s ease,transform .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1),margin .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,filter .32s ease,background-color .24s ease;will-change:opacity,transform;}
    .dock-profile img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;display:block;}
    .dock-nav{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(max-content,1fr));align-items:center;justify-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;}
    .dock-nav::-webkit-scrollbar{display:none;}
    .dock-nav-left{grid-column:2;}
    .dock-nav-right{grid-column:4;}
    .nav-tab{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 11px;border-radius:999px;font-family:'Spline Sans Mono',monospace;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--theme-muted);white-space:nowrap;transition:color .18s ease,background-color .18s ease;}
    .connect{position:relative;grid-column:5;justify-self:end;}
    .connect-panel{position:absolute;right:0;bottom:100%;padding-bottom:12px;opacity:0;transform:translateY(10px) scale(.97);visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform-origin:bottom right;}
    .connect:hover .connect-panel,.connect:focus-within .connect-panel{opacity:1;transform:translateY(0) scale(1);visibility:visible;pointer-events:auto;}
    .connect-menu{min-width:236px;background:var(--theme-menu-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(var(--theme-accent-rgb),.36);border-radius:18px;box-shadow:0 20px 44px rgba(var(--theme-accent-rgb),.2),0 16px 40px rgba(var(--theme-shadow-rgb),.14);padding:10px;display:flex;flex-direction:column;gap:2px;}
    .connect-kicker{font-family:'Spline Sans Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--theme-soft);padding:6px 14px 8px;}
    .connect-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 14px;border-radius:12px;font-size:15px;color:var(--theme-ink);transition:background-color .18s ease,color .18s ease;}
    .connect-link span:last-child{font-family:'Spline Sans Mono',monospace;font-size:12px;color:var(--theme-soft);}
    .connect-trigger{appearance:none;-webkit-appearance:none;cursor:pointer;background:var(--theme-accent);border:1px solid var(--theme-accent);border-radius:999px;box-shadow:0 16px 40px rgba(var(--theme-accent-rgb),.34),0 8px 30px rgba(var(--theme-shadow-rgb),.14);height:42px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:10px;font-family:'Spline Sans Mono',monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--theme-accent-text);}
    .connect-dot{width:7px;height:7px;border-radius:50%;background:var(--theme-quiet);box-shadow:0 0 0 4px rgba(var(--theme-quiet-rgb),.22);}
    .connect-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid var(--theme-quiet);display:inline-block;transition:transform .22s ease;}
    .connect:hover .connect-caret,.connect:focus-within .connect-caret{transform:rotate(180deg);}

.portfolio-root{position:relative;overflow:hidden;isolation:isolate;background:var(--theme-bg)!important;color:var(--theme-ink)!important;--accent:var(--theme-accent)!important;--primary-bg:var(--theme-bg)!important;--primary-surface:var(--theme-surface)!important;--primary-deep:var(--theme-ink)!important;transition:background-color .24s ease,color .24s ease;}
.portfolio-root::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--theme-grid-strong) 0 1px,transparent 1px 100%),linear-gradient(180deg,var(--theme-grid-soft) 0 1px,transparent 1px 100%);background-size:92px 92px;opacity:.34;z-index:0;}
.portfolio-root::after{content:"";position:fixed;top:0;bottom:0;left:0;width:9px;background:var(--theme-accent);box-shadow:0 0 42px rgba(var(--theme-accent-rgb),.5);pointer-events:none;z-index:3;}
.portfolio-root > main{position:relative;z-index:1;padding-bottom:calc(206px + env(safe-area-inset-bottom))!important;}
.portfolio-root > .bottom-bar{z-index:30;}
.portfolio-root.is-profile-hidden .dock-profile{opacity:0;pointer-events:none;transform:translateY(22px) scale(.72);filter:saturate(.82) blur(1px);box-shadow:0 0 0 0 rgba(230,240,238,0),0 0 0 0 rgba(0,89,79,0),0 0 0 rgba(0,89,79,0);}
.portfolio-root [style*="color:#1f2937"]{color:var(--theme-heading)!important;}
.portfolio-root [style*="color:#253140"]{color:var(--theme-deep)!important;}
.portfolio-root [style*="color:#2d3748"]{color:var(--theme-ink)!important;}
.portfolio-root [style*="color:#52606d"],.portfolio-root [style*="color:#667085"]{color:var(--theme-muted)!important;}
.portfolio-root [style*="color:var(--accent"]{color:var(--theme-accent)!important;}
.portfolio-root [style*="background:#f8fbfa"]{background:var(--theme-surface)!important;}
.portfolio-root [style*="border:1px solid #b7ccc7"]{border-color:var(--theme-line)!important;}
.portfolio-root [style*="border-bottom:1px solid #b7ccc7"]{border-bottom-color:var(--theme-line)!important;}
.portfolio-root [style*="border-bottom:1px solid #8fb8b0"]{border-bottom-color:var(--theme-link-underline)!important;}
main > header{position:relative;}
main > section{position:relative;padding-left:96px;}
main > section::before{content:"";position:absolute;left:58px;right:auto;top:2px;width:3px;height:112px;border-radius:999px;background:linear-gradient(180deg,var(--theme-accent),rgba(var(--theme-accent-rgb),.28));box-shadow:0 12px 24px rgba(var(--theme-accent-rgb),.22);}
.portfolio-root main > section > div:first-child{position:absolute!important;left:0;right:auto;top:0;z-index:2;width:42px;margin:0!important;display:flex!important;flex-direction:column;align-items:center!important;gap:12px!important;white-space:nowrap;transform:none;pointer-events:none;}
.portfolio-root main > section > div:first-child > span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;width:24px;min-height:34px;padding:8px 0;border-radius:999px;background:var(--theme-accent);color:var(--theme-accent-text)!important;box-shadow:0 9px 22px rgba(var(--theme-accent-rgb),.25);transform:rotate(180deg);writing-mode:vertical-rl;}
.portfolio-root main > section > div:first-child > h2{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);line-height:1!important;letter-spacing:.18em!important;color:var(--theme-muted)!important;}
#experience li > span{color:var(--theme-accent)!important;font-weight:500;}
.updates-block{display:flex;flex-direction:column;gap:22px;}
.updates-list,.archive-list{list-style:none;margin:0;padding:0;}
.updates-list{display:flex;flex-direction:column;gap:24px;}
.update-row,.archive-list li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;align-items:baseline;}
.update-row{border-bottom:1px solid var(--theme-line);padding-bottom:24px;}
.update-row time,.archive-list time{font-family:'Spline Sans Mono',monospace;font-size:12.5px;color:var(--theme-accent);white-space:nowrap;font-weight:500;}
.update-row p,.archive-list p{margin:0;color:var(--theme-ink);line-height:1.55;}
.update-row p{font-size:18px;}
.archive-list p{font-size:16.5px;}
.updates-archive{border:1px solid var(--theme-line);border-radius:8px;background:linear-gradient(180deg,rgba(var(--theme-accent-rgb),.07),rgba(var(--theme-accent-rgb),.025));box-shadow:inset 0 1px 0 var(--theme-panel-inset);overflow:hidden;}
.updates-archive summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;}
.updates-archive summary::-webkit-details-marker{display:none;}
.updates-archive summary:focus-visible{outline:2px solid var(--theme-accent);outline-offset:-4px;}
.archive-title{display:block;font-family:'Spline Sans Mono',monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--theme-accent);}
.archive-range{display:block;margin-top:5px;font-size:14.5px;color:var(--theme-muted);}
.archive-toggle{position:relative;flex:0 0 auto;width:28px;height:28px;border-radius:999px;border:1px solid rgba(var(--theme-accent-rgb),.36);background:rgba(var(--theme-accent-rgb),.08);transition:transform .2s ease,background-color .2s ease,border-color .2s ease;}
.archive-toggle::before,.archive-toggle::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;border-radius:999px;background:var(--theme-accent);}
.archive-toggle::after{transform:rotate(90deg);}
.updates-archive[open] .archive-toggle{transform:rotate(45deg);background:rgba(var(--theme-accent-rgb),.14);border-color:rgba(var(--theme-accent-rgb),.56);}
.archive-list{display:flex;flex-direction:column;padding:0 20px 20px;}
.archive-list li{border-top:1px solid rgba(var(--theme-accent-rgb),.22);padding-top:18px;}
.section-more{margin:34px 0 0;padding-top:22px;border-top:1px solid var(--theme-line);font-size:16px;line-height:1.55;color:var(--theme-muted);}
.section-more a{font-family:'Spline Sans Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-accent);border-bottom:1px solid var(--theme-link-underline);}
.section-more a:hover{color:var(--theme-ink);border-bottom-color:var(--theme-accent);}
.project-card{position:relative;overflow:hidden;display:grid!important;grid-template-columns:1fr;box-shadow:0 16px 34px var(--theme-card-shadow),inset 0 5px 0 var(--theme-accent);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .24s ease;}
.project-card::after{content:"";position:absolute;right:18px;top:18px;width:9px;height:9px;border-radius:999px;background:var(--theme-accent);box-shadow:0 0 0 7px rgba(var(--theme-accent-rgb),.1);}
.project-card:hover{border-color:var(--theme-accent)!important;transform:translateY(-4px);box-shadow:0 22px 42px rgba(var(--theme-accent-rgb),.18),0 12px 28px var(--theme-card-shadow),inset 0 5px 0 var(--theme-accent);}
.resume-strip{position:relative;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:30px;align-items:center;padding:27px 0;border-top:1px solid var(--theme-line);border-bottom:1px solid var(--theme-line);}
.resume-strip::before{content:"";position:absolute;left:0;top:-1px;width:118px;height:3px;border-radius:999px;background:var(--theme-accent);}
.resume-statement{margin:0;font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:500;line-height:1.34;color:var(--theme-deep);}
.resume-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;}
.resume-primary,.resume-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:999px;font-family:'Spline Sans Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;}
.resume-primary{padding:0 18px;background:var(--theme-accent);border:1px solid var(--theme-accent);color:var(--theme-accent-text);box-shadow:0 14px 30px rgba(var(--theme-accent-rgb),.25);}
.resume-link{padding:0 15px;border:1px solid rgba(var(--theme-accent-rgb),.34);background:rgba(var(--theme-accent-rgb),.07);color:var(--theme-accent);box-shadow:inset 0 0 0 1px var(--theme-panel-inset);}
.resume-primary::after,.resume-link::after{content:"↗";margin-left:8px;font-size:11px;line-height:1;}
.resume-primary:hover,.resume-link:hover{transform:translateY(-2px);}
.resume-primary:hover{box-shadow:0 18px 36px rgba(var(--theme-accent-rgb),.3);}
.resume-link:hover{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-accent-text);}
.nav-tab:hover{color:var(--theme-accent-text)!important;background:var(--theme-accent)!important;}
.connect-link:hover{background:var(--theme-quiet)!important;color:var(--theme-accent)!important;}
.connect-trigger .connect-caret{border-bottom-color:var(--theme-quiet)!important;}
.card-kicker{font-family:'Spline Sans Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-accent);margin-bottom:14px;}
.project-card{min-width:0;}
.update-row a,.archive-list a,.publication-links a,.experience-links a,.card-links a{color:var(--theme-accent);border-bottom:1px solid var(--theme-link-underline);}
.update-row a:hover,.archive-list a:hover,.publication-links a:hover,.experience-links a:hover,.card-links a:hover{color:var(--theme-ink);border-bottom-color:var(--theme-accent);}
.publication-list > li > div{flex-wrap:wrap;align-items:flex-start!important;}
.publication-list strong{color:var(--theme-ink);font-weight:700;}
.experience-links,.card-links{display:flex;flex-wrap:wrap;gap:10px 14px;font-family:'Spline Sans Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;}
.project-card-body{display:flex;min-width:0;flex-direction:column;padding:22px 24px 25px;}
.project-card-body h3{padding-right:10px;}
.project-media{position:relative;min-width:0;height:150px;display:flex;align-items:center;justify-content:center;padding:0;border-bottom:1px solid var(--theme-line);background:linear-gradient(180deg,rgba(var(--theme-accent-rgb),.13),rgba(var(--theme-accent-rgb),.035));overflow:hidden;}
.project-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,16,25,.02),rgba(17,16,25,.34));pointer-events:none;}
.project-media::after{content:"";position:absolute;left:18px;right:18px;bottom:14px;z-index:5;height:3px;border-radius:999px;background:rgba(var(--theme-accent-rgb),.55);}
.project-media-image{background:var(--theme-quiet);}
.project-media-image::before{background:linear-gradient(180deg,rgba(17,16,25,0),rgba(17,16,25,.18));}
.project-thumb{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--theme-quiet);filter:saturate(.98) contrast(.99);transform:scale(1.06);}
#artedge .project-thumb{object-position:center;transform:scale(2.35);transform-origin:12% center;}
#beacon-of-hope .project-thumb{object-position:50% 46%;transform:scale(1.08);}
.project-media-roost{background:linear-gradient(135deg,rgba(var(--theme-accent-rgb),.18),rgba(var(--theme-accent-rgb),.04)),repeating-linear-gradient(90deg,transparent 0 27px,rgba(var(--theme-accent-rgb),.08) 28px 29px),repeating-linear-gradient(0deg,transparent 0 27px,rgba(var(--theme-accent-rgb),.06) 28px 29px);}
.project-media-roost .roost-console{position:absolute;left:34px;top:25px;z-index:2;width:178px;height:94px;border:1px solid rgba(var(--theme-accent-rgb),.38);border-radius:16px;background:linear-gradient(180deg,var(--theme-surface),rgba(var(--theme-accent-rgb),.08));box-shadow:0 18px 40px rgba(var(--theme-shadow-rgb),.13),inset 0 1px 0 var(--theme-panel-inset);}
.project-media-roost .roost-console::before{content:"";position:absolute;left:16px;top:15px;width:82px;height:10px;border-radius:999px;background:var(--theme-accent);box-shadow:58px 0 0 -4px rgba(var(--theme-accent-rgb),.32);}
.project-media-roost .roost-console::after{content:"";position:absolute;left:16px;right:18px;top:40px;height:36px;border-top:2px solid rgba(var(--theme-accent-rgb),.22);border-bottom:2px solid rgba(var(--theme-accent-rgb),.22);background:linear-gradient(90deg,rgba(var(--theme-accent-rgb),.13) 0 36%,transparent 36% 44%,rgba(var(--theme-accent-rgb),.09) 44% 72%,transparent 72%);}
.project-media-roost .roost-card{position:absolute;right:42px;z-index:3;border:1px solid rgba(var(--theme-accent-rgb),.42);border-radius:14px;background:linear-gradient(180deg,var(--theme-surface-raised),rgba(var(--theme-accent-rgb),.11));box-shadow:0 14px 30px rgba(var(--theme-shadow-rgb),.13);}
.project-media-roost .roost-card::before{content:"";position:absolute;left:13px;right:16px;top:14px;height:8px;border-radius:999px;background:rgba(var(--theme-accent-rgb),.62);}
.project-media-roost .roost-card::after{content:"";position:absolute;left:13px;right:28px;top:32px;height:7px;border-radius:999px;background:rgba(var(--theme-accent-rgb),.2);}
.project-media-roost .roost-card-a{top:31px;width:116px;height:62px;transform:rotate(4deg);}
.project-media-roost .roost-card-b{top:67px;width:96px;height:52px;right:86px;transform:rotate(-6deg);opacity:.82;}
.project-media-roost .roost-lane{position:absolute;left:208px;right:114px;top:74px;z-index:2;height:2px;background:linear-gradient(90deg,rgba(var(--theme-accent-rgb),.1),rgba(var(--theme-accent-rgb),.64));transform:rotate(-7deg);}
.project-media-segify{background:linear-gradient(135deg,rgba(var(--theme-accent-rgb),.19),rgba(var(--theme-accent-rgb),.045)),linear-gradient(90deg,rgba(var(--theme-accent-rgb),.08) 0 1px,transparent 1px 100%),linear-gradient(0deg,rgba(var(--theme-accent-rgb),.06) 0 1px,transparent 1px 100%);background-size:auto,34px 34px,34px 34px;}
.project-media-segify span{position:absolute;z-index:2;border:1px solid rgba(var(--theme-accent-rgb),.38);box-shadow:0 18px 40px rgba(var(--theme-shadow-rgb),.12);}
.segify-canvas{width:190px;height:102px;border-radius:18px;background:linear-gradient(135deg,var(--theme-surface),rgba(var(--theme-accent-rgb),.08));}
.segify-canvas::before{content:"";position:absolute;inset:17px 19px;border-radius:12px;background:linear-gradient(90deg,rgba(var(--theme-accent-rgb),.12) 0 30%,transparent 30% 39%,rgba(var(--theme-accent-rgb),.18) 39% 68%,transparent 68%),linear-gradient(180deg,transparent 0 45%,rgba(var(--theme-accent-rgb),.18) 45% 52%,transparent 52%);clip-path:polygon(0 16%,32% 0,58% 15%,100% 4%,86% 100%,51% 82%,21% 100%,0 74%);}
.segify-mask{background:rgba(var(--theme-accent-rgb),.12);}
.segify-mask-a{width:82px;height:68px;border-radius:14px;clip-path:polygon(10% 5%,86% 0,100% 45%,78% 100%,18% 82%,0 36%);transform:translate(-48px,-4px) rotate(-9deg);}
.segify-mask-b{width:70px;height:76px;border-radius:14px;clip-path:polygon(26% 0,100% 19%,88% 78%,38% 100%,0 58%,8% 17%);transform:translate(32px,12px) rotate(10deg);background:rgba(var(--theme-accent-rgb),.18);}
.segify-mask-c{width:32px;height:110px;border-radius:999px;transform:translate(-83px,4px) rotate(25deg);background:var(--theme-accent);opacity:.22;}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
.tag-list span{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border:1px solid rgba(var(--theme-accent-rgb),.32);border-radius:999px;background:rgba(var(--theme-accent-rgb),.07);font-family:'Spline Sans Mono',monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--theme-accent);}

@media (max-width:1040px){
  .bottom-dock{grid-template-columns:104px minmax(0,1fr) 120px minmax(0,1fr) 104px;}
  .dock-profile{width:74px;height:88px;margin-top:-52px;border-radius:22px;}
  .nav-tab{font-size:10.5px;padding:0 8px;}
  .connect-trigger{padding:0 14px;}
}

@media (max-width:760px){
  main > section{padding-left:64px;}
  main > section::before{left:43px;height:96px;}
  .portfolio-root main > section > div:first-child{left:0;width:34px;gap:10px;}
  .portfolio-root main > section > div:first-child > span{min-width:24px;width:24px;min-height:32px;padding:7px 0;}
  .portfolio-root h1[style*="font-size:96px"]{font-size:70px!important;line-height:1!important;}
  .portfolio-root header p[style*="font-size:32px"]{font-size:27px!important;}
  .projects-grid{grid-template-columns:1fr!important;}
  .experience-item{grid-template-columns:1fr!important;gap:8px!important;}
  .publication-list > li > div{flex-direction:column;gap:8px!important;}
  .project-card{grid-template-columns:1fr;min-height:0;}
  .project-media{height:118px;min-height:0;border-right:0;border-bottom:1px solid var(--theme-line);}
  .project-card-body{padding:22px 20px 24px;}
  .resume-strip{grid-template-columns:1fr;gap:18px;padding:24px 0;}
  .resume-statement{font-size:25px;line-height:1.38;}
  .resume-actions{justify-content:flex-start;}
  .portfolio-root > main{padding-bottom:calc(224px + env(safe-area-inset-bottom))!important;}
  .bottom-bar{bottom:0;padding:0;}
  .bottom-dock{width:100%;min-height:calc(114px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;display:grid;grid-template-columns:1fr;grid-template-areas:"profile" "left" "right";row-gap:6px;align-items:center;padding:10px 12px calc(12px + env(safe-area-inset-bottom));transition:min-height .32s cubic-bezier(.22,1,.36,1);}
  .portfolio-root.is-profile-hidden .bottom-dock{min-height:calc(86px + env(safe-area-inset-bottom));}
  .theme-picker{position:fixed;left:20px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:33;}
  .theme-trigger{width:42px;height:42px;}
  .theme-panel{position:fixed;left:20px;bottom:calc(122px + env(safe-area-inset-bottom));z-index:34;padding-bottom:0;}
  .dock-profile{grid-area:profile;position:relative;left:auto;bottom:auto;justify-self:center;width:62px;height:74px;margin-top:-48px;border-radius:19px;transform:none;}
  .portfolio-root.is-profile-hidden .dock-profile{height:0;margin-top:0;margin-bottom:0;}
  .dock-nav{width:100%;justify-content:center;padding:0;overflow-x:auto;}
  .dock-nav-left{grid-area:left;}
  .dock-nav-right{grid-area:right;}
  .connect{position:static;}
  .connect-trigger{position:fixed;right:20px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:33;width:42px;height:42px;padding:0;}
  .connect-label{display:none;}
  .connect-panel{position:fixed;right:20px;bottom:calc(122px + env(safe-area-inset-bottom));z-index:34;padding-bottom:0;}
  .connect-menu{min-width:220px;}
  .update-row,.archive-list li{grid-template-columns:1fr;gap:7px;}
  .updates-archive summary{align-items:flex-start;padding:17px 18px;}
  .archive-list{padding:0 18px 18px;}
}

@media (max-width:480px){
  .portfolio-root > main{width:94%!important;padding-left:20px!important;padding-right:20px!important;padding-top:72px!important;}
  .portfolio-root h1[style*="font-size:96px"]{font-size:54px!important;}
  .portfolio-root header p[style*="font-size:32px"]{font-size:24px!important;}
  .project-media{height:104px;}
  .project-card-body{padding:20px 18px 22px;}
  .resume-statement{font-size:23px;}
  .resume-actions{gap:8px;}
  .resume-primary,.resume-link{min-height:38px;padding-left:13px;padding-right:13px;font-size:11px;}
  .bottom-dock{row-gap:5px;}
  .dock-profile{width:58px;height:68px;border-radius:18px;}
  .nav-tab{min-height:30px;padding:0 8px;font-size:10px;}
}

@media (prefers-reduced-motion:reduce){
  .dock-profile,.bottom-dock,.theme-panel,.theme-trigger,.theme-option{transition-duration:.01ms!important;}
  .portfolio-root.is-profile-hidden .dock-profile{transform:none;filter:none;}
}
