/* Inter — latin subset, weights 100 + 900 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url('./fonts/inter-latin-100-normal.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;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('./fonts/inter-latin-900-normal.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;
}

/* Inconsolata — latin subset, weights 400 + 700 */
@font-face {
  font-family: 'Inconsolata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/inconsolata-latin-400-normal.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;
}

@font-face {
  font-family: 'Inconsolata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/inconsolata-latin-700-normal.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;
}

/* stellar:general-normalize.css */
/* stellar:colors-theme.css */
:root {
  --primary-1: #e1f4ff;
  --primary-1: oklch(95.642% 0.025 232.965);
  --primary-1-on: #21333b;
  --primary-1-on: oklch(30.903% 0.0275 227.451);
  --primary-1-dim: #a9bcc6;
  --primary-1-dim: oklch(78.383% 0.0253 230.539);
  --primary-2: #d7f0ff;
  --primary-2: oklch(94.145% 0.0333 234.081);
  --primary-2-on: #132b36;
  --primary-2-on: oklch(27.506% 0.0362 229.75);
  --primary-2-dim: #9fb7c6;
  --primary-2-dim: oklch(76.612% 0.0341 235.348);
  --primary-3: #c0e5fa;
  --primary-3: oklch(90.21% 0.0483 232.913);
  --primary-3-on: #002a3a;
  --primary-3-on: oklch(26.663% 0.0527 229.3);
  --primary-3-dim: #86abbe;
  --primary-3-dim: oklch(72.055% 0.0488 230.574);
  --primary-4: #abd0e4;
  --primary-4: oklch(83.738% 0.0482 231.699);
  --primary-4-on: #002a3a;
  --primary-4-on: oklch(26.663% 0.0527 229.3);
  --primary-4-dim: #6f93a5;
  --primary-4-dim: oklch(64.286% 0.0482 230.051);
  --primary-5: #8fb4c7;
  --primary-5: oklch(74.927% 0.0485 230.507);
  --primary-5-on: #002a39;
  --primary-5-on: oklch(26.602% 0.0517 227.635);
  --primary-5-dim: #c7ecff;
  --primary-5-dim: oklch(92.266% 0.0465 230.217);
  --primary-6: #6c90a3;
  --primary-6: oklch(63.334% 0.0492 231.515);
  --primary-6-on: #ffffff;
  --primary-6-on: oklch(100% 0 89.876);
  --primary-6-dim: #a7cbe0;
  --primary-6-dim: oklch(82.287% 0.0484 233.751);
  --primary-7: #45687a;
  --primary-7: oklch(49.791% 0.0494 231.426);
  --primary-7-on: #ffffff;
  --primary-7-on: oklch(100% 0 89.876);
  --primary-7-dim: #85a8bc;
  --primary-7-dim: oklch(71.257% 0.0482 233.381);
  --primary-8: #234859;
  --primary-8: oklch(38.199% 0.0513 229.931);
  --primary-8-on: #fbfcff;
  --primary-8-on: oklch(99.115% 0.0041 271.371);
  --primary-8-dim: #6a8ea1;
  --primary-8-dim: oklch(62.673% 0.0493 231.539);
  --primary-9: #063141;
  --primary-9: oklch(29.365% 0.0529 228.408);
  --primary-9-on: #dbf1ff;
  --primary-9-on: oklch(94.622% 0.03 235.627);
  --primary-9-dim: #597c8e;
  --primary-9-dim: oklch(56.666% 0.0484 231.039);
  --primary-10: #00212d;
  --primary-10: oklch(23.088% 0.0443 226.418);
  --primary-10-on: #d0efff;
  --primary-10-on: oklch(93.47% 0.0391 230.192);
  --primary-10-dim: #5a7785;
  --primary-10-dim: oklch(55.19% 0.0399 229.095);
  --primary-11: #001721;
  --primary-11: oklch(19.105% 0.0372 227.859);
  --primary-11-on: #d6eefc;
  --primary-11-on: oklch(93.579% 0.0317 233.295);
  --primary-11-dim: #5f7682;
  --primary-11-dim: oklch(55.182% 0.0328 230.81);
  --primary-12: #00131c;
  --primary-12: oklch(17.44% 0.034 228.089);
  --primary-12-on: #d8eefa;
  --primary-12-on: oklch(93.656% 0.0284 231.445);
  --primary-12-dim: #617681;
  --primary-12-dim: oklch(55.288% 0.0301 230.812);
}
:root {
  --secondary-1: #ffede5;
  --secondary-1: oklch(95.824% 0.0224 45.607);
  --secondary-1-on: #382d28;
  --secondary-1-on: oklch(30.774% 0.0185 45.821);
  --secondary-1-dim: #c6b5ae;
  --secondary-1-dim: oklch(78.542% 0.0219 43.806);
  --secondary-2: #ffe8dd;
  --secondary-2: oklch(94.658% 0.0293 47.296);
  --secondary-2-on: #32261f;
  --secondary-2-on: oklch(28.029% 0.0221 51.773);
  --secondary-2-dim: #c4b0a5;
  --secondary-2-dim: oklch(77.12% 0.0279 50.765);
  --secondary-3: #ffd8c4;
  --secondary-3: oklch(90.998% 0.0514 48.759);
  --secondary-3-on: #372115;
  --secondary-3-on: oklch(27.271% 0.04 49.091);
  --secondary-3-dim: #c19f8c;
  --secondary-3-dim: oklch(72.816% 0.0486 50.817);
  --secondary-4: #ffbc97;
  --secondary-4: oklch(84.828% 0.0922 49.985);
  --secondary-4-on: #421c04;
  --secondary-4-on: oklch(27.753% 0.0682 49.216);
  --secondary-4-dim: #bb815f;
  --secondary-4-dim: oklch(65.397% 0.0864 51.075);
  --secondary-5: #fe9350;
  --secondary-5: oklch(76.498% 0.1525 50.702);
  --secondary-5-on: #431a00;
  --secondary-5-on: oklch(27.51% 0.0734 49.328);
  --secondary-5-dim: #ffe0d1;
  --secondary-5-dim: oklch(92.829% 0.0399 47.463);
  --secondary-6: #d37131;
  --secondary-6: oklch(64.993% 0.1446 50.383);
  --secondary-6-on: #ffffff;
  --secondary-6-on: oklch(100% 0 89.876);
  --secondary-6-dim: #703100;
  --secondary-6-dim: oklch(39.299% 0.104 49.962);
  --secondary-7: #a14b09;
  --secondary-7: oklch(51.378% 0.1325 49.648);
  --secondary-7-on: #ffffff;
  --secondary-7-on: oklch(100% 0 89.876);
  --secondary-7-dim: #f18846;
  --secondary-7-dim: oklch(72.933% 0.1509 50.445);
  --secondary-8: #723100;
  --secondary-8: oklch(39.631% 0.1061 49.155);
  --secondary-8-on: #fffbff;
  --secondary-8-on: oklch(99.227% 0.0067 325.627);
  --secondary-8-dim: #c87340;
  --secondary-8-dim: oklch(64.007% 0.1257 49.909);
  --secondary-9: #4e1f00;
  --secondary-9: oklch(30.383% 0.0817 48.848);
  --secondary-9-on: #ffeae0;
  --secondary-9-on: oklch(95.118% 0.0266 47.22);
  --secondary-9-dim: #a96740;
  --secondary-9-dim: oklch(57.834% 0.1006 50.302);
  --secondary-10: #361300;
  --secondary-10: oklch(23.81% 0.0644 48.467);
  --secondary-10-on: #ffe5da;
  --secondary-10-on: oklch(94.008% 0.0323 44.37);
  --secondary-10-dim: #9c6647;
  --secondary-10-dim: oklch(56.108% 0.0829 50.264);
  --secondary-11: #280c00;
  --secondary-11: oklch(19.763% 0.0537 48.092);
  --secondary-11-on: #ffe5da;
  --secondary-11-on: oklch(94.008% 0.0323 44.37);
  --secondary-11-dim: #97684e;
  --secondary-11-dim: oklch(56.016% 0.0717 49.739);
  --secondary-12: #220a00;
  --secondary-12: oklch(18.165% 0.048 49.984);
  --secondary-12-on: #ffe5d9;
  --secondary-12-on: oklch(93.982% 0.0329 46.396);
  --secondary-12-dim: #936952;
  --secondary-12-dim: oklch(55.823% 0.064 49.695);
}
:root {
  --tertiary-1: #e9f1ff;
  --tertiary-1: oklch(95.624% 0.0207 261.772);
  --tertiary-1-on: #28303a;
  --tertiary-1-on: oklch(30.588% 0.0212 254.148);
  --tertiary-1-dim: #b0b9c6;
  --tertiary-1-dim: oklch(78.275% 0.021 257.483);
  --tertiary-2: #e1eeff;
  --tertiary-2: oklch(94.449% 0.0269 255.09);
  --tertiary-2-on: #1e2a37;
  --tertiary-2-on: oklch(28.001% 0.0293 250.892);
  --tertiary-2-dim: #a9b5c5;
  --tertiary-2-dim: oklch(76.881% 0.0265 255.587);
  --tertiary-3: #d1e1f7;
  --tertiary-3: oklch(90.454% 0.0348 256.34);
  --tertiary-3-on: #182838;
  --tertiary-3-on: oklch(27.066% 0.0369 249.332);
  --tertiary-3-dim: #97a7bb;
  --tertiary-3-dim: oklch(72.248% 0.0343 254.055);
  --tertiary-4: #bccde2;
  --tertiary-4: oklch(84.205% 0.0347 253.731);
  --tertiary-4-on: #182838;
  --tertiary-4-on: oklch(27.066% 0.0369 249.332);
  --tertiary-4-dim: #8090a4;
  --tertiary-4-dim: oklch(64.747% 0.0352 254.085);
  --tertiary-5: #a0b0c4;
  --tertiary-5: oklch(75.131% 0.0339 254.044);
  --tertiary-5-on: #182838;
  --tertiary-5-on: oklch(27.066% 0.0369 249.332);
  --tertiary-5-dim: #606f81;
  --tertiary-5-dim: oklch(53.589% 0.0336 253.119);
  --tertiary-6: #7c8da0;
  --tertiary-6: oklch(63.642% 0.0347 251.276);
  --tertiary-6-on: #ffffff;
  --tertiary-6-on: oklch(100% 0 89.876);
  --tertiary-6-dim: #b6c8dc;
  --tertiary-6-dim: oklch(82.547% 0.0343 251.029);
  --tertiary-7: #556577;
  --tertiary-7: oklch(50.023% 0.0348 251.55);
  --tertiary-7-on: #ffffff;
  --tertiary-7-on: oklch(100% 0 89.876);
  --tertiary-7-dim: #94a5b8;
  --tertiary-7-dim: oklch(71.495% 0.0337 251.223);
  --tertiary-8: #364557;
  --tertiary-8: oklch(38.5% 0.0364 253.288);
  --tertiary-8-on: #fcfcff;
  --tertiary-8-on: oklch(99.191% 0.004 286.327);
  --tertiary-8-dim: #7b8a9f;
  --tertiary-8-dim: oklch(62.868% 0.0362 256.8);
  --tertiary-9: #1e2e3e;
  --tertiary-9: oklch(29.469% 0.0363 249.148);
  --tertiary-9-on: #e3efff;
  --tertiary-9-on: oklch(94.791% 0.0251 255.56);
  --tertiary-9-dim: #68798b;
  --tertiary-9-dim: oklch(56.875% 0.0344 249.928);
  --tertiary-10: #0e1f2e;
  --tertiary-10: oklch(23.257% 0.0371 246.811);
  --tertiary-10-on: #dcecff;
  --tertiary-10-on: oklch(93.693% 0.031 252.688);
  --tertiary-10-dim: #647487;
  --tertiary-10-dim: oklch(55.278% 0.0353 252.865);
  --tertiary-11: #051625;
  --tertiary-11: oklch(19.419% 0.0386 246.682);
  --tertiary-11-on: #ddecff;
  --tertiary-11-on: oklch(93.764% 0.0304 254.316);
  --tertiary-11-dim: #647487;
  --tertiary-11-dim: oklch(55.278% 0.0353 252.865);
  --tertiary-12: #021221;
  --tertiary-12: oklch(17.648% 0.0396 246.112);
  --tertiary-12-on: #ddecff;
  --tertiary-12-on: oklch(93.764% 0.0304 254.316);
  --tertiary-12-dim: #647487;
  --tertiary-12-dim: oklch(55.278% 0.0353 252.865);
}
:root {
  --neutral-1: #eaf2f7;
  --neutral-1: oklch(95.656% 0.0109 234.818);
  --neutral-1-on: #293135;
  --neutral-1-on: oklch(30.719% 0.0132 229.392);
  --neutral-1-dim: #b1babe;
  --neutral-1-dim: oklch(78.306% 0.0115 226.023);
  --neutral-2: #e6edf3;
  --neutral-2: oklch(94.254% 0.0111 243.657);
  --neutral-2-on: #21292d;
  --neutral-2-on: oklch(27.49% 0.0135 229.504);
  --neutral-2-dim: #adb4ba;
  --neutral-2-dim: oklch(76.621% 0.0116 243.7);
  --neutral-3: #d9e1e6;
  --neutral-3: oklch(90.511% 0.011 234.83);
  --neutral-3-on: #20282b;
  --neutral-3-on: oklch(27.036% 0.0126 222.524);
  --neutral-3-dim: #9fa7ab;
  --neutral-3-dim: oklch(72.32% 0.0108 228.95);
  --neutral-4: #c4ccd1;
  --neutral-4: oklch(84.051% 0.0112 234.848);
  --neutral-4-on: #20282b;
  --neutral-4-on: oklch(27.036% 0.0126 222.524);
  --neutral-4-dim: #878f94;
  --neutral-4-dim: oklch(64.507% 0.012 234.926);
  --neutral-5: #a8afb5;
  --neutral-5: oklch(75.028% 0.0117 243.705);
  --neutral-5-on: #21272c;
  --neutral-5-on: oklch(26.893% 0.0127 243.338);
  --neutral-5-dim: #676e74;
  --neutral-5-dim: oklch(53.427% 0.0127 243.81);
  --neutral-6: #848c91;
  --neutral-6: oklch(63.51% 0.012 234.932);
  --neutral-6-on: #ffffff;
  --neutral-6-on: oklch(100% 0 89.876);
  --neutral-6-dim: #3c4448;
  --neutral-6-dim: oklch(38.085% 0.0126 229.223);
  --neutral-7: #5d6569;
  --neutral-7: oklch(50.12% 0.0118 229.075);
  --neutral-7-on: #ffffff;
  --neutral-7-on: oklch(100% 0 89.876);
  --neutral-7-dim: #9ca5a9;
  --neutral-7-dim: oklch(71.597% 0.0118 226.046);
  --neutral-8: #3e454a;
  --neutral-8: oklch(38.587% 0.0126 238.838);
  --neutral-8-on: #fcfcff;
  --neutral-8-on: oklch(99.191% 0.004 286.327);
  --neutral-8-dim: #838a8f;
  --neutral-8-dim: oklch(62.924% 0.0112 238.616);
  --neutral-9: #272e32;
  --neutral-9: oklch(29.607% 0.0122 232.866);
  --neutral-9-on: #e8eff4;
  --neutral-9-on: oklch(94.828% 0.0101 238.513);
  --neutral-9-dim: #71787d;
  --neutral-9-dim: oklch(56.841% 0.0114 238.651);
  --neutral-10: #171f23;
  --neutral-10: oklch(23.319% 0.014 229.716);
  --neutral-10-on: #e3ebf1;
  --neutral-10-on: oklch(93.576% 0.0118 239.911);
  --neutral-10-dim: #6b7479;
  --neutral-10-dim: oklch(55.304% 0.0134 231.833);
  --neutral-11: #0e1519;
  --neutral-11: oklch(19.048% 0.0134 233.438);
  --neutral-11-on: #e5ebf1;
  --neutral-11-on: oklch(93.725% 0.0104 247.937);
  --neutral-11-dim: #6c7479;
  --neutral-11-dim: oklch(55.386% 0.0124 234.985);
  --neutral-12: #0a1216;
  --neutral-12: oklch(17.61% 0.0147 230.27);
  --neutral-12-on: #e3ebf1;
  --neutral-12-on: oklch(93.576% 0.0118 239.911);
  --neutral-12-dim: #6b7479;
  --neutral-12-dim: oklch(55.304% 0.0134 231.833);
}
:root {
  --neutral-variant-1: #e1f4ff;
  --neutral-variant-1: oklch(95.642% 0.025 232.965);
  --neutral-variant-1-on: #21333b;
  --neutral-variant-1-on: oklch(30.903% 0.0275 227.451);
  --neutral-variant-1-dim: #a9bcc6;
  --neutral-variant-1-dim: oklch(78.383% 0.0253 230.539);
  --neutral-variant-2: #daf0fd;
  --neutral-variant-2: oklch(94.29% 0.0292 233.594);
  --neutral-variant-2-on: #172b35;
  --neutral-variant-2-on: oklch(27.687% 0.0318 231.226);
  --neutral-variant-2-dim: #a2b7c4;
  --neutral-variant-2-dim: oklch(76.757% 0.0297 234.989);
  --neutral-variant-3: #cde3f0;
  --neutral-variant-3: oklch(90.351% 0.0295 233.622);
  --neutral-variant-3-on: #152933;
  --neutral-variant-3-on: oklch(26.882% 0.0319 231.367);
  --neutral-variant-3-dim: #93a9b5;
  --neutral-variant-3-dim: oklch(72.18% 0.0301 231.639);
  --neutral-variant-4: #b9cedb;
  --neutral-variant-4: oklch(83.968% 0.0291 234.92);
  --neutral-variant-4-on: #162933;
  --neutral-variant-4-on: oklch(26.944% 0.0311 232.54);
  --neutral-variant-4-dim: #7d919e;
  --neutral-variant-4-dim: oklch(64.529% 0.0301 236.46);
  --neutral-variant-5: #9cb2be;
  --neutral-variant-5: oklch(75.063% 0.0299 231.604);
  --neutral-variant-5-on: #142933;
  --neutral-variant-5-on: oklch(26.822% 0.0328 230.281);
  --neutral-variant-5-dim: #5b717c;
  --neutral-variant-5-dim: oklch(53.492% 0.0312 229.686);
  --neutral-variant-6: #798e9a;
  --neutral-variant-6: oklch(63.427% 0.0301 232.98);
  --neutral-variant-6-on: #ffffff;
  --neutral-variant-6-on: oklch(100% 0 89.876);
  --neutral-variant-6-dim: #b3c9d6;
  --neutral-variant-6-dim: oklch(82.343% 0.0301 233.688);
  --neutral-variant-7: #526771;
  --neutral-variant-7: oklch(50.038% 0.0298 228.468);
  --neutral-variant-7-on: #ffffff;
  --neutral-variant-7-on: oklch(100% 0 89.876);
  --neutral-variant-7-dim: #91a7b1;
  --neutral-variant-7-dim: oklch(71.468% 0.0286 226.943);
  --neutral-variant-8: #334751;
  --neutral-variant-8: oklch(38.52% 0.0303 230.143);
  --neutral-variant-8-on: #fbfdff;
  --neutral-variant-8-on: oklch(99.31% 0.0034 247.857);
  --neutral-variant-8-dim: #788c98;
  --neutral-variant-8-dim: oklch(62.834% 0.0293 234.278);
  --neutral-variant-9: #1b2f39;
  --neutral-variant-9: oklch(29.283% 0.0316 230.984);
  --neutral-variant-9-on: #dbf1fe;
  --neutral-variant-9-on: oklch(94.591% 0.0291 233.592);
  --neutral-variant-9-dim: #657a85;
  --neutral-variant-9-dim: oklch(56.657% 0.0299 230.781);
  --neutral-variant-10: #0b2029;
  --neutral-variant-10: oklch(23.09% 0.0319 228.464);
  --neutral-variant-10-on: #d8eefa;
  --neutral-variant-10-on: oklch(93.656% 0.0284 231.445);
  --neutral-variant-10-dim: #617680;
  --neutral-variant-10-dim: oklch(55.25% 0.0292 228.335);
  --neutral-variant-11: #021720;
  --neutral-variant-11: oklch(19.186% 0.0338 227.719);
  --neutral-variant-11-on: #d8eefa;
  --neutral-variant-11-on: oklch(93.656% 0.0284 231.445);
  --neutral-variant-11-dim: #617681;
  --neutral-variant-11-dim: oklch(55.288% 0.0301 230.812);
  --neutral-variant-12: #00131c;
  --neutral-variant-12: oklch(17.44% 0.034 228.089);
  --neutral-variant-12-on: #d8eefa;
  --neutral-variant-12-on: oklch(93.656% 0.0284 231.445);
  --neutral-variant-12-dim: #617681;
  --neutral-variant-12-dim: oklch(55.288% 0.0301 230.812);
}
:root {
  --error-1: #ffedeb;
  --error-1: oklch(95.984% 0.0198 25.169);
  --error-1-on: #382e2d;
  --error-1-on: oklch(31.183% 0.0148 24.71);
  --error-1-dim: #c6b5b4;
  --error-1-dim: oklch(78.71% 0.0196 21.641);
  --error-2: #ffe7e5;
  --error-2: oklch(94.678% 0.0265 23.358);
  --error-2-on: #332524;
  --error-2-on: oklch(28.07% 0.0215 23.225);
  --error-2-dim: #c4afad;
  --error-2-dim: oklch(77.138% 0.0245 24.209);
  --error-3: #ffd6d2;
  --error-3: oklch(90.973% 0.0465 24.592);
  --error-3-on: #38201e;
  --error-3-on: oklch(27.428% 0.0378 24.988);
  --error-3-dim: #c19d99;
  --error-3-dim: oklch(72.756% 0.0434 25.588);
  --error-4: #ffbab3;
  --error-4: oklch(85.083% 0.0811 25.438);
  --error-4-on: #431a17;
  --error-4-on: oklch(27.865% 0.0643 26.275);
  --error-4-dim: #bb7f79;
  --error-4-dim: oklch(65.587% 0.0757 25.649);
  --error-5: #ff8f85;
  --error-5: oklch(76.813% 0.137 26.093);
  --error-5-on: #510a0a;
  --error-5-on: oklch(28.322% 0.1021 26.762);
  --error-5-dim: #af5149;
  --error-5-dim: oklch(55.135% 0.1246 26.824);
  --error-6: #d86a62;
  --error-6: oklch(65.274% 0.1397 25.876);
  --error-6-on: #ffffff;
  --error-6-on: oklch(100% 0 89.876);
  --error-6-dim: #7b2421;
  --error-6-dim: oklch(39.66% 0.1212 26.259);
  --error-7: #a6443e;
  --error-7: oklch(51.653% 0.1309 26.168);
  --error-7-on: #ffffff;
  --error-7-on: oklch(100% 0 89.876);
  --error-7-dim: #f68178;
  --error-7-dim: oklch(73.235% 0.1446 25.759);
  --error-8: #7c2522;
  --error-8: oklch(39.979% 0.1211 26.178);
  --error-8-on: #fffbff;
  --error-8-on: oklch(99.227% 0.0067 325.627);
  --error-8-dim: #d56860;
  --error-8-dim: oklch(64.516% 0.1389 25.939);
  --error-9: #5c0d0e;
  --error-9: oklch(30.949% 0.1111 26.184);
  --error-9-on: #ffe9e6;
  --error-9-on: oklch(95.085% 0.0245 26.917);
  --error-9-dim: #bf5750;
  --error-9-dim: oklch(58.53% 0.1354 25.964);
  --error-10: #440003;
  --error-10: oklch(24.33% 0.099 26.458);
  --error-10-on: #ffe4e2;
  --error-10-on: oklch(94.028% 0.0299 22.775);
  --error-10-dim: #b7544d;
  --error-10-dim: oklch(56.848% 0.1299 26.088);
  --error-11: #330002;
  --error-11: oklch(20.211% 0.0821 26.021);
  --error-11-on: #ffe4e2;
  --error-11-on: oklch(94.028% 0.0299 22.775);
  --error-11-dim: #ae5a54;
  --error-11-dim: oklch(56.625% 0.1107 25.398);
  --error-12: #2d0001;
  --error-12: oklch(18.689% 0.0762 27.177);
  --error-12-on: #ffe4e1;
  --error-12-on: oklch(94.001% 0.0301 25.281);
  --error-12-dim: #ab5c54;
  --error-12-dim: oklch(56.538% 0.1046 26.911);
}
@media (prefers-color-scheme: dark) {
  :root {
    --primary-1: #00131c;
    --primary-1: oklch(17.44% 0.034 228.089);
    --primary-1-on: #d8eefa;
    --primary-1-on: oklch(93.656% 0.0284 231.445);
    --primary-1-dim: #617681;
    --primary-1-dim: oklch(55.288% 0.0301 230.812);
    --primary-2: #001721;
    --primary-2: oklch(19.105% 0.0372 227.859);
    --primary-2-on: #d6eefc;
    --primary-2-on: oklch(93.579% 0.0317 233.295);
    --primary-2-dim: #5f7682;
    --primary-2-dim: oklch(55.182% 0.0328 230.81);
    --primary-3: #00212d;
    --primary-3: oklch(23.088% 0.0443 226.418);
    --primary-3-on: #d0efff;
    --primary-3-on: oklch(93.47% 0.0391 230.192);
    --primary-3-dim: #5a7785;
    --primary-3-dim: oklch(55.19% 0.0399 229.095);
    --primary-4: #063141;
    --primary-4: oklch(29.365% 0.0529 228.408);
    --primary-4-on: #dbf1ff;
    --primary-4-on: oklch(94.622% 0.03 235.627);
    --primary-4-dim: #597c8e;
    --primary-4-dim: oklch(56.666% 0.0484 231.039);
    --primary-5: #234859;
    --primary-5: oklch(38.199% 0.0513 229.931);
    --primary-5-on: #fbfcff;
    --primary-5-on: oklch(99.115% 0.0041 271.371);
    --primary-5-dim: #6a8ea1;
    --primary-5-dim: oklch(62.673% 0.0493 231.539);
    --primary-6: #45687a;
    --primary-6: oklch(49.791% 0.0494 231.426);
    --primary-6-on: #ffffff;
    --primary-6-on: oklch(100% 0 89.876);
    --primary-6-dim: #85a8bc;
    --primary-6-dim: oklch(71.257% 0.0482 233.381);
    --primary-7: #6c90a3;
    --primary-7: oklch(63.334% 0.0492 231.515);
    --primary-7-on: #ffffff;
    --primary-7-on: oklch(100% 0 89.876);
    --primary-7-dim: #a7cbe0;
    --primary-7-dim: oklch(82.287% 0.0484 233.751);
    --primary-8: #8fb4c7;
    --primary-8: oklch(74.927% 0.0485 230.507);
    --primary-8-on: #002a39;
    --primary-8-on: oklch(26.602% 0.0517 227.635);
    --primary-8-dim: #c7ecff;
    --primary-8-dim: oklch(92.266% 0.0465 230.217);
    --primary-9: #abd0e4;
    --primary-9: oklch(83.738% 0.0482 231.699);
    --primary-9-on: #002a3a;
    --primary-9-on: oklch(26.663% 0.0527 229.3);
    --primary-9-dim: #6f93a5;
    --primary-9-dim: oklch(64.286% 0.0482 230.051);
    --primary-10: #c0e5fa;
    --primary-10: oklch(90.21% 0.0483 232.913);
    --primary-10-on: #002a3a;
    --primary-10-on: oklch(26.663% 0.0527 229.3);
    --primary-10-dim: #86abbe;
    --primary-10-dim: oklch(72.055% 0.0488 230.574);
    --primary-11: #d7f0ff;
    --primary-11: oklch(94.145% 0.0333 234.081);
    --primary-11-on: #132b36;
    --primary-11-on: oklch(27.506% 0.0362 229.75);
    --primary-11-dim: #9fb7c6;
    --primary-11-dim: oklch(76.612% 0.0341 235.348);
    --primary-12: #e1f4ff;
    --primary-12: oklch(95.642% 0.025 232.965);
    --primary-12-on: #21333b;
    --primary-12-on: oklch(30.903% 0.0275 227.451);
    --primary-12-dim: #a9bcc6;
    --primary-12-dim: oklch(78.383% 0.0253 230.539);
  }
  :root {
    --secondary-1: #220a00;
    --secondary-1: oklch(18.165% 0.048 49.984);
    --secondary-1-on: #ffe5d9;
    --secondary-1-on: oklch(93.982% 0.0329 46.396);
    --secondary-1-dim: #936952;
    --secondary-1-dim: oklch(55.823% 0.064 49.695);
    --secondary-2: #280c00;
    --secondary-2: oklch(19.763% 0.0537 48.092);
    --secondary-2-on: #ffe5da;
    --secondary-2-on: oklch(94.008% 0.0323 44.37);
    --secondary-2-dim: #97684e;
    --secondary-2-dim: oklch(56.016% 0.0717 49.739);
    --secondary-3: #361300;
    --secondary-3: oklch(23.81% 0.0644 48.467);
    --secondary-3-on: #ffe5da;
    --secondary-3-on: oklch(94.008% 0.0323 44.37);
    --secondary-3-dim: #9c6647;
    --secondary-3-dim: oklch(56.108% 0.0829 50.264);
    --secondary-4: #4e1f00;
    --secondary-4: oklch(30.383% 0.0817 48.848);
    --secondary-4-on: #ffeae0;
    --secondary-4-on: oklch(95.118% 0.0266 47.22);
    --secondary-4-dim: #a96740;
    --secondary-4-dim: oklch(57.834% 0.1006 50.302);
    --secondary-5: #723100;
    --secondary-5: oklch(39.631% 0.1061 49.155);
    --secondary-5-on: #fffbff;
    --secondary-5-on: oklch(99.227% 0.0067 325.627);
    --secondary-5-dim: #c87340;
    --secondary-5-dim: oklch(64.007% 0.1257 49.909);
    --secondary-6: #a14b09;
    --secondary-6: oklch(51.378% 0.1325 49.648);
    --secondary-6-on: #ffffff;
    --secondary-6-on: oklch(100% 0 89.876);
    --secondary-6-dim: #f18846;
    --secondary-6-dim: oklch(72.933% 0.1509 50.445);
    --secondary-7: #d37131;
    --secondary-7: oklch(64.993% 0.1446 50.383);
    --secondary-7-on: #ffffff;
    --secondary-7-on: oklch(100% 0 89.876);
    --secondary-7-dim: #703100;
    --secondary-7-dim: oklch(39.299% 0.104 49.962);
    --secondary-8: #fe9350;
    --secondary-8: oklch(76.498% 0.1525 50.702);
    --secondary-8-on: #431a00;
    --secondary-8-on: oklch(27.51% 0.0734 49.328);
    --secondary-8-dim: #ffe0d1;
    --secondary-8-dim: oklch(92.829% 0.0399 47.463);
    --secondary-9: #ffbc97;
    --secondary-9: oklch(84.828% 0.0922 49.985);
    --secondary-9-on: #421c04;
    --secondary-9-on: oklch(27.753% 0.0682 49.216);
    --secondary-9-dim: #bb815f;
    --secondary-9-dim: oklch(65.397% 0.0864 51.075);
    --secondary-10: #ffd8c4;
    --secondary-10: oklch(90.998% 0.0514 48.759);
    --secondary-10-on: #372115;
    --secondary-10-on: oklch(27.271% 0.04 49.091);
    --secondary-10-dim: #c19f8c;
    --secondary-10-dim: oklch(72.816% 0.0486 50.817);
    --secondary-11: #ffe8dd;
    --secondary-11: oklch(94.658% 0.0293 47.296);
    --secondary-11-on: #32261f;
    --secondary-11-on: oklch(28.029% 0.0221 51.773);
    --secondary-11-dim: #c4b0a5;
    --secondary-11-dim: oklch(77.12% 0.0279 50.765);
    --secondary-12: #ffede5;
    --secondary-12: oklch(95.824% 0.0224 45.607);
    --secondary-12-on: #382d28;
    --secondary-12-on: oklch(30.774% 0.0185 45.821);
    --secondary-12-dim: #c6b5ae;
    --secondary-12-dim: oklch(78.542% 0.0219 43.806);
  }
  :root {
    --tertiary-1: #021221;
    --tertiary-1: oklch(17.648% 0.0396 246.112);
    --tertiary-1-on: #ddecff;
    --tertiary-1-on: oklch(93.764% 0.0304 254.316);
    --tertiary-1-dim: #647487;
    --tertiary-1-dim: oklch(55.278% 0.0353 252.865);
    --tertiary-2: #051625;
    --tertiary-2: oklch(19.419% 0.0386 246.682);
    --tertiary-2-on: #ddecff;
    --tertiary-2-on: oklch(93.764% 0.0304 254.316);
    --tertiary-2-dim: #647487;
    --tertiary-2-dim: oklch(55.278% 0.0353 252.865);
    --tertiary-3: #0e1f2e;
    --tertiary-3: oklch(23.257% 0.0371 246.811);
    --tertiary-3-on: #dcecff;
    --tertiary-3-on: oklch(93.693% 0.031 252.688);
    --tertiary-3-dim: #647487;
    --tertiary-3-dim: oklch(55.278% 0.0353 252.865);
    --tertiary-4: #1e2e3e;
    --tertiary-4: oklch(29.469% 0.0363 249.148);
    --tertiary-4-on: #e3efff;
    --tertiary-4-on: oklch(94.791% 0.0251 255.56);
    --tertiary-4-dim: #68798b;
    --tertiary-4-dim: oklch(56.875% 0.0344 249.928);
    --tertiary-5: #364557;
    --tertiary-5: oklch(38.5% 0.0364 253.288);
    --tertiary-5-on: #fcfcff;
    --tertiary-5-on: oklch(99.191% 0.004 286.327);
    --tertiary-5-dim: #7b8a9f;
    --tertiary-5-dim: oklch(62.868% 0.0362 256.8);
    --tertiary-6: #556577;
    --tertiary-6: oklch(50.023% 0.0348 251.55);
    --tertiary-6-on: #ffffff;
    --tertiary-6-on: oklch(100% 0 89.876);
    --tertiary-6-dim: #94a5b8;
    --tertiary-6-dim: oklch(71.495% 0.0337 251.223);
    --tertiary-7: #7c8da0;
    --tertiary-7: oklch(63.642% 0.0347 251.276);
    --tertiary-7-on: #ffffff;
    --tertiary-7-on: oklch(100% 0 89.876);
    --tertiary-7-dim: #b6c8dc;
    --tertiary-7-dim: oklch(82.547% 0.0343 251.029);
    --tertiary-8: #a0b0c4;
    --tertiary-8: oklch(75.131% 0.0339 254.044);
    --tertiary-8-on: #182838;
    --tertiary-8-on: oklch(27.066% 0.0369 249.332);
    --tertiary-8-dim: #606f81;
    --tertiary-8-dim: oklch(53.589% 0.0336 253.119);
    --tertiary-9: #bccde2;
    --tertiary-9: oklch(84.205% 0.0347 253.731);
    --tertiary-9-on: #182838;
    --tertiary-9-on: oklch(27.066% 0.0369 249.332);
    --tertiary-9-dim: #8090a4;
    --tertiary-9-dim: oklch(64.747% 0.0352 254.085);
    --tertiary-10: #d1e1f7;
    --tertiary-10: oklch(90.454% 0.0348 256.34);
    --tertiary-10-on: #182838;
    --tertiary-10-on: oklch(27.066% 0.0369 249.332);
    --tertiary-10-dim: #97a7bb;
    --tertiary-10-dim: oklch(72.248% 0.0343 254.055);
    --tertiary-11: #e1eeff;
    --tertiary-11: oklch(94.449% 0.0269 255.09);
    --tertiary-11-on: #1e2a37;
    --tertiary-11-on: oklch(28.001% 0.0293 250.892);
    --tertiary-11-dim: #a9b5c5;
    --tertiary-11-dim: oklch(76.881% 0.0265 255.587);
    --tertiary-12: #e9f1ff;
    --tertiary-12: oklch(95.624% 0.0207 261.772);
    --tertiary-12-on: #28303a;
    --tertiary-12-on: oklch(30.588% 0.0212 254.148);
    --tertiary-12-dim: #b0b9c6;
    --tertiary-12-dim: oklch(78.275% 0.021 257.483);
  }
  :root {
    --neutral-1: #0a1216;
    --neutral-1: oklch(17.61% 0.0147 230.27);
    --neutral-1-on: #e3ebf1;
    --neutral-1-on: oklch(93.576% 0.0118 239.911);
    --neutral-1-dim: #6b7479;
    --neutral-1-dim: oklch(55.304% 0.0134 231.833);
    --neutral-2: #0e1519;
    --neutral-2: oklch(19.048% 0.0134 233.438);
    --neutral-2-on: #e5ebf1;
    --neutral-2-on: oklch(93.725% 0.0104 247.937);
    --neutral-2-dim: #6c7479;
    --neutral-2-dim: oklch(55.386% 0.0124 234.985);
    --neutral-3: #171f23;
    --neutral-3: oklch(23.319% 0.014 229.716);
    --neutral-3-on: #e3ebf1;
    --neutral-3-on: oklch(93.576% 0.0118 239.911);
    --neutral-3-dim: #6b7479;
    --neutral-3-dim: oklch(55.304% 0.0134 231.833);
    --neutral-4: #272e32;
    --neutral-4: oklch(29.607% 0.0122 232.866);
    --neutral-4-on: #e8eff4;
    --neutral-4-on: oklch(94.828% 0.0101 238.513);
    --neutral-4-dim: #71787d;
    --neutral-4-dim: oklch(56.841% 0.0114 238.651);
    --neutral-5: #3e454a;
    --neutral-5: oklch(38.587% 0.0126 238.838);
    --neutral-5-on: #fcfcff;
    --neutral-5-on: oklch(99.191% 0.004 286.327);
    --neutral-5-dim: #838a8f;
    --neutral-5-dim: oklch(62.924% 0.0112 238.616);
    --neutral-6: #5d6569;
    --neutral-6: oklch(50.12% 0.0118 229.075);
    --neutral-6-on: #ffffff;
    --neutral-6-on: oklch(100% 0 89.876);
    --neutral-6-dim: #9ca5a9;
    --neutral-6-dim: oklch(71.597% 0.0118 226.046);
    --neutral-7: #848c91;
    --neutral-7: oklch(63.51% 0.012 234.932);
    --neutral-7-on: #ffffff;
    --neutral-7-on: oklch(100% 0 89.876);
    --neutral-7-dim: #3c4448;
    --neutral-7-dim: oklch(38.085% 0.0126 229.223);
    --neutral-8: #a8afb5;
    --neutral-8: oklch(75.028% 0.0117 243.705);
    --neutral-8-on: #21272c;
    --neutral-8-on: oklch(26.893% 0.0127 243.338);
    --neutral-8-dim: #676e74;
    --neutral-8-dim: oklch(53.427% 0.0127 243.81);
    --neutral-9: #c4ccd1;
    --neutral-9: oklch(84.051% 0.0112 234.848);
    --neutral-9-on: #20282b;
    --neutral-9-on: oklch(27.036% 0.0126 222.524);
    --neutral-9-dim: #878f94;
    --neutral-9-dim: oklch(64.507% 0.012 234.926);
    --neutral-10: #d9e1e6;
    --neutral-10: oklch(90.511% 0.011 234.83);
    --neutral-10-on: #20282b;
    --neutral-10-on: oklch(27.036% 0.0126 222.524);
    --neutral-10-dim: #9fa7ab;
    --neutral-10-dim: oklch(72.32% 0.0108 228.95);
    --neutral-11: #e6edf3;
    --neutral-11: oklch(94.254% 0.0111 243.657);
    --neutral-11-on: #21292d;
    --neutral-11-on: oklch(27.49% 0.0135 229.504);
    --neutral-11-dim: #adb4ba;
    --neutral-11-dim: oklch(76.621% 0.0116 243.7);
    --neutral-12: #eaf2f7;
    --neutral-12: oklch(95.656% 0.0109 234.818);
    --neutral-12-on: #293135;
    --neutral-12-on: oklch(30.719% 0.0132 229.392);
    --neutral-12-dim: #b1babe;
    --neutral-12-dim: oklch(78.306% 0.0115 226.023);
  }
  :root {
    --neutral-variant-1: #00131c;
    --neutral-variant-1: oklch(17.44% 0.034 228.089);
    --neutral-variant-1-on: #d8eefa;
    --neutral-variant-1-on: oklch(93.656% 0.0284 231.445);
    --neutral-variant-1-dim: #617681;
    --neutral-variant-1-dim: oklch(55.288% 0.0301 230.812);
    --neutral-variant-2: #021720;
    --neutral-variant-2: oklch(19.186% 0.0338 227.719);
    --neutral-variant-2-on: #d8eefa;
    --neutral-variant-2-on: oklch(93.656% 0.0284 231.445);
    --neutral-variant-2-dim: #617681;
    --neutral-variant-2-dim: oklch(55.288% 0.0301 230.812);
    --neutral-variant-3: #0b2029;
    --neutral-variant-3: oklch(23.09% 0.0319 228.464);
    --neutral-variant-3-on: #d8eefa;
    --neutral-variant-3-on: oklch(93.656% 0.0284 231.445);
    --neutral-variant-3-dim: #617680;
    --neutral-variant-3-dim: oklch(55.25% 0.0292 228.335);
    --neutral-variant-4: #1b2f39;
    --neutral-variant-4: oklch(29.283% 0.0316 230.984);
    --neutral-variant-4-on: #dbf1fe;
    --neutral-variant-4-on: oklch(94.591% 0.0291 233.592);
    --neutral-variant-4-dim: #657a85;
    --neutral-variant-4-dim: oklch(56.657% 0.0299 230.781);
    --neutral-variant-5: #334751;
    --neutral-variant-5: oklch(38.52% 0.0303 230.143);
    --neutral-variant-5-on: #fbfdff;
    --neutral-variant-5-on: oklch(99.31% 0.0034 247.857);
    --neutral-variant-5-dim: #788c98;
    --neutral-variant-5-dim: oklch(62.834% 0.0293 234.278);
    --neutral-variant-6: #526771;
    --neutral-variant-6: oklch(50.038% 0.0298 228.468);
    --neutral-variant-6-on: #ffffff;
    --neutral-variant-6-on: oklch(100% 0 89.876);
    --neutral-variant-6-dim: #91a7b1;
    --neutral-variant-6-dim: oklch(71.468% 0.0286 226.943);
    --neutral-variant-7: #798e9a;
    --neutral-variant-7: oklch(63.427% 0.0301 232.98);
    --neutral-variant-7-on: #ffffff;
    --neutral-variant-7-on: oklch(100% 0 89.876);
    --neutral-variant-7-dim: #b3c9d6;
    --neutral-variant-7-dim: oklch(82.343% 0.0301 233.688);
    --neutral-variant-8: #9cb2be;
    --neutral-variant-8: oklch(75.063% 0.0299 231.604);
    --neutral-variant-8-on: #142933;
    --neutral-variant-8-on: oklch(26.822% 0.0328 230.281);
    --neutral-variant-8-dim: #5b717c;
    --neutral-variant-8-dim: oklch(53.492% 0.0312 229.686);
    --neutral-variant-9: #b9cedb;
    --neutral-variant-9: oklch(83.968% 0.0291 234.92);
    --neutral-variant-9-on: #162933;
    --neutral-variant-9-on: oklch(26.944% 0.0311 232.54);
    --neutral-variant-9-dim: #7d919e;
    --neutral-variant-9-dim: oklch(64.529% 0.0301 236.46);
    --neutral-variant-10: #cde3f0;
    --neutral-variant-10: oklch(90.351% 0.0295 233.622);
    --neutral-variant-10-on: #152933;
    --neutral-variant-10-on: oklch(26.882% 0.0319 231.367);
    --neutral-variant-10-dim: #93a9b5;
    --neutral-variant-10-dim: oklch(72.18% 0.0301 231.639);
    --neutral-variant-11: #daf0fd;
    --neutral-variant-11: oklch(94.29% 0.0292 233.594);
    --neutral-variant-11-on: #172b35;
    --neutral-variant-11-on: oklch(27.687% 0.0318 231.226);
    --neutral-variant-11-dim: #a2b7c4;
    --neutral-variant-11-dim: oklch(76.757% 0.0297 234.989);
    --neutral-variant-12: #e1f4ff;
    --neutral-variant-12: oklch(95.642% 0.025 232.965);
    --neutral-variant-12-on: #21333b;
    --neutral-variant-12-on: oklch(30.903% 0.0275 227.451);
    --neutral-variant-12-dim: #a9bcc6;
    --neutral-variant-12-dim: oklch(78.383% 0.0253 230.539);
  }
  :root {
    --error-1: #2d0001;
    --error-1: oklch(18.689% 0.0762 27.177);
    --error-1-on: #ffe4e1;
    --error-1-on: oklch(94.001% 0.0301 25.281);
    --error-1-dim: #ab5c54;
    --error-1-dim: oklch(56.538% 0.1046 26.911);
    --error-2: #330002;
    --error-2: oklch(20.211% 0.0821 26.021);
    --error-2-on: #ffe4e2;
    --error-2-on: oklch(94.028% 0.0299 22.775);
    --error-2-dim: #ae5a54;
    --error-2-dim: oklch(56.625% 0.1107 25.398);
    --error-3: #440003;
    --error-3: oklch(24.33% 0.099 26.458);
    --error-3-on: #ffe4e2;
    --error-3-on: oklch(94.028% 0.0299 22.775);
    --error-3-dim: #b7544d;
    --error-3-dim: oklch(56.848% 0.1299 26.088);
    --error-4: #5c0d0e;
    --error-4: oklch(30.949% 0.1111 26.184);
    --error-4-on: #ffe9e6;
    --error-4-on: oklch(95.085% 0.0245 26.917);
    --error-4-dim: #bf5750;
    --error-4-dim: oklch(58.53% 0.1354 25.964);
    --error-5: #7c2522;
    --error-5: oklch(39.979% 0.1211 26.178);
    --error-5-on: #fffbff;
    --error-5-on: oklch(99.227% 0.0067 325.627);
    --error-5-dim: #d56860;
    --error-5-dim: oklch(64.516% 0.1389 25.939);
    --error-6: #a6443e;
    --error-6: oklch(51.653% 0.1309 26.168);
    --error-6-on: #ffffff;
    --error-6-on: oklch(100% 0 89.876);
    --error-6-dim: #f68178;
    --error-6-dim: oklch(73.235% 0.1446 25.759);
    --error-7: #d86a62;
    --error-7: oklch(65.274% 0.1397 25.876);
    --error-7-on: #ffffff;
    --error-7-on: oklch(100% 0 89.876);
    --error-7-dim: #7b2421;
    --error-7-dim: oklch(39.66% 0.1212 26.259);
    --error-8: #ff8f85;
    --error-8: oklch(76.813% 0.137 26.093);
    --error-8-on: #510a0a;
    --error-8-on: oklch(28.322% 0.1021 26.762);
    --error-8-dim: #af5149;
    --error-8-dim: oklch(55.135% 0.1246 26.824);
    --error-9: #ffbab3;
    --error-9: oklch(85.083% 0.0811 25.438);
    --error-9-on: #431a17;
    --error-9-on: oklch(27.865% 0.0643 26.275);
    --error-9-dim: #bb7f79;
    --error-9-dim: oklch(65.587% 0.0757 25.649);
    --error-10: #ffd6d2;
    --error-10: oklch(90.973% 0.0465 24.592);
    --error-10-on: #38201e;
    --error-10-on: oklch(27.428% 0.0378 24.988);
    --error-10-dim: #c19d99;
    --error-10-dim: oklch(72.756% 0.0434 25.588);
    --error-11: #ffe7e5;
    --error-11: oklch(94.678% 0.0265 23.358);
    --error-11-on: #332524;
    --error-11-on: oklch(28.07% 0.0215 23.225);
    --error-11-dim: #c4afad;
    --error-11-dim: oklch(77.138% 0.0245 24.209);
    --error-12: #ffedeb;
    --error-12: oklch(95.984% 0.0198 25.169);
    --error-12-on: #382e2d;
    --error-12-on: oklch(31.183% 0.0148 24.71);
    --error-12-dim: #c6b5b4;
    --error-12-dim: oklch(78.71% 0.0196 21.641);
  }
}

/* stellar:colors-named.css */
:root {
  --named-brand--2: #006080;
  --named-brand--2: oklch(45.782% 0.091 229.776);
  --named-brand--2-on: #FFFFFF;
  --named-brand--2-on: oklch(100% 0 89.876);
  --named-brand--2-dim: #5DA2C5;
  --named-brand--2-dim: oklch(68.04% 0.0869 232.081);
  --named-brand--1: #006A94;
  --named-brand--1: oklch(49.465% 0.1045 234.689);
  --named-brand--1-on: #FFFFFF;
  --named-brand--1-on: oklch(100% 0 89.876);
  --named-brand--1-dim: #5FABD8;
  --named-brand--1-dim: oklch(71.008% 0.1002 236.507);
  --named-brand-0: #0073AA;
  --named-brand-0: oklch(52.963% 0.1212 239.952);
  --named-brand-0-on: #FFFFFF;
  --named-brand-0-on: oklch(100% 0 89.876);
  --named-brand-0-dim: #62B2ED;
  --named-brand-0-dim: oklch(73.654% 0.1166 242.536);
  --named-brand-1: #277BBB;
  --named-brand-1: oklch(56.463% 0.1263 246.121);
  --named-brand-1-on: #FFFFFF;
  --named-brand-1-on: oklch(100% 0 89.876);
  --named-brand-1-dim: #002A47;
  --named-brand-1-dim: oklch(27.533% 0.0692 244.914);
  --named-brand-2: #3F84CC;
  --named-brand-2: oklch(60.263% 0.1304 251.691);
  --named-brand-2-on: #FFFFFF;
  --named-brand-2-on: oklch(100% 0 89.876);
  --named-brand-2-dim: #8FC0FF;
  --named-brand-2-dim: oklch(79.716% 0.104 255.038);
}

/* stellar:fonts-families.css */
:root {
  --font-antique:
    Superclarendon,
    "Bookman Old Style",
    "URW Bookman",
    "URW Bookman L",
    "Georgia Pro",
    Georgia,
    serif;
  --font-classical-humanist:
    Optima,
    Candara,
    "Noto Sans",
    source-sans-pro,
    sans-serif;
  --font-didone:
    Didot,
    "Bodoni MT",
    "Noto Serif Display",
    "URW Palladio L",
    P052,
    Sylfaen,
    serif;
  --font-geometric-humanist:
    Avenir,
    Montserrat,
    Corbel,
    "URW Gothic",
    source-sans-pro,
    sans-serif;
  --font-handwritten:
    "Segoe Print",
    "Bradley Hand",
    Chilanka,
    TSCu_Comic,
    casual,
    cursive;
  --font-humanist:
    Seravek,
    "Gill Sans Nova",
    Ubuntu,
    Calibri,
    "DejaVu Sans",
    source-sans-pro,
    sans-serif;
  --font-industrial:
    Bahnschrift,
    "DIN Alternate",
    "Franklin Gothic Medium",
    "Nimbus Sans Narrow",
    sans-serif-condensed,
    sans-serif;
  --font-mono:
    "Dank Mono",
    "Operator Mono",
    Inconsolata,
    "Fira Mono",
    ui-monospace,
    "SF Mono",
    Monaco,
    "Droid Sans Mono",
    "Source Code Pro",
    "Cascadia Code",
    Menlo,
    Consolas,
    "DejaVu Sans Mono",
    monospace;
  --font-monospace-code:
    "Dank Mono",
    "Operator Mono",
    Inconsolata,
    "Fira Mono",
    ui-monospace,
    "SF Mono",
    Monaco,
    "Droid Sans Mono",
    "Source Code Pro",
    "Cascadia Code",
    Menlo,
    Consolas,
    "DejaVu Sans Mono",
    monospace;
  --font-monospace-slab-serif:
    "Nimbus Mono PS",
    "Courier New",
    monospace;
  --font-neo-grotesque:
    Inter,
    Roboto,
    "Helvetica Neue",
    "Arial Nova",
    "Nimbus Sans",
    Arial,
    sans-serif;
  --font-old-style:
    "Iowan Old Style",
    "Palatino Linotype",
    "URW Palladio L",
    P052,
    serif;
  --font-rounded-sans:
    ui-rounded,
    "Hiragino Maru Gothic ProN",
    Quicksand,
    Comfortaa,
    Manjari,
    "Arial Rounded MT",
    "Arial Rounded MT Bold",
    Calibri,
    source-sans-pro,
    sans-serif;
  --font-sans: system-ui, sans-serif;
  --font-serif: ui-serif, serif;
  --font-slab-serif:
    Rockwell,
    "Rockwell Nova",
    "Roboto Slab",
    "DejaVu Serif",
    "Sitka Small",
    serif;
  --font-transitional:
    Charter,
    "Bitstream Charter",
    "Sitka Text",
    Cambria,
    serif;
}

/* stellar:fonts-weights.css */
:root {
  --font-weight-thin: 100;
  --font-weight-extra-light: 200;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semi-bold: 600;
  --font-weight-bold: 700;
  --font-weight-extra-bold: 800;
  --font-weight-black: 900;
  --font-weight-extra-black: 950;
}

/* stellar:general-viewport.css */
:root {
  --viewport-min: 320px;
  --viewport-max: 1440px;
}

/* stellar:fonts-sizes.css */
:root {
  --font-size--2: clamp(0.694444rem, calc(0.667108rem + 0.136684vw), 0.790123rem);
  --font-size--1: clamp(0.833333rem, calc(0.81746rem + 0.079365vw), 0.888889rem);
  --font-size-0: 1rem;
  --font-size-1: clamp(1.125rem, calc(1.103571rem + 0.107143vw), 1.2rem);
  --font-size-2: clamp(1.265625rem, calc(1.215804rem + 0.249107vw), 1.44rem);
  --font-size-3: clamp(1.423828rem, calc(1.336922rem + 0.434531vw), 1.728rem);
  --font-size-4: clamp(1.601807rem, calc(1.467009rem + 0.673991vw), 2.0736rem);
  --font-size-5: clamp(1.802032rem, calc(1.60595rem + 0.980411vw), 2.48832rem);
  --font-size-6: clamp(2.027287rem, calc(1.753373rem + 1.369568vw), 2.985984rem);
  --font-size-7: clamp(2.280697rem, calc(1.908559rem + 1.860691vw), 3.583181rem);
  --font-size-8: clamp(2.565785rem, calc(2.070347rem + 2.477189vw), 4.299817rem);
  --font-size-9: clamp(2.886508rem, calc(2.237001rem + 3.247533vw), 5.15978rem);
  --font-size-10: clamp(3.247321rem, calc(2.406059rem + 4.206308vw), 6.191736rem);
  --font-size-11: clamp(3.653236rem, calc(2.574137rem + 5.395497vw), 7.430084rem);
  --font-size-12: clamp(4.109891rem, calc(2.736688rem + 6.866014vw), 8.9161rem);
}

/* stellar:fonts-line-heights.css */
:root {
  --font-line-height--3: 1.234804rem;
  --font-line-height--2: 1.317536rem;
  --font-line-height--1: 1.405811rem;
  --font-line-height-0: 1.5rem;
  --font-line-height-1: 1.6005rem;
  --font-line-height-2: 1.707733rem;
  --font-line-height-3: 1.822152rem;
  --font-line-height-4: 1.944236rem;
}

/* stellar:fonts-spacing.css */
:root {
  --font-letter-spacing--2: calc(calc(-1 * max(0, 0.025) * pow(max(1, calc(1.778 + 0.222 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1))), 1)) * 1em);
  --font-letter-spacing--1: calc(calc(-1 * max(0, 0.025)) * 1em);
  --font-letter-spacing-0: calc(calc(max(0, 0.025) - max(0, 0.025)) * 1em);
  --font-letter-spacing-1: calc(max(0, 0.025) * 1em);
  --font-letter-spacing-2: calc(calc(max(0, 0.025) * pow(max(1, calc(1.778 + 0.222 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1))), 1)) * 1em);
  --font-letter-spacing-3: calc(calc(max(0, 0.025) * pow(max(1, calc(1.778 + 0.222 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1))), 2)) * 1em);
}

/* stellar:general-size.css */
:root {
  --size--2: clamp(0.439179rem, calc(0.346404rem + 0.463872vw), 0.763889rem);
  --size--1: clamp(0.468604rem, calc(0.340586rem + 0.64009vw), 0.916667rem);
  --size-0: clamp(0.5rem, calc(0.328571rem + 0.857143vw), 1.1rem);
  --size-1: clamp(0.5335rem, calc(0.308786rem + 1.123571vw), 1.32rem);
  --size-2: clamp(0.569244rem, calc(0.279314rem + 1.449651vw), 1.584rem);
  --size-3: clamp(0.607384rem, calc(0.237836rem + 1.847737vw), 1.9008rem);
  --size-4: clamp(0.648079rem, calc(0.181541rem + 2.332688vw), 2.28096rem);
  --size-5: clamp(0.6915rem, calc(0.107028rem + 2.92236vw), 2.737152rem);
  --size-6: clamp(0.73783rem, calc(0.010187rem + 3.638217vw), 3.284582rem);
  --size-7: clamp(0.787265rem, calc(-0.113945rem + 4.506048vw), 3.941499rem);
  --size-8: clamp(0.840012rem, calc(-0.271356rem + 5.556838vw), 4.729799rem);
  --size-9: clamp(0.896293rem, calc(-0.469269rem + 6.827808vw), 5.675758rem);
  --size-10: clamp(0.956344rem, calc(-0.716389rem + 8.363666vw), 6.81091rem);
  --size-11: clamp(1.020419rem, calc(-1.023202rem + 10.218104vw), 8.173092rem);
  --size-12: clamp(1.088787rem, calc(-1.402334rem + 12.455605vw), 9.80771rem);
}

/* stellar:general-aspect-ratio.css */
:root {
  --aspect-ratio-portrait: 0.75;
  --aspect-ratio-widescreen: 1.7778;
  --aspect-ratio-square: 1;
  --aspect-ratio-landscape: 1.3333;
  --aspect-ratio-cinematic: 2.35;
  --aspect-ratio-ultrawide: 3.5556;
}

/* stellar:general-zindex.css */
:root {
  --zindex-drawer: 700;
  --zindex-dialog: 800;
  --zindex-dropdown: 900;
  --zindex-toast: 950;
  --zindex-tooltip: 1000;
  --zindex-important: 18014398509481984;
}

/* stellar:border-width.css */
:root {
  --border-width-0: 0.1rem;
  --border-width-1: clamp(0.1125rem, calc(0.104243rem + 0.041286vw), 0.1414rem);
  --border-width-2: clamp(0.126562rem, calc(0.105598rem + 0.104824vw), 0.19994rem);
  --border-width-3: clamp(0.142383rem, calc(0.102288rem + 0.200474vw), 0.282715rem);
  --border-width-4: clamp(0.160181rem, calc(0.09173rem + 0.342254vw), 0.399758rem);
  --border-width-5: clamp(0.180203rem, calc(0.070187rem + 0.550079vw), 0.565258rem);
}

/* stellar:border-radius.css */
:root {
  --border-radius-0: clamp(0.125rem, calc(0.017857rem + 0.535714vw), 0.5rem);
  --border-radius-1: clamp(0.15625rem, calc(0.022321rem + 0.669643vw), 0.625rem);
  --border-radius-2: clamp(0.195312rem, calc(0.027902rem + 0.837054vw), 0.78125rem);
  --border-radius-3: clamp(0.244141rem, calc(0.034877rem + 1.046317vw), 0.976562rem);
  --border-radius-4: clamp(0.305176rem, calc(0.043597rem + 1.307896vw), 1.220703rem);
  --border-radius-5: clamp(0.38147rem, calc(0.054496rem + 1.63487vw), 1.525879rem);
  --border-radius-6: clamp(0.476837rem, calc(0.06812rem + 2.043588vw), 1.907349rem);
  --border-radius-1-2: clamp(0.351562rem, calc(0.050223rem + 1.506696vw), 1.40625rem);
  --border-radius-2-3: clamp(0.439453rem, calc(0.062779rem + 1.883371vw), 1.757812rem);
  --border-radius-3-4: clamp(0.549316rem, calc(0.078474rem + 2.354213vw), 2.197266rem);
  --border-radius-4-5: clamp(0.686646rem, calc(0.098092rem + 2.942766vw), 2.746582rem);
  --border-radius-5-6: clamp(0.858307rem, calc(0.122615rem + 3.678458vw), 3.433228rem);
}

/* stellar:border-generate.css */
:root {
  --radius-blob-1: 55% 30% 56% 33% / 30% 55% 30% 55%;
  --radius-blob-2: 34% 30% 60% 60% / 60% 58% 36% 35%;
  --radius-blob-3: 39% 64% 35% 62% / 61% 32% 62% 33%;
  --radius-blob-4: 34% 34% 37% 68% / 66% 67% 66% 38%;
  --radius-blob-5: 69% 36% 39% 38% / 43% 70% 70% 70%;
  --radius-drawn-1: 0.625rem 8.438rem 0.625rem 8.125rem / 7.813rem 1.563rem 8.75rem 0.625rem;
  --radius-drawn-2: 9.063rem 2.813rem 2.188rem 9.375rem / 0.625rem 9.063rem 8.438rem 1.25rem;
  --radius-drawn-3: 11.563rem 2.188rem 10rem 0.625rem / 1.875rem 11.563rem 2.813rem 11.563rem;
  --radius-drawn-4: 13.125rem 0.625rem 2.5rem 1.25rem / 1.563rem 12.813rem 12.188rem 12.188rem;
  --radius-drawn-5: 2.188rem 14.375rem 2.188rem 1.25rem / 14.063rem 2.188rem 14.063rem 14.688rem;
  --radius-drawn-6: 4.688rem 15.938rem 4.063rem 3.125rem / 15.938rem 1.563rem 15.938rem 15.938rem;
}

/* stellar:animations.css */
:root {
  --anim-duration-base: calc(calc(0.18 + 0.06 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-scale-base: 1;
  --anim-distance-0: calc(calc(0.25 + 0.35 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-1: calc(calc(0.28125 + 0.46875 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-2: calc(calc(0.316406 + 0.621094 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-3: calc(calc(0.355957 + 0.815918 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-4: calc(calc(0.400452 + 1.064392 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-duration--2: calc(calc(0.105403 + 0.033486 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration--1: calc(calc(0.112465 + 0.054202 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration-0: calc(calc(0.12 + 0.08 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration-1: calc(calc(0.12804 + 0.11196 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration-2: calc(calc(0.136619 + 0.151381 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration-3: calc(calc(0.145772 + 0.199828 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration-4: calc(calc(0.155539 + 0.259181 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-opacity-0: calc(0.2 + 0.4 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-opacity-1: calc(0.2134 + 0.4268 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-opacity-2: calc(0.227698 + 0.455396 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-rotate--1: calc(calc(3.748828 + 2.917838 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-0: calc(calc(4 + 4 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-1: calc(calc(4.268 + 5.332 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-2: calc(calc(4.553956 + 6.966044 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-scale--2: calc(0.834439 + 0.061485 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-scale--1: calc(0.890347 + 0.065604 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-scale-0: calc(0.95 + 0.07 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-scale-1: calc(1.01365 + 0.07469 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-scale-2: calc(1.081565 + 0.079694 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-distance-none: 0rem;
  --anim-distance-xs: calc(calc(0.125 + 0.075 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-sm: calc(calc(0.25 + 0.1 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-md: calc(calc(0.5 + 0.2 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-lg: calc(calc(0.75 + 0.25 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-distance-xl: calc(calc(1.25 + 0.35 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1rem);
  --anim-duration-none: 0s;
  --anim-duration-instant: 0.01s;
  --anim-duration-fast: calc(calc(0.12 + 0.06 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration-slow: calc(calc(0.28 + 0.08 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1s);
  --anim-duration-long: 0.7s;
  --anim-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --anim-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --anim-ease-entrance: cubic-bezier(0.16, 1, 0.3, 1);
  --anim-ease-bounce: linear(0, 0.011 2.9%, 0.045 5.8%, 0.1 8.6%, 0.176 11.5%, 0.273 14.4%, 0.391 17.3%, 0.53 20.2%, 0.69 23%, 0.871 25.9%, 1.068 28.8%, 1.156 30.3%, 1.171 30.8%, 1.171 31.6%, 1.163 32.4%, 1.138 33.3%, 1.017 36.7%, 0.977 38.1%, 0.945 39.5%, 0.93 40.9%, 0.928 42.4%, 0.937 43.8%, 0.958 45.2%, 1.075 49.2%, 1.101 50.8%, 1.11 52.1%, 1.105 53.4%, 1.062 56.2%, 1.017 58.1%, 0.991 60.2%, 0.98 62.7%, 0.985 65.2%, 1 68.1%, 1.036 74.2%, 1.046 77.4%, 1.044 80.4%, 1.028 83.5%, 1.001 86.9%, 0.999 99.9%);
  --anim-ease-shake: linear(0, 0.5 12%, 0.25 22%, 0.75 32%, 0.35 42%, 0.65 52%, 0.43 62%, 0.57 72%, 0.48 82%, 0.52 90%, 1);
  --anim-ease-heartbeat: linear(0, 0.38 14%, 0.7 28%, 0.46 36%, 0.84 50%, 0.62 60%, 0.9 74%, 1);
  --anim-ease-pulse: cubic-bezier(0.42, 0, 0.58, 1);
  --anim-ease-linear: linear;
  --anim-opacity-transparent: 0;
  --anim-opacity-muted: calc(0.4 + 0.2 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-opacity-solid: 1;
  --anim-rotate-none: 0deg;
  --anim-rotate-xs: calc(calc(1 + 1 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-sm: calc(calc(3 + 2 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-md: calc(calc(8 + 4 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-lg: calc(calc(15 + 5 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-neg-xs: calc(calc(-2 + 1 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-neg-sm: calc(calc(-5 + 2 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-rotate-neg-md: calc(calc(-12 + 4 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1)) * 1deg);
  --anim-scale-down-strong: calc(0.88 + 0.04 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-scale-down: calc(0.96 + 0.02 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-scale-up: calc(1.03 + 0.03 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
  --anim-scale-up-strong: calc(1.08 + 0.04 * clamp(0, calc((100vw - 320px) / (1440px - 320px)), 1));
}
.animate {
  animation-duration: var(--anim-duration-base);
  animation-delay: var(--anim-duration-none);
  animation-timing-function: var(--anim-ease-standard);
  animation-iteration-count: 1;
  animation-fill-mode: both;
  animation-direction: normal;
  animation-play-state: running;
}
@media (prefers-reduced-motion: reduce) {
  .animate {
    animation-duration: var(--anim-duration-instant);
    animation-delay: var(--anim-duration-none);
    animation-timing-function: var(--anim-ease-linear);
    animation-iteration-count: 1;
  }
}

/* stellar:colors-shadows.css */
:root {
  --shadow--4:
    inset 0 1px 9px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 #fff,
    inset 0 .5px 0 0 #0001;
  --shadow--4:
    inset 0 1px 9px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 oklch(100% 0 89.876),
    inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
  --shadow--3:
    inset 0 1px 8px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 #fff,
    inset 0 .5px 0 0 #0001;
  --shadow--3:
    inset 0 1px 8px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 oklch(100% 0 89.876),
    inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
  --shadow--2:
    inset 0 1px 7px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 #fff,
    inset 0 .5px 0 0 #0001;
  --shadow--2:
    inset 0 1px 7px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 oklch(100% 0 89.876),
    inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
  --shadow--1:
    inset 0 1px 5px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 #fff,
    inset 0 .5px 0 0 #0001;
  --shadow--1:
    inset 0 1px 5px 0 rgb(10 18 22 / 0.347),
    inset 0 -.5px 0 0 oklch(100% 0 89.876),
    inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
  --shadow-0: none;
  --shadow-1: 0 1px 3px -3px rgb(10 18 22 / 0.325);
  --shadow-2: 0 1px 3px -3px rgb(10 18 22 / 0.293), 0 2px 4px -3px rgb(10 18 22 / 0.321);
  --shadow-3:
    0 1px 3px -3px rgb(10 18 22 / 0.274),
    0 1px 3px -3px rgb(10 18 22 / 0.285),
    0 2px 4px -3px rgb(10 18 22 / 0.296),
    0 3px 5px -3px rgb(10 18 22 / 0.306),
    0 7px 8px -3px rgb(10 18 22 / 0.317);
  --shadow-4:
    0 1px 3px -3px rgb(10 18 22 / 0.27),
    0 1px 3px -3px rgb(10 18 22 / 0.279),
    0 2px 4px -3px rgb(10 18 22 / 0.288),
    0 4px 6px -3px rgb(10 18 22 / 0.297),
    0 9px 1px -2px rgb(10 18 22 / 0.306),
    0 2px 18px -2px rgb(10 18 22 / 0.314);
  --shadow-5:
    0 1px 3px -3px rgb(10 18 22 / 0.268),
    0 1px 3px -3px rgb(10 18 22 / 0.277),
    0 3px 5px -3px rgb(10 18 22 / 0.286),
    0 8px 9px -2px rgb(10 18 22 / 0.294),
    0 21px 19px -2px rgb(10 18 22 / 0.303),
    0 46px 39px -2px rgb(10 18 22 / 0.312);
  --shadow-6:
    0 1px 3px -3px rgb(10 18 22 / 0.265),
    0 1px 3px -3px rgb(10 18 22 / 0.272),
    0 3px 5px -3px rgb(10 18 22 / 0.28),
    0 8px 9px -2px rgb(10 18 22 / 0.287),
    0 21px 19px -2px rgb(10 18 22 / 0.295),
    0 47px 4px -2px rgb(10 18 22 / 0.302),
    0 93px 77px -1px rgb(10 18 22 / 0.31);
}
@media (prefers-color-scheme: dark) {
  :root {
    --shadow--4:
      inset 0 1px 9px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 #fff,
      inset 0 .5px 0 0 #0001;
    --shadow--4:
      inset 0 1px 9px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 oklch(100% 0 89.876),
      inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
    --shadow--3:
      inset 0 1px 8px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 #fff,
      inset 0 .5px 0 0 #0001;
    --shadow--3:
      inset 0 1px 8px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 oklch(100% 0 89.876),
      inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
    --shadow--2:
      inset 0 1px 7px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 #fff,
      inset 0 .5px 0 0 #0001;
    --shadow--2:
      inset 0 1px 7px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 oklch(100% 0 89.876),
      inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
    --shadow--1:
      inset 0 1px 5px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 #fff,
      inset 0 .5px 0 0 #0001;
    --shadow--1:
      inset 0 1px 5px 0 rgb(10 18 22 / 0.347),
      inset 0 -.5px 0 0 oklch(100% 0 89.876),
      inset 0 .5px 0 0 oklch(0% 0 0 / 0.067);
    --shadow-0: none;
    --shadow-1: 0 1px 3px -3px rgb(10 18 22 / 0.325);
    --shadow-2: 0 1px 3px -3px rgb(10 18 22 / 0.293), 0 2px 4px -3px rgb(10 18 22 / 0.321);
    --shadow-3:
      0 1px 3px -3px rgb(10 18 22 / 0.274),
      0 1px 3px -3px rgb(10 18 22 / 0.285),
      0 2px 4px -3px rgb(10 18 22 / 0.296),
      0 3px 5px -3px rgb(10 18 22 / 0.306),
      0 7px 8px -3px rgb(10 18 22 / 0.317);
    --shadow-4:
      0 1px 3px -3px rgb(10 18 22 / 0.27),
      0 1px 3px -3px rgb(10 18 22 / 0.279),
      0 2px 4px -3px rgb(10 18 22 / 0.288),
      0 4px 6px -3px rgb(10 18 22 / 0.297),
      0 9px 1px -2px rgb(10 18 22 / 0.306),
      0 2px 18px -2px rgb(10 18 22 / 0.314);
    --shadow-5:
      0 1px 3px -3px rgb(10 18 22 / 0.268),
      0 1px 3px -3px rgb(10 18 22 / 0.277),
      0 3px 5px -3px rgb(10 18 22 / 0.286),
      0 8px 9px -2px rgb(10 18 22 / 0.294),
      0 21px 19px -2px rgb(10 18 22 / 0.303),
      0 46px 39px -2px rgb(10 18 22 / 0.312);
    --shadow-6:
      0 1px 3px -3px rgb(10 18 22 / 0.265),
      0 1px 3px -3px rgb(10 18 22 / 0.272),
      0 3px 5px -3px rgb(10 18 22 / 0.28),
      0 8px 9px -2px rgb(10 18 22 / 0.287),
      0 21px 19px -2px rgb(10 18 22 / 0.295),
      0 47px 4px -2px rgb(10 18 22 / 0.302),
      0 93px 77px -1px rgb(10 18 22 / 0.31);
  }
}

/* stellar:colors-gradients.css */
:root {
  --gradient-brand-surface:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary-6) 100%, var(--secondary-6) 0%) 0%,
      color-mix(in srgb, var(--primary-6) 88%, var(--secondary-6) 12%) 12%,
      color-mix(in srgb, var(--primary-6) 75%, var(--secondary-6) 25%) 25%,
      color-mix(in srgb, var(--primary-6) 62%, var(--secondary-6) 38%) 38%,
      color-mix(in srgb, var(--primary-6) 50%, var(--secondary-6) 50%) 50%,
      color-mix(in srgb, var(--primary-6) 38%, var(--secondary-6) 62%) 62%,
      color-mix(in srgb, var(--primary-6) 25%, var(--secondary-6) 75%) 75%,
      color-mix(in srgb, var(--primary-6) 12%, var(--secondary-6) 88%) 88%,
      color-mix(in srgb, var(--primary-6) 0%, var(--secondary-6) 100%) 100%);
  --gradient-brand-diagonal:
    linear-gradient(
      315deg,
      color-mix(in srgb, var(--primary-6) 100%, var(--secondary-5) 0%) 0%,
      color-mix(in srgb, var(--primary-6) 88%, var(--secondary-5) 12%) 12%,
      color-mix(in srgb, var(--primary-6) 75%, var(--secondary-5) 25%) 25%,
      color-mix(in srgb, var(--primary-6) 62%, var(--secondary-5) 38%) 38%,
      color-mix(in srgb, var(--primary-6) 50%, var(--secondary-5) 50%) 50%,
      color-mix(in srgb, var(--primary-6) 38%, var(--secondary-5) 62%) 62%,
      color-mix(in srgb, var(--primary-6) 25%, var(--secondary-5) 75%) 75%,
      color-mix(in srgb, var(--primary-6) 12%, var(--secondary-5) 88%) 88%,
      color-mix(in srgb, var(--primary-6) 0%, var(--secondary-5) 100%) 100%);
  --gradient-vapor:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--primary-6) 100%, var(--tertiary-6) 0%) 0%,
      color-mix(in srgb, var(--primary-6) 88%, var(--tertiary-6) 12%) 6%,
      color-mix(in srgb, var(--primary-6) 75%, var(--tertiary-6) 25%) 12%,
      color-mix(in srgb, var(--primary-6) 62%, var(--tertiary-6) 38%) 19%,
      color-mix(in srgb, var(--primary-6) 50%, var(--tertiary-6) 50%) 25%,
      color-mix(in srgb, var(--primary-6) 38%, var(--tertiary-6) 62%) 31%,
      color-mix(in srgb, var(--primary-6) 25%, var(--tertiary-6) 75%) 38%,
      color-mix(in srgb, var(--primary-6) 12%, var(--tertiary-6) 88%) 44%,
      color-mix(in srgb, var(--primary-6) 0%, var(--tertiary-6) 100%) 50%,
      color-mix(in srgb, var(--tertiary-6) 100%, var(--secondary-6) 0%) 50%,
      color-mix(in srgb, var(--tertiary-6) 88%, var(--secondary-6) 12%) 56%,
      color-mix(in srgb, var(--tertiary-6) 75%, var(--secondary-6) 25%) 62%,
      color-mix(in srgb, var(--tertiary-6) 62%, var(--secondary-6) 38%) 69%,
      color-mix(in srgb, var(--tertiary-6) 50%, var(--secondary-6) 50%) 75%,
      color-mix(in srgb, var(--tertiary-6) 38%, var(--secondary-6) 62%) 81%,
      color-mix(in srgb, var(--tertiary-6) 25%, var(--secondary-6) 75%) 88%,
      color-mix(in srgb, var(--tertiary-6) 12%, var(--secondary-6) 88%) 94%,
      color-mix(in srgb, var(--tertiary-6) 0%, var(--secondary-6) 100%) 100%);
  --gradient-spotlight:
    radial-gradient(
      circle,
      color-mix(in srgb, var(--primary-5) 100%, var(--neutral-2) 0%) 0%,
      color-mix(in srgb, var(--primary-5) 88%, var(--neutral-2) 12%) 12%,
      color-mix(in srgb, var(--primary-5) 75%, var(--neutral-2) 25%) 25%,
      color-mix(in srgb, var(--primary-5) 62%, var(--neutral-2) 38%) 38%,
      color-mix(in srgb, var(--primary-5) 50%, var(--neutral-2) 50%) 50%,
      color-mix(in srgb, var(--primary-5) 38%, var(--neutral-2) 62%) 62%,
      color-mix(in srgb, var(--primary-5) 25%, var(--neutral-2) 75%) 75%,
      color-mix(in srgb, var(--primary-5) 12%, var(--neutral-2) 88%) 88%,
      color-mix(in srgb, var(--primary-5) 0%, var(--neutral-2) 100%) 100%);
  --gradient-neutral-soft:
    linear-gradient(
      180deg,
      var(--neutral-variant-5) 0%,
      var(--neutral-variant-7) 100%);
  --gradient-striped:
    repeating-linear-gradient(
      45deg,
      color-mix(in srgb, var(--neutral-6) 100%, var(--neutral-6) 0%) 0%,
      color-mix(in srgb, var(--neutral-6) 88%, var(--neutral-6) 12%) 1%,
      color-mix(in srgb, var(--neutral-6) 75%, var(--neutral-6) 25%) 2%,
      color-mix(in srgb, var(--neutral-6) 62%, var(--neutral-6) 38%) 3%,
      color-mix(in srgb, var(--neutral-6) 50%, var(--neutral-6) 50%) 4%,
      color-mix(in srgb, var(--neutral-6) 38%, var(--neutral-6) 62%) 5%,
      color-mix(in srgb, var(--neutral-6) 25%, var(--neutral-6) 75%) 6%,
      color-mix(in srgb, var(--neutral-6) 12%, var(--neutral-6) 88%) 7%,
      color-mix(in srgb, var(--neutral-6) 0%, var(--neutral-6) 100%) 8%,
      color-mix(in srgb, var(--secondary-6) 100%, var(--secondary-6) 0%) 8%,
      color-mix(in srgb, var(--secondary-6) 88%, var(--secondary-6) 12%) 9%,
      color-mix(in srgb, var(--secondary-6) 75%, var(--secondary-6) 25%) 10%,
      color-mix(in srgb, var(--secondary-6) 62%, var(--secondary-6) 38%) 11%,
      color-mix(in srgb, var(--secondary-6) 50%, var(--secondary-6) 50%) 12%,
      color-mix(in srgb, var(--secondary-6) 38%, var(--secondary-6) 62%) 13%,
      color-mix(in srgb, var(--secondary-6) 25%, var(--secondary-6) 75%) 14%,
      color-mix(in srgb, var(--secondary-6) 12%, var(--secondary-6) 88%) 15%,
      color-mix(in srgb, var(--secondary-6) 0%, var(--secondary-6) 100%) 16%);
  --gradient-diverging:
    linear-gradient(
      120deg,
      color-mix(in srgb, var(--secondary-6) 100%, var(--error-6) 0%) 0%,
      color-mix(in srgb, var(--secondary-6) 88%, var(--error-6) 12%) 12%,
      color-mix(in srgb, var(--secondary-6) 75%, var(--error-6) 25%) 25%,
      color-mix(in srgb, var(--secondary-6) 62%, var(--error-6) 38%) 38%,
      color-mix(in srgb, var(--secondary-6) 50%, var(--error-6) 50%) 50%,
      color-mix(in srgb, var(--secondary-6) 38%, var(--error-6) 62%) 62%,
      color-mix(in srgb, var(--secondary-6) 25%, var(--error-6) 75%) 75%,
      color-mix(in srgb, var(--secondary-6) 12%, var(--error-6) 88%) 88%,
      color-mix(in srgb, var(--secondary-6) 0%, var(--error-6) 100%) 100%);
}

/* stellar:index.css */

/*
Theme Name: UltrafastWoo
Theme URI: https://github.com/marcindudek/ultrafastwoo
Description: Datastar-native WooCommerce theme. Zero jQuery, SSE-driven cart/checkout via HyperPress. Part of the UltrafastWoo stack for Mikrus VPS.
Version: 0.4.2
Requires at least: 6.4
Requires PHP: 8.3
Author: Marcin Dudek
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ultrafastwoo
Tags: woocommerce, datastar, hypermedia, sse, performance
*/

/* ── Design tokens (supplements Stellar) ──────────────────────────────────── */
:root {
    --ufw-bg:              #f7f4ef;
    --ufw-surface:         #ffffff;
    --ufw-ink:             #1c1c1e;
    --ufw-ink-muted:       #5a5750;
    --ufw-dark:            #001721;   /* --primary-11 */
    --ufw-dark-mid:        #00212d;   /* --primary-10 */
    --ufw-accent:          #d37131;   /* --secondary-6 */
    --ufw-accent-vivid:    #fe9350;   /* --secondary-5 */
    --ufw-accent-light:    #ffede5;   /* --secondary-1 */
    --ufw-border:          #e0dbd3;
    --ufw-card-shadow:     0 2px 12px rgba(0,33,45,.07);
    --ufw-card-shadow-hover: 0 16px 48px rgba(0,33,45,.16), 0 4px 16px rgba(0,33,45,.10);
    /* Button system — single shape token from stellar */
    --btn-radius:          var(--border-radius-6);  /* ≈1.9 rem at 1440 px */
}

/* ── Reset ───────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font-geometric-humanist, 'Avenir', 'Montserrat', system-ui, sans-serif);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--ufw-ink);
    background: var(--ufw-bg);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 { text-wrap: balance; margin-top: 0; }
p, li, blockquote { text-wrap: pretty; }

a { color: var(--ufw-accent); text-decoration: none; transition: color .15s; }
a:hover { color: var(--ufw-dark-mid); text-decoration: none; }

img { max-width: 100%; height: auto; display: block; }

/* ── Layout ──────────────────────────────────────────────────────────────── */
.site { display: flex; flex-direction: column; min-height: 100vh; }

.site-main {
    flex: 1;
    padding: 0 1.5rem 5rem;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.site-header {
    background: var(--ufw-dark);
    border-bottom: none;
    padding: .875rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    position: sticky;
    top: 0;
    z-index: var(--zindex-drawer, 700);
    box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 4px 24px rgba(0,0,0,.25);
}

/* ── Breadcrumbs (Faza 7f) — full-bleed strip below sticky header ──────── */
.ufw-breadcrumbs {
    background: var(--ufw-bg);
    border-bottom: 1px solid var(--ufw-border);
    padding: 0.875rem 1.5rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--ufw-ink-muted);
    line-height: 1.4;
}

.ufw-breadcrumbs__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    row-gap: 0.25rem;
}

.ufw-breadcrumbs a {
    color: var(--ufw-ink-muted);
    text-decoration: none;
    transition: color 0.15s;
}

.ufw-breadcrumbs a:hover {
    color: var(--ufw-dark);
    text-decoration: none;
}

.ufw-breadcrumbs__sep {
    color: var(--ufw-border);
    margin: 0 0.55rem;
    user-select: none;
}

.ufw-breadcrumbs__current {
    color: var(--ufw-ink);
    font-weight: 600;
}

@media (max-width: 480px) {
    .ufw-breadcrumbs { padding: 0.65rem 1rem; font-size: 0.6875rem; }
    .ufw-breadcrumbs__sep { margin: 0 0.4rem; }
}

/* Hide legacy WooCommerce breadcrumb (we render our own .ufw-breadcrumbs) */
.woocommerce-breadcrumb { display: none !important; }

/* Brand */
.site-branding { flex: 0 0 auto; }
.site-branding a {
    font-family: var(--font-didone, 'Didot', 'Bodoni MT', 'Noto Serif Display', serif);
    font-weight: 900;
    font-size: 1.2rem;
    font-style: italic;
    letter-spacing: .06em;
    color: #ffffff;
    text-decoration: none;
    transition: color .15s;
}
.site-branding a:hover { color: var(--ufw-accent-vivid); text-decoration: none; }

/* Nav */
.main-navigation { margin-inline-start: auto; }

#primary-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: .25rem;
}

#primary-menu li a {
    display: block;
    padding: .4rem .875rem;
    border-radius: 4px;
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: .03em;
    color: rgba(255,255,255,.78);
    transition: color .15s, background .15s;
}

#primary-menu li a:hover,
#primary-menu li.current-menu-item > a {
    background: rgba(255,255,255,.1);
    color: #ffffff;
    text-decoration: none;
}

/* Hamburger */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 2.25rem;
    height: 2.25rem;
    background: none;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 4px;
    cursor: pointer;
    padding: .4rem;
    margin-inline-start: auto;
    color: #fff;
    transition: border-color .15s;
}
.nav-toggle:hover { border-color: rgba(255,255,255,.6); }
.nav-toggle__bar {
    display: block;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform .2s ease, opacity .15s;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-close {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: .25rem .5rem;
    color: rgba(255,255,255,.7);
    align-self: flex-end;
}

.nav-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: oklch(0% 0 0 / .45);
    z-index: calc(var(--zindex-drawer, 700) - 1);
    backdrop-filter: blur(3px);
}

@media (max-width: 768px) {
    .nav-toggle { display: flex; }
    .main-navigation {
        position: fixed;
        inset-block: 0;
        inset-inline-end: 0;
        width: min(320px, 85vw);
        background: var(--ufw-dark);
        box-shadow: -8px 0 48px rgba(0,0,0,.4);
        z-index: var(--zindex-drawer, 700);
        transform: translateX(110%);
        transition: transform .22s cubic-bezier(.2,0,0,1);
        overflow-y: auto;
        padding: 1rem;
        margin: 0;
    }
    .main-navigation.is-open { transform: translateX(0); }
    .nav-close { display: flex; }
    .nav-overlay { display: block; }
    #primary-menu {
        flex-direction: column;
        align-items: stretch;
        gap: .25rem;
        margin-top: .5rem;
    }
    #primary-menu li a { padding: .65rem 1rem; border-radius: 6px; }
}

/* ── Cart badge ──────────────────────────────────────────────────────────── */
.header-cart { flex: 0 0 auto; }

.cart-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: rgba(255,255,255,.82);
    padding: .4rem .875rem;
    border-radius: 50px;
    border: 1px solid rgba(255,255,255,.2);
    font-size: .875rem;
    font-weight: 500;
    transition: background .15s, border-color .15s, color .15s;
}

.cart-badge:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.4);
    color: #ffffff;
    text-decoration: none;
}

.cart-badge svg { width: 18px; height: 18px; flex-shrink: 0; }

.cart-badge__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    background: var(--ufw-accent);
    color: #ffffff;
    border-radius: 50px;
    font-size: .6875rem;
    font-weight: 700;
    padding: 0 .3rem;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.site-footer {
    background: var(--ufw-dark);
    border-top: none;
    padding: 1.5rem;
    text-align: center;
    font-size: .875rem;
    color: #9eaab0;
}

/* ── Shop hero ───────────────────────────────────────────────────────────── */
.ufw-shop-hero {
    background: var(--ufw-dark-mid);
    background-image:
        radial-gradient(ellipse 60% 70% at 15% 50%, rgba(254,147,80,.1) 0%, transparent 100%),
        radial-gradient(ellipse 60% 70% at 85% 50%, rgba(107,144,163,.12) 0%, transparent 100%);
    color: #ffffff;
    text-align: center;
    padding: clamp(3rem, 7vw, 5.5rem) 1.5rem clamp(2.5rem, 5vw, 4rem);
    margin: 0 -1.5rem;
}

.ufw-shop-hero .page-title {
    font-family: var(--font-didone, 'Didot', 'Bodoni MT', 'Noto Serif Display', serif);
    font-size: clamp(2.75rem, 7vw, 5.5rem);
    font-weight: 400;
    font-style: italic;
    letter-spacing: -.02em;
    line-height: 1.08;
    margin: 0 auto .5rem;
    max-width: 18ch;
    color: #ffffff;
}

.ufw-shop-tagline {
    font-size: .75rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    margin: 0 auto 2.25rem;
    max-width: 40ch;
}

/* ── Search bar ──────────────────────────────────────────────────────────── */
.ufw-search-bar {
    position: relative;
    max-width: 540px;
    margin: 0 auto;
}

.ufw-search-bar::before {
    content: '';
    position: absolute;
    left: 1.1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%238a8078' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat center;
    pointer-events: none;
    z-index: 1;
}

.ufw-search-bar input[type="search"] {
    width: 100%;
    padding: .95rem 1.25rem .95rem 2.9rem;
    font-size: 1rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    border: 2px solid transparent;
    border-radius: 50px;
    background: rgba(255,255,255,.95);
    color: var(--ufw-ink);
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .15s;
    box-shadow: 0 6px 32px rgba(0,0,0,.22);
}

.ufw-search-bar input[type="search"]:focus {
    border-color: var(--ufw-accent);
    box-shadow: 0 6px 32px rgba(0,0,0,.22), 0 0 0 4px rgba(211,113,49,.22);
    background: #ffffff;
}

.ufw-search-bar input[type="search"]::placeholder { color: #8a8078; }

/* ── Filters row ─────────────────────────────────────────────────────────── */
.ufw-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin: 2rem 0 1.5rem;
}

/* min-width:0 overrides the flex-item default of min-width:auto, which would
   otherwise size each control to its widest <option> and overflow the row. */
.ufw-filters > * { min-width: 0; }

.ufw-filters select,
.ufw-filters input[type="number"] {
    padding: .475rem .9rem;
    font-size: .875rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    border: 1.5px solid var(--ufw-border);
    border-radius: 50px;
    outline: none;
    background: var(--ufw-surface);
    color: var(--ufw-ink);
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
    appearance: none;
    -webkit-appearance: none;
    max-width: 100%;
    text-overflow: ellipsis;
}

.ufw-filters select {
    padding-right: 2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a5750' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .625rem center;
}

.ufw-filters select:hover,
.ufw-filters input[type="number"]:hover { border-color: var(--ufw-accent); }

.ufw-filters select:focus,
.ufw-filters input[type="number"]:focus {
    border-color: var(--ufw-accent);
    box-shadow: 0 0 0 3px rgba(211,113,49,.15);
}

.ufw-filters input[type="number"] { width: 7.5rem; }
.ufw-filters input[type="number"]::-webkit-inner-spin-button,
.ufw-filters input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}
.ufw-filters input[type="number"] { -moz-appearance: textfield; appearance: textfield; }

.ufw-filter-price {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: 0 .65rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 50px;
    background: #fff;
}
.ufw-filter-price__label {
    font-size: .8rem;
    color: var(--ufw-muted, #6b7280);
    padding-right: .15rem;
    border-right: 1px solid rgba(0,0,0,.08);
    margin-right: .15rem;
    line-height: 1;
}
.ufw-filter-price__sep { color: rgba(0,0,0,.35); user-select: none; }
.ufw-filter-price input[type="number"] {
    width: 4.5rem;
    border: none;
    background: transparent;
    padding: .45rem .25rem;
    text-align: center;
    font-size: .9rem;
}
.ufw-filter-price input[type="number"]:focus { outline: none; box-shadow: none; }
.ufw-filter-price:focus-within {
    border-color: var(--ufw-accent, #1f6feb);
    box-shadow: 0 0 0 3px rgba(31,111,235,.15);
}

.ufw-filter-instock {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .875rem;
    cursor: pointer;
    padding: .475rem .9rem;
    border: 1.5px solid var(--ufw-border);
    border-radius: 50px;
    background: var(--ufw-surface);
    color: var(--ufw-ink);
    transition: border-color .15s, background .15s;
    user-select: none;
}

.ufw-filter-instock:has(input:checked) {
    border-color: var(--ufw-accent);
    background: var(--ufw-accent-light);
    color: #4a1e00;
}

.ufw-filter-instock input[type="checkbox"] {
    width: .875rem;
    height: .875rem;
    cursor: pointer;
    accent-color: var(--ufw-accent);
}

/* ── Filter popover (Hick's-law collapse: price + in-stock behind one pill) ── */
.ufw-filter-pop { position: relative; }
.ufw-filter-pop > summary {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .475rem 1rem;
    border: 1.5px solid var(--ufw-border);
    border-radius: 50px;
    background: var(--ufw-surface);
    color: var(--ufw-ink);
    font-size: .875rem;
    user-select: none;
    transition: border-color .15s, background .15s;
}
.ufw-filter-pop > summary::-webkit-details-marker { display: none; }
.ufw-filter-pop > summary::marker { content: ""; }
.ufw-filter-pop > summary:hover { border-color: var(--ufw-accent); }
.ufw-filter-pop[open] > summary {
    border-color: var(--ufw-accent);
    background: var(--ufw-accent-light);
    color: #4a1e00;
}
.ufw-filter-pop__active {
    color: var(--ufw-accent);
    font-size: .65rem;
    line-height: 1;
}
.ufw-filter-pop__caret { font-size: .7rem; opacity: .7; }

.ufw-filter-pop__panel {
    position: absolute;
    top: calc(100% + .5rem);
    left: 0;
    z-index: 50;
    min-width: 18rem;
    padding: 1rem;
    background: var(--ufw-surface, #fff);
    border: 1px solid var(--ufw-border, #e5e7eb);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.ufw-filter-pop__panel .ufw-filter-price { margin: 0; }
.ufw-filter-pop__panel .ufw-filter-instock {
    align-self: flex-start;
    border-radius: 8px;
    padding: .4rem .75rem;
}

/* Tertiary control (per-page) — visually de-emphasized, pushed right */
.ufw-filter-divider {
    flex: 1 1 auto;
    min-width: .5rem;
}
.ufw-filters #ufw-filter-per-page.ufw-filter-tertiary {
    font-size: .8rem;
    opacity: .85;
    padding-right: 1.75rem;
}

/* Mobile: keep popover panel left-aligned but allow it to take more width */
@media (max-width: 640px) {
    .ufw-filter-pop__panel { left: 0; right: 0; min-width: 0; }
    .ufw-filter-divider { display: none; }
    /* Category labels are the longest — give the select its own full-width
       row so it never overflows the viewport next to the other pills. */
    .ufw-filters #ufw-filter-category { flex: 1 1 100%; }
}

/* ── Result count ────────────────────────────────────────────────────────── */
.woocommerce-result-count {
    font-size: .8rem;
    color: var(--ufw-ink-muted);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 1.25rem;
}

/* ── Breadcrumb (hidden on shop — hero handles context) ──────────────────── */
.woocommerce-breadcrumb {
    font-size: .8rem;
    color: var(--ufw-ink-muted);
    margin: 1rem 0 0;
}

.woocommerce-shop .woocommerce-breadcrumb { display: none; }

/* ── Product grid ────────────────────────────────────────────────────────── */
#product-grid { transition: opacity .2s; }
#product-grid[aria-busy="true"] { opacity: .45; pointer-events: none; }

.ufw-filter-loading {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .65rem 1rem;
    margin: 0 0 1rem;
    background: var(--ufw-surface);
    border: 1px solid var(--ufw-line, #e5e7eb);
    border-radius: 999px;
    color: var(--ufw-ink-muted);
    font-size: .9rem;
    font-weight: 500;
}
.ufw-filter-loading .ufw-spinner { width: 1rem; height: 1rem; }

.ufw-result-count {
    margin: 0 0 1rem;
    font-size: .9rem;
    color: var(--ufw-ink-muted);
}
.ufw-result-count [data-text] { font-weight: 600; color: var(--ufw-ink); }

/* ── Demo-shop ribbon + inline alerts ────────────────────────────────────── */
.ufw-demo-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .4rem 1rem;
    background: #fef3c7;
    color: #78350f;
    font-size: .85rem;
    line-height: 1.3;
    text-align: center;
    border-bottom: 1px solid #fcd34d;
}
.ufw-demo-banner strong { font-weight: 700; }
@media (max-width: 640px) {
    .ufw-demo-banner { font-size: .75rem; padding: .35rem .75rem; }
    .ufw-demo-banner span:last-child { display: none; }
}

.ufw-demo-alert {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: 1rem 1.25rem;
    margin: 0 0 1.5rem;
    background: #fef3c7;
    border: 1px solid #fcd34d;
    border-left: 4px solid #f59e0b;
    border-radius: 8px;
    color: #78350f;
    font-size: .95rem;
    line-height: 1.5;
}
.ufw-demo-alert__icon { font-size: 1.25rem; line-height: 1; flex-shrink: 0; }
.ufw-demo-alert strong { font-weight: 700; display: block; }
.ufw-demo-alert--strong { background: #fde68a; border-color: #f59e0b; }

/* ── Thank-you / order received ──────────────────────────────────────────── */
.ufw-thankyou { max-width: 720px; margin: 1rem auto 3rem; padding: 0 1rem; }
.ufw-thankyou__title { font-size: 2rem; margin: 1.5rem 0 .5rem; }
.ufw-thankyou__lead { color: var(--ufw-ink-muted); font-size: 1.05rem; margin: 0 0 1.5rem; }

.ufw-order-summary {
    background: var(--ufw-surface, #fff);
    border: 1px solid var(--ufw-border, #e5e7eb);
    border-radius: 12px;
    padding: 1.5rem;
    margin: 0 0 1.5rem;
}
.ufw-order-summary__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem 1.5rem;
    margin: 0 0 1rem;
}
.ufw-order-summary__meta > div { display: flex; flex-direction: column; gap: .15rem; }
.ufw-order-summary__meta dt { font-size: .75rem; color: var(--ufw-ink-muted); text-transform: uppercase; letter-spacing: .05em; margin: 0; }
.ufw-order-summary__meta dd { margin: 0; font-size: .95rem; }
.ufw-order-summary__note {
    margin: .75rem 0;
    padding: .75rem;
    background: #f9fafb;
    border-radius: 6px;
    font-size: .9rem;
}
.ufw-order-summary__heading {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ufw-ink-muted);
    margin: 1.5rem 0 .75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ufw-border, #e5e7eb);
}
.ufw-order-summary__items {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.ufw-order-summary__items li {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: center;
    gap: .75rem;
}
.ufw-order-summary__thumb img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}
.ufw-order-summary__name { font-weight: 500; }
.ufw-order-summary__qty { color: var(--ufw-ink-muted); margin-left: .35rem; }
.ufw-order-summary__line { font-variant-numeric: tabular-nums; font-weight: 600; }
.ufw-order-summary__addr {
    font-style: normal;
    background: #f9fafb;
    padding: .75rem 1rem;
    border-radius: 6px;
    font-size: .9rem;
    line-height: 1.5;
}

.ufw-thankyou__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.ufw-btn {
    display: inline-block;
    padding: .75rem 1.75rem;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid transparent;
    transition: background .15s, color .15s, border-color .15s;
    font-size: .95rem;
}
.ufw-btn--primary { background: #a85620; color: #fff; border-color: #a85620; }
.ufw-btn--primary:hover { background: var(--ufw-accent-dark, #8f4612); border-color: var(--ufw-accent-dark, #8f4612); color: #fff; }
a.ufw-btn--ghost,
.ufw-btn--ghost {
    background: transparent;
    color: #00212d;
    border-color: #00212d;
}
a.ufw-btn--ghost:hover,
.ufw-btn--ghost:hover {
    background: #00212d;
    color: #fff;
    border-color: #00212d;
}

@media (max-width: 540px) {
    .ufw-order-summary__meta { grid-template-columns: 1fr; }
    .ufw-thankyou__title { font-size: 1.5rem; }
}

/* ── Branded empty state (no-products-found) ─────────────────────────────── */
.ufw-empty-state {
    text-align: center;
    padding: 3rem 1.5rem;
    color: var(--ufw-ink);
    max-width: 540px;
    margin: 1rem auto 3rem;
}
.ufw-empty-state__icon { color: var(--ufw-ink-muted); margin-bottom: 1rem; }
.ufw-empty-state__title { font-size: 1.5rem; margin: 0 0 .5rem; }
.ufw-empty-state__copy { color: var(--ufw-ink-muted); margin: 0 0 1.5rem; font-size: 1rem; }
.ufw-empty-state__actions { margin-bottom: 1.5rem; }
.ufw-empty-state__btn {
    display: inline-block;
    padding: .75rem 1.75rem;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, color .15s, border-color .15s;
}
.ufw-empty-state__btn--primary {
    background: var(--ufw-accent);
    color: #fff;
    border: 2px solid var(--ufw-accent);
}
.ufw-empty-state__btn--primary:hover { background: var(--ufw-accent-dark, #b85e25); border-color: var(--ufw-accent-dark, #b85e25); color: #fff; }
.ufw-empty-state__cats {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    justify-content: center;
    font-size: .9rem;
    color: var(--ufw-ink-muted);
    align-items: center;
}
.ufw-empty-state__cats-label { color: var(--ufw-ink-muted); }
.ufw-empty-state__cats a {
    color: var(--ufw-accent);
    text-decoration: none;
    padding: .25rem .75rem;
    border: 1px solid var(--ufw-border);
    border-radius: 999px;
    transition: border-color .15s, background .15s;
}
.ufw-empty-state__cats a:hover { border-color: var(--ufw-accent); background: var(--ufw-accent-light); }

/* ── Unified :focus-visible — accessible keyboard navigation ─────────────── */
.ufw-filters select:focus-visible,
.ufw-filters input:focus-visible,
.ufw-filters label:focus-within,
#site-navigation a:focus-visible,
#site-navigation button:focus-visible,
.nav-toggle:focus-visible,
.ufw-header-search__input:focus-visible,
#ufw-search-input:focus-visible,
.ufw-atc-btn:focus-visible,
.ufw-load-more-btn:focus-visible {
    outline: 2px solid var(--ufw-accent, #d37131);
    outline-offset: 2px;
    border-radius: 4px;
}

ul.products {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.5rem;
}

ul.products::before, ul.products::after { display: none !important; }

/* ── Product card ────────────────────────────────────────────────────────── */
ul.products li.product {
    border: none;
    border-radius: 14px;
    padding: 0;
    overflow: hidden;
    background: var(--ufw-surface);
    box-shadow: var(--ufw-card-shadow);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: box-shadow .35s ease, transform .35s ease;
    animation: card-in .4s cubic-bezier(.16,1,.3,1) both;
}

@keyframes card-in {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}

ul.products li.product:hover {
    box-shadow: var(--ufw-card-shadow-hover);
    transform: translateY(-5px);
}

/* Product link wrapper */
ul.products li.product > a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    flex: 1;
    overflow: hidden;
}

ul.products li.product > a:hover { text-decoration: none; color: inherit; }

/* Product image container */
.ufw-product-img-wrap {
    position: relative;
    overflow: hidden;
    background: #ede9e3;
    aspect-ratio: 1 / 1;
}

ul.products li.product img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    border-radius: 0;
    transition: transform .55s cubic-bezier(.16,1,.3,1);
}

ul.products li.product:hover img { transform: scale(1.05); }

/* Image overlay on hover */
.ufw-product-img-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,33,45,.18) 0%, transparent 50%);
    opacity: 0;
    transition: opacity .3s;
}

ul.products li.product:hover .ufw-product-img-wrap::after { opacity: 1; }

/* Card content area */
.ufw-card-body {
    padding: .875rem 1rem .5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Product title */
ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--ufw-ink);
    margin: 0 0 .35rem;
    text-wrap: balance;
    transition: color .15s;
}

ul.products li.product:hover .woocommerce-loop-product__title { color: var(--ufw-dark-mid); }

/* Product price */
ul.products li.product .price {
    font-family: var(--font-mono, 'Inconsolata', monospace);
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--ufw-dark-mid);
    display: block;
    margin: 0;
}

/* ── Stock badge — absolute top-right of image ───────────────────────────── */
.ufw-stock-badge {
    position: absolute;
    top: .625rem;
    right: .625rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .75rem;
    font-weight: 700;
    padding: .25em .75em;
    border-radius: 50px;
    letter-spacing: .02em;
    pointer-events: none;
    z-index: 2;
    backdrop-filter: blur(6px);
}

.ufw-stock-badge.in-stock { background: rgba(14,60,14,.95); color: #eaffea; }
.ufw-stock-badge.out-of-stock { background: rgba(120,20,20,.95); color: #fff0f0; }

/* In-cart badge — shop card */
.ufw-in-cart-badge {
    display: none; /* shown via data-show */
    align-items: center;
    gap: .3rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #0a6e0a;
    background: #e8f9e8;
    border: 1px solid rgba(14,105,14,.25);
    border-radius: var(--border-radius-3, 6px);
    padding: .2em .6em;
    margin-top: .5rem;
}
[data-show].ufw-in-cart-badge { display: inline-flex; }

/* Product page variant — slightly larger, sits below the form */
.ufw-in-cart-badge--product {
    font-size: .875rem;
    padding: .5rem .875rem;
    border-radius: var(--border-radius-4, 8px);
    margin-top: 1rem;
}
.ufw-in-cart-badge--product a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ── Add to cart button ──────────────────────────────────────────────────── */
.button.add_to_cart_button.ufw-atc-btn,
button.add_to_cart_button.ufw-atc-btn {
    display: block;
    width: calc(100% - 2rem);
    margin: .625rem 1rem 1rem;
    padding: .75rem 1rem;
    background: var(--ufw-dark-mid);
    color: #ffffff;
    border: none;
    border-radius: var(--btn-radius);
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    text-align: center;
    transition: background .2s, transform .12s;
}

.button.add_to_cart_button.ufw-atc-btn:hover,
button.add_to_cart_button.ufw-atc-btn:hover {
    background: var(--ufw-accent);
    color: #ffffff;
    text-decoration: none;
}

.button.add_to_cart_button.ufw-atc-btn:active,
button.add_to_cart_button.ufw-atc-btn:active { transform: scale(.98); }

.button.add_to_cart_button.ufw-atc-btn:disabled,
button.add_to_cart_button.ufw-atc-btn:disabled { opacity: .55; cursor: not-allowed; }

/* ── Out-of-stock card indicator ──────────────────────────────────────────── */
.button.disabled.out-of-stock {
    display: block;
    width: calc(100% - 2rem);
    margin: .625rem 1rem 1rem;
    padding: .75rem 1rem;
    background: #f0ece6;
    color: #8a7b72;
    border: none;
    border-radius: var(--btn-radius);
    font-size: .8125rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-align: center;
    cursor: not-allowed;
}

/* ── Load More ───────────────────────────────────────────────────────────── */
#ufw-load-more {
    text-align: center;
    margin-top: 3.5rem;
    border-top: none;
}

#ufw-load-more:empty { display: none; }

.ufw-load-sentinel {
    height: 1px;
    width: 100%;
    margin-top: -400px;
    pointer-events: none;
}

.ufw-load-indicator {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .85rem 1.5rem;
    color: var(--ufw-muted, #6b7280);
    font-size: .95rem;
    font-weight: 500;
}
.ufw-load-indicator .ufw-spinner {
    width: 1rem;
    height: 1rem;
}

.ufw-load-more-btn {
    display: inline-block;
    min-width: 200px;
    padding: .875rem 2.25rem;
    background: transparent;
    color: var(--ufw-dark-mid);
    border: 2px solid var(--ufw-dark-mid);
    border-radius: var(--btn-radius);
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}

.ufw-load-more-btn:hover {
    background: var(--ufw-dark-mid);
    color: #ffffff;
    border-color: var(--ufw-dark-mid);
    text-decoration: none;
}

/* ── Empty search state ──────────────────────────────────────────────────── */
li.no-products {
    grid-column: 1 / -1;
    list-style: none;
    text-align: center;
    padding: 5rem 2rem;
    color: var(--ufw-ink-muted);
    font-size: 1.0625rem;
}

/* ── Notices / Toasts ────────────────────────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
#ufw-atc-notice {
    position: fixed;
    top: 5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: var(--zindex-toast, 950);
    width: min(460px, 90vw);
    pointer-events: none;
}

#ufw-atc-notice > * { pointer-events: auto; }

.ufw-notice {
    padding: 1rem 1.25rem;
    border-radius: 12px;
    margin: 0;
    box-shadow: 0 8px 40px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.1);
    animation: ufw-notice-in .35s cubic-bezier(.16,1,.3,1);
    font-size: .9375rem;
    backdrop-filter: blur(12px);
    border: 1px solid transparent;
}

@keyframes ufw-notice-in {
    from { opacity: 0; transform: translateY(-14px) scale(.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.woocommerce-message, .ufw-notice--success {
    background: rgba(212,237,218,.97);
    color: #1a4228;
    border-color: rgba(40,167,69,.25);
}

.woocommerce-error, .ufw-notice--error {
    background: rgba(248,215,218,.97);
    color: #4a1a1e;
    border-color: rgba(220,53,69,.25);
}

.woocommerce-info, .ufw-notice--info {
    background: rgba(209,236,241,.97);
    color: #0c3a47;
    border-color: rgba(23,162,184,.25);
}

.ufw-notice a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

@media (prefers-color-scheme: dark) {
    .woocommerce-message, .ufw-notice--success { background: rgba(13,42,24,.97); color: #6ee09a; border-color: rgba(76,175,80,.3); }
    .woocommerce-error, .ufw-notice--error { background: rgba(42,13,16,.97); color: #f0a0a8; border-color: rgba(244,67,54,.3); }
    .woocommerce-info, .ufw-notice--info { background: rgba(12,36,48,.97); color: #7dd6ea; border-color: rgba(41,182,246,.3); }
}

/* ── Buttons (generic WC context) ────────────────────────────────────────── */
.button, button[type="submit"], input[type="submit"] {
    display: inline-block;
    padding: .7rem 1.5rem;
    background: var(--ufw-dark-mid);
    color: #ffffff;
    border: none;
    border-radius: var(--btn-radius);
    cursor: pointer;
    font-size: .9375rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    font-weight: 600;
    transition: background .2s;
}

.button:hover, button[type="submit"]:hover, input[type="submit"]:hover {
    background: var(--ufw-accent);
    color: #ffffff;
    text-decoration: none;
}

.button-secondary {
    background: transparent;
    color: var(--ufw-ink);
    border: 1.5px solid var(--ufw-border);
}

.button-secondary:hover {
    background: var(--ufw-ink);
    color: #ffffff;
    border-color: var(--ufw-ink);
}

/* ── Single product ──────────────────────────────────────────────────────── */
.woocommerce.single { padding: 0 0 4rem; }

.single-product-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
    padding: 2rem 0 3rem;
}

@media (max-width: 720px) { .single-product-wrap { grid-template-columns: 1fr; gap: 2rem; } }

/* Image column */
.product-images {
    position: relative;
}

.product-images img,
.product-images .woocommerce-placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 20px;
    background: #ede9e3;
    display: block;
    box-shadow: var(--ufw-card-shadow-hover);
}

/* Subtle in-stock badge on image */
.ufw-stock-single {
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .6875rem;
    font-weight: 700;
    padding: .22em .75em;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: .07em;
    pointer-events: none;
    backdrop-filter: blur(8px);
    z-index: 2;
}
.ufw-stock-single.in-stock { background: rgba(14,105,14,.88); color: #eaffea; }
.ufw-stock-single.out-of-stock { background: rgba(176,28,28,.85); color: #fff0f0; }

/* Summary column */
.product-summary .product_title {
    font-family: var(--font-didone, 'Didot', 'Bodoni MT', serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
    font-style: italic;
    line-height: 1.1;
    margin: 0 0 .75rem;
    color: var(--ufw-dark);
    text-wrap: balance;
    letter-spacing: -.02em;
}

/* h1 fallback (theme uses product_title class but h1 element) */
.product-summary h1.product_title { font-size: clamp(2rem, 4vw, 3rem); }

.product-summary .price {
    font-family: var(--font-mono, 'Inconsolata', monospace);
    font-size: 2rem;
    font-weight: 700;
    color: var(--ufw-dark);
    display: block;
    margin: 0 0 1.25rem;
}

/* Short description */
.product-description {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--ufw-ink-muted);
    margin: 0 0 1.75rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--ufw-border);
}

/* Quantity + ATC wrapper (single product form) */
form.cart { display: flex; flex-direction: column; gap: .875rem; }

/* +/- stepper */
.ufw-qty-stepper {
    display: inline-flex;
    align-items: stretch;
    border: 1.5px solid var(--ufw-border);
    border-radius: 50px;
    overflow: hidden;
    background: var(--ufw-bg);
    width: fit-content;
}

.ufw-qty-stepper button {
    all: unset;
    width: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.375rem;
    font-weight: 300;
    color: var(--ufw-ink-muted);
    cursor: pointer;
    transition: background .15s, color .15s;
    user-select: none;
}
.ufw-qty-stepper button:hover { background: var(--ufw-dark); color: #fff; }

.ufw-qty-stepper input[type="number"] {
    width: 52px;
    text-align: center;
    font-family: var(--font-mono, 'Inconsolata', monospace);
    font-size: 1rem;
    font-weight: 700;
    border: none;
    background: transparent;
    color: var(--ufw-dark);
    padding: .6rem 0;
    -moz-appearance: textfield;
    appearance: textfield;
    -webkit-appearance: none;
}
.ufw-qty-stepper input::-webkit-inner-spin-button,
.ufw-qty-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; appearance: none; }

/* ATC button — single product */
.single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    padding: 1rem 1.5rem !important;
    font-family: var(--font-geometric-humanist, sans-serif) !important;
    font-size: .875rem !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    background: var(--ufw-dark) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--btn-radius) !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(0,33,45,.2) !important;
    transition: background .2s, transform .15s, box-shadow .2s !important;
}
.single_add_to_cart_button:hover:not(:disabled) {
    background: var(--ufw-accent) !important;
    box-shadow: 0 6px 20px rgba(211,113,49,.35) !important;
    transform: translateY(-2px) !important;
}
.single_add_to_cart_button:disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
}

/* Trust line */
.ufw-trust-line {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin-top: .75rem;
    font-size: .8125rem;
    color: var(--ufw-ink-muted);
}
.ufw-trust-line span { display: flex; align-items: center; gap: .3em; }

/* Product meta (category) */
.product-meta {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--ufw-border);
    font-size: .8125rem;
    color: var(--ufw-ink-muted);
}
.product-meta a { color: var(--ufw-ink-muted); border-bottom: 1px solid var(--ufw-border); transition: color .15s, border-color .15s; }
.product-meta a:hover { color: var(--ufw-dark); border-color: var(--ufw-dark); }

/* Full description tab */
.product-tabs {
    border-top: 1px solid var(--ufw-border);
    padding: 2.5rem 0 0;
    margin-top: 1rem;
}
.product-tabs h2 {
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ufw-ink-muted);
    margin: 0 0 1.25rem;
}
.product-description-full {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--ufw-ink);
    max-width: 64ch;
}
.product-description-full p { margin: 0 0 1em; }

/* ── Cart page ───────────────────────────────────────────────────────────── */

/* Cart "Cart" heading — match Didone italic from shop hero */
.woocommerce-cart h1,
.woocommerce-cart .entry-title {
    font-family: var(--font-didone, serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(2rem, 5vw, 3rem);
    letter-spacing: -.02em;
    color: var(--ufw-dark);
    margin: 2rem 0 1.5rem;
}

/* ── Cart table ──────────────────────────────────────────────────────────── */
#cart-section table.shop_table {
    width: 100%;
    border-collapse: collapse;
    background: var(--ufw-surface);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--ufw-card-shadow);
    margin-bottom: 2rem;
}

/* Header row — dark strip, muted uppercase labels */
#cart-section table.shop_table thead th {
    background: var(--ufw-dark);
    color: rgba(255,255,255,.6);
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .75rem 1rem;
    border: none;
}
#cart-section table.shop_table thead .product-remove { width: 48px; } /* keep in layout, just empty */

/* Body cells */
#cart-section table.shop_table th,
#cart-section table.shop_table td {
    padding: 1rem;
    border-bottom: 1px solid var(--ufw-border);
    vertical-align: middle;
    text-align: left;
}
#cart-section table.shop_table tbody tr:last-child td { border-bottom: none; }

/* Remove button column — last, right-aligned, minimal */
#cart-section table.shop_table thead .product-remove { width: 40px; }
#cart-section table.shop_table td.product-remove {
    width: 40px;
    padding: 0 1rem 0 .25rem;
    text-align: right;
}

button.cart-remove-btn {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    cursor: pointer;
    transition: background .15s, color .15s;
    color: var(--ufw-border);
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1;
}
button.cart-remove-btn::after { content: '×'; }
button.cart-remove-btn:hover { color: #dc2626; background: #fef2f2; }

/* Thumbnail */
#cart-section table.shop_table td.product-thumbnail {
    width: 80px;
    padding: .75rem .5rem .75rem 0;
}
#cart-section table.shop_table td.product-thumbnail img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--ufw-border);
    display: block;
}

/* Product name — override --ufw-accent locally so a{color:var(--ufw-accent)} resolves to ink */
#cart-section td.product-name {
    --ufw-accent: var(--ufw-ink);
}
#cart-section table.shop_table td.product-name a {
    font-weight: 600;
    font-size: .9375rem;
    text-decoration: none;
    transition: color .15s;
}
#cart-section table.shop_table td.product-name a:hover {
    --ufw-accent: #d37131;
}

/* Prices */
#cart-section table.shop_table td.product-price,
#cart-section table.shop_table td.product-subtotal {
    font-family: var(--font-mono, 'Inconsolata', monospace);
    font-size: 1rem;
    font-weight: 700;
    color: var(--ufw-dark);
}

/* Quantity cell — input + update button side by side */
#cart-section table.shop_table td.product-quantity form {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: nowrap;
}
#cart-section table.shop_table td.product-quantity input[type="number"] {
    width: 60px;
    padding: .425rem .5rem;
    text-align: center;
    font-family: var(--font-mono, 'Inconsolata', monospace);
    font-size: .9375rem;
    font-weight: 700;
    border: 1.5px solid var(--ufw-border);
    border-radius: 8px;
    background: var(--ufw-bg);
    color: var(--ufw-dark);
    -moz-appearance: textfield;
    appearance: textfield;
    transition: border-color .15s, box-shadow .15s;
}
#cart-section table.shop_table td.product-quantity input[type="number"]::-webkit-inner-spin-button,
#cart-section table.shop_table td.product-quantity input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
}
#cart-section table.shop_table td.product-quantity input[type="number"]:focus {
    outline: none;
    border-color: var(--ufw-accent);
    box-shadow: 0 0 0 3px rgba(211,113,49,.15);
}
#cart-section table.shop_table td.product-quantity button[type="submit"] {
    padding: .4rem .875rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    border: 1.5px solid var(--ufw-border);
    border-radius: var(--btn-radius);
    background: transparent;
    color: var(--ufw-ink-muted);
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .15s, color .15s;
}
#cart-section table.shop_table td.product-quantity button[type="submit"]:hover {
    border-color: var(--ufw-dark);
    color: var(--ufw-dark);
}

/* ── Cart totals card ────────────────────────────────────────────────────── */
.cart-collaterals {
    display: flex;
    justify-content: flex-end;
}

.cart_totals {
    width: 100%;
    max-width: 380px;
    background: var(--ufw-surface);
    border-radius: 16px;
    box-shadow: var(--ufw-card-shadow);
    overflow: hidden;
}

.cart_totals h2 {
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
    background: var(--ufw-dark);
    padding: .75rem 1.25rem;
    margin: 0;
}

.cart_totals table.shop_table {
    width: 100%;
    border-collapse: collapse;
}
.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
    padding: .875rem 1.25rem;
    border-bottom: 1px solid var(--ufw-border);
    text-align: left;
    font-size: .9375rem;
}
.cart_totals table.shop_table tr:last-child th,
.cart_totals table.shop_table tr:last-child td { border-bottom: none; }
.cart_totals table.shop_table .order-total th { font-weight: 700; }
.cart_totals table.shop_table .order-total td {
    font-family: var(--font-mono, 'Inconsolata', monospace);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ufw-dark);
}

/* Proceed to checkout button — override WC's --wc-secondary so .button resolves dark */
.wc-proceed-to-checkout { padding: 1rem 1.25rem 1.25rem; --wc-secondary: var(--ufw-dark); --wc-secondary-text: #ffffff; }

.wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    padding: .925rem 1.5rem;
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
    background: var(--ufw-dark) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--btn-radius) !important;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(0,33,45,.22);
    transition: background .2s, transform .15s, box-shadow .2s;
}
.wc-proceed-to-checkout .checkout-button:hover {
    background: var(--ufw-accent);
    box-shadow: 0 6px 20px rgba(211,113,49,.35);
    transform: translateY(-2px);
    color: #ffffff !important;
    text-decoration: none;
}
.wc-proceed-to-checkout .checkout-button:active { transform: scale(.98); }

/* ── Checkout ─────────────────────────────────────────────────────────────── */

/* Two-column layout: billing (60%) | order summary (40%, sticky) */
.ufw-checkout-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 2.5rem;
    align-items: start;
    max-width: 960px;
    margin: 2.5rem auto 0;
}
@media (max-width: 900px) {
    .ufw-checkout-layout { grid-template-columns: 1fr; }
    .ufw-checkout-sidebar { order: -1; }
}

/* Left column */
.ufw-checkout-section-label,
.woocommerce-billing-fields > h3,
.woocommerce-checkout h3#order_review_heading {
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ufw-ink-muted);
    margin: 0 0 1.25rem;
    font-family: var(--font-geometric-humanist, sans-serif);
}
/* Hide the redundant custom label — WC renders its own h3 */
.ufw-checkout-section-label { display: none; }

/* First name + last name side by side */
.woocommerce-billing-fields .form-row-first,
.woocommerce-billing-fields .form-row-last {
    display: inline-block;
    width: calc(50% - .5rem);
}
.woocommerce-billing-fields .form-row-first { margin-right: 1rem; }

/* Form fields */
.form-row { margin-bottom: 1rem; }
.form-row label { display: block; font-weight: 600; font-size: .875rem; letter-spacing: .02em; margin-bottom: .35rem; }
.form-row input, .form-row select, .form-row textarea {
    width: 100%;
    padding: .65rem .875rem;
    border: 1.5px solid var(--ufw-border);
    border-radius: 8px;
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: 1rem;
    background: var(--ufw-surface);
    color: var(--ufw-ink);
    transition: border-color .15s, box-shadow .15s;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus {
    outline: none;
    border-color: var(--ufw-accent);
    box-shadow: 0 0 0 3px rgba(211,113,49,.15);
}

/* Order notes toggle */
.ufw-order-notes-toggle {
    margin-top: 1.5rem;
    border: 1.5px solid var(--ufw-border);
    border-radius: 8px;
    overflow: hidden;
}
.ufw-order-notes-toggle summary {
    padding: .75rem 1rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--ufw-ink-muted);
    cursor: pointer;
    user-select: none;
    list-style: none;
}
.ufw-order-notes-toggle summary::-webkit-details-marker { display: none; }
.ufw-order-notes-toggle summary::before { content: '+ '; }
.ufw-order-notes-toggle[open] summary::before { content: '− '; }
.ufw-order-notes-body { padding: 1rem; border-top: 1px solid var(--ufw-border); }
.ufw-order-notes-body .form-row { margin-bottom: 0; }

/* Right column — sticky sidebar */
.ufw-checkout-sidebar-inner {
    position: sticky;
    top: calc(var(--header-height, 60px) + 1.5rem);
    background: var(--ufw-surface);
    border: 1.5px solid var(--ufw-border);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--ufw-card-shadow);
}

.ufw-checkout-sidebar-heading {
    background: var(--ufw-dark);
    color: rgba(255,255,255,.85);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin: 0;
    padding: .875rem 1.25rem;
}

/* Order review table */
#order_review { margin: 0; }
table.shop_table.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; background: var(--ufw-surface); }
table.shop_table.woocommerce-checkout-review-order-table thead th { background: rgba(0,23,33,.04); color: var(--ufw-ink-muted); font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .625rem 1.25rem; border-bottom: 1px solid var(--ufw-border); }
table.shop_table.woocommerce-checkout-review-order-table tbody td { padding: .75rem 1.25rem; border-bottom: 1px solid var(--ufw-border); font-size: .9375rem; vertical-align: middle; }
table.shop_table.woocommerce-checkout-review-order-table tbody tr:last-child td { border-bottom: none; }
table.shop_table.woocommerce-checkout-review-order-table tfoot th,
table.shop_table.woocommerce-checkout-review-order-table tfoot td { padding: .625rem 1.25rem; border-top: 1px solid var(--ufw-border); font-size: .9375rem; vertical-align: middle; }
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total td { font-weight: 700; font-size: 1.05rem; border-top: 2px solid var(--ufw-dark); }

/* Payment section */
#payment { padding: 1.25rem; background: var(--ufw-surface) !important; border-top: 1.5px solid var(--ufw-border); }
#payment .payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; }
#payment .payment_methods li { padding: .375rem 0; font-size: .9375rem; }
#payment #place_order {
    width: 100%;
    padding: 1rem 2rem;
    background: var(--ufw-dark);
    color: #fff;
    border: none;
    border-radius: var(--btn-radius);
    font-family: var(--font-geometric-humanist, sans-serif);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s, transform .1s;
    box-shadow: 0 4px 14px rgba(0,33,45,.22);
}
#payment #place_order:hover { background: var(--ufw-accent); }
#payment #place_order:active { transform: scale(.98); }

/* Trust line */
.ufw-checkout-trust {
    text-align: center;
    font-size: .8125rem;
    color: var(--ufw-ink-muted);
    margin: 0;
    padding: .875rem 1.25rem;
    border-top: 1px solid var(--ufw-border);
    background: rgba(0,23,33,.02);
}

/* Coupon toggle — hidden (distraction at top of checkout) */
.woocommerce-form-coupon-toggle { display: none !important; }
.checkout_coupon { margin-top: .75rem; display: flex; gap: .5rem; }
.checkout_coupon input { flex: 1; }
.checkout_coupon button { white-space: nowrap; }

/* Generic WC info notices (outside payment section) */
.woocommerce-info { background: var(--ufw-accent-light); border-left: 3px solid var(--ufw-accent); padding: .75rem 1rem; border-radius: 6px; margin-bottom: 1rem; font-size: .875rem; color: var(--ufw-ink); }
.woocommerce-info a { color: var(--ufw-accent); font-weight: 600; }

/* Payment section "no methods" notice — strip the gray card, show as plain muted text */
#payment .woocommerce-notice,
#payment .woocommerce-info,
#payment .payment_methods li {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: .5rem 0 !important;
    font-size: .875rem;
    color: var(--ufw-ink-muted);
}
/* Privacy policy text in payment */
#payment .woocommerce-privacy-policy-text { font-size: .8125rem; color: var(--ufw-ink-muted); margin: .75rem 0 1rem; }

/* Payment method radio list */
#payment .payment_methods li label { font-size: .9375rem; font-weight: 600; cursor: pointer; }
#payment .payment_methods li .payment_box { font-size: .8125rem; color: var(--ufw-ink-muted); padding: .5rem 0 .25rem 1.5rem; }
#payment input[type="radio"] { accent-color: var(--ufw-dark); }

/* ── Loading state ───────────────────────────────────────────────────────── */
[data-loading] { opacity: .7; pointer-events: none; }
.ufw-spinner {
    display: inline-block;
    width: 1em; height: 1em;
    border: 2px solid rgba(211,113,49,.25);
    border-top-color: var(--ufw-accent);
    border-radius: 50%;
    animation: spin .6s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Home / demo landing ─────────────────────────────────────────────────── */
.ufw-home.site-main {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

.ufw-home-hero {
    background: var(--ufw-dark-mid);
    background-image:
        radial-gradient(ellipse 60% 70% at 15% 30%, rgba(254,147,80,.14) 0%, transparent 100%),
        radial-gradient(ellipse 60% 70% at 85% 70%, rgba(107,144,163,.14) 0%, transparent 100%);
    color: #ffffff;
    padding: clamp(3.5rem, 9vw, 7rem) 1.5rem clamp(3rem, 7vw, 5.5rem);
    text-align: center;
}
.ufw-home-hero__inner { max-width: 64rem; margin: 0 auto; }

.ufw-home-pill {
    display: inline-block;
    font-size: .6875rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ufw-accent-vivid);
    background: rgba(254,147,80,.12);
    border: 1px solid rgba(254,147,80,.35);
    border-radius: 999px;
    padding: .4rem .9rem;
    margin-bottom: 1.75rem;
}

.ufw-home-title {
    font-family: var(--font-didone, 'Didot', 'Bodoni MT', 'Noto Serif Display', serif);
    font-size: clamp(2.75rem, 8vw, 6rem);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.05;
    margin: 0 auto 1.25rem;
    max-width: 18ch;
    color: #ffffff;
}
.ufw-home-title em { font-style: italic; color: var(--ufw-accent-vivid); }

.ufw-home-lede {
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.65;
    color: rgba(255,255,255,.78);
    max-width: 56ch;
    margin: 0 auto 2.25rem;
}
.ufw-home-lede strong { color: #ffffff; font-weight: 600; }

.ufw-home-cta {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: center;
    margin-bottom: 3rem;
}

.ufw-btn {
    display: inline-block;
    padding: .85rem 1.5rem;
    border-radius: var(--btn-radius, 999px);
    font-size: .9375rem;
    font-weight: 600;
    letter-spacing: .01em;
    transition: transform .15s, background .15s, color .15s, border-color .15s;
    border: 1px solid transparent;
    cursor: pointer;
}
.ufw-btn:hover { transform: translateY(-1px); text-decoration: none; }

.ufw-btn--primary {
    /* #a85620 = 5.23:1 on white; passes WCAG AA for normal text. The
       lighter --ufw-accent stays for borders/accents elsewhere. */
    background: #a85620;
    color: #ffffff;
    border-color: #a85620;
}
.ufw-btn--primary:hover {
    background: var(--ufw-accent-vivid);
    border-color: var(--ufw-accent-vivid);
    color: #ffffff;
}

.ufw-btn--ghost {
    background: transparent;
    color: #ffffff;
    border-color: rgba(255,255,255,.35);
}
.ufw-btn--ghost:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.6);
    color: #ffffff;
}

.ufw-home-stats {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 2.5rem;
}
.ufw-home-stats li { text-align: center; }
.ufw-home-stats strong {
    display: block;
    font-family: var(--font-didone, 'Didot', 'Bodoni MT', serif);
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    font-weight: 400;
    color: #ffffff;
    line-height: 1.1;
    margin-bottom: .35rem;
}
.ufw-home-stats span {
    font-size: .8125rem;
    color: rgba(255,255,255,.6);
    line-height: 1.45;
    display: block;
    max-width: 22ch;
    margin: 0 auto;
}

/* Stack overview */
.ufw-home-stack {
    background: var(--ufw-bg);
    padding: clamp(3rem, 6vw, 5rem) 1.5rem;
}
.ufw-home-stack__inner { max-width: 72rem; margin: 0 auto; }

.ufw-home-h2 {
    font-family: var(--font-didone, 'Didot', 'Bodoni MT', serif);
    font-size: clamp(1.75rem, 3.6vw, 2.75rem);
    font-weight: 400;
    font-style: italic;
    letter-spacing: -.01em;
    text-align: center;
    margin: 0 0 2.5rem;
    color: var(--ufw-dark);
}

.ufw-home-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 1.25rem;
}
.ufw-home-card {
    background: var(--ufw-surface);
    border: 1px solid var(--ufw-border);
    border-radius: 14px;
    padding: 1.5rem 1.5rem 1.6rem;
    box-shadow: var(--ufw-card-shadow);
    transition: transform .2s, box-shadow .2s;
}
.ufw-home-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--ufw-card-shadow-hover);
}
.ufw-home-card h3 {
    font-size: 1.0625rem;
    font-weight: 700;
    margin: 0 0 .5rem;
    color: var(--ufw-dark);
}
.ufw-home-card p {
    margin: 0;
    font-size: .9375rem;
    line-height: 1.55;
    color: var(--ufw-ink-muted);
}

/* CTA band */
.ufw-home-cta-band {
    background: var(--ufw-dark);
    color: #ffffff;
    padding: clamp(3rem, 6vw, 4.5rem) 1.5rem;
    text-align: center;
}
.ufw-home-cta-band__inner { max-width: 50rem; margin: 0 auto; }
.ufw-home-cta-band .ufw-home-h2 { color: #ffffff; }
.ufw-home-cta-band p {
    color: rgba(255,255,255,.72);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0 0 2rem;
}
.ufw-home-cta-band .ufw-home-cta { margin-bottom: 1.5rem; }
.ufw-home-disclaimer {
    font-size: .75rem !important;
    letter-spacing: .12em;
    text-transform: uppercase;
    /* .62 alpha on #001721 ≈ 6.5:1, passes WCAG AA for normal text. */
    color: rgba(255,255,255,.62) !important;
    margin: 0 !important;
}

/* ── Sticky header search + scroll-to-top ────────────────────────────────── */
.ufw-header-search {
    flex: 1 1 auto;
    max-width: 28rem;
    margin: 0 1rem;
}
.ufw-header-search__input {
    width: 100%;
    padding: .55rem 1rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.95);
    font-size: .95rem;
    line-height: 1.2;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ufw-header-search__input:focus {
    border-color: var(--primary-6, #1f6feb);
    box-shadow: 0 0 0 3px rgba(31,111,235,.18);
}
@media (max-width: 640px) {
    .ufw-header-search { display: none; }
}

.ufw-scroll-top {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    border: none;
    background: var(--primary-6, #1f2937);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    z-index: 800;
    transition: transform .15s ease, background-color .15s ease;
}
.ufw-scroll-top:hover { transform: translateY(-2px); background: var(--primary-7, #111827); }
.ufw-scroll-top:focus-visible { outline: 3px solid rgba(31,111,235,.4); outline-offset: 2px; }

/* ── Utility ─────────────────────────────────────────────────────────────── */
[data-show="false"], .hidden { display: none !important; }

