/* latin-ext */
@font-face {
  font-family: 'Annie Use Your Telescope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/a0248796-d9c7-497e-a56c-a533a929e85e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Annie Use Your Telescope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/5ec261a3-0932-4803-80cf-2d747c54f4e0.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;
}
/* vietnamese */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/9989acf6-0405-4f2e-97c9-be0e88192d75.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/b7326b60-e4a0-4910-aee7-54a3e02dc329.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/315f7afe-fa30-4241-8b0f-bf2b57414ef7.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;
}
/* vietnamese */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/9989acf6-0405-4f2e-97c9-be0e88192d75.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/b7326b60-e4a0-4910-aee7-54a3e02dc329.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/315f7afe-fa30-4241-8b0f-bf2b57414ef7.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;
}
/* vietnamese */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/9989acf6-0405-4f2e-97c9-be0e88192d75.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/b7326b60-e4a0-4910-aee7-54a3e02dc329.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/315f7afe-fa30-4241-8b0f-bf2b57414ef7.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;
}
/* vietnamese */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/9989acf6-0405-4f2e-97c9-be0e88192d75.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/b7326b60-e4a0-4910-aee7-54a3e02dc329.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/315f7afe-fa30-4241-8b0f-bf2b57414ef7.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;
}
/* vietnamese */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/9989acf6-0405-4f2e-97c9-be0e88192d75.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/b7326b60-e4a0-4910-aee7-54a3e02dc329.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("assets/315f7afe-fa30-4241-8b0f-bf2b57414ef7.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Shadows Into Light';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/4c55dde1-0e24-45e7-aa8c-82c0e5212f22.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Shadows Into Light';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/979973bb-143f-4182-9f47-99dfb7193e2d.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;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fe70ba36-a15e-4711-a780-d0a3a6f0555f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/cf05c8bd-217f-4180-8a9e-bf251bee9441.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/543e1605-7d4c-40bb-976f-12f6d070f70f.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;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fe70ba36-a15e-4711-a780-d0a3a6f0555f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/cf05c8bd-217f-4180-8a9e-bf251bee9441.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/543e1605-7d4c-40bb-976f-12f6d070f70f.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;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fe70ba36-a15e-4711-a780-d0a3a6f0555f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/cf05c8bd-217f-4180-8a9e-bf251bee9441.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/543e1605-7d4c-40bb-976f-12f6d070f70f.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;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fe70ba36-a15e-4711-a780-d0a3a6f0555f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/cf05c8bd-217f-4180-8a9e-bf251bee9441.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/543e1605-7d4c-40bb-976f-12f6d070f70f.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;
}
/* vietnamese */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fe70ba36-a15e-4711-a780-d0a3a6f0555f.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/cf05c8bd-217f-4180-8a9e-bf251bee9441.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/543e1605-7d4c-40bb-976f-12f6d070f70f.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;
}


/* ====== Activismo Sagrado — base styles ====== */
:root{
  /* Sobria palette (default) */
  --cream:        #FFFCEE;
  --paper:        #F6F1DF;
  --ink:          #2E1019;
  --ink-soft:     #3A1C24;
  --coral:        #F56535;
  --coral-soft:   #FFBB44;
  --yellow:       #FFE583;
  --yellow-deep:  #F7C627;
  --teal:         #31AFAF;
  --teal-deep:    #358464;

  --bg:           var(--cream);
  --fg:           var(--cream);
  --accent:       var(--coral);
  --accent-soft:  var(--coral-soft);
  --highlight:    var(--yellow-deep);
  --rule:         rgba(255,252,238,0.22);

  --font-display: 'Saira', system-ui, sans-serif;
  --font-script:  'Shadows Into Light', cursive;
  --font-body:    'Work Sans', system-ui, sans-serif;
}

/* Manija (dark teal) variant */
.theme-manija{
  --bg:           #2A5F62;
  --fg:           #FFFCEE;
  --accent:       #F56535;
  --accent-soft:  #FFBB44;
  --highlight:    #F56535;
  --rule:         rgba(255,252,238,0.18);
  --ink:          #FFFCEE;
  --ink-soft:     #EFE6CF;
  --paper:        #25555A;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color: var(--cream);
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
  background:
    radial-gradient(ellipse 90vw 60vh at 70% 4%,  rgba(94,131,136,0.55) 0%, transparent 55%),
    radial-gradient(ellipse 80vw 55vh at 15% 18%, rgba(196,184,154,0.55) 0%, transparent 55%),
    radial-gradient(ellipse 90vw 55vh at 80% 30%, rgba(245,162,106,0.65) 0%, transparent 55%),
    radial-gradient(ellipse 80vw 50vh at 18% 42%, rgba(245,101,53,0.75) 0%, transparent 55%),
    radial-gradient(ellipse 90vw 50vh at 78% 55%, rgba(247,198,39,0.7) 0%, transparent 55%),
    radial-gradient(ellipse 80vw 50vh at 22% 68%, rgba(232,154,78,0.7) 0%, transparent 55%),
    radial-gradient(ellipse 90vw 55vh at 75% 82%, rgba(245,101,53,0.55) 0%, transparent 55%),
    radial-gradient(ellipse 90vw 55vh at 50% 96%, rgba(94,131,136,0.6) 0%, transparent 55%),
    linear-gradient(180deg,
      #6B8E91 0%,
      #B8AE93 10%,
      #E8B68C 22%,
      #F58A5B 34%,
      #F56535 46%,
      #F4A53A 58%,
      #F7C627 68%,
      #E89A4E 80%,
      #7E8C7E 92%,
      #5E8388 100%);
}
.flow-bg{ display:none; }

/* film grain (legacy — not used) */
.grain{ display:none; }

img{max-width:100%; display:block;}
a{color:inherit;}
button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}

/* paper texture overlay disabled when flow gradient is active */
.paper-noise{ display:none; }

/* === diagonal hash rule (like brand sheet) === */
.hash-rule{
  height:14px;
  background-image: repeating-linear-gradient(
    -55deg,
    var(--fg) 0 2px,
    transparent 2px 9px
  );
  opacity:.65;
  width:100%;
}
.hash-rule.thin{ height:8px; opacity:.45; }

/* === layout === */
.shell{
  max-width:1280px;
  margin:0 auto;
  padding: 0 48px;
  position:relative;
  z-index:2;
}
section{ position:relative; z-index:2; }

/* === nav === */
.nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px) saturate(1.1);
  background: rgba(255, 252, 238, 0.32);
  border-bottom: 1px solid rgba(46,16,25,0.12);
}
.theme-manija .nav{ background: rgba(20, 40, 44, 0.32); border-bottom: 1px solid rgba(255,252,238,.15); }
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap: 28px; flex-wrap:nowrap;
  padding: 14px 48px;
  max-width:1280px; margin:0 auto;
}
.nav-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-brand .logo-mark{ width:38px; height:38px; }
.nav-brand .wordmark{
  font-family: 'Shadows Into Light', cursive;
  font-weight:400;
  letter-spacing:.02em;
  text-transform:none;
  font-size: 22px;
  color: var(--cream);
  line-height: 1;
}
.nav-links{ display:flex; align-items:center; gap:20px; }
.nav-links a{
  text-decoration:none;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:500;
  opacity:.72;
  transition:opacity .2s, color .2s;
}
.nav-links a:hover{ opacity:1; color:var(--accent); }
.nav-links a.nav-course{
  opacity:1;
  color:#2E1019;
  background:#FFE583;
  padding:8px 16px;
  margin-left:6px;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
  white-space:nowrap;
  line-height:1;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.nav-links a.nav-course:hover{
  color:#2E1019;
  background:#FFD24D;
  transform:translateY(-1px);
  box-shadow:0 10px 24px -12px #FFE583;
}
.nav-links a.nav-course.is-active{
  background:var(--accent);
  color:var(--cream);
}
.nav-cta{
  font-family:var(--font-script);
  font-size: 22px;
  color: #F56535;
  text-decoration:none;
  padding: 10px 22px;
  background: #F56535;
  color: #FFFCEE;
  border-radius: 999px;
  transition: transform .2s, box-shadow .2s;
  white-space: nowrap;
  line-height:1;
}
.nav-cta:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px -12px #F56535; }
.nav-cta:hover{ transform: translateY(-1px); }

/* Zona derecha de la nav: CTA + control de cuenta (siempre visible, también en mobile) */
.nav-right{ display:flex; align-items:center; gap:18px; }
.nav-auth{
  display:inline-flex; align-items:center; gap:14px;
  font-family:var(--font-body, inherit);
}
.nav-auth a, .nav-auth button{
  font-size:14px; letter-spacing:.04em; font-weight:600; white-space:nowrap;
  color:#2E1019; opacity:.78; text-decoration:none;
  background:none; border:none; cursor:pointer; padding:0; font-family:inherit;
  transition:opacity .2s, color .2s;
}
.nav-auth a:hover, .nav-auth button:hover{ opacity:1; color:#F56535; }
.nav-auth a.nav-ingresar{
  border:1.5px solid rgba(245,101,53,.55); color:#F56535; opacity:1;
  padding:8px 18px; border-radius:999px;
}
.nav-auth a.nav-ingresar:hover{ background:#F56535; color:#FFFCEE; }
/* "Mis cursos" como pill con presencia (acción principal de cuenta) */
.nav-auth a.nav-mycourses{
  background:#F56535; color:#FFFCEE; opacity:1;
  padding:9px 20px; border-radius:999px;
}
.nav-auth a.nav-mycourses:hover{ color:#FFFCEE; transform:translateY(-1px); box-shadow:0 10px 24px -12px #F56535; }
@media (max-width: 560px){
  .nav-auth .nav-salir{ display:none; }
}

/* === hero === */
.hero{
  padding: 28px 0 36px;
  position:relative;
  overflow:hidden;
  min-height: calc(100vh - 72px);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 56px;
  align-items:start;
}
.eyebrow{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:12px;
  color: #CC5027;
  margin-bottom:16px;
  display:flex; align-items:center; gap:14px;
  text-shadow: 0 1px 4px rgba(255,252,238,.32);
}
.eyebrow::before{
  content:''; display:inline-block; width:42px; height:1px; background: #CC5027;
}
.hero h1{
  font-family:var(--font-display);
  font-weight:700;
  font-size: clamp(48px, 7vw, 96px);
  line-height: .92;
  letter-spacing: -0.01em;
  text-transform:uppercase;
}
.hero h1 .ampersand{
  font-family:var(--font-script);
  text-transform:none;
  color: #F56535;
  font-weight:400;
  font-size: 0.9em;
  display:inline-block;
  transform: translateY(0.06em) rotate(-4deg);
  margin: 0 .12em;
}
.hero-tag{
  font-family:var(--font-script);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height:1.15;
  color: var(--cream);
  margin-top: 12px;
  max-width: 18ch;
  text-shadow: 0 1px 0 rgba(0,0,0,.08);
}
.hero-body{
  margin-top: 14px;
  max-width: 44ch;
  font-size: 17px;
  line-height:1.55;
  opacity:.85;
  text-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.hero-actions{
  display:flex; gap:18px; margin-top:20px; align-items:center;
}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: 14px 26px;
  border-radius: 999px;
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:12px;
  text-decoration:none;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn-primary{ background:var(--accent); color:var(--cream); }
.btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px -12px var(--accent); }
.btn-ghost{ border: 1.5px solid var(--cream); color:var(--cream); }
.btn-ghost:hover{ background: var(--cream); color: #2E1019; }
.btn .arrow{ transition: transform .2s; }
.btn:hover .arrow{ transform: translateX(3px); }

/* hero side: big logo */
.hero-seal{
  position:relative;
  width:100%;
  aspect-ratio: 1/1;
  max-width: 520px;
  margin-left:auto;
  display:flex; align-items:center; justify-content:center;
}
.hero-logo{
  width: 100%;
  height: auto;
  filter: drop-shadow(0 30px 60px rgba(46,16,25,.35));
  animation: floatLogo 9s ease-in-out infinite;
}
@keyframes floatLogo{
  0%,100%{ transform: translateY(0) rotate(0deg); }
  50%{ transform: translateY(-10px) rotate(-1deg); }
}

/* nav logo */
.nav-logo{
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.footer-logo{
  width: 64px;
  height: 64px;
  object-fit: contain;
  flex-shrink:0;
}

.hero-marks{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-marks svg{ position:absolute; }

.scroll-cue{
  position:absolute;
  bottom: 32px;
  left:50%;
  transform: translateX(-50%);
  font-family:var(--font-display);
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  opacity:.55;
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.scroll-cue::after{
  content:'';
  width:1px; height:36px;
  background: var(--fg);
  animation: scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse{
  0%,100%{ transform: scaleY(1); transform-origin:top; opacity:.4; }
  50%{ transform: scaleY(1.4); opacity:.9; }
}

/* === manifesto / qué es === */
.manifesto{
  padding: 120px 0 100px;
}
.section-label{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-size:11px;
  color: #F56535;
  margin-bottom:24px;
  text-shadow: 0 1px 4px rgba(255,252,238,.32);
}
.section-label.deep{ color: #CC5027; }
.manifesto-grid{
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items:start;
}
.manifesto h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size: clamp(40px, 4.5vw, 64px);
  line-height: .98;
  text-transform:uppercase;
  letter-spacing:-0.01em;
}
.manifesto h2 em{
  font-style:normal;
  font-family:var(--font-script);
  text-transform:none;
  color: #F56535;
  font-weight:400;
  display:inline-block;
  font-size: 1.05em;
  transform: rotate(-2deg) translateY(0.04em);
  margin: 0 .08em;
}
.manifesto p{
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 18px;
  max-width: 56ch;
  text-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.manifesto p.lead{
  font-size: 21px;
  line-height:1.55;
  font-weight:500;
  border-left: 3px solid #CC5027;
  padding-left: 22px;
  margin-bottom:28px;
}
.manifesto .pull{
  font-family:var(--font-script);
  font-size: 36px;
  line-height:1.15;
  color: #CC5027;
  margin: 32px 0 18px;
  text-shadow: 0 4px 4px rgba(255,252,238,.22);
}

/* === split full-bleed band (Por qué) — transparent so flow-bg shines === */
.band{
  color: var(--cream);
  padding: 120px 0;
  position:relative;
  overflow:hidden;
  margin-top: 40px;
}
.band.coral, .band.teal{ background: transparent; color: var(--cream); }

.band .shell{ position:relative; }
.band-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items:center;
}
.band h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size: clamp(48px, 6vw, 86px);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-0.015em;
}
.band h2 em{
  font-style:normal;
  font-family:var(--font-script);
  color: #FFFCEE;
  font-weight:400;
  text-transform:none;
  display:inline-block;
  transform: rotate(-3deg);
  text-shadow: 0 4px 4px rgba(255,252,238,.22);
}
.band-body p{
  font-size:18px; line-height:1.7;
  margin-bottom:18px;
  opacity:.92;
  max-width: 48ch;
  text-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.band-body p.accent{
  font-family:var(--font-script);
  font-size: 32px;
  color: #CC5027;
  opacity:1;
  margin-top: 28px;
  line-height:1.25;
  text-shadow: 0 1px 4px rgba(255,252,238,.22);
}

/* decorative marks */
.deco-rays{
  position:absolute;
  pointer-events:none;
  opacity:.7;
}

/* === tensiones === */
.tensiones{
  padding: 130px 0;
  color: var(--cream);
}
.tensiones .tension-pair, .tensiones h2, .tensiones .tension-num, .tensiones .tension-note, .tensiones-intro{
  color: var(--cream);
}
.tensiones .tensiones-list, .tensiones .tension{ border-color: rgba(255,252,238,.22); }
.tensiones-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom: 60px;
  gap: 40px;
}
.tensiones h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size: clamp(48px, 6vw, 88px);
  text-transform:uppercase;
  line-height:.92;
  letter-spacing:-0.01em;
}
.tensiones-intro{
  max-width: 38ch;
  font-size:17px;
  line-height:1.65;
  opacity:.78;
  text-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.tensiones-list{
  display:grid;
  gap: 0;
  border-top: 1px solid var(--rule);
}
.tension{
  display:grid;
  grid-template-columns: 60px 1fr auto;
  align-items:center;
  gap: 40px;
  padding: 28px 0;
  border-bottom: 1px solid var(--rule);
  cursor: pointer;
  transition: padding .25s ease;
}
.tension:hover{ padding-left: 16px; }
.tension-num{
  font-family:var(--font-display);
  font-weight:600;
  font-size: 14px;
  letter-spacing:.2em;
  opacity:.5;
}
.tension-pair{
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  font-size: clamp(22px, 2.4vw, 34px);
  letter-spacing:-0.005em;
  display:flex; align-items:center; gap:22px;
  line-height:1.15;
  flex-wrap:wrap;
}
.tension-pair .vs{
  font-family:var(--font-script);
  font-weight:400;
  font-size: .85em;
  color: #F56535;
  text-transform: none;
  transform: rotate(-3deg);
  display:inline-block;
}
.tension-note{
  font-size: 14px;
  font-style:italic;
  opacity:.72;
  max-width: 36ch;
  text-align:right;
  line-height:1.45;
  text-shadow: 0 4px 4px rgba(0,0,0,.25);
}
.tension.open{
  padding: 36px 0 36px 16px;
  background: linear-gradient(90deg, rgba(245,101,53,0.20), transparent 70%);
}
.tension.open .tension-pair .vs{ color: #F56535; }

/* === pictogramas === */
.pictos{
  padding: 130px 0;
  background: transparent;
  color: var(--cream);
}
.pictos-head{ text-align:center; margin-bottom: 80px; }
.pictos-head h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size: clamp(40px, 4.5vw, 64px);
  text-transform:uppercase;
  letter-spacing:-0.01em;
  margin-bottom:14px;
}
.pictos-head .sub{
  font-family:var(--font-script);
  font-size: 28px;
  color: #F56535;
  line-height:1.2;
  text-shadow: 0 4px 4px rgba(255,252,238,.32);
}
.pictos-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.picto{
  text-align:center;
  padding: 40px 28px;
  position:relative;
  transition: transform .3s ease;
}
.picto:hover{ transform: translateY(-6px); }
.picto svg{ margin: 0 auto 24px; display:block; }
.picto .name{
  font-family:var(--font-script);
  font-size: 36px;
  color: #F56535;
  margin-bottom: 10px;
  line-height:1;
  text-shadow: 0 4px 4px rgba(255,252,238,.32);
}
.picto .desc{
  font-size: 14px;
  line-height: 1.6;
  opacity: .8;
  max-width: 28ch;
  margin: 0 auto;
  text-shadow: 0 1px 4px rgba(0,0,0,.25);
}

/* === ritual / cuándo === */
.ritual{
  padding: 130px 0;
  position:relative;
}
.ritual-card{
  background: rgba(245, 101, 53, 0.85);
  backdrop-filter: blur(2px);
  color: var(--cream);
  border-radius: 0;
  padding: 80px 64px;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 60px;
  align-items:center;
  position:relative;
  overflow:hidden;
  box-shadow: 0 30px 80px -30px rgba(46,16,25,.4);
}
.ritual-card::before{
  content:'';
  position:absolute; top:0; left:0; right:0; height:8px;
  background-image: repeating-linear-gradient(-55deg, var(--cream) 0 2px, transparent 2px 9px);
  opacity:.5;
}
.ritual-card::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:8px;
  background-image: repeating-linear-gradient(-55deg, var(--cream) 0 2px, transparent 2px 9px);
  opacity:.5;
}
.ritual-card h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size: clamp(40px, 5vw, 72px);
  text-transform:uppercase;
  line-height:.95;
  margin-bottom: 20px;
}
.ritual-card h2 em{
  font-style:normal;
  font-family:var(--font-script);
  text-transform:none;
  font-weight:400;
  color: #FFE583;
  display:inline-block;
  transform: rotate(-2deg);
}
.ritual-meta{
  display:flex; gap:32px; margin: 28px 0 24px; flex-wrap:wrap;
}
.ritual-meta div{
  border-left: 2px solid #FFE583;
  padding-left: 14px;
}
.ritual-meta .k{
  font-family:var(--font-display);
  font-weight:600;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.75;
  margin-bottom: 4px;
}
.ritual-meta .v{
  font-family:var(--font-display);
  font-size: 22px;
  font-weight:600;
}
.ritual-card p{
  font-size: 17px;
  line-height: 1.65;
  max-width: 38ch;
  opacity:.95;
}
.ritual-card .needs{
  margin-top:24px;
}
.ritual-card .needs-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-bottom: 12px;
}
.ritual-card .needs-list{
  display:flex; gap:16px; flex-wrap:wrap;
}
.needs-chip{
  font-family:var(--font-script);
  font-size: 26px;
  color: #FFE583;
  line-height:1;
  padding: 6px 18px;
  border: 1.5px solid #FFE583;
  border-radius: 999px;
}
.ritual-side{ display:flex; align-items:center; justify-content:center; }

/* sun-rays decorative */
.sun-rays{
  position: relative;
  width: 280px; height: 280px;
}

/* === CTA === */
.cta{
  padding: 140px 0 90px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cta-marks{
  position:absolute; inset:0; pointer-events:none; opacity:.6;
}
.cta h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size: clamp(48px, 7vw, 110px);
  text-transform:uppercase;
  line-height:.92;
  letter-spacing:-0.015em;
  max-width: 14ch;
  margin: 0 auto;
}
.cta .swoop{
  font-family:var(--font-script);
  font-size: clamp(56px, 7vw, 96px);
  color: #FFFCEE;
  display:inline-block;
  transform: rotate(-4deg);
  font-weight:400;
  line-height:1;
  text-shadow: 0 1px 4px rgba(255,252,238,.32);
}
.cta-sub{
  font-family:var(--font-script);
  font-size: 32px;
  color: #FFFCEE;
  margin-top: 28px;
  text-shadow: 0 0 4px rgba(255,252,238,.32);
}
.cta-form{
  display:flex; gap:0;
  max-width: 520px; margin: 44px auto 0;
  border: 1.5px solid rgba(255,252,238,.6);
  border-radius: 999px;
  overflow:hidden;
  padding: 6px;
  background: rgba(46,16,25,.18);
  backdrop-filter: blur(4px);
}
.cta-form input{
  flex:1;
  background:transparent;
  border:none;
  outline:none;
  padding: 12px 22px;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--fg);
}
.cta-form input::placeholder{ color: color-mix(in oklab, var(--fg) 50%, transparent); }
.cta-form button{
  background: var(--accent);
  color: var(--cream);
  font-family: var(--font-display);
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-size: 12px;
  padding: 12px 26px;
  border-radius: 999px;
  transition: transform .2s;
}
.cta-form button:hover{ transform: translateX(2px); }

/* === footer === */
footer{
  border-top: 1px solid rgba(255,252,238,.2);
  padding: 60px 0 40px;
  font-size: 13px;
  position:relative;
  z-index:2;
  color: var(--cream);
  background: rgba(46,16,25,.18);
  backdrop-filter: blur(4px);
}
footer .footer-grid a, footer .footer-grid h4, footer .footer-brand .text .tag{ color: var(--cream); opacity:.85; }
footer .footer-brand .text .wm{ color: var(--yellow); }
footer .footer-bottom{ border-top: 1px solid rgba(255,252,238,.2); }
.footer-grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 50px;
}
.footer-grid h4{
  font-family:var(--font-display);
  font-weight:700;
  font-size: 11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom: 14px;
  opacity:.7;
}
.footer-grid ul{ list-style:none; }
.footer-grid li{ margin-bottom: 8px; }
.footer-grid a{ text-decoration:none; opacity:.8; }
.footer-grid a:hover{ color: var(--accent); opacity:1; }
.footer-brand{
  display:flex; align-items:flex-start; gap:14px;
}
.footer-brand .logo-mark{ width:48px; height:48px; flex-shrink:0; }
.footer-brand .text .wm{
  font-family: 'Shadows Into Light', cursive;
  font-weight:400;
  letter-spacing:.02em;
  text-transform:none;
  font-size: 26px;
  margin-bottom: 6px;
  color: var(--accent);
}
.footer-brand .text .tag{
  font-family:var(--font-script);
  font-size: 22px;
  color: var(--fg);
  opacity:.85;
  line-height:1.1;
  max-width: 18ch;
}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  font-size:12px; opacity:.6;
  border-top: 1px solid var(--rule);
  padding-top: 20px;
  letter-spacing:.06em;
}

/* === logo mark (AS in circle) === */
.logo-mark{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 50%;
  background: var(--ink);
  flex-shrink:0;
}
.theme-manija .logo-mark{ background: var(--highlight); }
.logo-mark .glyph{
  font-family:var(--font-script);
  font-weight:400;
  color: var(--cream);
  line-height: 1;
  transform: translateY(-2px) rotate(-4deg);
  letter-spacing:-0.05em;
}
.theme-manija .logo-mark .glyph{ color: var(--ink); }

/* === responsive === */
@media (max-width: 980px){
  .shell{ padding: 0 24px; }
  .nav-inner{ padding: 12px 24px; }
  .nav-links{ display:none; }
  .hero-grid, .manifesto-grid, .band-grid, .ritual-card, .tensiones-head{
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ritual-card{ padding: 60px 32px; }
  .pictos-grid{ grid-template-columns: 1fr; gap: 12px; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .tension{ grid-template-columns: 36px 1fr; gap: 16px; }
  .tension-note{ grid-column: 1/-1; text-align:left; padding-left: 52px; }
}
