@import url('../fonts/fonts.css');

/* Estilo Archivo de Ceniza: sistema visual editorial de tinta, marfil y bermellón; textura, cartelas y contraste ceremonial. */

@custom-variant dark (&:is(.dark *));

:root { --background:#f6f0e5; --foreground:#171513; --card:#fcf9f1; --card-foreground:#171513; --popover:#fcf9f1; --popover-foreground:#171513; --primary:#b33a2e; --primary-foreground:#fff8e9; --secondary:#e9dfd0; --secondary-foreground:#171513; --muted:#e9dfd0; --muted-foreground:#665e55; --accent:#d9c5a8; --accent-foreground:#171513; --destructive:#b33a2e; --destructive-foreground:#fff8e9; --border:#cfc3b2; --input:#cfc3b2; --ring:#b33a2e; }

* { border-color:var(--border); }
html { scroll-behavior:auto; background:var(--background); }
body { margin:0; background:var(--background); color:var(--foreground); font-family:"DM Sans", Arial, sans-serif; overflow-x:clip; }
#root { min-height:100vh; }
a { color:inherit; text-decoration:none; }
button, input, textarea { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button:not(:disabled), a[href] { cursor:pointer; }
img { display:block; max-width:100%; }

.site-frame { width:min(1240px, calc(100% - 48px)); margin:0 auto; }
.site-shell { min-height:100vh; background:var(--background); }
.sale-strip { background:#b33a2e; color:#fff8e9; min-height:39px; display:flex; align-items:center; }
.sale-strip__content { display:flex; align-items:center; gap:14px; padding:8px 0; font-size:12px; line-height:1.25; }
.sale-strip__tag, .sale-page__tag { font:500 10px/1 "DM Mono", monospace; letter-spacing:.11em; text-transform:uppercase; border:1px solid currentColor; padding:4px 6px; white-space:nowrap; }
.sale-strip p { margin:0; flex:1; }
.sale-strip__link { display:flex; gap:5px; align-items:center; white-space:nowrap; font-weight:700; }
.site-header { position:sticky; top:0; z-index:40; background:rgba(246,240,229,.96); border-bottom:1px solid #cfc3b2; backdrop-filter:blur(14px); }
.header-row { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand-mark { display:inline-flex; align-items:center; gap:9px; flex:none; }
.brand-mark img { width:60px; height:60px; object-fit:contain; }
.brand-mark span { font-family:"DM Serif Display", serif; font-size:43.5px; letter-spacing:-.075em; line-height:1; }
.brand-mark strong { font-weight:400; }
.brand-mark em { font-style:italic; color:#b33a2e; font-size:.75em; }
.brand-mark--inverse { color:#fff8e9; }
.desktop-nav { display:flex; gap:20px; align-items:center; margin-left:auto; }
.desktop-nav a { font-size:13px; font-weight:600; color:#514a42; padding:29px 0 26px; border-bottom:3px solid transparent; transition:.18s ease; }
.desktop-nav a:hover, .desktop-nav a.is-active { color:#171513; border-color:#b33a2e; }
.header-actions { display:flex; align-items:center; gap:14px; }
.search-link { display:grid; place-items:center; width:31px; height:31px; }
.contribute-link { font-size:12px; font-weight:700; background:#171513; color:#fff8e9; padding:10px 12px; transition:transform .16s ease; }
.contribute-link:active, .button-red:active, .button-ink:active, .button-ivory:active { transform:scale(.97); }
.menu-toggle { display:none; border:0; padding:6px; background:transparent; color:#171513; }
.mobile-nav { display:none; }

.eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 17px; color:#8b3027; font:500 10px/1.3 "DM Mono", monospace; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow span { display:block; width:20px; border-top:1px solid currentColor; }
.eyebrow--light { color:#f8efdf; }
.button-red, .button-ink, .button-ivory { display:inline-flex; align-items:center; gap:10px; padding:14px 16px; border:none; font-size:13px; font-weight:700; transition:transform .16s ease, background .16s ease; }
.button-red { background:#b33a2e; color:#fff8e9; }
.button-ink { background:#171513; color:#fff8e9; }
.button-ivory { background:#fff8e9; color:#171513; }
.button-red:hover { background:#922a20; }.button-ink:hover { background:#332e29; }.button-ivory:hover { background:#e9dfd0; }
.text-link { display:inline-flex; gap:7px; align-items:center; padding-bottom:3px; border-bottom:1px solid #b33a2e; color:#7e271f; font-weight:700; font-size:13px; }
.section-space { padding:105px 0; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:34px; }
.section-heading h2, .intro-spread h2, .home-places h2, .ink-band h2, .paper-block h2, .sale-argument h2 { font-family:"DM Serif Display", Georgia, serif; font-weight:400; letter-spacing:-.035em; line-height:.98; font-size:clamp(35px, 4vw, 57px); margin:0; max-width:700px; }
.section-heading p { max-width:480px; color:#665e55; line-height:1.6; margin:14px 0 0; }

.home-hero { min-height:calc(100svh - 116px); position:relative; color:#fff8e9; display:flex; align-items:end; overflow:hidden; }
.hero-image { background-image:url('../assets/judas-hero-archivo-de-ceniza.jpg'); background-size:cover; background-position:center; position:absolute; inset:0; }
.hero-veil { position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,10,9,.86) 0%, rgba(11,10,9,.48) 47%, rgba(11,10,9,.08) 100%), linear-gradient(0deg, rgba(11,10,9,.55), transparent 54%); }
.hero-content { position:relative; z-index:1; min-height:calc(100svh - 116px); display:flex; flex-direction:column; justify-content:space-between; padding:27px 0 36px; }
.hero-topline { display:flex; justify-content:space-between; font:500 10px/1 "DM Mono", monospace; letter-spacing:.12em; }
.hero-copy { width:min(670px, 100%); padding:72px 0 32px; }
.hero-copy .eyebrow { color:#f8efdf; }.hero-copy h1 { font-family:"DM Serif Display", Georgia, serif; font-weight:400; font-size:clamp(48px, 7vw, 92px); letter-spacing:-.058em; line-height:.91; margin:0; }.hero-copy h1 i { color:#edcdb2; }.hero-copy>p { max-width:500px; margin:27px 0; font-size:17px; line-height:1.55; color:#f5ebdd; }.hero-actions { display:flex; gap:12px; }.button-ghost { display:flex; align-items:center; gap:9px; color:#fff8e9; border-bottom:1px solid rgba(255,248,233,.7); font-size:13px; font-weight:700; padding:0 0 4px; align-self:center; }
.hero-index { display:flex; justify-content:space-between; align-items:end; font:500 10px/1.3 "DM Mono", monospace; letter-spacing:.12em; }.hero-index>div { display:flex; align-items:start; gap:14px; width:300px; }.index-rule { width:52px; border-top:1px solid #b33a2e; margin-top:6px; }.hero-index p { margin:0; text-transform:uppercase; }
.intro-spread { display:grid; grid-template-columns:1.15fr .7fr; gap:120px; padding:130px 8vw 115px 0; }.intro-spread>div:last-child { padding-top:60px; }.intro-spread>div:last-child>p { color:#514a42; font-size:17px; line-height:1.65; margin:0 0 21px; }
.ritual-feature-grid { display:grid; grid-template-columns:1.18fr .82fr; border-top:1px solid #171513; }.main-ritual { min-height:487px; position:relative; color:#fff8e9; overflow:hidden; }.main-ritual__image, .main-ritual__image img { width:100%; height:100%; object-fit:cover; }.main-ritual__image { position:absolute; inset:0; }.main-ritual__image:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,10,8,.88),transparent 70%); }.main-ritual__overlay { position:absolute; inset:0; padding:27px; display:flex; flex-direction:column; align-items:flex-start; justify-content:end; }.main-ritual__overlay span { font:500 10px "DM Mono", monospace; letter-spacing:.1em; }.main-ritual__overlay h3 { font-family:"DM Serif Display",serif; font-size:43px; line-height:1; font-weight:400; margin:11px 0; }.main-ritual__overlay p { max-width:330px; line-height:1.5; margin:0 0 17px; }
.ritual-side-list { border-right:1px solid #171513; }.side-ritual { min-height:162px; display:grid; grid-template-columns:46px 1fr 28px; gap:14px; padding:23px; border-bottom:1px solid #171513; transition:background .18s ease; }.side-ritual:hover { background:#e9dfd0; }.side-ritual>span { font:500 11px "DM Mono",monospace; color:#b33a2e; }.side-ritual p { font:500 10px "DM Mono",monospace; letter-spacing:.1em; color:#8b3027; margin:0 0 8px; text-transform:uppercase; }.side-ritual h3 { font-family:"DM Serif Display",serif; font-weight:400; font-size:25px; line-height:1.05; margin:0; }
.paper-block { background:#e9dfd0; }.home-places { padding:105px 0; }.home-places__grid, .split-feature { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; }.place-image { position:relative; min-height:480px; }.place-image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }.place-image span { position:absolute; left:0; bottom:0; padding:9px 12px; background:#b33a2e; color:#fff8e9; font:500 10px "DM Mono",monospace; letter-spacing:.12em; }.home-places h2 { margin-bottom:23px; }.home-places p { color:#514a42; font-size:16px; line-height:1.65; }.mini-stats { display:flex; margin:37px 0; gap:45px; }.number-stat { border-left:1px solid #b33a2e; padding-left:12px; }.number-stat strong { display:block; font-family:"DM Serif Display",serif; font-size:39px; line-height:.9; font-weight:400; }.number-stat span { display:block; font:500 10px "DM Mono",monospace; letter-spacing:.09em; text-transform:uppercase; margin-top:8px; }.number-stat p { font-size:12px; margin:5px 0 0; max-width:120px; line-height:1.4; }
.archive-home__grid { display:grid; grid-template-columns:1.1fr .8fr .72fr; min-height:410px; }.story-link { display:block; }.story-card { height:100%; border:1px solid #171513; border-left:0; transition:transform .18s ease, box-shadow .18s ease; }.story-link:first-child .story-card { border-left:1px solid #171513; }.story-link:hover .story-card { transform:translateY(-4px); box-shadow:6px 7px 0 #b33a2e; }.story-card--ink { background:#171513; color:#fff8e9; }.story-card--red { background:#b33a2e; color:#fff8e9; }.story-card__image { height:215px; overflow:hidden; }.story-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }.story-link:hover img { transform:scale(1.045); }.story-card__body { padding:20px; }.card-meta { display:flex; justify-content:space-between; gap:10px; font:500 9px "DM Mono",monospace; letter-spacing:.1em; color:#8b3027; }.story-card--ink .card-meta, .story-card--red .card-meta { color:#f0c4ac; }.story-card h3 { font-family:"DM Serif Display", serif; font-size:29px; font-weight:400; letter-spacing:-.035em; line-height:1.03; margin:20px 0 11px; }.story-card p { margin:0; line-height:1.55; color:#665e55; font-size:13px; }.story-card--ink p, .story-card--red p { color:#efe5d6; }.card-arrow { display:flex; align-items:center; gap:5px; font-size:12px; font-weight:700; margin-top:21px; }.archive-home__quote { background:#d9c5a8; padding:29px; display:flex; flex-direction:column; justify-content:space-between; }.archive-home__quote>p { font-family:"DM Serif Display",serif; font-size:28px; letter-spacing:-.03em; line-height:1.05; }.archive-home__quote a, .archive-home__note a { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; }.archive-home__note { background:#b33a2e; color:#fff8e9; padding:29px; display:flex; flex-direction:column; justify-content:space-between; }.archive-home__note span { font:500 10px "DM Mono",monospace; letter-spacing:.1em; }.archive-home__note h3 { font-family:"DM Serif Display",serif; font-size:33px; line-height:1; font-weight:400; letter-spacing:-.04em; margin:21px 0; }.archive-home__note p { line-height:1.55; font-size:13px; }.ink-band { background:#171513; color:#fff8e9; }.agenda-home { padding:95px 0; }.agenda-home__grid { display:grid; grid-template-columns:1fr .9fr; gap:70px; align-items:center; }.ink-band h2 { margin-bottom:17px; }.ink-band>div p { color:#dcd1c1; line-height:1.6; max-width:490px; }.next-event { border-top:1px solid #7b7165; border-bottom:1px solid #7b7165; padding:25px 0; display:grid; grid-template-columns:70px 1fr 30px; align-items:start; gap:18px; }.next-event>span { font-family:"DM Serif Display",serif; font-size:28px; color:#e6b499; }.next-event p { margin:0 0 6px; font:500 10px "DM Mono",monospace; letter-spacing:.1em; }.next-event h3 { margin:6px 0; font-family:"DM Serif Display",serif; font-weight:400; font-size:30px; line-height:1; }.next-event a { color:#fff8e9; }.home-search { padding:85px 0; display:grid; grid-template-columns:1fr 1fr; gap:80px; border-bottom:1px solid #171513; }.home-search>div:first-child { display:grid; grid-template-columns:42px 1fr; column-gap:13px; }.home-search h2 { font-family:"DM Serif Display",serif; font-size:38px; letter-spacing:-.03em; line-height:1; margin:0; }.home-search p { grid-column:2; color:#665e55; line-height:1.6; }.search-suggestions { display:flex; flex-direction:column; justify-content:center; }.search-suggestions a { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid #cfc3b2; font:500 11px "DM Mono",monospace; letter-spacing:.1em; }

.page-masthead { border-bottom:1px solid #171513; }.page-masthead__grid { display:grid; grid-template-columns:90px 1fr 34%; gap:28px; min-height:430px; align-items:center; }.masthead-index { align-self:start; padding-top:43px; font:500 12px "DM Mono",monospace; color:#b33a2e; }.masthead-copy { padding:60px 0; }.masthead-copy h1 { font-family:"DM Serif Display",serif; font-size:clamp(49px,6vw,82px); line-height:.92; font-weight:400; letter-spacing:-.055em; margin:0; max-width:760px; }.masthead-copy>p { max-width:570px; font-size:17px; color:#514a42; line-height:1.62; margin:24px 0 0; }.masthead-image { height:100%; min-height:430px; margin:0; }.masthead-image img { width:100%; height:100%; object-fit:cover; }.masthead-stamp { background:#b33a2e; color:#fff8e9; align-self:stretch; display:flex; flex-direction:column; justify-content:end; padding:30px; gap:14px; font-family:"DM Serif Display",serif; font-size:35px; line-height:.9; }.filter-row { min-height:73px; display:flex; align-items:center; gap:11px; border-bottom:1px solid #171513; }.filter-row>span { margin-right:5px; font:500 10px "DM Mono",monospace; letter-spacing:.08em; }.filter-row button, .agenda-controls button { background:transparent; border:1px solid #cfc3b2; padding:8px 11px; font-size:12px; }.filter-row .filter-active { background:#171513; color:#fff8e9; border-color:#171513; }.filter-row .filter-map { margin-left:auto; display:flex; align-items:center; gap:5px; border-color:#b33a2e; color:#8b3027; }.ritual-index { padding-bottom:84px; }.ritual-row { display:grid; grid-template-columns:90px 1fr 1fr 34px; gap:24px; align-items:center; padding:28px 0; border-bottom:1px solid #cfc3b2; transition:padding .18s ease, background .18s ease; }.ritual-row:hover { padding-left:14px; background:#e9dfd0; }.ritual-number { font:500 13px "DM Mono",monospace; color:#b33a2e; }.ritual-row h2 { font-family:"DM Serif Display",serif; font-size:34px; line-height:1; letter-spacing:-.035em; font-weight:400; margin:0 0 9px; }.ritual-row p { color:#665e55; font-size:14px; line-height:1.5; }.location-line { display:flex; flex-wrap:wrap; gap:12px; color:#665e55; font:500 10px/1.4 "DM Mono",monospace; letter-spacing:.02em; }.location-line span { display:flex; gap:5px; align-items:center; }.ink-band__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:55px; align-items:end; padding:95px 0; }.ink-band__grid>div { position:relative; }.giant-mark { position:absolute; font-family:"DM Serif Display",serif; color:#b33a2e; font-size:190px; line-height:.5; top:-7px; left:-12px; opacity:.8; }.ink-band__grid h2 { position:relative; max-width:570px; }.ink-band__grid>div:last-child>p { font-size:17px; }.three-col-grid { display:grid; grid-template-columns:repeat(3,1fr); }.three-col-grid .story-card { min-height:275px; }.three-col-grid .story-link:first-child .story-card { border-left:1px solid #171513; }

.places-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; padding:90px 0 65px; }.large-lead { font-family:"DM Serif Display",serif; font-size:42px; line-height:1.02; letter-spacing:-.035em; margin:0; max-width:570px; }.map-abstract { min-height:220px; border:1px solid #171513; position:relative; background:repeating-linear-gradient(0deg,transparent 0,transparent 28px,#d4c7b6 29px); overflow:hidden; }.map-abstract__dot { position:absolute; border-radius:999px; background:#b33a2e; width:13px; height:13px; }.dot-one { top:51px; left:29%; }.dot-two { top:129px; left:53%; }.dot-three { top:75px; right:17%; }.map-abstract__line { position:absolute; height:1px; background:#171513; width:48%; transform:rotate(15deg); top:101px; left:27%; }.map-abstract span { position:absolute; bottom:14px; left:14px; font:500 9px "DM Mono",monospace; letter-spacing:.1em; }.place-list { border-top:1px solid #171513; }.place-row { display:grid; grid-template-columns:65px 1fr 1.1fr 30px; gap:27px; align-items:start; padding:28px 0; border-bottom:1px solid #cfc3b2; }.place-row>span { color:#b33a2e; font:500 12px "DM Mono",monospace; }.place-row h2 { font-family:"DM Serif Display",serif; font-size:31px; line-height:1; font-weight:400; margin:0 0 10px; }.place-row h3 { margin:0 0 8px; font-size:15px; }.place-row p { margin:0; color:#665e55; line-height:1.55; font-size:13px; }.place-row>a { display:grid; place-items:center; }.split-feature { padding:100px 0; }.split-feature h2 { margin-bottom:21px; }.split-feature>div>p:not(.eyebrow) { color:#514a42; line-height:1.65; max-width:520px; margin:0 0 26px; }.split-feature aside { background:#b33a2e; color:#fff8e9; padding:34px; min-height:295px; display:flex; flex-direction:column; }.split-feature aside>span { font:500 10px "DM Mono",monospace; letter-spacing:.1em; }.split-feature aside strong { font-family:"DM Serif Display",serif; font-weight:400; font-size:52px; line-height:.88; letter-spacing:-.05em; margin:24px 0 18px; }.split-feature aside p { line-height:1.5; margin:0; max-width:270px; }.split-feature aside a { font-weight:700; font-size:12px; display:flex; gap:5px; margin-top:auto; }

.archive-tabs { display:flex; gap:25px; min-height:66px; align-items:center; border-bottom:1px solid #171513; }.archive-tabs button { border:0; background:transparent; padding:22px 0; font-size:12px; color:#665e55; }.archive-tabs .is-selected { color:#171513; font-weight:700; border-bottom:2px solid #b33a2e; }.archive-feature { display:grid; grid-template-columns:1fr 1fr; margin:72px 0; border:1px solid #171513; }.archive-feature__copy { padding:55px; background:#d9c5a8; }.archive-label { font:500 10px "DM Mono",monospace; letter-spacing:.1em; }.archive-feature h2 { font-family:"DM Serif Display",serif; font-weight:400; font-size:49px; line-height:.95; letter-spacing:-.045em; margin:25px 0; }.archive-feature p { line-height:1.65; color:#514a42; max-width:470px; }.archive-feature__visual { position:relative; min-height:440px; }.archive-feature__visual img { height:100%; width:100%; object-fit:cover; position:absolute; inset:0; }.visual-caption { position:absolute; bottom:0; right:0; background:#171513; color:#fff8e9; padding:10px 12px; font:500 10px "DM Mono",monospace; letter-spacing:.1em; }.archive-modules { display:grid; grid-template-columns:1.3fr 1fr 1fr; margin-bottom:100px; }.archive-modules>article { min-height:350px; padding:29px; border:1px solid #171513; border-left:0; display:flex; flex-direction:column; }.archive-modules>article:first-child { border-left:1px solid #171513; }.module-icon { color:#b33a2e; }.voice-module { background:#171513; color:#fff8e9; }.voice-module .eyebrow { color:#e8bba0; margin-top:35px; }.voice-module blockquote { font-family:"DM Serif Display",serif; font-size:32px; line-height:1.04; letter-spacing:-.035em; margin:16px 0; }.voice-credit { font-size:11px; line-height:1.5; color:#d9cfc1; }.archive-modules a { margin-top:auto; font-size:12px; font-weight:700; display:flex; align-items:center; gap:5px; }.object-module { background:#b33a2e; color:#fff8e9; }.image-module { background:#e9dfd0; }.archive-modules h3 { font-family:"DM Serif Display",serif; font-weight:400; font-size:33px; line-height:1; margin:24px 0 14px; }.archive-modules>article>p:not(.eyebrow) { font-size:13px; line-height:1.55; color:inherit; }.image-module>p:not(.eyebrow) { color:#514a42 !important; }

.agenda-controls { display:flex; justify-content:space-between; gap:25px; padding:30px 0; border-bottom:1px solid #171513; }.agenda-controls>div { display:flex; gap:8px; }.agenda-controls .is-current { background:#171513; color:#fff8e9; }.agenda-filter { display:flex; gap:5px; align-items:center; }.agenda-layout { display:grid; grid-template-columns:305px 1fr; gap:65px; padding:53px 0 70px; }.calendar-spine { border-right:1px solid #cfc3b2; padding-right:38px; }.calendar-week { display:grid; grid-template-columns:repeat(7,1fr); font:500 9px "DM Mono",monospace; color:#8b3027; margin-bottom:12px; }.calendar-days { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }.calendar-days button { border:0; height:31px; background:transparent; font-size:12px; }.calendar-days .day-active { background:#b33a2e; color:#fff8e9; }.calendar-spine>p { border-top:1px solid #171513; margin-top:23px; padding-top:15px; line-height:1.5; font-size:13px; }.agenda-event { position:relative; display:grid; grid-template-columns:67px 1fr 30px; gap:20px; align-items:start; padding:23px 0; border-bottom:1px solid #cfc3b2; }.event-date { color:#b33a2e; font-family:"DM Serif Display",serif; line-height:.9; }.event-date strong { display:block; font-size:39px; font-weight:400; }.event-date span { font:500 9px "DM Mono",monospace; letter-spacing:.1em; }.event-type { font:500 9px "DM Mono",monospace; letter-spacing:.1em; color:#8b3027; }.agenda-event h2 { font-family:"DM Serif Display",serif; font-size:31px; font-weight:400; line-height:1; letter-spacing:-.025em; margin:7px 0 10px; }.agenda-event>a { padding-top:13px; }.event-featured { position:absolute; right:44px; top:27px; color:#fff8e9; background:#b33a2e; padding:4px 6px; font:500 8px "DM Mono",monospace; letter-spacing:.08em; }.notice-band { border-top:1px solid #171513; border-bottom:1px solid #171513; padding:27px 0; display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:17px; }.notice-band strong { font-size:15px; }.notice-band p { margin:5px 0 0; color:#665e55; font-size:13px; }.notice-band a { font-size:13px; font-weight:700; display:flex; align-items:center; }.upcoming { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:100px 0; }.upcoming h2 { font-family:"DM Serif Display",serif; font-size:48px; line-height:.98; font-weight:400; letter-spacing:-.045em; margin:0; }.upcoming>div:last-child { border-left:1px solid #b33a2e; padding-left:23px; }.upcoming>div:last-child p { color:#514a42; line-height:1.6; }.upcoming a { font-size:13px; font-weight:700; display:flex; align-items:center; gap:3px; }

.oficio-lead { padding:82px 0 60px; display:grid; grid-template-columns:120px 1fr auto; gap:35px; align-items:center; }.oficio-symbol { color:#b33a2e; }.oficio-lead p { margin:0; font-family:"DM Serif Display",serif; font-size:34px; letter-spacing:-.025em; line-height:1.05; max-width:690px; }.skill-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #171513; margin-bottom:100px; }.skill-card { padding:28px 22px; min-height:345px; border:1px solid #171513; border-top:0; border-left:0; display:flex; flex-direction:column; }.skill-card:first-child { border-left:1px solid #171513; }.skill-card>span { font:500 11px "DM Mono",monospace; color:#b33a2e; }.skill-card__icon { margin-top:30px; color:#8b3027; }.skill-card h2 { font-family:"DM Serif Display",serif; font-size:32px; font-weight:400; line-height:1; letter-spacing:-.035em; margin:25px 0 12px; }.skill-card p { color:#665e55; font-size:13px; line-height:1.58; margin:0; }.skill-card small { margin-top:17px; color:#8b3027; font:500 9px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.skill-card a { margin-top:auto; display:flex; gap:4px; align-items:center; font-size:12px; font-weight:700; }.red-band { background:#b33a2e; color:#fff8e9; }.red-band__content { padding:89px 0; max-width:870px; margin-left:max(24px, calc((100% - 1240px)/2)); }.red-band h2 { font-family:"DM Serif Display",serif; font-size:clamp(42px,5vw,70px); font-weight:400; line-height:.9; letter-spacing:-.05em; max-width:670px; margin:0 0 19px; }.red-band p:not(.eyebrow) { max-width:560px; line-height:1.6; color:#fff1e5; margin:0 0 27px; }

.guide-grid { display:grid; grid-template-columns:1.3fr .7fr; border:1px solid #171513; margin:80px auto 0; }.guide-feature { background:#d9c5a8; padding:50px; display:grid; grid-template-columns:1fr .65fr; gap:42px; }.guide-feature h2 { font-family:"DM Serif Display",serif; font-size:48px; font-weight:400; letter-spacing:-.045em; line-height:.96; margin:0 0 18px; }.guide-feature p { line-height:1.62; color:#514a42; }.guide-feature ol { margin:26px 0 0; padding:0; list-style:none; align-self:end; }.guide-feature li { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid #967e5d; font-size:13px; }.guide-feature li span { color:#b33a2e; font:500 10px "DM Mono",monospace; }.guide-checklist { padding:36px 31px; display:flex; flex-direction:column; background:#171513; color:#fff8e9; }.guide-checklist .eyebrow { color:#edcdb2; margin-top:29px; }.guide-checklist h3 { font-family:"DM Serif Display",serif; font-size:35px; font-weight:400; line-height:1; margin:0 0 20px; }.guide-checklist>p:not(.eyebrow) { display:flex; gap:8px; margin:0; padding:10px 0; border-top:1px solid #71695f; font-size:12px; color:#e9dfd0; }.guide-icons { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #171513; margin-bottom:100px; }.guide-icons article { padding:28px; border:1px solid #171513; border-top:0; border-left:0; }.guide-icons article:first-child { border-left:1px solid #171513; }.guide-icons svg { color:#b33a2e; }.guide-icons h3 { font-family:"DM Serif Display",serif; font-size:30px; font-weight:400; margin:23px 0 8px; }.guide-icons p { color:#665e55; font-size:13px; line-height:1.55; }

.ritual-detail { background:#fcf9f1; }.detail-hero { min-height:620px; position:relative; color:#fff8e9; display:flex; align-items:end; overflow:hidden; }.detail-hero__photo { position:absolute; inset:0; background:url('../assets/judas-hero-archivo-de-ceniza.jpg') center/cover; }.detail-hero__photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,10,9,.88),rgba(11,10,9,.22)),linear-gradient(0deg,rgba(11,10,9,.6),transparent 62%); }.detail-hero__content { position:relative; padding:44px 0 60px; }.back-link { display:inline-flex; gap:6px; align-items:center; font-size:12px; font-weight:700; margin-bottom:95px; }.detail-hero h1 { font-family:"DM Serif Display",serif; font-size:clamp(48px,6vw,80px); line-height:.91; letter-spacing:-.055em; font-weight:400; max-width:850px; margin:0; }.detail-hero p { max-width:560px; font-size:16px; line-height:1.6; margin:21px 0; color:#f1e8db; }.detail-hero .location-line { color:#f1e8db; }.detail-layout { display:grid; grid-template-columns:220px minmax(0,730px); gap:90px; padding:80px 0; }.detail-aside { position:sticky; align-self:start; top:115px; display:flex; flex-direction:column; gap:13px; border-top:1px solid #171513; padding-top:14px; }.detail-aside>span { color:#b33a2e; font:500 10px "DM Mono",monospace; letter-spacing:.1em; margin-bottom:11px; }.detail-aside a, .detail-aside button { background:none; border:0; padding:0; text-align:left; font-size:12px; color:#514a42; }.detail-aside button { display:flex; align-items:center; gap:6px; font-weight:700; margin-top:15px; }.detail-body { font-size:17px; color:#3c3731; line-height:1.72; }.detail-body section { margin-bottom:60px; }.dropcap:first-letter { float:left; font-family:"DM Serif Display",serif; font-size:87px; line-height:.73; padding:10px 12px 0 0; color:#b33a2e; }.detail-body h2 { font-family:"DM Serif Display",serif; font-size:45px; line-height:.98; letter-spacing:-.04em; color:#171513; font-weight:400; margin:0 0 20px; }.fact-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #171513; border-bottom:1px solid #171513; }.fact-grid>div { padding:18px; border-left:1px solid #171513; display:flex; flex-direction:column; gap:8px; }.fact-grid>div:first-child { border-left:0; }.fact-grid svg { color:#b33a2e; }.fact-grid span { font:500 9px "DM Mono",monospace; letter-spacing:.1em; }.fact-grid strong { color:#171513; line-height:1.15; font-size:14px; }.detail-callout { background:#e9dfd0; padding:24px; display:grid; grid-template-columns:33px 1fr; gap:17px; border-left:2px solid #b33a2e; }.detail-callout span { color:#b33a2e; font:500 11px "DM Mono",monospace; }.detail-callout p { margin:0; font-family:"DM Serif Display",serif; line-height:1.2; font-size:25px; color:#171513; }.detail-body ul { margin:0; padding-left:22px; }.detail-body li { padding:8px 0; }

.participate-grid { display:grid; grid-template-columns:1fr 1fr; margin:80px auto; border:1px solid #171513; }.participate-grid article, .participate-grid aside { padding:53px; }.participate-grid article { background:#d9c5a8; }.participate-grid aside { background:#171513; color:#fff8e9; }.participate-grid svg { color:#b33a2e; }.participate-grid aside .eyebrow { color:#edcdb2; }.participate-grid h2 { font-family:"DM Serif Display",serif; font-size:46px; line-height:.98; font-weight:400; letter-spacing:-.04em; margin:24px 0 18px; }.participate-grid p { line-height:1.65; color:#514a42; }.participate-grid aside p { color:#e5dacc; }.participate-grid ul { list-style:none; padding:0; margin:27px 0 0; }.participate-grid li { padding:9px 0; border-top:1px solid #967e5d; font-size:13px; }.participate-grid li:before { content:"+"; color:#b33a2e; margin-right:9px; }.participate-grid aside .button-red { margin-top:13px; }.secondary-link { margin-top:23px; display:flex; gap:5px; align-items:center; font-size:12px; font-weight:700; }.participate-bottom { margin-bottom:100px; border-top:1px solid #171513; border-bottom:1px solid #171513; padding:28px 0; display:grid; grid-template-columns:45px 1fr; gap:15px; }.participate-bottom svg { color:#b33a2e; }.participate-bottom p { margin:0; max-width:830px; color:#514a42; line-height:1.6; }

.sale-page { background:#171513; color:#fff8e9; }.sale-page__hero { padding:120px 0 105px; background:radial-gradient(circle at 78% 24%, #a1392d 0, #4f1c18 18%, transparent 43%), #171513; }.sale-page__grid { display:grid; grid-template-columns:1.2fr .6fr; gap:100px; }.sale-page__hero h1 { font-family:"DM Serif Display",serif; font-size:clamp(52px,7.4vw,106px); letter-spacing:-.065em; line-height:.87; font-weight:400; margin:27px 0; }.sale-page__hero>p { font-size:17px; max-width:650px; line-height:1.65; color:#e9dfd0; }.sale-page__grid>div>p { font-size:17px; max-width:590px; line-height:1.62; color:#e9dfd0; margin:0 0 28px; }.sale-page__grid aside { border-top:1px solid #d4a685; padding-top:13px; align-self:end; }.sale-page__grid aside>span { font:500 10px "DM Mono",monospace; letter-spacing:.1em; color:#efc7ab; }.sale-page__grid aside strong { display:block; font-family:"DM Serif Display",serif; font-size:54px; font-weight:400; letter-spacing:-.045em; margin:22px 0 14px; }.sale-page__grid aside p { color:#d9cfc1; font-size:13px; line-height:1.6; }.sale-page__grid aside a { font-size:13px; font-weight:700; display:flex; gap:5px; align-items:center; }.sale-argument { padding:105px 0; display:grid; grid-template-columns:1fr 1fr; gap:90px; }.sale-argument>div:last-child { padding-top:44px; }.sale-argument>div:last-child p { color:#d9cfc1; line-height:1.65; font-size:17px; max-width:550px; }.sale-points { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:110px; border-top:1px solid #70685e; }.sale-points article { padding:28px; border-bottom:1px solid #70685e; border-left:1px solid #70685e; }.sale-points article:first-child { border-left:0; }.sale-points svg { color:#efc7ab; }.sale-points h3 { font-family:"DM Serif Display",serif; font-size:31px; font-weight:400; margin:25px 0 10px; }.sale-points p { color:#d9cfc1; line-height:1.55; font-size:13px; }.sale-contact { background:#b33a2e; }.sale-contact__grid { padding:100px 0; display:grid; grid-template-columns:1fr .8fr; gap:100px; }.sale-contact h2 { font-family:"DM Serif Display",serif; font-size:58px; font-weight:400; letter-spacing:-.05em; line-height:.94; margin:0 0 19px; }.sale-contact p:not(.eyebrow) { color:#fff1e5; line-height:1.62; }.sale-contact p a { border-bottom:1px solid #fff8e9; font-weight:700; }.sale-contact form { display:flex; flex-direction:column; gap:13px; }.sale-contact label { display:flex; flex-direction:column; gap:6px; font:500 10px "DM Mono",monospace; letter-spacing:.08em; }.sale-contact input, .sale-contact textarea { border:1px solid #e5a096; padding:11px; background:transparent; color:#fff8e9; outline:none; font:400 14px "DM Sans",sans-serif; resize:vertical; }.sale-contact input::placeholder, .sale-contact textarea::placeholder { color:#f2beb7; }.sale-contact input:focus, .sale-contact textarea:focus { border-color:#fff8e9; }.sale-contact .button-ivory { align-self:start; margin-top:5px; }.form-status { font-size:11px !important; margin:0; }

.site-footer { background:#171513; color:#fff8e9; padding:63px 0 22px; }.footer-grid { display:grid; grid-template-columns:1.3fr .65fr .65fr 1fr; gap:45px; }.footer-intro>p { color:#d9cfc1; max-width:280px; line-height:1.55; font-size:13px; margin:21px 0; }.footer-intro>a { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700; }.site-footer section:not(.footer-intro) { display:flex; flex-direction:column; gap:10px; }.footer-eyebrow { color:#e5b49a; font:500 10px "DM Mono",monospace; letter-spacing:.1em; margin:4px 0 12px; text-transform:uppercase; }.site-footer section:not(.footer-intro) a { font-size:13px; color:#e7ddd0; }.footer-place svg { color:#b33a2e; }.footer-place strong { font-family:"DM Serif Display",serif; font-weight:400; font-size:24px; }.footer-place p:not(.footer-eyebrow) { color:#d9cfc1; line-height:1.5; font-size:12px; margin:0; }.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:54px; border-top:1px solid #544e47; padding-top:19px; color:#a69e94; font:500 9px "DM Mono",monospace; letter-spacing:.07em; }

@media (max-width: 980px) { .site-frame{width:min(100% - 36px, 760px)} .desktop-nav,.contribute-link{display:none}.menu-toggle{display:grid;place-items:center}.mobile-nav{display:flex;flex-direction:column;padding:16px 0 20px;border-top:1px solid #cfc3b2}.mobile-nav a{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #d9cfc1;font-family:"DM Serif Display",serif;font-size:25px}.mobile-nav a span{font:500 10px "DM Mono",monospace;color:#b33a2e}.mobile-nav a:last-child{font-family:"DM Sans",sans-serif;font-size:13px;font-weight:700}.page-masthead__grid{grid-template-columns:55px 1fr;min-height:0}.masthead-image,.masthead-stamp{grid-column:1/-1;height:300px;min-height:0}.masthead-copy{padding:65px 0 38px}.masthead-index{padding-top:67px}.home-hero,.hero-content{min-height:600px}.intro-spread,.home-places__grid,.agenda-home__grid,.split-feature,.archive-feature,.guide-grid,.participate-grid,.sale-page__grid,.sale-contact__grid{grid-template-columns:1fr;gap:38px}.intro-spread{padding:85px 0}.intro-spread>div:last-child{padding-top:0}.archive-home__grid{grid-template-columns:1fr 1fr}.archive-home__note{grid-column:1/-1;min-height:260px}.ritual-feature-grid{grid-template-columns:1fr}.ritual-side-list{border-left:1px solid #171513}.ritual-side-list .side-ritual{min-height:120px}.place-image{min-height:390px}.places-intro,.agenda-layout,.oficio-lead{grid-template-columns:1fr;gap:30px}.calendar-spine{border-right:0;border-bottom:1px solid #cfc3b2;padding:0 0 30px}.skill-grid{grid-template-columns:1fr 1fr}.skill-card:nth-child(3){border-left:1px solid #171513}.three-col-grid{grid-template-columns:1fr}.three-col-grid .story-card,.three-col-grid .story-link:first-child .story-card{border:1px solid #171513;border-bottom:0}.three-col-grid .story-link:last-child .story-card{border-bottom:1px solid #171513}.archive-modules{grid-template-columns:1fr}.archive-modules>article,.archive-modules>article:first-child{border:1px solid #171513;border-bottom:0}.archive-modules>article:last-child{border-bottom:1px solid #171513}.guide-feature{grid-template-columns:1fr;padding:38px}.detail-layout{grid-template-columns:1fr;gap:38px}.detail-aside{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.detail-aside>span,.detail-aside button{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.sale-argument{grid-template-columns:1fr;gap:20px}.sale-argument>div:last-child{padding-top:0}.sale-page__hero{padding:80px 0}.sale-contact h2{font-size:50px} }
@media (max-width: 620px) { .site-frame{width:calc(100% - 32px)}.sale-strip__content{gap:8px}.sale-strip__content p{font-size:10px}.sale-strip__tag{display:none}.sale-strip__link{font-size:11px}.header-row{min-height:65px}.brand-mark img{width:35px;height:35px}.brand-mark span{font-size:26px}.hero-topline{font-size:8px}.hero-topline span:last-child{display:none}.hero-copy h1{font-size:51px}.hero-copy>p{font-size:15px}.hero-index{font-size:8px}.hero-index>div{width:190px}.main-ritual{min-height:420px}.main-ritual__overlay h3{font-size:37px}.archive-home__grid{grid-template-columns:1fr}.archive-home__quote{min-height:260px}.home-search,.upcoming,.ink-band__grid{grid-template-columns:1fr;gap:36px}.section-space{padding:70px 0}.section-heading{align-items:start;flex-direction:column;margin-bottom:26px}.section-heading h2,.intro-spread h2,.home-places h2,.ink-band h2,.paper-block h2{font-size:40px}.mini-stats{gap:21px}.page-masthead__grid{grid-template-columns:1fr;gap:0}.masthead-index{padding-top:28px}.masthead-copy{padding:25px 0 42px}.masthead-copy h1{font-size:53px}.masthead-image,.masthead-stamp{height:250px}.filter-row{overflow-x:auto;white-space:nowrap}.filter-row .filter-map{display:none}.ritual-row{grid-template-columns:33px 1fr 22px;gap:12px;padding:23px 0}.ritual-row p{display:none}.ritual-row h2{font-size:29px}.ink-band__grid{padding:72px 0}.giant-mark{font-size:150px}.places-intro{padding:65px 0 45px}.large-lead{font-size:35px}.place-row{grid-template-columns:36px 1fr 23px;gap:13px}.place-row>div:last-of-type{grid-column:2/4}.place-row h2{font-size:29px}.split-feature{padding:73px 0}.archive-tabs{gap:17px;overflow:auto}.archive-tabs button{white-space:nowrap}.archive-feature{margin:50px 0;grid-template-columns:1fr}.archive-feature__copy{padding:31px}.archive-feature h2{font-size:41px}.archive-feature__visual{min-height:275px}.agenda-controls{align-items:start;flex-direction:column}.agenda-layout{padding:38px 0}.agenda-event{grid-template-columns:49px 1fr 20px;gap:12px}.agenda-event h2{font-size:28px}.event-featured{position:static;grid-column:2/4;justify-self:start}.notice-band{grid-template-columns:30px 1fr}.notice-band a{grid-column:2}.oficio-lead{padding:60px 0 42px}.oficio-lead p{font-size:30px}.skill-grid{grid-template-columns:1fr}.skill-card,.skill-card:nth-child(3),.skill-card:first-child{border:1px solid #171513;border-bottom:0}.skill-card:last-child{border-bottom:1px solid #171513}.red-band__content{margin:0 auto;width:calc(100% - 32px);padding:70px 0}.guide-feature{padding:30px}.guide-feature h2{font-size:41px}.guide-icons{grid-template-columns:1fr}.guide-icons article,.guide-icons article:first-child{border:1px solid #171513;border-bottom:0}.guide-icons article:last-child{border-bottom:1px solid #171513}.detail-hero{min-height:555px}.detail-hero__content{padding-bottom:40px}.back-link{margin-bottom:60px}.detail-hero h1{font-size:51px}.detail-layout{padding:55px 0}.detail-aside{grid-template-columns:repeat(2,1fr)}.fact-grid{grid-template-columns:1fr}.fact-grid>div,.fact-grid>div:first-child{border-left:0;border-top:1px solid #171513}.fact-grid>div:first-child{border-top:0}.participate-grid{margin:50px auto}.participate-grid article,.participate-grid aside{padding:32px}.participate-grid h2{font-size:41px}.sale-page__hero h1{font-size:59px}.sale-points{grid-template-columns:1fr}.sale-points article,.sale-points article:first-child{border-left:0;border-top:1px solid #70685e}.sale-contact__grid{padding:70px 0}.sale-contact h2{font-size:48px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-bottom{flex-direction:column;margin-top:40px}.home-places{padding:73px 0} }
@media (prefers-reduced-motion:no-preference) { .story-card,.side-ritual,.ritual-row,.button-red,.button-ink,.button-ivory,.main-ritual__image img { transition-timing-function:cubic-bezier(.23,1,.32,1); } }

/* Revisión Archivo de Ceniza: materialidad compartida, etiquetas de procedencia y sellos de registro. */
.site-shell { background-color:var(--background); background-image:radial-gradient(rgba(78,64,49,.11) .55px, transparent .65px); background-size:7px 7px; }
.sale-strip { background:#292521; color:#f1e7d8; border-bottom:1px solid #554d45; }
.page-masthead { position:relative; overflow:hidden; background-image:linear-gradient(90deg,rgba(179,58,46,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(179,58,46,.06) 1px,transparent 1px); background-size:41px 41px; }
.page-masthead:after { content:""; position:absolute; width:250px; height:250px; left:38%; top:-80px; opacity:.075; background:url('../assets/judas-sello-tres-llamas.png') center/contain no-repeat; transform:rotate(-12deg); pointer-events:none; }
.page-masthead__grid { position:relative; z-index:1; }
.ritual-row { position:relative; }
.ritual-row:before { content:""; position:absolute; left:0; top:0; width:37%; border-top:1px solid rgba(179,58,46,.22); }
.archive-file-label { display:block; font:500 8px "DM Mono",monospace; color:#8b3027; letter-spacing:.14em; margin-bottom:8px; }
.event-reference { display:inline-block; margin-left:9px; color:#8b3027; font:500 8px "DM Mono",monospace; letter-spacing:.1em; }
@media (max-width:620px) { .event-reference{display:block;margin:5px 0 0}.page-masthead:after{width:180px;height:180px;left:auto;right:-55px;top:-45px}.ritual-row:before{width:100%} }

/* Firma de dominio prioritaria: incremento solicitado del 150 % también en móvil. */
@media (max-width:620px) { .header-row{min-height:82px}.brand-mark img{width:52.5px;height:52.5px}.brand-mark span{font-size:39px} }

/* En móvil la franja comunica únicamente el estado y la acción principal. */
@media (max-width:620px) { .sale-strip__content{justify-content:space-between;gap:12px}.sale-strip__content p{display:none}.sale-strip__tag{display:inline-flex}.sale-strip__link{margin-left:auto} }

/* Navegación vanilla: visible solo tras activar el botón en pantallas pequeñas. */
.mobile-nav{display:none!important}.mobile-nav.is-open{display:flex!important}
.sale-contact--no-form .sale-contact__grid{grid-template-columns:minmax(0,760px)}
